zhangjian
2023-06-05 0976d2d0f90cff460cedfdc8bd74e98c2c31a58c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
(
    function(){
        function Message() {
            Object.defineProperties(
                this, {
                    data: {
                        enumerable: true,
                        get: getData,
                        set: setData
                    },
                    type: {
                        enumerable: true,
                        get: getType,
                        set: setType
                    },
                    load:{
                        enumarable:true,
                        writable:false,
                        value:parse
                    },
                    JSON: {
                        enumerable: true,
                        get: getJSON
                    }
                }
            );
 
            var type = '';
            var data = {};
 
            function getType() {
                return type;
            }
 
            function getData() {
                return data;
            }
 
            function getJSON() {
                return JSON.stringify(
                    {
                        type: type,
                        data: data
                    }
                );
            }
 
            function setType(value) {
                type = value;
            }
 
            function setData(value) {
                data = value;
            }
 
            function parse(message){
                try{
                    var message=JSON.parse(message);
                    type=message.type;
                    data=message.data;
                }catch(err){
                    var badMessage=message;
                    type='error',
                    data={
                        message:'Invalid JSON response format',
                        err:err,
                        response:badMessage
                    }
                }
            }
        }
 
        window.Message=Message;
    }
)();