董国庆
9 天以前 63ecd83a0f17442cb1ce3b497f4c7932fda4177f
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
! function(e, n) {
    "function" == typeof define && (define.amd || define.cmd) ? define(function() {
        return n(e)
    }) : n(e, !0)
}(window, function(o, e) {
    if (!o.jWeixin) {
        var n, c = {
                config: "preVerifyJSAPI",
                onMenuShareTimeline: "menu:share:timeline",
                onMenuShareAppMessage: "menu:share:appmessage",
                onMenuShareQQ: "menu:share:qq",
                onMenuShareWeibo: "menu:share:weiboApp",
                onMenuShareQZone: "menu:share:QZone",
                previewImage: "imagePreview",
                getLocation: "geoLocation",
                openProductSpecificView: "openProductViewWithPid",
                addCard: "batchAddCard",
                openCard: "batchViewCard",
                chooseWXPay: "getBrandWCPayRequest",
                openEnterpriseRedPacket: "getRecevieBizHongBaoRequest",
                startSearchBeacons: "startMonitoringBeacons",
                stopSearchBeacons: "stopMonitoringBeacons",
                onSearchBeacons: "onBeaconsInRange",
                consumeAndShareCard: "consumedShareCard",
                openAddress: "editAddress"
            },
            a = function() {
                var e = {};
                for (var n in c) e[c[n]] = n;
                return e
            }(),
            i = o.document,
            t = i.title,
            r = navigator.userAgent.toLowerCase(),
            s = navigator.platform.toLowerCase(),
            d = !(!s.match("mac") && !s.match("win")),
            u = -1 != r.indexOf("wxdebugger"),
            l = -1 != r.indexOf("micromessenger"),
            p = -1 != r.indexOf("android"),
            f = -1 != r.indexOf("iphone") || -1 != r.indexOf("ipad"),
            m = (n = r.match(/micromessenger\/(\d+\.\d+\.\d+)/) || r.match(/micromessenger\/(\d+\.\d+)/)) ? n[1] :
            "",
            g = {
                initStartTime: L(),
                initEndTime: 0,
                preVerifyStartTime: 0,
                preVerifyEndTime: 0
            },
            h = {
                version: 1,
                appId: "",
                initTime: 0,
                preVerifyTime: 0,
                networkType: "",
                isPreVerifyOk: 1,
                systemType: f ? 1 : p ? 2 : -1,
                clientVersion: m,
                url: encodeURIComponent(location.href)
            },
            v = {},
            S = {
                _completes: []
            },
            y = {
                state: 0,
                data: {}
            };
        O(function() {
            g.initEndTime = L()
        });
        var I = !1,
            _ = [],
            w = {
                config: function(e) {
                    B("config", v = e);
                    var t = !1 !== v.check;
                    O(function() {
                        if (t) M(c.config, {
                            verifyJsApiList: C(v.jsApiList),
                            verifyOpenTagList: C(v.openTagList)
                        }, function() {
                            S._complete = function(e) {
                                g.preVerifyEndTime = L(), y.state = 1, y.data = e
                            }, S.success = function(e) {
                                h.isPreVerifyOk = 0
                            }, S.fail = function(e) {
                                S._fail ? S._fail(e) : y.state = -1
                            };
                            var t = S._completes;
                            return t.push(function() {
                                ! function() {
                                    if (!(d || u || v.debug || m < "6.0.2" || h
                                            .systemType < 0)) {
                                        var i = new Image;
                                        h.appId = v.appId, h.initTime = g.initEndTime -
                                            g.initStartTime, h.preVerifyTime = g
                                            .preVerifyEndTime - g.preVerifyStartTime, w
                                            .getNetworkType({
                                                isInnerInvoke: !0,
                                                success: function(e) {
                                                    h.networkType = e
                                                        .networkType;
                                                    var n =
                                                        "https://open.weixin.qq.com/sdk/report?v=" +
                                                        h.version + "&o=" + h
                                                        .isPreVerifyOk + "&s=" +
                                                        h.systemType + "&c=" + h
                                                        .clientVersion + "&a=" +
                                                        h.appId + "&n=" + h
                                                        .networkType + "&i=" + h
                                                        .initTime + "&p=" + h
                                                        .preVerifyTime + "&u=" +
                                                        h.url;
                                                    i.src = n
                                                }
                                            })
                                    }
                                }()
                            }), S.complete = function(e) {
                                for (var n = 0, i = t.length; n < i; ++n) t[n]();
                                S._completes = []
                            }, S
                        }()), g.preVerifyStartTime = L();
                        else {
                            y.state = 1;
                            for (var e = S._completes, n = 0, i = e.length; n < i; ++n) e[n]();
                            S._completes = []
                        }
                    }), w.invoke || (w.invoke = function(e, n, i) {
                        o.WeixinJSBridge && WeixinJSBridge.invoke(e, x(n), i)
                    }, w.on = function(e, n) {
                        o.WeixinJSBridge && WeixinJSBridge.on(e, n)
                    })
                },
                ready: function(e) {
                    0 != y.state ? e() : (S._completes.push(e), !l && v.debug && e())
                },
                error: function(e) {
                    m < "6.0.2" || (-1 == y.state ? e(y.data) : S._fail = e)
                },
                checkJsApi: function(e) {
                    M("checkJsApi", {
                        jsApiList: C(e.jsApiList)
                    }, (e._complete = function(e) {
                        if (p) {
                            var n = e.checkResult;
                            n && (e.checkResult = JSON.parse(n))
                        }
                        e = function(e) {
                            var n = e.checkResult;
                            for (var i in n) {
                                var t = a[i];
                                t && (n[t] = n[i], delete n[i])
                            }
                            return e
                        }(e)
                    }, e))
                },
                onMenuShareTimeline: function(e) {
                    P(c.onMenuShareTimeline, {
                        complete: function() {
                            M("shareTimeline", {
                                title: e.title || t,
                                desc: e.title || t,
                                img_url: e.imgUrl || "",
                                link: e.link || location.href,
                                type: e.type || "link",
                                data_url: e.dataUrl || ""
                            }, e)
                        }
                    }, e)
                },
                onMenuShareAppMessage: function(n) {
                    P(c.onMenuShareAppMessage, {
                        complete: function(e) {
                            "favorite" === e.scene ? M("sendAppMessage", {
                                title: n.title || t,
                                desc: n.desc || "",
                                link: n.link || location.href,
                                img_url: n.imgUrl || "",
                                type: n.type || "link",
                                data_url: n.dataUrl || ""
                            }) : M("sendAppMessage", {
                                title: n.title || t,
                                desc: n.desc || "",
                                link: n.link || location.href,
                                img_url: n.imgUrl || "",
                                type: n.type || "link",
                                data_url: n.dataUrl || ""
                            }, n)
                        }
                    }, n)
                },
                onMenuShareQQ: function(e) {
                    P(c.onMenuShareQQ, {
                        complete: function() {
                            M("shareQQ", {
                                title: e.title || t,
                                desc: e.desc || "",
                                img_url: e.imgUrl || "",
                                link: e.link || location.href
                            }, e)
                        }
                    }, e)
                },
                onMenuShareWeibo: function(e) {
                    P(c.onMenuShareWeibo, {
                        complete: function() {
                            M("shareWeiboApp", {
                                title: e.title || t,
                                desc: e.desc || "",
                                img_url: e.imgUrl || "",
                                link: e.link || location.href
                            }, e)
                        }
                    }, e)
                },
                onMenuShareQZone: function(e) {
                    P(c.onMenuShareQZone, {
                        complete: function() {
                            M("shareQZone", {
                                title: e.title || t,
                                desc: e.desc || "",
                                img_url: e.imgUrl || "",
                                link: e.link || location.href
                            }, e)
                        }
                    }, e)
                },
                updateTimelineShareData: function(e) {
                    M("updateTimelineShareData", {
                        title: e.title,
                        link: e.link,
                        imgUrl: e.imgUrl
                    }, e)
                },
                updateAppMessageShareData: function(e) {
                    M("updateAppMessageShareData", {
                        title: e.title,
                        desc: e.desc,
                        link: e.link,
                        imgUrl: e.imgUrl
                    }, e)
                },
                startRecord: function(e) {
                    M("startRecord", {}, e)
                },
                stopRecord: function(e) {
                    M("stopRecord", {}, e)
                },
                onVoiceRecordEnd: function(e) {
                    P("onVoiceRecordEnd", e)
                },
                playVoice: function(e) {
                    M("playVoice", {
                        localId: e.localId
                    }, e)
                },
                pauseVoice: function(e) {
                    M("pauseVoice", {
                        localId: e.localId
                    }, e)
                },
                stopVoice: function(e) {
                    M("stopVoice", {
                        localId: e.localId
                    }, e)
                },
                onVoicePlayEnd: function(e) {
                    P("onVoicePlayEnd", e)
                },
                uploadVoice: function(e) {
                    M("uploadVoice", {
                        localId: e.localId,
                        isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1
                    }, e)
                },
                downloadVoice: function(e) {
                    M("downloadVoice", {
                        serverId: e.serverId,
                        isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1
                    }, e)
                },
                translateVoice: function(e) {
                    M("translateVoice", {
                        localId: e.localId,
                        isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1
                    }, e)
                },
                chooseImage: function(e) {
                    M("chooseImage", {
                        scene: "1|2",
                        count: e.count || 9,
                        sizeType: e.sizeType || ["original", "compressed"],
                        sourceType: e.sourceType || ["album", "camera"]
                    }, (e._complete = function(e) {
                        if (p) {
                            var n = e.localIds;
                            try {
                                n && (e.localIds = JSON.parse(n))
                            } catch (e) {}
                        }
                    }, e))
                },
                getLocation: function(e) {},
                previewImage: function(e) {
                    M(c.previewImage, {
                        current: e.current,
                        urls: e.urls
                    }, e)
                },
                uploadImage: function(e) {
                    M("uploadImage", {
                        localId: e.localId,
                        isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1
                    }, e)
                },
                downloadImage: function(e) {
                    M("downloadImage", {
                        serverId: e.serverId,
                        isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1
                    }, e)
                },
                getLocalImgData: function(e) {
                    !1 === I ? (I = !0, M("getLocalImgData", {
                        localId: e.localId
                    }, (e._complete = function(e) {
                        if (I = !1, 0 < _.length) {
                            var n = _.shift();
                            wx.getLocalImgData(n)
                        }
                    }, e))) : _.push(e)
                },
                getNetworkType: function(e) {
                    M("getNetworkType", {}, (e._complete = function(e) {
                        e = function(e) {
                            var n = e.errMsg;
                            e.errMsg = "getNetworkType:ok";
                            var i = e.subtype;
                            if (delete e.subtype, i) e.networkType = i;
                            else {
                                var t = n.indexOf(":"),
                                    o = n.substring(t + 1);
                                switch (o) {
                                    case "wifi":
                                    case "edge":
                                    case "wwan":
                                        e.networkType = o;
                                        break;
                                    default:
                                        e.errMsg = "getNetworkType:fail"
                                }
                            }
                            return e
                        }(e)
                    }, e))
                },
                openLocation: function(e) {
                    M("openLocation", {
                        latitude: e.latitude,
                        longitude: e.longitude,
                        name: e.name || "",
                        address: e.address || "",
                        scale: e.scale || 28,
                        infoUrl: e.infoUrl || ""
                    }, e)
                },
                getLocation: function(e) {
                    M(c.getLocation, {
                        type: (e = e || {}).type || "wgs84"
                    }, (e._complete = function(e) {
                        delete e.type
                    }, e))
                },
                hideOptionMenu: function(e) {
                    M("hideOptionMenu", {}, e)
                },
                showOptionMenu: function(e) {
                    M("showOptionMenu", {}, e)
                },
                closeWindow: function(e) {
                    M("closeWindow", {}, e = e || {})
                },
                hideMenuItems: function(e) {
                    M("hideMenuItems", {
                        menuList: e.menuList
                    }, e)
                },
                showMenuItems: function(e) {
                    M("showMenuItems", {
                        menuList: e.menuList
                    }, e)
                },
                hideAllNonBaseMenuItem: function(e) {
                    M("hideAllNonBaseMenuItem", {}, e)
                },
                showAllNonBaseMenuItem: function(e) {
                    M("showAllNonBaseMenuItem", {}, e)
                },
                scanQRCode: function(e) {
                    M("scanQRCode", {
                        needResult: (e = e || {}).needResult || 0,
                        scanType: e.scanType || ["qrCode", "barCode"]
                    }, (e._complete = function(e) {
                        if (f) {
                            var n = e.resultStr;
                            if (n) {
                                var i = JSON.parse(n);
                                e.resultStr = i && i.scan_code && i.scan_code.scan_result
                            }
                        }
                    }, e))
                },
                openAddress: function(e) {
                    M(c.openAddress, {}, (e._complete = function(e) {
                        e = function(e) {
                            return e.postalCode = e.addressPostalCode, delete e
                                .addressPostalCode, e.provinceName = e.proviceFirstStageName,
                                delete e.proviceFirstStageName, e.cityName = e
                                .addressCitySecondStageName, delete e
                                .addressCitySecondStageName, e.countryName = e
                                .addressCountiesThirdStageName, delete e
                                .addressCountiesThirdStageName, e.detailInfo = e
                                .addressDetailInfo, delete e.addressDetailInfo, e
                        }(e)
                    }, e))
                },
                openProductSpecificView: function(e) {
                    M(c.openProductSpecificView, {
                        pid: e.productId,
                        view_type: e.viewType || 0,
                        ext_info: e.extInfo
                    }, e)
                },
                addCard: function(e) {
                    for (var n = e.cardList, i = [], t = 0, o = n.length; t < o; ++t) {
                        var r = n[t],
                            a = {
                                card_id: r.cardId,
                                card_ext: r.cardExt
                            };
                        i.push(a)
                    }
                    M(c.addCard, {
                        card_list: i
                    }, (e._complete = function(e) {
                        var n = e.card_list;
                        if (n) {
                            for (var i = 0, t = (n = JSON.parse(n)).length; i < t; ++i) {
                                var o = n[i];
                                o.cardId = o.card_id, o.cardExt = o.card_ext, o.isSuccess = !!o
                                    .is_succ, delete o.card_id, delete o.card_ext, delete o.is_succ
                            }
                            e.cardList = n, delete e.card_list
                        }
                    }, e))
                },
                chooseCard: function(e) {
                    M("chooseCard", {
                        app_id: v.appId,
                        location_id: e.shopId || "",
                        sign_type: e.signType || "SHA1",
                        card_id: e.cardId || "",
                        card_type: e.cardType || "",
                        card_sign: e.cardSign,
                        time_stamp: e.timestamp + "",
                        nonce_str: e.nonceStr
                    }, (e._complete = function(e) {
                        e.cardList = e.choose_card_info, delete e.choose_card_info
                    }, e))
                },
                openCard: function(e) {
                    for (var n = e.cardList, i = [], t = 0, o = n.length; t < o; ++t) {
                        var r = n[t],
                            a = {
                                card_id: r.cardId,
                                code: r.code
                            };
                        i.push(a)
                    }
                    M(c.openCard, {
                        card_list: i
                    }, e)
                },
                consumeAndShareCard: function(e) {
                    M(c.consumeAndShareCard, {
                        consumedCardId: e.cardId,
                        consumedCode: e.code
                    }, e)
                },
                chooseWXPay: function(e) {
                    M(c.chooseWXPay, V(e), e)
                },
                openEnterpriseRedPacket: function(e) {
                    M(c.openEnterpriseRedPacket, V(e), e)
                },
                startSearchBeacons: function(e) {
                    M(c.startSearchBeacons, {
                        ticket: e.ticket
                    }, e)
                },
                stopSearchBeacons: function(e) {
                    M(c.stopSearchBeacons, {}, e)
                },
                onSearchBeacons: function(e) {
                    P(c.onSearchBeacons, e)
                },
                openEnterpriseChat: function(e) {
                    M("openEnterpriseChat", {
                        useridlist: e.userIds,
                        chatname: e.groupName
                    }, e)
                },
                launchMiniProgram: function(e) {
                    M("launchMiniProgram", {
                        targetAppId: e.targetAppId,
                        path: function(e) {
                            if ("string" == typeof e && 0 < e.length) {
                                var n = e.split("?")[0],
                                    i = e.split("?")[1];
                                return n += ".html", void 0 !== i ? n + "?" + i : n
                            }
                        }(e.path),
                        envVersion: e.envVersion
                    }, e)
                },
                openBusinessView: function(e) {
                    M("openBusinessView", {
                        businessType: e.businessType,
                        queryString: e.queryString || "",
                        envVersion: e.envVersion
                    }, (e._complete = function(n) {
                        if (p) {
                            var e = n.extraData;
                            if (e) try {
                                n.extraData = JSON.parse(e)
                            } catch (e) {
                                n.extraData = {}
                            }
                        }
                    }, e))
                },
                miniProgram: {
                    navigateBack: function(e) {
                        e = e || {}, O(function() {
                            M("invokeMiniProgramAPI", {
                                name: "navigateBack",
                                arg: {
                                    delta: e.delta || 1
                                }
                            }, e)
                        })
                    },
                    navigateTo: function(e) {
                        O(function() {
                            M("invokeMiniProgramAPI", {
                                name: "navigateTo",
                                arg: {
                                    url: e.url
                                }
                            }, e)
                        })
                    },
                    redirectTo: function(e) {
                        O(function() {
                            M("invokeMiniProgramAPI", {
                                name: "redirectTo",
                                arg: {
                                    url: e.url
                                }
                            }, e)
                        })
                    },
                    switchTab: function(e) {
                        O(function() {
                            M("invokeMiniProgramAPI", {
                                name: "switchTab",
                                arg: {
                                    url: e.url
                                }
                            }, e)
                        })
                    },
                    reLaunch: function(e) {
                        O(function() {
                            M("invokeMiniProgramAPI", {
                                name: "reLaunch",
                                arg: {
                                    url: e.url
                                }
                            }, e)
                        })
                    },
                    postMessage: function(e) {
                        O(function() {
                            M("invokeMiniProgramAPI", {
                                name: "postMessage",
                                arg: e.data || {}
                            }, e)
                        })
                    },
                    getEnv: function(e) {
                        O(function() {
                            e({
                                miniprogram: "miniprogram" === o.__wxjs_environment
                            })
                        })
                    }
                }
            },
            T = 1,
            k = {};
        return i.addEventListener("error", function(e) {
            if (!p) {
                var n = e.target,
                    i = n.tagName,
                    t = n.src;
                if ("IMG" == i || "VIDEO" == i || "AUDIO" == i || "SOURCE" == i)
                    if (-1 != t.indexOf("wxlocalresource://")) {
                        e.preventDefault(), e.stopPropagation();
                        var o = n["wx-id"];
                        if (o || (o = T++, n["wx-id"] = o), k[o]) return;
                        k[o] = !0, wx.ready(function() {
                            wx.getLocalImgData({
                                localId: t,
                                success: function(e) {
                                    n.src = e.localData
                                }
                            })
                        })
                    }
            }
        }, !0), i.addEventListener("load", function(e) {
            if (!p) {
                var n = e.target,
                    i = n.tagName;
                n.src;
                if ("IMG" == i || "VIDEO" == i || "AUDIO" == i || "SOURCE" == i) {
                    var t = n["wx-id"];
                    t && (k[t] = !1)
                }
            }
        }, !0), e && (o.wx = o.jWeixin = w), w
    }
 
    function M(n, e, i) {
        o.WeixinJSBridge ? WeixinJSBridge.invoke(n, x(e), function(e) {
            A(n, e, i)
        }) : B(n, i)
    }
 
    function P(n, i, t) {
        o.WeixinJSBridge ? WeixinJSBridge.on(n, function(e) {
            t && t.trigger && t.trigger(e), A(n, e, i)
        }) : B(n, t || i)
    }
 
    function x(e) {
        return (e = e || {}).appId = v.appId, e.verifyAppId = v.appId, e.verifySignType = "sha1", e
            .verifyTimestamp = v.timestamp + "", e.verifyNonceStr = v.nonceStr, e.verifySignature = v.signature, e
    }
 
    function V(e) {
        return {
            timeStamp: e.timestamp + "",
            nonceStr: e.nonceStr,
            package: e.package,
            paySign: e.paySign,
            signType: e.signType || "SHA1"
        }
    }
 
    function A(e, n, i) {
        "openEnterpriseChat" != e && "openBusinessView" !== e || (n.errCode = n.err_code), delete n.err_code,
            delete n.err_desc, delete n.err_detail;
        var t = n.errMsg;
        t || (t = n.err_msg, delete n.err_msg, t = function(e, n) {
                var i = e,
                    t = a[i];
                t && (i = t);
                var o = "ok";
                if (n) {
                    var r = n.indexOf(":");
                    "confirm" == (o = n.substring(r + 1)) && (o = "ok"), "failed" == o && (o = "fail"), -1 != o
                        .indexOf("failed_") && (o = o.substring(7)), -1 != o.indexOf("fail_") && (o = o
                            .substring(5)), "access denied" != (o = (o = o.replace(/_/g, " ")).toLowerCase()) &&
                        "no permission to execute" != o || (o = "permission denied"), "config" == i &&
                        "function not exist" == o && (o = "ok"), "" == o && (o = "fail")
                }
                return n = i + ":" + o
            }(e, t), n.errMsg = t), (i = i || {})._complete && (i._complete(n), delete i._complete), t = n.errMsg ||
            "", v.debug && !i.isInnerInvoke && alert(JSON.stringify(n));
        var o = t.indexOf(":");
        switch (t.substring(o + 1)) {
            case "ok":
                i.success && i.success(n);
                break;
            case "cancel":
                i.cancel && i.cancel(n);
                break;
            default:
                i.fail && i.fail(n)
        }
        i.complete && i.complete(n)
    }
 
    function C(e) {
        if (e) {
            for (var n = 0, i = e.length; n < i; ++n) {
                var t = e[n],
                    o = c[t];
                o && (e[n] = o)
            }
            return e
        }
    }
 
    function B(e, n) {
        if (!(!v.debug || n && n.isInnerInvoke)) {
            var i = a[e];
            i && (e = i), n && n._complete && delete n._complete, console.log('"' + e + '",', n || "")
        }
    }
 
    function L() {
        return (new Date).getTime()
    }
 
    function O(e) {
        l && (o.WeixinJSBridge ? e() : i.addEventListener && i.addEventListener("WeixinJSBridgeReady", e, !1))
    }
});