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) {
| //
| // }
| }
| };
|
|