/** * 校验控制器 */ 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; if (result == "" || result == undefined || result.indexOf('http://smart.zhoundlee.com') < 0) { utils.toast({content:'该智能防伪二维码无效'}); return false; } var resultArr = $$.parseUrlQuery(result); //这个二维码必须传到后台去做验证才对, if(resultArr != null && resultArr!==undefined && resultArr['uuid']!=null && resultArr['uuid']!==undefined) { /*if (resultArr['uuid'].indexOf("@") == -1) { utils.toast({content:'该智能防伪二维码无效'}); return false; }*/ //可以用字符或字符串分割 //var resultArr=resultArr['uuid'].split('@'); //var redirectNoActivedUrl = url.to('check#warning/' + resultArr[0]); //var redirectHasActivedUrl = url.to('check#scan-count/' + resultArr[0] + '/' + SCAN_COUNT); var resultArrUUID=resultArr['uuid']; var redirectNoActivedUrl = url.to('check#warning/' + resultArrUUID); var redirectHasActivedUrl = url.to('check#scan-count/' + resultArrUUID + '/' + SCAN_COUNT); $$.ajax({ method : "POST", url: url.to('check/default/check-active'), //data : {uuid: resultArr[0]}, data : {uuid: resultArrUUID}, dataType : "json", beforeSend : function(){ me.showIndicator(); }, success : function(res){ SCAN_COUNT = res.scan_count; redirectHasActivedUrl = url.to('check#scan-count/' + resultArrUUID + '/' + 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) { utils.toast({content:'该智能防伪二维码无效'}); } else { utils.toast({content:'该智能防伪二维码无效'}); } }, error : function(e){}, complete : function(e){ me.hideIndicator(); }, }); }else{ utils.toast({content:'请扫描智能防伪二维码'}); } } }); setTimeout(function () { $$(".scan-button").removeAttr("disabled"); $$(".scan-button").text("点击扫描标签"); },1000); }); } return ctrl; } );