index-controller.js
4.59 KB
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
/**
* 校验控制器
*/
define(
"check/index-controller",
[
'mk7/controller',
'mk7/url',
'mk7/utils',
'mk7/modals',
'mk7/jweixin'
],
function (ctrl, url, utils, modals, jweixin) {
var ctrl = new ctrl();
var $$ = Dom7;
var t7 = Template7;
var HAS_ACTIVED = 1;
var NO_ACTIVED = 0;
var ERROR_URL = 2;
var SCAN_COUNT = 0;
ctrl.run = function () {
var me = this;
me.setPageTitle("验证标签");
jweixin.config({
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: window.$site.appid, // 必填,公众号的唯一标识
timestamp: window.$site.timestamp, // 必填,生成签名的时间戳
nonceStr: window.$site.noncestr, // 必填,生成签名的随机串
signature: window.$site.signature,// 必填,签名,见附录1
jsApiList: ['openLocation','getLocation','scanQRCode']
});
me.scanQrcode();
me.render();
$$(".scan-button").attr("disabled", "disabled");
$$(".scan-button").text("正在调起扫码……");
};
ctrl.bindEvents = function () {
var me = this;
$$(".scan-button").click(function () {
me.scanQrcode();
});
};
// 调用扫码功能
ctrl.scanQrcode = function () {
var me = this;
jweixin.ready(function(){
jweixin.scanQRCode({
needResult: 1,
desc: 'scanQRCode desc',
success: function (res) {
var result = res.resultStr;
var resultArr = $$.parseUrlQuery(result);
//这个二维码必须传到后台去做验证才对,
if(resultArr != null && resultArr!==undefined && resultArr['uuid']!=null && resultArr['uuid']!==undefined) {
//可以用字符或字符串分割
var resultArr=resultArr['uuid'].split('@');
var redirectNoActivedUrl = url.to('smart#enter/' + resultArr[0]);
var redirectHasActivedUrl = url.to('check#scan-count/' + resultArr[0] + '/' + SCAN_COUNT);
var redirectErrorUrl = url.to('check#warning/' + resultArr[0]);
$$.ajax({
method : "POST",
url: url.to('check/default/check-active'),
data : {uuid: resultArr[0]},
dataType : "json",
beforeSend : function(){
me.showIndicator();
},
success : function(res){
SCAN_COUNT = res.scan_count;
redirectHasActivedUrl = url.to('check#scan-count/' + resultArr[0] + '/' + SCAN_COUNT);
if (res.success == HAS_ACTIVED) {
window.location.href = redirectHasActivedUrl;
} else if (res.success == NO_ACTIVED) {
window.location.href = redirectNoActivedUrl;
} else if (res.success == ERROR_URL) {
window.location.href = redirectErrorUrl;
} else {
window.location.href = redirectErrorUrl;
}
},
error : function(e){},
complete : function(e){
me.hideIndicator();
},
});
}else{
utils.toast({content:'请扫描智能防伪二维码'});
}
}
});
setTimeout(function () {
$$(".scan-button").removeAttr("disabled");
$$(".scan-button").text("点击扫描标签");
},1000);
});
}
return ctrl;
}
);