IOS
hefeixia
2021-02-18 49f3c1374873f73dbde2983ca0fcf1fb10bfedbf
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(win) {
 
    var ua = navigator.userAgent;
    
    function getQueryString(name) {
        var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
        var r = window.location.search.substr(1).match(reg);
        if (r !== null) return unescape(r[2]);
        return null;
    }
 
    function isAndroid() {
        return ua.indexOf('Android') > 0;
    }
 
    function isIOS() {
        return /(iPhone|iPad|iPod)/i.test(ua);
    }
    
 
    var mobile = {
 
        /**
         *通过bridge调用app端的方法
         * @param method
         * @param params
         * @param callback
         */
        callAppRouter: function(method, params, callback) {
            var req = {
                'Method': method,
                'Data': params
            };
            console.info(JSON.stringify(req));
            if (isIOS()) {
                
                // win.app.callRouter(req, function(err, result) {
                //     var resultObj = null;
                //     var errorMsg = null;
                //     if (typeof(result) !== 'undefined' && result !== 'null' && result !== null) {
                //         resultObj = JSON.parse(result);
                //         if (resultObj) {
                //             resultObj = resultObj['result'];
                //         }
                //     }
                //     if (err !== 'null' && typeof(err) !== 'undefined' && err !== null) {
                //         errorMsg = err;
                //     }
                //     callback(err, resultObj);
                // });
            
                window.webkit.messageHandlers[method].postMessage([params]);
                
            } else if (isAndroid()) {
               win.app[method](params._id, JSON.stringify(params.params));
            }
        },
        login: function() {
            this.callAppRouter('Login', null, function(errMsg, res) {
                if (errMsg !== null && errMsg !== 'undefined' && errMsg !== 'null') {
 
                } else {
                    var name = res['phone'];
                    if (name !== 'undefined' && name !== 'null') {
                        var button = document.getElementById('loginButton');
                        button.innerHTML = name;
                    }
                }
            });
        }
    };
 
    //将mobile对象挂载到window全局
    win.webBridge = mobile;
})(window);