1 line
37 KiB
JavaScript
1 line
37 KiB
JavaScript
var sa={is_first_launch:!1,launched:!1,_queue:[],mpshow_time:null,sa_referrer:'\u76f4\u63a5\u6253\u5f00',query_share_depth:0,share_distinct_id:'',share_method:'',current_scene:'',inited:!1,para:{server_url:'',send_timeout:1e3,show_log:!1,allow_amend_share_path:!0,max_string_length:500,datasend_timeout:3e3,source_channel:[],batch_send:{send_timeout:6e3,max_length:6},preset_properties:{}},platform:'',lib:{version:'0.10.0',name:'MiniGame',method:'code'},properties:{$lib:'MiniGame',$lib_version:'0.10.0'},currentProps:{}};const _toString=Object.prototype.toString,_hasOwnProperty=Object.prototype.hasOwnProperty,indexOf=Array.prototype.indexOf,slice=Array.prototype.slice,_isArray=Array.prototype.isArray,forEach=Array.prototype.forEach,bind=Function.prototype.bind;function isUndefined(e){return void 0===e}function isString(e){return'[object String]'==_toString.call(e)}function isDate(e){return'[object Date]'==_toString.call(e)}function isBoolean(e){return'[object Boolean]'==_toString.call(e)}function isNumber(e){return'[object Number]'==_toString.call(e)&&/[\d\\.]+/.test(String(e))}function isJSONString(e){try{JSON.parse(e)}catch(e){return!1}return!0}function isObject(e){return null!=e&&'[object Object]'===_toString.call(e)}function isPlainObject(e){return'[object Object]'===_toString.call(e)}function isArray(e){return _isArray||'[object Array]'===_toString.call(e)}function isFuction(e){try{return/^\s*\bfunction\b/.test(e)}catch(e){return!1}}function isArguments(e){return!(!e||!_hasOwnProperty.call(e,'callee'))}function toString(e){return null==e?'':isArray(e)||isPlainObject(e)&&e.toString===_toString?JSON.stringify(e,null,2):String(e)}function each(e,t,n){if(null==e)return!1;if(forEach&&e.forEach===forEach)e.forEach(t,n);else if(e.length===+e.length){for(var r=0,a=e.length;r<a;r++)if(r in e&&t.call(n,e[r],r,e)==={})return!1}else for(var s in e)if(_hasOwnProperty.call(e,s)&&t.call(n,e[s],s,e)==={})return!1}function toArray(e,t){if(!e)return[];var n=[];return e.toArray&&(n=e.toArray()),isArray(e)&&(n=slice.call(e)),isArguments(e)&&(n=slice.call(e)),n=values(e),t&&isNumber(t)&&(n=n.slice(t)),n}function values(e){var t=[];return null==e?t:(each(e,function(e){t[t.length]=e}),t)}function include(e,t){var n=!1;return null==e?n:indexOf&&e.indexOf===indexOf?-1!=e.indexOf(t):(each(e,function(e){if(n||(n=e===t))return{}}),n)}function unique(e){for(var t,n=[],r={},a=0;a<e.length;a++)r[t=e[a]]||(r[t]=!0,n.push(t));return n}function formatDate(e){function t(e){return e<10?'0'+e:e}return e.getFullYear()+'-'+t(e.getMonth()+1)+'-'+t(e.getDate())+' '+t(e.getHours())+':'+t(e.getMinutes())+':'+t(e.getSeconds())+'.'+t(e.getMilliseconds())}function searchObjDate(e){(isObject(e)||isArray(e))&&each(e,function(t,n){isObject(t)||isArray(t)?searchObjDate(e[n]):isDate(t)&&(e[n]=formatDate(t))})}function trim(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,'')}function isFunction(e){if(!e)return!1;var t=Object.prototype.toString.call(e);return'[object Function]'==t||'[object AsyncFunction]'==t||'[object GeneratorFunction]'==t}function extend(e){return each(slice.call(arguments,1),function(t){for(var n in t)void 0!==t[n]&&(e[n]=t[n])}),e}function extend2Lev(e){return each(slice.call(arguments,1),function(t){for(var n in t)void 0!==t[n]&&null!==t[n]&&(isObject(t[n])&&isObject(e[n])?extend(e[n],t[n]):e[n]=t[n])}),e}function isEmptyObject(e){if(isObject(e)){for(var t in e)if(_hasOwnProperty.call(e,t))return!1;return!0}return!1}function deepCopy(e){var t={};return function e(t,n){for(var r in n){var a=n[r];isArray(a)?(t[r]=[],e(t[r],a)):isObject(a)?(t[r]={},e(t[r],a)):t[r]=a}}(t,e),t}function formatString(e){return e.length>sa.para.max_string_length?(sa.log('\u5b57\u7b26\u4e32\u957f\u5ea6\u8d85\u8fc7\u9650\u5236\uff0c\u5df2\u7ecf\u505a\u622a\u53d6--'+e),e.slice(0,sa.para.max_string_length)):e}function searchObjString(e){isObject(e)&&each(e,function(t,n){isObject(t)?searchObjString(e[n]):isString(t)&&(e[n]=formatString(t))})}function encodeDates(e){return each(e,function(t,n){isDate(t)?e[n]=formatDate(t):isObject(t)&&(e[n]=encodeDates(t))}),e}function utf8Encode(e){var t,n,r,a,s='';for(t=n=0,r=(e=(e+'').replace(/\r\n/g,'\n').replace(/\r/g,'\n')).length,a=0;a<r;a++){var i=e.charCodeAt(a),o=null;i<128?n++:o=i>127&&i<2048?String.fromCharCode(i>>6|192,63&i|128):String.fromCharCode(i>>12|224,i>>6&63|128,63&i|128),null!==o&&(n>t&&(s+=e.substring(t,n)),s+=o,t=n=a+1)}return n>t&&(s+=e.substring(t,e.length)),s}function base64Encode(e){var t,n,r,a,s,i='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=',o=0,c=0,u='',p=[];if(!e)return e;e=utf8Encode(e);do{t=(s=e.charCodeAt(o++)<<16|e.charCodeAt(o++)<<8|e.charCodeAt(o++))>>18&63,n=s>>12&63,r=s>>6&63,a=63&s,p[c++]=i.charAt(t)+i.charAt(n)+i.charAt(r)+i.charAt(a)}while(o<e.length);switch(u=p.join(''),e.length%3){case 1:u=u.slice(0,-2)+'==';break;case 2:u=u.slice(0,-1)+'='}return u}function _decodeURIComponent(e){var t='';try{t=decodeURIComponent(e)}catch(n){t=e}return t}var SOURCE_CHANNEL_STANDARD='utm_source utm_medium utm_campaign utm_content utm_term',LATEST_SOURCE_CHANNEL=['$latest_utm_source','$latest_utm_medium','$latest_utm_campaign','$latest_utm_content','$latest_utm_term','$latest_sa_utm'],LATEST_SHARE_INFO=['$latest_share_distinct_id','$latest_share_url_path','$latest_share_depth','$latest_share_method'],IDENTITY_KEY={EMAIL:'$identity_email',MOBILE:'$identity_mobile',LOGIN:'$identity_login_id'},RESERVE_CHANNEL=' utm_source utm_medium utm_campaign utm_content utm_term sa_utm ',meta={lib_version:'',launched:!1,lib_name:'',query_share_depth:0,page_show_time:Date.now(),mp_show_time:null,promise_list:[],current_scene:'',is_first_launch:!1,_queue:[],inited:!1,hasExeInit:!1,scene_prefix:'',share_distinct_id:'',sa_referrer:'\u76f4\u63a5\u6253\u5f00',source_channel_standard:SOURCE_CHANNEL_STANDARD,latest_source_channel:LATEST_SOURCE_CHANNEL,latest_share_info:LATEST_SHARE_INFO};function getAppId(){var e=sa.system_api.getAppInfoSync();return e&&e.appId?e.appId:''}function getObjFromQuery(e){var t=e.split('?'),n=[],r={};return t&&t[1]?(each(t[1].split('&'),function(e){(n=e.split('='))[0]&&n[1]&&(r[n[0]]=n[1])}),r):{}}function getMixedQuery(e){var t=detectOptionQuery(e),n=t.scene,r=t.q,a=t.query;for(var s in a)a[s]=_decodeURIComponent(a[s]);return n&&extend(a,getObjFromQuery(n=-1!==(n=_decodeURIComponent(n)).indexOf('?')?'?'+n.replace(/\?/g,''):'?'+n)),r&&extend(a,getObjFromQuery(_decodeURIComponent(r))),a}function detectOptionQuery(e){if(!e||!isObject(e.query))return{};var t,n,r,a,s={};return s.query=extend({},e.query),isString(s.query.scene)&&(t=s.query,n=['utm_source','utm_content','utm_medium','utm_campaign','utm_term','sa_utm'].concat(sa.para.source_channel),r=new RegExp('('+n.join('|')+')%3D','i'),1===(a=Object.keys(t)).length&&'scene'===a[0]&&r.test(t.scene))&&(s.scene=s.query.scene,delete s.query.scene),e.query.q&&e.query.scancode_time&&'101'===String(e.scene).slice(0,3)&&(s.q=String(s.query.q),delete s.query.q,delete s.query.scancode_time),s}function setUtm(e,t){var n={},r=getMixedQuery(e),a=getCustomUtmFromQuery(r,'$','_','$'),s=getCustomUtmFromQuery(r,'$latest_','_latest_','$latest_');return n.pre1=a,n.pre2=s,extend(t,a),n}function setLatestChannel(e){isEmptyObject(e)||(function(e,t){var n=!1;for(var r in t)e[t[r]]&&(n=!0);return n}(e,LATEST_SOURCE_CHANNEL)&&sa.clearAppRegister(LATEST_SOURCE_CHANNEL),sa.registerApp(e))}function getCustomUtmFromQuery(e,t,n,r){if(!isObject(e))return{};var a={};if(e.sa_utm)for(var s in e)'sa_utm'!==s?include(sa.para.source_channel,s)&&(a[n+s]=e[s]):a[r+s]=e[s];else for(var i in e)-1===(' '+SOURCE_CHANNEL_STANDARD+' ').indexOf(' '+i+' ')?include(sa.para.source_channel,i)&&(a[n+i]=e[i]):a[t+i]=e[i];return a}function existLatestUtm(){var e=!1;return each(LATEST_SOURCE_CHANNEL,function(t){sa.properties[t]&&(e=!0)}),e}function setQuery(e,t){if(e&&isObject(e)&&!isEmptyObject(e)){var n=[];return each(e,function(e,r){'q'===r&&isString(e)&&0===e.indexOf('http')||(t?n.push(r+'='+e):n.push(r+'='+_decodeURIComponent(e)))}),n.join('&')}return''}function getCurrentPage(){var e={};try{var t=isFunction(sa.system_api.getCurrentPages)?sa.system_api.getCurrentPages():getCurrentPages();e=t[t.length-1]}catch(e){sa.log('getCurrentPage:'+e)}return e}function getCurrentPath(){var e='\u672a\u53d6\u5230';try{var t=getCurrentPage();e=t?t.route:e}catch(e){sa.log('getCurrentPath:'+e)}return e}function isPresetIdKeys(e,t){var n=['$identity_anonymous_id'];for(var r of(isArray(t)&&(n=n.concat(t)),n))if(r===e)return!0;return!1}var isSafeInteger=Number.isSafeInteger||function(e){return isInteger(e)&&Math.abs(e)<=Math.pow(2,53)-1},isInteger=Number.isInteger||function(e){return'number'==typeof e&&isFinite(e)&&Math.floor(e)===e},check={checkKeyword:function(e){return/^((?!^distinct_id$|^original_id$|^device_id$|^time$|^properties$|^id$|^first_id$|^second_id$|^users$|^events$|^event$|^user_id$|^date$|^datetime$|^user_group|^user_tag)[a-zA-Z_$][a-zA-Z\d_$]{0,99})$/i.test(e)},checkIdLength:function(e){return!(String(e).length>255)||(sa.log('id \u957f\u5ea6\u8d85\u8fc7 255 \u4e2a\u5b57\u7b26\uff01'),!1)}};function getOpenidNameByAppid(e){if(''==e||!isString(e))return sa.log('error: \u53c2\u6570\u5fc5\u987b\u662f\u6709\u6548\u503c'),!1;var t=getAppId(),n="$identity_"+e+"_openid";return t&&(n="$identity_"+e+'_'+t+"_openid"),n}function validId(e){return!isString(e)&&!isNumber(e)||''===e?(sa.log('\u8f93\u5165 ID \u7c7b\u578b\u9519\u8bef'),!1):isNumber(e)&&(e=String(e),!/^\d+$/.test(e))?(sa.log('\u8f93\u5165 ID \u7c7b\u578b\u9519\u8bef'),!1):!!check.checkIdLength(e)&&e}function isNewLoginId(e,t){return e!==sa.store._state.history_login_id.name||sa.store._state.history_login_id.value!==t}function isSameAndAnonymousID(e){var t=sa.store.getFirstId(),n=sa.store.getDistinctId();return t?e===t:e===n}function setUpperCase(e){return isString(e)?e.toLocaleUpperCase():e}function getIsFirstDay(){return!!('object'==typeof sa.store._state&&isNumber(sa.store._state.first_visit_day_time)&&sa.store._state.first_visit_day_time>(new Date).getTime())}function joinUrl(e,t){return!!e&&('\u672a\u53d6\u5230'===e?'\u672a\u53d6\u5230':t?e+'?'+t:e)}function getPath(e){return e=isString(e)?e.replace(/^\//,''):'\u53d6\u503c\u5f02\u5e38'}function getAppProps(e){var t={};return e&&e.path&&(t.$url_path=getPath(e.path),t.$url_query=setQuery(e.query),t.$url=joinUrl(t.$url_path,t.$url_query)),t}function getPageProps(){var e=getCurrentPage(),t=getCurrentPath(),n=e.sensors_mp_url_query||'';return{$url_path:t,$url:joinUrl(t,n),$url_query:n}}function rot13defs(e){return rot13obfs(e=String(e),113)}function rot13obfs(e,t){t='number'==typeof t?t:13;for(var n=(e=String(e)).split(''),r=0,a=n.length;r<a;r++){n[r].charCodeAt(0)<126&&(n[r]=String.fromCharCode((n[r].charCodeAt(0)+t)%126))}return n.join('')}var decodeURIComponent$1=_decodeURIComponent;function formatSystem(e){var t=e.toLowerCase();return'ios'===t?'iOS':'android'===t?'Android':e}var getRandomBasic=function(){var e=(new Date).getTime();return function(t){return Math.ceil((e=(9301*e+49297)%233280)/233280*t)}}();function getRandom(){if('function'==typeof Uint32Array){var e='';if('undefined'!=typeof crypto?e=crypto:'undefined'!=typeof msCrypto&&(e=msCrypto),isObject(e)&&e.getRandomValues){var t=new Uint32Array(1);return e.getRandomValues(t)[0]/Math.pow(2,32)}}return getRandomBasic(1e19)/1e19}function getUUID(){return Date.now()+'-'+Math.floor(1e7*getRandom())+'-'+getRandom().toString(16).replace('.','')+'-'+String(31242*getRandom()).replace('.','').slice(0,8)}const _={getUUID:getUUID,formatSystem:formatSystem,indexOf:indexOf,slice:slice,forEach:forEach,bind:bind,_hasOwnProperty:_hasOwnProperty,_toString:_toString,isUndefined:isUndefined,isString:isString,isDate:isDate,isBoolean:isBoolean,isNumber:isNumber,isJSONString:isJSONString,isObject:isObject,isPlainObject:isPlainObject,isArray:isArray,isFuction:isFuction,isArguments:isArguments,toString:toString,unique:unique,include:include,values:values,toArray:toArray,each:each,formatDate:formatDate,searchObjDate:searchObjDate,utf8Encode:utf8Encode,decodeURIComponent:decodeURIComponent$1,encodeDates:encodeDates,base64Encode:base64Encode,trim:trim,isFunction:isFunction,extend:extend,extend2Lev:extend2Lev,isEmptyObject:isEmptyObject,searchObjString:searchObjString,formatString:formatString,setLatestChannel:setLatestChannel,getObjFromQuery:getObjFromQuery,getMixedQuery:getMixedQuery,detectOptionQuery:detectOptionQuery,setUtm:setUtm,getCustomUtmFromQuery:getCustomUtmFromQuery,existLatestUtm:existLatestUtm,setQuery:setQuery,getCurrentPage:getCurrentPage,getCurrentPath:getCurrentPath,rot13defs:rot13defs,rot13obfs:rot13obfs,isSafeInteger:isSafeInteger,isInteger:isInteger,isPresetIdKeys:isPresetIdKeys,deepCopy:deepCopy,check:check,getOpenidNameByAppid:getOpenidNameByAppid,validId:validId,isNewLoginId:isNewLoginId,isSameAndAnonymousID:isSameAndAnonymousID,setUpperCase:setUpperCase,getIsFirstDay:getIsFirstDay,getPageProps:getPageProps,getAppProps:getAppProps,getPath:getPath,joinUrl:joinUrl};function stripProperties(e){return isObject(e)?(each(e,function(t,n){if(isArray(t)){var r=[];each(t,function(e){if(isString(e))r.push(e);else if(isUndefined(e))r.push('null');else try{r.push(JSON.stringify(e))}catch(e){sa.log('\u60a8\u7684\u6570\u636e - '+n+':'+t+' - \u7684\u6570\u7ec4\u91cc\u7684\u503c\u6709\u9519\u8bef,\u5df2\u7ecf\u5c06\u5176\u5220\u9664')}}),e[n]=r}if(isObject(t))try{e[n]=JSON.stringify(t)}catch(r){delete e[n],sa.log('\u60a8\u7684\u6570\u636e - '+n+':'+t+' - \u7684\u6570\u636e\u503c\u6709\u9519\u8bef,\u5df2\u7ecf\u5c06\u5176\u5220\u9664')}else isString(t)||isNumber(t)||isDate(t)||isBoolean(t)||isArray(t)||(sa.log('\u60a8\u7684\u6570\u636e - ',t,'-\u683c\u5f0f\u4e0d\u6ee1\u8db3\u8981\u6c42\uff0c\u6211\u4eec\u5df2\u7ecf\u5c06\u5176\u5220\u9664'),delete e[n])}),e):e}function parseSuperProperties(e){isObject(e)&&each(e,function(t,n){if(isFunction(t))try{e[n]=t(),isFunction(e[n])&&(sa.log('\u60a8\u7684\u5c5e\u6027 - '+n+' \u683c\u5f0f\u4e0d\u6ee1\u8db3\u8981\u6c42\uff0c\u6211\u4eec\u5df2\u7ecf\u5c06\u5176\u5220\u9664'),delete e[n])}catch(t){delete e[n],sa.log('\u60a8\u7684\u5c5e\u6027 - '+n+' \u629b\u51fa\u4e86\u5f02\u5e38\uff0c\u6211\u4eec\u5df2\u7ecf\u5c06\u5176\u5220\u9664')}})}function batchRequest(e){if(isArray(e.data)&&e.data.length>0){var t=Date.now(),n=sa.para.datasend_timeout;e.data.forEach(function(e){e._flush_time=t}),e.data=JSON.stringify(e.data);let r={url:sa.para.server_url,method:'POST',dataType:'text',data:'data_list='+encodeURIComponent(base64Encode(e.data)),timeout:n,success:function(){e.success(e.len)},fail:function(){e.fail()}};sa.system_api.request(r)}else e.success(e.len)}function onceSend(e){e._flush_time=Date.now();var t='',n=JSON.stringify(e);t=-1!==sa.para.server_url.indexOf('?')?sa.para.server_url+'&data='+encodeURIComponent(base64Encode(n)):sa.para.server_url+'?data='+encodeURIComponent(base64Encode(n));var r=sa.para.datasend_timeout;sa.system_api.request({url:t,dataType:'text',method:'GET',timeout:r})}var kit={batchRequest:batchRequest,onceSend:onceSend};function batchSend(){if(sa.batch_state.sended){var e,t,n=sa.batch_state.mem;(t=(e=n.length>=100?n.slice(0,100):n).length)>0&&(sa.batch_state.sended=!1,kit.batchRequest({data:e,len:t,success:batchRemove,fail:sendFail}))}}function sendFail(){sa.batch_state.sended=!0,sa.batch_state.failTime++}function batchRemove(e){sa.batch_state.clear(e),sa.batch_state.sended=!0,sa.batch_state.changed=!0,batchWrite(),sa.batch_state.failTime=0}function batchWrite(){sa.batch_state.changed&&(sa.batch_state.is_first_batch_write&&(sa.batch_state.is_first_batch_write=!1,setTimeout(function(){batchSend()},1e3)),sa.batch_state.syncStorage&&(sa.system_api.setStorageSync('sensors_prepare_data',sa.batch_state.mem),sa.batch_state.changed=!1))}function batchInterval(){!function e(){setTimeout(function(){batchWrite(),e()},1e3)}(),function e(){setTimeout(function(){batchSend(),e()},sa.para.batch_send.send_timeout*Math.pow(2,sa.batch_state.failTime))}()}function reportEvent(e){var t='';e._flush_time=Date.now(),t=e.event?"sensors_"+e.event:"sensors_"+e.type,e.dataSource='sensors',sa.log('report_event, name: ',t,'-- key: ',e),__mp_private_api__.reportEvent(t,e)}function isValidListener(e){return'function'==typeof e||!(!e||'object'!=typeof e)&&isValidListener(e.listener)}sa.batch_state={mem:[],changed:!1,sended:!0,is_first_batch_write:!0,sync_storage:!1,failTime:0,getLength:function(){return this.mem.length},add:function(e){this.mem.push(e)},clear:function(e){this.mem.splice(0,e)}},sa.prepareData=function(e){var t={distinct_id:sa.store.getDistinctId(),lib:{$lib:sa.lib.name,$lib_method:sa.lib.method,$lib_version:String(sa.lib.version)},properties:{}};if(isObject(sa.store._state.identities)&&(t.identities=sa.store._state.identities),'track_id_unbind'===e.type&&'$UnbindID'===e.event&&(t.identities=deepCopy(e.unbind_value),delete e.unbind_value),t=extend(t,sa.store.getUnionId(),e),isObject(e.properties)&&!isEmptyObject(e.properties)&&(t.properties=extend(t.properties,e.properties)),e.type&&'profile'===e.type.slice(0,7)||(t._track_id=Number(String(getRandom()).slice(2,5)+String(getRandom()).slice(2,4)+String(Date.now()).slice(-4)),t.properties=extend({},sa.properties,sa.store.getProps(),sa.currentProps,t.properties),'track'===e.type&&(t.properties.$is_first_day=getIsFirstDay())),t.properties.$time&&isDate(t.properties.$time)?(t.time=1*t.properties.$time,delete t.properties.$time):t.time=1*new Date,sa.ee.data.emit('beforeBuildCheck',t),parseSuperProperties(t.properties),searchObjDate(t),stripProperties(t.properties),searchObjString(t),!sa.para.server_url)return!1;sa.log(t),sa.send(t)},sa.send=function(e){if(e._nocache=(String(getRandom())+String(getRandom())+String(getRandom())).slice(2,15),'sensorsdata2015_binance'===sa.storageName&&'native'===sa.para.data_report_type)return reportEvent(e),!1;sa.para.batch_send?(sa.batch_state.getLength()>=500&&(sa.log('\u6570\u636e\u91cf\u5b58\u50a8\u8fc7\u5927\uff0c\u6709\u5f02\u5e38'),sa.batch_state.mem.shift()),sa.batch_state.add(e),sa.batch_state.changed=!0,sa.batch_state.getLength()>=sa.para.batch_send.max_length&&batchSend()):kit.onceSend(e)},sa.log=function(){if(sa.para.show_log&&'object'==typeof console&&console.log)try{var e=Array.prototype.slice.call(arguments);return console.log.apply(console,e)}catch(e){console.log(arguments[0])}},sa.track=function(e,t,n){sa.prepareData({type:'track',event:e,properties:t},n)},sa.setProfile=function(e){sa.prepareData({type:'profile_set',properties:e})},sa.setOnceProfile=function(e,t){sa.prepareData({type:'profile_set_once',properties:e},t)},sa.login=function(e){var t=sa.store.getFirstId(),n=sa.store.getDistinctId();e!==n&&(t?sa.trackSignup(e,'$SignUp'):(sa.store.set('first_id',n),sa.trackSignup(e,'$SignUp')))},sa.logout=function(e){var t=sa.store.getFirstId();t?(sa.store.set('first_id',''),!0===e?sa.store.set('distinct_id',getUUID()):sa.store.set('distinct_id',t)):sa.log('\u6ca1\u6709first_id\uff0clogout\u5931\u8d25')},sa.identify=function(e){if('number'==typeof e)e=String(e);else if('string'!=typeof e)return!1;sa.store.getFirstId()?sa.store.set('first_id',e):sa.store.set('distinct_id',e)},sa.trackSignup=function(e,t,n){var r,a,s,i,o;isObject(e)?(r=e.id,a=e.event_name,s=e.id_name):(r=e,a=t),sa.store.set('distinct_id',r),i=s&&s!==IDENTITY_KEY.LOGIN?s+'+'+r:r,o=sa.store.getFirstId()||sa.store.getDistinctId(),sa.prepareData({original_id:o,distinct_id:i,type:'track_signup',event:a,properties:n})},sa.registerApp=function(e){isObject(e)&&!isEmptyObject(e)&&(sa.currentProps=extend(sa.currentProps,e))},sa.clearAppRegister=function(e){isArray(e)&&each(sa.currentProps,function(t,n){include(e,n)&&delete sa.currentProps[n]})},sa.register=function(e){isObject(e)&&!isEmptyObject(e)&&sa.store.setProps(e)},sa.clearAllRegister=function(){sa.store.setProps({},!0)},sa.use=function(e){const t=toArray(arguments,1);return t.unshift(this),isObject(e)&&isFunction(e.init)&&e.init.apply(e,t),e},sa.usePlugin=sa.use,sa.getServerUrl=function(){return sa.para.server_url};class EventEmitterBase{constructor(){this._events={}}on(e,t){if(!e||!t)return!1;if(!isValidListener(t))throw new Error('listener must be a function');this._events[e]=this._events[e]||[];var n='object'==typeof t;return this._events[e].push(n?t:{listener:t,once:!1}),this}prepend(e,t){if(!e||!t)return!1;if(!isValidListener(t))throw new Error('listener must be a function');this._events[e]=this._events[e]||[];var n='object'==typeof t;return this._events[e].unshift(n?t:{listener:t,once:!1}),this}prependOnce(e,t){return this.prepend(e,{listener:t,once:!0})}once(e,t){return this.on(e,{listener:t,once:!0})}off(e,t){var n=this._events[e];if(!n)return!1;if('number'==typeof t)n.splice(t,1);else if('function'==typeof t)for(var r=0,a=n.length;r<a;r++)n[r]&&n[r].listener===t&&n.splice(r,1);return this}emit(e,t){var n=this._events[e];if(!n)return!1;for(var r=0;r<n.length;r++){var a=n[r];a&&(a.listener.call(this,t||{}),a.once&&this.off(e,r))}return this}removeAllListeners(e){e&&this._events[e]?this._events[e]=[]:this._events={}}listeners(e){return e&&'string'==typeof e?this._events[e]:this._events}}class EventEmitterEx extends EventEmitterBase{constructor(){super(),this.cacheEvents=[],this.maxLen=20}replay(e,t){this.on(e,t),this.cacheEvents.length>0&&this.cacheEvents.forEach(function(n){n.type===e&&t.call(null,n.data)})}emit(e,t){super.emit.apply(this,arguments),this.cacheEvents.push({type:e,data:t}),this.cacheEvents.length>this.maxLen&&this.cacheEvents.shift()}}var ee={};ee.sdk=new EventEmitterEx,ee.data=new EventEmitterEx;var eventEmitter=function(){this.sub=[]};eventEmitter.prototype={add:function(e){this.sub.push(e)},emit:function(e,t){this.sub.forEach(function(n){n.on(e,t)})}};var eventSub=function(e){sa.events.add(this),this._events=[],this.handle=e,this.ready=!1};eventSub.prototype={on:function(e,t){if(this.ready){if(isFunction(this.handle))try{this.handle(e,t)}catch(e){sa.log(e)}}else this._events.push({event:e,data:t})},isReady:function(){var e=this;e.ready=!0,e._events.forEach(function(t){if(isFunction(e.handle))try{e.handle(t.event,t.data)}catch(e){sa.log(e)}})}},sa.ee=ee,sa.meta=meta,sa.kit=kit,sa.modules={},sa.eventSub=eventSub,sa.events=new eventEmitter,sa.init=function(e){if(!0===meta.hasExeInit)return!1;e&&isObject(e)&&sa.setPara(e),meta.hasExeInit=!0,sa.store.init(),sa.system.init(),sa.para.batch_send&&(sa.system_api.getStorage('sensors_prepare_data',function(e){var t=[];e&&e.data&&isArray(e.data)&&(t=e.data,sa.batch_state.mem=t.concat(sa.batch_state.mem)),sa.batch_state.syncStorage=!0}),batchInterval())},sa.setPara=function(e){sa.para=extend2Lev(sa.para,e);var t=[];if(isArray(sa.para.source_channel))for(var n=sa.para.source_channel.length,r=0;r<n;r++)-1===RESERVE_CHANNEL.indexOf(' '+sa.para.source_channel[r]+' ')&&t.push(sa.para.source_channel[r]);sa.para.source_channel=t,'number'!=typeof sa.para.send_timeout&&(sa.para.send_timeout=1e3);var a={send_timeout:6e3,max_length:6};e&&e.datasend_timeout||sa.para.batch_send&&(sa.para.datasend_timeout=1e4),!0===sa.para.batch_send?sa.para.batch_send=extend({},a):isObject(sa.para.batch_send)&&(sa.para.batch_send=extend({},a,sa.para.batch_send)),sa.para.server_url?(sa.para.preset_properties=isObject(sa.para.preset_properties)?sa.para.preset_properties:{},ee.sdk.emit('afterInitPara')):sa.log('\u8bf7\u4f7f\u7528 setPara() \u65b9\u6cd5\u8bbe\u7f6e server_url \u6570\u636e\u63a5\u6536\u5730\u5740,\u8be6\u60c5\u53ef\u67e5\u770bhttps://www.sensorsdata.cn/manual/mp_sdk_new.html#112-%E5%BC%95%E5%85%A5%E5%B9%B6%E9%85%8D%E7%BD%AE%E5%8F%82%E6%95%B0')},sa.checkInit=function(){!0===sa.system.inited&&!0===sa.store.inited&&(sa.inited=!0,sa._queue.length>0&&(each(sa._queue,function(e){sa[e[0]].apply(sa,slice.call(e[1]))}),sa._queue=[]))},each(['setProfile','setOnceProfile','track','login','logout','identify','registerApp','clearAppRegister'],function(e){var t=sa[e];sa[e]=function(){sa.inited?t.apply(sa,arguments):sa._queue.push([e,arguments])}});var store={inited:!0,storageInfo:null,_state:{},toState:function(e){isObject(e)&&e.distinct_id?this._state=e:this.set('distinct_id',getUUID())},getFirstId:function(){return this._state.first_id},getDistinctId:function(){return this._state.distinct_id},getUnionId:function(){var e={},t=this._state.first_id,n=this._state.distinct_id;return t&&n?(e.login_id=n,e.anonymous_id=t):e.anonymous_id=n,e},getProps:function(){return this._state.props||{}},setProps:function(e,t){var n=this._state.props||{};t?this.set('props',e):(extend(n,e),this.set('props',n))},set:function(e,t){var n={};for(var r in'string'==typeof e?n[e]=t:'object'==typeof e&&(n=e),this._state=this._state||{},n)this._state[r]=n[r];this.save()},save:function(){sa.system_api.setStorageSync(sa.storageName,this._state)},init:function(){var e=sa.system_api.getStorageSync(sa.storageName);if(e)this.toState(e);else{meta.is_first_launch=!0;var t=new Date,n=t.getTime();t.setHours(23),t.setMinutes(59),t.setSeconds(60),this.set({distinct_id:getUUID(),first_visit_time:n,first_visit_day_time:t.getTime()}),sa.setOnceProfile({$first_visit_time:new Date})}}};function getNetwork(){return new Promise(function(e){sa.system_api.getNetworkType({success(e){sa.properties.$network_type=setUpperCase(e.networkType)},fail(e){sa.log('\u83b7\u53d6\u7f51\u7edc\u72b6\u6001\u4fe1\u606f\u5931\u8d25\uff1a ',e)},complete(){e()}})})}function getSystemInfo(){return new Promise(e=>{sa.system_api.getSystemInfo({success(e){var t=sa.properties;if(isObject(e)){t.$manufacturer=e.brand,t.$model=e.model,t.$brand=setUpperCase(e.brand)||'',t.$screen_width=Number(e.screenWidth),t.$screen_height=Number(e.screenHeight),t.$os=formatSystem(e.platform),t.$os_version=e.system.indexOf(' ')>-1?e.system.split(' ')[1]:e.system,t.$mp_client_app_version=e.version||'';var n=e.SDKVersion||'';n&&(t.$mp_client_basic_library_version=n)}},fail(e){sa.log('\u83b7\u53d6\u7cfb\u7edf\u4fe1\u606f\u5931\u8d25: ',e)},complete(){e()}})})}sa.store=store;var system={inited:!1,init:function(){var e=(new Date).getTimezoneOffset();isNumber(e)&&(sa.properties.$timezone_offset=e);var t=getAppId()||sa.para.app_id||sa.para.appid;t&&(sa.properties.$app_id=t);var n=getNetwork(),r=getSystemInfo();Promise.all([n,r]).then(function(){sa.system.inited=!0,sa.checkInit()})}};function request(e){var t;e.timeout&&(t=e.timeout,delete e.timeout);var n=sa.platform_obj.request(e);setTimeout(function(){try{isObject(n)&&isFunction(n.abort)&&n.abort()}catch(e){sa.log(e)}},t)}function getStorage(e,t){try{sa.platform_obj.getStorage({key:e,success:n,fail:n})}catch(t){try{sa.platform_obj.getStorage({key:e,success:n,fail:n})}catch(e){sa.log('\u83b7\u53d6 storage \u5931\u8d25\uff01',e)}}function n(e){if(e&&e.data&&isJSONString(e.data))try{var n=JSON.parse(e.data);e.data=n}catch(e){sa.log('parse res.data \u5931\u8d25\uff01',e)}t(e)}}function setStorage(e,t){var n;try{n=JSON.stringify(t)}catch(e){sa.log('\u5e8f\u5217\u5316\u7f13\u5b58\u5bf9\u8c61\u5931\u8d25\uff01',e)}try{sa.platform_obj.setStorage({key:e,data:n})}catch(t){try{sa.platform_obj.setStorage({key:e,data:n})}catch(e){sa.log('\u8bbe\u7f6e storage \u5931\u8d25: ',e)}}}function getStorageSync(e){var t='';try{t=sa.platform_obj.getStorageSync(e)}catch(n){try{t=sa.platform_obj.getStorageSync(e)}catch(e){sa.log('\u83b7\u53d6 storage \u5931\u8d25\uff01')}}return isJSONString(t)&&(t=JSON.parse(t)),t}function setStorageSync(e,t){var n;try{n=JSON.stringify(t)}catch(e){sa.log('\u5e8f\u5217\u5316\u7f13\u5b58\u5bf9\u8c61\u5931\u8d25\uff01',e)}var r=function(){sa.platform_obj.setStorageSync(e,n)};try{r()}catch(e){sa.log('set Storage fail --',e);try{r()}catch(e){sa.log('set Storage fail again --',e)}}}function getNetworkType(){return sa.platform_obj.getNetworkType.apply(null,arguments)}function getSystemInfo$1(){return sa.platform_obj.getSystemInfo.apply(null,arguments)}function getAppId$1(){var e;if(sa.platform_obj.getAccountInfoSync&&(e=sa.platform_obj.getAccountInfoSync()),isObject(e)&&isObject(e.miniProgram))return e.miniProgram}var compose={request:request,getStorage:getStorage,setStorage:setStorage,getStorageSync:getStorageSync,setStorageSync:setStorageSync,getAppInfoSync:getAppId$1,getNetworkType:getNetworkType,getSystemInfo:getSystemInfo$1};const forEach$1=Array.prototype.forEach,slice$1=Array.prototype.slice,_hasOwnProperty$1=Object.prototype.hasOwnProperty,_toString$1=Object.prototype.toString;function extend$1(e){return each$1(slice$1.call(arguments,1),function(t){for(var n in t)void 0!==t[n]&&(e[n]=t[n])}),e}function isObject$1(e){return null!==e&&'object'==typeof e}function isFunction$1(e){if(!e)return!1;var t=Object.prototype.toString.call(e);return'[object Function]'==t||'[object AsyncFunction]'==t||'[object GeneratorFunction]'==t}function isString$1(e){return'[object String]'==_toString$1.call(e)}function each$1(e,t,n){if(null==e)return!1;if(forEach$1&&e.forEach===forEach$1)e.forEach(t,n);else if(e.length===+e.length){for(var r=0,a=e.length;r<a;r++)if(r in e&&t.call(n,e[r],r,e)==={})return!1}else for(var s in e)if(_hasOwnProperty$1.call(e,s)&&t.call(n,e[s],s,e)==={})return!1}var global={},lifeCycleHook=['appOnLaunch','appOnShow','appOnHide','pageOnShow','pageOnLoad'],miniLifeCycleAPI={};function registerLifeCycleHook(e){Object.assign(miniLifeCycleAPI,e)}function getScene(e,t){if(!isObject$1(t))return!1;var n=t.meta.scene_prefix;return!(!n||!isString$1(n))&&('number'==typeof e||'string'==typeof e&&''!==e?e=n+String(e):'\u672a\u53d6\u5230\u503c')}function hookFunc(e,t,n){var r=e[t];e[t]=function(e){isFunction$1(n)&&n.call(this,e),r&&isFunction$1(r)&&r.call(this,e)}}function hookAppFunc(e){hookFunc(e,'onLaunch',miniLifeCycleAPI.appOnLaunch),hookFunc(e,'onShow',miniLifeCycleAPI.appOnShow),hookFunc(e,'onHide',miniLifeCycleAPI.appOnHide)}function proxyApp(e,t){function n(e){var n=App;App=function(r){try{e&&e(r),r[t.para.name]=t,n.apply(this,arguments)}catch(e){n.apply(this,arguments),global.sensors.log('App:'+e)}}}isObject$1(t)&&isFunction$1(t.platform_obj.onAppShow)&&isFunction$1(t.platform_obj.onAppHide)?(n(),t.platform_obj.onAppShow(function(e){if(!t.para.launched&&isFunction$1(t.platform_obj.getLaunchOptionsSync)){var n=t.platform_obj.getLaunchOptionsSync()||{};miniLifeCycleAPI.appOnLaunch(n),t.para.launched=!0}miniLifeCycleAPI.appOnShow(e)}),t.platform_obj.onAppHide(function(){miniLifeCycleAPI.appOnHide()})):n(e)}function appOnLaunch(e,t){if(isObject$1(e)){var n={};if(e&&e.path&&extend$1(n,global.sensors._.getAppProps(e)),e&&e.scene){var r=getScene(e.scene,global.sensors);r&&(n.$scene=r,global.sensors.meta.current_scene=r,global.sensors.registerApp({$latest_scene:r}))}else n.$scene='\u672a\u53d6\u5230\u503c';var a=global.sensors._.setUtm(e,n);global.sensors.meta.is_first_launch?(n.$is_first_time=!0,global.sensors._.isEmptyObject(a.pre1)||global.sensors.setOnceProfile(a.pre1)):n.$is_first_time=!1,global.sensors._.isEmptyObject(a.pre2)||global.sensors._.setLatestChannel(a.pre2),isObject$1(t)&&(n=extend$1(n,t)),global.sensors.para&&global.sensors.para.autoTrack&&global.sensors.para.autoTrack.appLaunch&&global.sensors.track('$MPLaunch',n)}else global.sensors.log('appOnLaunch:\u8bf7\u4f20\u5165\u6b63\u786e\u7684\u53c2\u6570')}function appOnShow(e,t){var n={};global.sensors.meta.mp_show_time=(new Date).getTime(),e&&e.path&&extend$1(n,global.sensors._.getAppProps(e));var r=global.sensors._.setUtm(e,n);if(global.sensors._.isEmptyObject(r.pre2)||global.sensors._.setLatestChannel(r.pre2),e&&e.scene){var a=getScene(e.scene,global.sensors);a&&(n.$scene=a,global.sensors.registerApp({$latest_scene:a}))}isObject$1(t)&&(n=extend$1(n,t)),global.sensors.para&&global.sensors.para.autoTrack&&global.sensors.para.autoTrack.appShow&&global.sensors.track('$MPShow',n)}function appOnHide(e){var t=(new Date).getTime(),n={};isObject$1(e)&&(n=extend$1(n,e)),extend$1(n,global.sensors._.getPageProps());var r=global.sensors.meta.mp_show_time;r&&t-r>0&&(t-r)/36e5<24&&(n.event_duration=(t-r)/1e3),global.sensors.para&&global.sensors.para.autoTrack&&global.sensors.para.autoTrack.appHide&&global.sensors.track('$MPHide',n)}lifeCycleHook.forEach(function(e){miniLifeCycleAPI[e]=function(){throw new Error(`\u9700\u8981\u5148\u5b9a\u4e49 '${e}' \u624d\u80fd\u4f7f\u7528`)}});var presetEvents={appLaunch:!0,appShow:!0,appHide:!0},AutoTrackApp={name:'AutoTrackApp',init:function(e,t){if(!e)return console.log('\u8bf7\u6b63\u786e\u521d\u59cb\u5316 sensorsdata\uff0c\u624d\u80fd\u4f7f\u7528\u63d2\u4ef6'),!1;global.sensors=e,global.sensors.para.autoTrack=extend$1(presetEvents,t),AutoTrackApp.lifeCycleAPI(),AutoTrackApp.proxyFrameworkInterface()},lifeCycleAPI:function(){var e={};e.appOnLaunch=appOnLaunch,e.appOnShow=appOnShow,e.appOnHide=appOnHide,registerLifeCycleHook(e)},proxyFrameworkInterface:function(){proxyApp(hookAppFunc,global.sensors)}},global$1={};function getCurrentPath$1(e){var t='\u672a\u53d6\u5230',n=getCurrentPage$1(e);return n&&n.route&&(t=n.route),t}function getCurrentPage$1(e){var t,n={};if(e)try{n=(t=isFunction$1(e.platform_obj.getCurrentPages)?e.platform_obj.getCurrentPages():getCurrentPages())[t.length-1]}catch(t){e.log(t)}else console.log('getCurrentPage:\u8bf7\u4f20\u5165 sa \u5bf9\u8c61');return n}function isClick(e){return!!{tap:1,longtap:1,longpress:1}[e]}function createClickData(e){var t={},n={},r=e.currentTarget||{},a=r.dataset||{};return t.$element_id=r.id,t.$element_type=a.type,t.$element_content=a.content,t.$element_name=a.name,isObject$1(e.event_prop)&&(n=e.event_prop),t.$url_path=getCurrentPath$1(global$1.sensors),t.$url=global$1.sensors._.getPageProps().$url,t=extend$1(t,n)}var ClickTrack={track:function(e){var t=createClickData(e),n=e.currentTarget||{},r=e.target||{},a=e.type,s=global$1.sensors.para;if(isObject$1(s.framework)&&isObject$1(s.framework.taro)&&!s.framework.taro.createApp&&r.id&&n.id&&r.id!==n.id)return!1;if(isObject$1(t)&&a&&isClick(a)){if(s.preset_events&&s.preset_events.collect_element&&!1===s.preset_events.collect_element(arguments[0]))return!1;global$1.sensors.track('$MPClick',t)}}},MP_HOOKS={data:1,onLoad:1,onShow:1,onReady:1,onPullDownRefresh:1,onReachBottom:1,onShareAppMessage:1,onPageScroll:1,onResize:1,onTabItemTap:1,onHide:1,onUnload:1};function clickProxy(e,t){var n=e[t];e[t]=function(){var e=n.apply(this,arguments),t=arguments[0];return isObject$1(t)&&ClickTrack.track(t),e}}function monitorClick(e){var t=[],n=global$1.sensors.para.autoTrack;if(n&&n.mpClick){t=getMethods(e),tabProxy(e);for(var r=t.length,a=0;a<r;a++)clickProxy(e,t[a])}}function tabProxy(e){var t=e.onTabItemTap;e.onTabItemTap=function(e){t&&t.apply(this,arguments);var n={};e&&(n.$element_content=e.text||''),n.$element_type='tabBar',n.$url_path=e.pagePath?e.pagePath:global$1.sensors._.getCurrentPath(),global$1.sensors.track('$MPClick',n)}}function getMethods(e){var t=[];for(var n in e)'function'!=typeof e[n]||MP_HOOKS[n]||t.push(n);return t}function hookPageFunc(e){hookFunc(e,'onShow',miniLifeCycleAPI.pageOnShow),hookFunc(e,'onLoad',miniLifeCycleAPI.pageOnLoad),hookFunc(e,'onUnload',miniLifeCycleAPI.pageOnUnload),hookFunc(e,'onHide',miniLifeCycleAPI.pageOnHide)}function proxyPage(e,t){var n=Page;Page=function(r){try{r||(r={}),isFunction$1(e)&&e(r),isFunction$1(t)&&t(r),n.apply(this,arguments)}catch(e){n.apply(this,arguments),console.log('Page:'+e)}};var r=Component;Component=function(n){try{n||(n={}),n.methods||(n.methods={}),isFunction$1(e)&&e(n.methods),isFunction$1(t)&&t(n.methods),r.apply(this,arguments)}catch(e){r.apply(this,arguments),console.log('Component:'+e)}}}var pageLeave=function(){if(global$1.sensors.para.autoTrack&&global$1.sensors.para.autoTrack.pageLeave){var e={},t='';try{t=(e=getCurrentPage$1(global$1.sensors))?e.route:''}catch(e){global$1.sensors.log(e)}if(global$1.sensors.meta.page_show_time>=0&&''!==t){var n={},r=(Date.now()-global$1.sensors.meta.page_show_time)/1e3;(isNaN(r)||r<0)&&(r=0),extend$1(n,global$1.sensors._.getPageProps()),n.event_duration=r,global$1.sensors.track('$MPPageLeave',n),global$1.sensors.meta.page_show_time=-1}}};function pageOnLoad(e){var t=this;if(global$1.sensors._.isObject(e)){try{t=getCurrentPage$1(global$1.sensors)}catch(e){global$1.sensors.log('pageOnLoad:'+e)}t.sensors_mp_url_query=global$1.sensors._.setQuery(e),t.sensors_mp_encode_url_query=global$1.sensors._.setQuery(e,!0)}}function pageOnShow(){global$1.sensors.meta.page_show_time=Date.now();var e={},t='';try{var n=getCurrentPage$1(global$1.sensors);t=n?n.route:''}catch(e){global$1.sensors.log('pageOnShow:'+e)}extend$1(e,global$1.sensors._.getPageProps()),e.$referrer=global$1.sensors.meta.sa_referrer,global$1.sensors.para&&global$1.sensors.para.autoTrack&&global$1.sensors.para.autoTrack.pageShow&&global$1.sensors.track('$MPViewScreen',e),global$1.sensors.meta.sa_referrer=t}function pageOnUnload(){pageLeave()}function pageOnHide(){pageLeave()}var presetEvents$1={pageShow:!0,mpClick:!0,pageLeave:!1},AutoTrackPage={name:'AutoTrackPage',init:function(e,t){if(!e)return console.log('\u8bf7\u6b63\u786e\u521d\u59cb\u5316 sensorsdata\uff0c\u624d\u80fd\u4f7f\u7528\u63d2\u4ef6'),!1;global$1.sensors=e,global$1.sensors.para.autoTrack=extend$1(presetEvents$1,t),AutoTrackPage.lifeCycleAPI(),AutoTrackPage.proxyFrameworkInterface()},lifeCycleAPI:function(){var e={};e.pageOnShow=pageOnShow,e.pageOnLoad=pageOnLoad,e.pageOnUnload=pageOnUnload,e.pageOnHide=pageOnHide,registerLifeCycleHook(e)},proxyFrameworkInterface:function(){proxyPage(hookPageFunc,monitorClick)}},presetEvents$2={appLaunch:!0,appShow:!0,appHide:!0,pageShow:!0,mpClick:!0},AutoTrack={init:function(e,t){if(!e)return console.log('\u8bf7\u6b63\u786e\u521d\u59cb\u5316 sensorsdata\uff0c\u624d\u80fd\u4f7f\u7528\u63d2\u4ef6'),!1;var n=extend$1(presetEvents$2,t);e.use(AutoTrackApp,n),e.use(AutoTrackPage,n)}};sa.lib.name='BytedanceMini',sa.properties.$lib='BytedanceMini',sa.system=system,sa.system_api=compose,sa._=_,sa.storageName='sensorsdata2015_tt',sa.meta.scene_prefix='byte-',sa.platform_obj=tt,sa.use(AutoTrack);export default sa; |