admin
2021-12-09 f609ca35ee2946acd0ff04b7ac1aa61f75a2e4a1
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
    var ksbridge = {
            kscb: {},
            to_flutter: function(m, p, c) {
                var ps = {
                    method: m
                };
                if (p != undefined) {
                    ps.params = p;
                }
                if (c != undefined) {
                    ps.callback = c;
                }
                return JSON.stringify(ps);
            },
            call: function(method, params, callback) {
                if ("function" == typeof params) {
                    callback = params;
                    params = undefined;
                }
                var m = method;
                var p = undefined;
                var c = undefined;
                if ("undefined" == typeof params) {} else {
                    p = params;
                }
 
                //有回调
                if (callback) {
                    //注册回调
                    var key = "_" + new Date().getTime() + "_" + Object.keys(ksbridge.kscb).length;
                    ksbridge.kscb[key] = callback;
                    c = "ksbridge.kscb." + key;
                }
 
                var callStr = m + "(";
                if (p != undefined) {
                    callStr += p;
                }
 
                if (c != undefined) {
                    if (callStr.endsWith("("))
                        callStr += c;
                    else {
                        callStr += "," + c;
                    }
                }
 
                callStr += ")";
 
                yestv.postMessage(ksbridge.to_flutter(m, p, c));
 
                //非flutter
                //                 console.log(callStr);
                //                 try {
                //                     eval(callStr);
                //                 } catch (e) {
                // 
                //                 }
            }
        };