zs.sdk.js 9.6 KB

1
  1. var conf=require("./zs.sdk.conf"),sdk=function(){var self={},rotateLeft=function(lValue,iShiftBits){return lValue<<iShiftBits|lValue>>>32-iShiftBits},addUnsigned=function(lX,lY){var lX4,lY4,lX8,lY8,lResult;return lX8=2147483648&lX,lY8=2147483648&lY,lResult=(1073741823&lX)+(1073741823&lY),(lX4=1073741824&lX)&(lY4=1073741824&lY)?2147483648^lResult^lX8^lY8:lX4|lY4?1073741824&lResult?3221225472^lResult^lX8^lY8:1073741824^lResult^lX8^lY8:lResult^lX8^lY8},FF=function(a,b,c,d,x,s,ac){return a=addUnsigned(a,addUnsigned(addUnsigned(function(x,y,z){return x&y|~x&z}(b,c,d),x),ac)),addUnsigned(rotateLeft(a,s),b)},GG=function(a,b,c,d,x,s,ac){return a=addUnsigned(a,addUnsigned(addUnsigned(function(x,y,z){return x&z|y&~z}(b,c,d),x),ac)),addUnsigned(rotateLeft(a,s),b)},HH=function(a,b,c,d,x,s,ac){return a=addUnsigned(a,addUnsigned(addUnsigned(function(x,y,z){return x^y^z}(b,c,d),x),ac)),addUnsigned(rotateLeft(a,s),b)},II=function(a,b,c,d,x,s,ac){return a=addUnsigned(a,addUnsigned(addUnsigned(function(x,y,z){return y^(x|~z)}(b,c,d),x),ac)),addUnsigned(rotateLeft(a,s),b)},wordToHex=function(lValue){var lCount,WordToHexValue="",WordToHexValueTemp="";for(lCount=0;lCount<=3;lCount++)WordToHexValue+=(WordToHexValueTemp="0"+(lValue>>>8*lCount&255).toString(16)).substr(WordToHexValueTemp.length-2,2);return WordToHexValue},md5=function(string){var k,AA,BB,CC,DD,a,b,c,d,x=Array();for(x=function(string){for(var lWordCount,lMessageLength=string.length,lNumberOfWordsTempOne=lMessageLength+8,lNumberOfWords=16*((lNumberOfWordsTempOne-lNumberOfWordsTempOne%64)/64+1),lWordArray=Array(lNumberOfWords-1),lBytePosition=0,lByteCount=0;lByteCount<lMessageLength;)lBytePosition=lByteCount%4*8,lWordArray[lWordCount=(lByteCount-lByteCount%4)/4]=lWordArray[lWordCount]|string.charCodeAt(lByteCount)<<lBytePosition,lByteCount++;return lBytePosition=lByteCount%4*8,lWordArray[lWordCount=(lByteCount-lByteCount%4)/4]=lWordArray[lWordCount]|128<<lBytePosition,lWordArray[lNumberOfWords-2]=lMessageLength<<3,lWordArray[lNumberOfWords-1]=lMessageLength>>>29,lWordArray}(string=function(string){string=string.replace(/\x0d\x0a/g,"\n");for(var output="",n=0;n<string.length;n++){var c=string.charCodeAt(n);c<128?output+=String.fromCharCode(c):c>127&&c<2048?(output+=String.fromCharCode(c>>6|192),output+=String.fromCharCode(63&c|128)):(output+=String.fromCharCode(c>>12|224),output+=String.fromCharCode(c>>6&63|128),output+=String.fromCharCode(63&c|128))}return output}(string)),a=1732584193,b=4023233417,c=2562383102,d=271733878,k=0;k<x.length;k+=16)AA=a,BB=b,CC=c,DD=d,a=FF(a,b,c,d,x[k+0],7,3614090360),d=FF(d,a,b,c,x[k+1],12,3905402710),c=FF(c,d,a,b,x[k+2],17,606105819),b=FF(b,c,d,a,x[k+3],22,3250441966),a=FF(a,b,c,d,x[k+4],7,4118548399),d=FF(d,a,b,c,x[k+5],12,1200080426),c=FF(c,d,a,b,x[k+6],17,2821735955),b=FF(b,c,d,a,x[k+7],22,4249261313),a=FF(a,b,c,d,x[k+8],7,1770035416),d=FF(d,a,b,c,x[k+9],12,2336552879),c=FF(c,d,a,b,x[k+10],17,4294925233),b=FF(b,c,d,a,x[k+11],22,2304563134),a=FF(a,b,c,d,x[k+12],7,1804603682),d=FF(d,a,b,c,x[k+13],12,4254626195),c=FF(c,d,a,b,x[k+14],17,2792965006),b=FF(b,c,d,a,x[k+15],22,1236535329),a=GG(a,b,c,d,x[k+1],5,4129170786),d=GG(d,a,b,c,x[k+6],9,3225465664),c=GG(c,d,a,b,x[k+11],14,643717713),b=GG(b,c,d,a,x[k+0],20,3921069994),a=GG(a,b,c,d,x[k+5],5,3593408605),d=GG(d,a,b,c,x[k+10],9,38016083),c=GG(c,d,a,b,x[k+15],14,3634488961),b=GG(b,c,d,a,x[k+4],20,3889429448),a=GG(a,b,c,d,x[k+9],5,568446438),d=GG(d,a,b,c,x[k+14],9,3275163606),c=GG(c,d,a,b,x[k+3],14,4107603335),b=GG(b,c,d,a,x[k+8],20,1163531501),a=GG(a,b,c,d,x[k+13],5,2850285829),d=GG(d,a,b,c,x[k+2],9,4243563512),c=GG(c,d,a,b,x[k+7],14,1735328473),b=GG(b,c,d,a,x[k+12],20,2368359562),a=HH(a,b,c,d,x[k+5],4,4294588738),d=HH(d,a,b,c,x[k+8],11,2272392833),c=HH(c,d,a,b,x[k+11],16,1839030562),b=HH(b,c,d,a,x[k+14],23,4259657740),a=HH(a,b,c,d,x[k+1],4,2763975236),d=HH(d,a,b,c,x[k+4],11,1272893353),c=HH(c,d,a,b,x[k+7],16,4139469664),b=HH(b,c,d,a,x[k+10],23,3200236656),a=HH(a,b,c,d,x[k+13],4,681279174),d=HH(d,a,b,c,x[k+0],11,3936430074),c=HH(c,d,a,b,x[k+3],16,3572445317),b=HH(b,c,d,a,x[k+6],23,76029189),a=HH(a,b,c,d,x[k+9],4,3654602809),d=HH(d,a,b,c,x[k+12],11,3873151461),c=HH(c,d,a,b,x[k+15],16,530742520),b=HH(b,c,d,a,x[k+2],23,3299628645),a=II(a,b,c,d,x[k+0],6,4096336452),d=II(d,a,b,c,x[k+7],10,1126891415),c=II(c,d,a,b,x[k+14],15,2878612391),b=II(b,c,d,a,x[k+5],21,4237533241),a=II(a,b,c,d,x[k+12],6,1700485571),d=II(d,a,b,c,x[k+3],10,2399980690),c=II(c,d,a,b,x[k+10],15,4293915773),b=II(b,c,d,a,x[k+1],21,2240044497),a=II(a,b,c,d,x[k+8],6,1873313359),d=II(d,a,b,c,x[k+15],10,4264355552),c=II(c,d,a,b,x[k+6],15,2734768916),b=II(b,c,d,a,x[k+13],21,1309151649),a=II(a,b,c,d,x[k+4],6,4149444226),d=II(d,a,b,c,x[k+11],10,3174756917),c=II(c,d,a,b,x[k+2],15,718787259),b=II(b,c,d,a,x[k+9],21,3951481745),a=addUnsigned(a,AA),b=addUnsigned(b,BB),c=addUnsigned(c,CC),d=addUnsigned(d,DD);return(wordToHex(a)+wordToHex(b)+wordToHex(c)+wordToHex(d)).toLowerCase()},_buildSign=function(params,isSecret){isSecret=isSecret||!0;for(var sortedKeys=Object.keys(params).sort(),signParam="",i=0;i<sortedKeys.length;i++)signParam+=sortedKeys[i]+":"+params[sortedKeys[i]];isSecret&&(signParam+=conf.secret);var md5sign=md5(signParam);return md5sign=md5sign.toLowerCase()},request=function(url,data,method,success,fail,complete){if("undefined"==typeof wx){var xhr=new XMLHttpRequest;xhr.onreadystatechange=function(){if(4==xhr.readyState){var response=xhr.responseText;if(xhr.status>=200&&xhr.status<400){var result={};try{result=JSON.parse(response)}catch(e){console.error("json parse error ",response),fail&&fail(e)}success&&success(result)}else console.error("error ",response),fail&&fail(response)}},xhr.timeout=3e3,xhr.ontimeout=function(event){console.error("error ",event),fail&&fail(event)},xhr.open(method,url,!0),"POST"==method?(xhr.open("POST",url),xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),xhr.send(function(obj){var args=[];for(var k in obj)args.push(k+"="+obj[k]);return args.join("&")}(data))):xhr.send()}else wx.request({url:url,data:data,header:{"content-type":"application/json"},method:method,success:function(res){success&&success(res.data)},fail:function(res){fail&&fail(res)},complete:function(res){complete&&complete(res)}})},setStorageSync=function(key,value){self.zsStorage=self.zsStorage||{},self.zsStorage[key]=value},getStorageSync=function(key){return self.zsStorage=self.zsStorage||{},self.zsStorage[key]},isFun=function(fun){return"function"==typeof fun},collect=function(row,userid){if("3"==row.app_type){var value=getStorageSync(row.appid);setStorageSync(row.appid,null==value?1:Number(value)+1)}var toid,openid,currentTime,signParams,sign,data;"undefined"!=typeof wx&&(toid=row.app_id,openid=userid,currentTime=Math.round((new Date).getTime()/1e3).toString(),signParams={user_id:openid,from_id:conf.appId,to_id:toid,timestamp:currentTime},sign=_buildSign(signParams),data=Object.assign({},signParams,{sign:sign}),request("https://ad.ali-yun.wang/api/appad_new/collect",data,"POST",function(){},function(){console.log("appad_new/collect fail")},function(){console.log("appad_new/collect complete")}))};return self.adCbList=[],self.inAdRequest=!1,self.loadAd=function(callback){var cache=function(key,expire){if(expire){var lastCacheTime=getStorageSync(key+"_time");return null==lastCacheTime||Date.now()-Number(lastCacheTime)<expire?getStorageSync(key):null}return getStorageSync(key)}("zsAd",6e5);if(cache)callback(cache);else if(this.inAdRequest)this.adCbList.push(callback);else{this.inAdRequest=!0,this.adCbList.push(callback);var currentTime=Math.round((new Date).getTime()/1e3).toString(),signParams={appid:conf.appId,timestamp:currentTime},sign=_buildSign(signParams),data=Object.assign({},signParams,{sign:sign});request("https://ad.ali-yun.wang/api/appad_new/index",data,"POST",function(res){for(var z in self.inAdRequest=!1,res.data){res.data[z].sort(function(){return Math.random()>.5?1:-1})}var key,retValue={more:res.data["position-1"]||[],promotion:res.data["position-2"]||[],indexFloat:res.data["position-3"]||[],banner:res.data["position-4"]||[],indexLeft:res.data["position-7"]||[],gameFloat:res.data["position-8"]||[],endPage:res.data["position-9"]||[],indexLeftFloat:res.data["position-11"]||[],backAd:res.data["position-12"]||[],iosLinkAd:res.data["position-13"]||[]};setStorageSync(key="zsAd",retValue),setStorageSync(key+"_time",Date.now());for(var index=0;index<self.adCbList.length;index++)isFun(self.adCbList[index])&&self.adCbList[index](retValue);self.adCbList=[]},function(error){self.inAdRequest=!1,console.log("requestAdData fail");for(var retValue={more:[],promotion:[],indexFloat:[],banner:[],indexLeft:[],gameFloat:[],endPage:[],indexLeftFloat:[],backAd:[],iosLinkAd:[]},index=0;index<self.adCbList.length;index++)isFun(self.adCbList[index])&&self.adCbList[index](retValue);self.adCbList=[]},function(res){console.log("requestAdData complete")})}},self.navigate2Mini=function(row,openid,success,fail,complete){var targetMini=row;if("undefined"==typeof wx)return isFun(fail)&&fail(),void(isFun(complete)&&complete());targetMini.extraData=targetMini.extraData||{},wx.navigateToMiniProgram({appId:targetMini.appid,path:targetMini.link_path,extraData:targetMini.extraData,success:function(e){collect(targetMini,openid),isFun(success)&&success()},fail:function(e){isFun(fail)&&fail()},complete:function(e){isFun(complete)&&complete()}})},self}(),theEnv="undefined"!=typeof window?window:global;theEnv.zs=theEnv.zs||{},theEnv.zs.sdk=sdk,function(){var moduleName=sdk;"undefined"!=typeof module&&"object"==typeof exports?module.exports=moduleName:"function"==typeof define&&(define.amd||define.cmd)?define(function(){return moduleName}):this.moduleName=moduleName}.call(function(){return this||("undefined"!=typeof window?window:global)});