PageSourceSearch

https://whisperim.com/app/dist/main.js

js whisperim.com collected 2026-10-02 00:35:06 UTC 171,803 bytes, 1 lines download raw bytes

1window.isDebug=!1,window.runMode="web";var appConfig={apiHost:"https://api.whisperim.com",appid:"wp1003",platform:3,version:"2.0.2",version_code:50};function checkMode(){var e=window.location.href;return-1===e.indexOf("whisperim.com")&&-1===e.indexOf("miaolib.com")?"native":"web"}isDebug&&(appConfig.apiHost="http://test.whisperim.com"),"web"==(runMode=checkMode())&&(-1!=window.location.href.indexOf("miaolib.com")&&(console.log("测试环境"),isDebug=!0,appConfig.apiHost="http://test.whisperim.com"),-1===window.location.href.indexOf("whisperim.com"))&&(console.log("测试环境"),isDebug=!0,appConfig.apiHost="http://test.whisperim.com"),window.MLBJSBridge=function(t){let n=this;return n.params=t,n.dlog=function(e){t&&"object"==typeof t&&t.debug&&console.log("MLBJSBridge",e)},n.event={message:{onCallNativeComplete:{}},on:function(a,i){if(this.message[a]||(this.message[a]={}),i)return new Promise((e,t)=>{this.message[a][i]={resolve:e,reject:t}})},fire:function(e,t){return console.log("bridge evet fire:"+e,t),!(!this.message[e]||(console.log("bridge evet fire requestId:"+e,t.params.requestId),this.message[e][t.params.requestId]?!t.params.requestId||(console.log("bridge evet fire promise2",this.message[e][t.params.requestId]),this.message[e][t.params.requestId].resolve(t),this.off(e,t.params.requestId),0):(console.log("bridge evet fire no requestId",this.message[e]),1)))},off:function(e,t){if(!this.message[e])return!1;delete this.message[e][t]}},n.callNative=function(e,t,i){let o="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)});(t=t||{}).requestId=o;var a={method:e,params:t,requestId:o};return void 0!==window.webkit&&(runMode="native",window.webkit.messageHandlers.jsCallNative)&&window.webkit.messageHandlers.jsCallNative.postMessage(a),void 0!==window.jsCallNative&&(runMode="native",window.jsCallNative(a)),void 0!==window.jsInterface&&(null==t||"{}"==JSON.stringify(t)?window.jsInterface.jsCallNative(e,""):(t.requestId=o,window.jsInterface.jsCallNative(e,JSON.stringify(t)))),new Promise((t,a)=>{n.event.on("onCallNativeComplete",o).then(e=>{t(e),"function"==typeof i&&i(e)}).catch(e=>{a(e)})})},n.nativeCallJs=function(e){n.dlog("nativeCallJs",e),e.params&&e.params.requestId&&n.event.fire("onCallNativeComplete",e),n.params.callJs&&"function"==typeof n.params.callJs&&n.params.callJs(e)},"function"!=typeof window.nativeCallJs&&(window.nativeCallJs=n.nativeCallJs),n},window.MLSql=function(n){var e,m,t,g=this;for(e in g.params={driver:"js",dbname:"mlsql",version:1,intro:"Power by MLSql",size:52428800,debug:!1},n)g.params[e]=n[e];jsBridge||"native"!=g.driver?(g.callNative=jsBridge.callNative,g.jsBridgeEvent=jsBridge.event):(g.jsBridgeEvent={message:{},on:function(e,t){this.message[e]?this.message[e].push(t):this.message[e]=[t]},fire:function(e,t){if(!this.message[e])return!1;for(var a=0;a<this.message[e].length;a++){var i=this.message[e][a];"function"==typeof i&&i(t)}},off:function(e,t){if(!this.message[e])return!1;t=this.message[e].indexOf(t);-1==t?this.message[e].splice(0,this.message[e].length):this.message[e].splice(t,1)}},g.callNative=function(e,t,a){var i={method:e,params:t};void 0!==window.webkit&&(console.log("call native WKWebview method"),window.webkit.messageHandlers.jsCallNative.postMessage(i)),void 0!==window.jsInterface&&(null==t||"{}"==JSON.stringify(t)?window.jsInterface.jsCallNative(e,""):window.jsInterface.jsCallNative(e,JSON.stringify(t))),"function"==typeof a&&g.jsBridgeEvent.on("onCallNativeComplete",a)},g.nativeCallJs=function(e){g.jsBridgeEvent.fire("onCallNativeComplete",e),g.jsBridgeEvent.fire("onNativeCallJs",e)}),"js"==g.params.driver?window.openDatabase?m=openDatabase(g.params.dbname,g.params.version,g.params.intro,g.params.size,function(e){g.params.debug&&console.log("MLSql open sqlite result",e),e&&(g.params.driver="js_sqlite")}):window.indexedDB?((t=window.indexedDB.open(g.params.dbname,g.params.version)).onerror=function(e){g.params.debug&&console.log("MLSql open indexedDB onerror")},t.onsuccess=function(e){g.params.debug&&console.log("MLSql open indexedDB onsuccess"),m=t.result,g.params.driver="js_indexeddB"},t.onupgradeneeded=function(e){g.params.debug&&console.log("MLSql open indexedDB onupgradeneeded"),g.params.driver="js_indexeddB"}):window.localStorage?(m=window.localStorage,g.params.driver="js_localstorage"):console.log("MLSql open failed"):g.callNative("onSqlAction",{action:"open",dbname:g.params.dbname,version:g.params.version},function(e){"onSqlActionCallback"==e.method&&"open"==e.params.method&&n.callback(e)}),g.parseData=function(e){for(var t=e.length,a=new Array,i=0;i<t;i++)a.push(e.item(i));return a},g.addTable=function(a,e){var t="create table if not exists "+a;if("string"==typeof e)t+="( "+e+" )";else if("object"==typeof e&&!isNaN(e.length))for(var i=0;i<e.length;i++){var o="";null!=e[i].value&&(o=e[i].value),0==i?t+="( "+e[i].name+" "+e[i].type+" "+o+",":i==e.length-1?t+=e[i].name+" "+e[i].type+" "+o+" )":t+=e[i].name+" "+e[i].type+" "+o+","}"native"==g.params.driver?(g.nativeCallback=function(e){},g.callNative("onSqlAction",{action:"addTable",sql:t},function(e){"onSqlActionCallback"==e.method&&"addTable"==e.params.action&&n.callback(e)})):null!=m&&m.transaction(function(e){e.executeSql(t,[],function(e,t){g.params.debug&&console.log("Add table "+a+"success")},function(e,t){g.params.debug&&console.log("Add table "+a+t.message)})})},g.deleteTable=function(a){var t="drop table "+a;"native"==g.params.driver?g.callNative("onSqlAction",{action:"deleteTable",sql:t},function(e){"onSqlActionCallback"==e.method&&"deleteTable"==e.params.action&&n.callback(e)}):m.transaction(function(e){e.executeSql(t,[],function(e,t){g.params.debug&&console.log("Delete tables"+a+"success")},function(e,t){g.params.debug&&console.log("Delete tables"+a+"error"+t.message)})})}
1,g.execute=function(o){if(null==o.table)console.log("db query error no table",o);else{let a="",i=[],e="",t="";if("add"==o.method){if(0==o.data.length)return;for(var n="?",s=1;s<Object.keys(o.data).length;s++)n+=",?";a="insert into "+o.table+"("+Object.keys(o.data).toString()+") values ("+n+")",i=Object.keys(o.data).map(function(e){return o.data[e]})}if("select"==o.method){if(a="select rowid, * from "+o.table,null!=o.where){if(e="","object"==typeof o.where)for(s=0;s<Object.keys(o.where).length;s++){var r=o.where[Object.keys(o.where)[s]];0==s?e=Object.keys(o.where)[s]+" = "+r:e+=" and "+Object.keys(o.where)[s]+" = "+r}else e+=o.where;a+=" where "+e}null!=o.order&&(a+=" order by "+o.order),null!=o.limit&&(a+=" limit "+o.limit)}if("edit"==o.method){if(null==o.where)return o.callback({status:0,msg:"must set where"}),!1;if(null==o.data||0==o.data.length)return o.callback({status:0,msg:"must set where data"}),!1;if(a="UPDATE "+o.table+" SET ",!(0<Object.keys(o.data).length))return void("function"==typeof o.callback&&o.callback({status:0,msg:"edit error no data"}));for(var l="",s=0;s<Object.keys(o.data).length;s++)l+=Object.keys(o.data)[s]+" = ?,";if(l=l.substr(0,l.length-1),a+=l,i=Object.keys(o.data).map(function(e){return o.data[e]}),e=" WHERE ","object"==typeof o.where){for(s=0;s<Object.keys(o.where).length;s++){var c=Object.keys(o.where)[s];e+=Object.keys(o.where)[s]+" = ? and ",t+=Object.keys(o.where)[s]+" = "+o.where[c]+" and "}e=e.substr(0,e.length-4),t=t.substr(0,e.length-4);var p=Object.keys(o.where).map(function(e){return o.where[e]});i.push.apply(i,p)}else e+=o.where,t=o.where;a+=e}if("delete"==o.method){if(a="DELETE FROM  "+o.table,e="","object"==typeof o.where){for(e=" WHERE ",s=0;s<Object.keys(o.where).length;s++){var d=Object.keys(o.where)[s],u=o.where[d];e+=d+" = '"+u+"' and ",t+=d+" = "+u+" and "}e=e.substr(0,e.length-5),t=e.substr(0,t.length-4)}else"string"==typeof o.where&&(e=" WHERE ",e+=o.where,t=o.where);a+=e}"native"==g.params.driver?(p=o.table,g.callNative("onSqlAction",{action:"executeSql",table:p,method:o.method,sql:a,data:i,values:o.data,where:t}).then(e=>{"function"==typeof o.callback&&o.callback(e.params)})):null==m||"js"!=g.params.driver?"function"==typeof o.callback&&o.callback({status:0,msg:"dbobj is undefined"}):m.transaction(function(e){e.executeSql(a,i,function(e,t){g.params.debug&&console.log("MLSql execute table: "+o.table+" action:"+a+" data: "+i+" success"),"function"==typeof o.callback&&(t={status:1,msg:o.method+" table: "+o.table+" sqlstring: "+a+" sqldata: "+i+" success",data:g.parseData(t.rows)},o.callback(t))},function(e,t){g.params.debug&&console.log("MLSql execute table: "+o.table+" action:"+a+" data: "+i+" error:"+t.message),"function"==typeof o.callback&&(t={status:0,msg:t.message+" sqlstring: "+a+" sqldata: "+i},o.callback(t),g.params.debug)&&console.log("MLSql execute:",t)})})}}};var tim={};function Dlog(e,t){isDebug&&console.log(e,t),runMode}Dlog("运行模式debug",isDebug),isDebug||(window.onerror=function(e,t,a){return callNative("onJsError",{msg:e,url:t,line:a}),!0});var jsBridgeEvent={message:{},on:function(e,t){this.message[e]?this.message[e].push(t):this.message[e]=[t]},fire:function(e,t){if(!this.message[e])return!1;for(var a=0;a<this.message[e].length;a++){var i=this.message[e][a];"function"==typeof i&&i(t)}},off:function(e,t){return!(!this.message[e]||(t=this.message[e].indexOf(t),!this.message[e])||-1==t)&&void(-1==t?this.message[e].splice(0,this.message[e].length):this.message[e].splice(t,1))}},jsBridge=new MLBJSBridge({debug:isDebug,callJs:function(e){callJs(e)}});function callNative(e,t,a){jsBridge.callNative(e,t,a)}function setStorage(e,t){window.Storage&&window.localStorage&&window.localStorage instanceof Storage&&window.localStorage.setItem(e,t)}function getStorage(e){if(window.Storage&&window.localStorage&&window.localStorage instanceof Storage)return!(!(e=window.localStorage.getItem(e))||null==e)&&e}function removeStorage(e){window.Storage&&window.localStorage&&window.localStorage instanceof Storage&&window.localStorage.removeItem(e)}function isJSON(e){if("string"!=typeof e)return!1;try{var t=JSON.parse(e);return!("object"!=typeof t||!t)}catch(e){return!1}}function now_time(){var e=(new Date).getTime();return Math.floor(e/1e3)}function json_decode(e){try{var t=JSON.parse(e);if(t)return t}catch(e){return!1}}function ftime(e){var t=(new Date).getTime()/1e3,a=new Date;a.setTime(1e3*e);let i=a.toLocaleDateString();t-=e;
1return i=t<0?a.toLocaleString():t<60?Math.floor(t)+get_lan("ftime-second"):t<3600?Math.floor(t/60)+get_lan("ftime-min"):t<86400?Math.floor(t/3600)+get_lan("ftime-hour"):t<604800?(a=Math.floor(t/86400))<2?get_lan("ftime-yestoday"):a+get_lan("ftime-day"):timeFormat(e)}function timeFormat(e){var t=new Date,a=new Date;return a.setTime(1e3*e),a.getFullYear()!=t.getFullYear()?a.getFullYear()+"-"+(a.getMonth()+1<10?"0"+(a.getMonth()+1):a.getMonth()+1)+"-"+(a.getDate()<10?"0"+a.getDate():a.getDate())+" "+(a.getHours()<10?"0"+a.getHours():a.getHours())+":"+(a.getMinutes()<10?"0"+a.getMinutes():a.getMinutes()):a.getMonth()!=t.getMonth()||a.getDate()!=t.getDate()?(a.getMonth()+1<10?"0"+(a.getMonth()+1):a.getMonth()+1)+"-"+(a.getDate()<10?"0"+a.getDate():a.getDate())+" "+(a.getHours()<10?"0"+a.getHours():a.getHours())+":"+(a.getMinutes()<10?"0"+a.getMinutes():a.getMinutes()):(a.getHours()<10?"0"+a.getHours():a.getHours())+":"+(a.getMinutes()<10?"0"+a.getMinutes():a.getMinutes())}function get_input_file(t,e){var a="";try{var i=null;t.files&&t.files[0]?i=t.files[0]:t.files&&t.files.item(0)&&(i=t.files.item(0));try{a=i.getAsDataURL()}catch(e){imgRUL=window.URL.createObjectURL(i)}}catch(e){t.files&&t.files[0]&&((i=new FileReader).onload=function(e){a=e.target.result},i.readAsDataURL(t.files[0]))}return null!=e&&(imgRUL,f7(e).attr("src",imgRUL)),a}function httpfetch(e,i,o,n){Dlog("原始请求参数",o);let t=getStorage("whisper_user");(t=t&&JSON.parse(t)).token&&((n={}).authorization=t.token);var a=appConfig.apiHost,s=appConfig.appid;return-1==e.indexOf("http://")&&-1==e.indexOf("https://")&&(e=a+"/api/v1/"+e),"get"===i&&(e=e+"&appid="+s+"&platform="+appConfig.platform),"post"!==i||(o=o?{...o,...appConfig}:appConfig).uid||(Dlog("请求参数需要带uid",o),t.uid),Dlog("请求地址",e),Dlog("封装后请求参数",JSON.stringify(o)),new Promise((t,a)=>{Dom7.ajax({method:i,url:e,headers:n,data:o,dataType:"json",success:function(e){Dlog("http请求结果",JSON.stringify(e)),1004==e.code||1002==e.code?(jsBridgeEvent.fire("onUserLogout"),a(e)):1==e.status?t(e.data):a(e)},fail:function(e){Dlog("error",e),e.msg=e.responseText,a(e)},complete:function(e,t){Dlog("ajax complete xhr",e),200!=e.status&&201!=e.status&&a({msg:e.response})}})})}function httpUpload(n){return Dlog("initupload",n),"native"==runMode&&(n.native=!0),new Promise((i,o)=>{n.native?httpfetch("/file/initoss","post",{name:n.name}).then(e=>{e.path=n.path,e.name=n.name,jsBridge.callNative("onHttpUpload",e).then(e=>{"onHttpUploadDone"==e.method&&i(e.params),"onHttpUploadFail"==e.method&&o(e.params)})}).catch(e=>{app.alert(e.msg||"request fail")}):httpfetch("/file/initoss","post",n).then(t=>{Dlog("initupload done",t);let a=new FormData;a.append("success_action_status",200),Object.keys(t).map(e=>(a.append(e,t[e]),e)),a.append("file",n.file);var e=new XMLHttpRequest;e.upload.addEventListener("progress",function(e){e.lengthComputable&&Dlog("上传进度: "+Math.round(100*e.loaded/e.total))},!1),e.addEventListener("load",function(e){var t;Dlog("上传完成: ",e),200==e.target.status?(Dlog("上传成功: ",e),1==(t=JSON.parse(e.target.responseText)).status?i(t.data):o(t)):o({msg:e.target.responseText})},!1),e.addEventListener("error",function(e){Dlog("上传失败: ",e),o({msg:e.target.responseText})},!1),e.addEventListener("abort",function(e){Dlog("上传取消: ",e),o({msg:"取消了上传"})},!1),e.open("POST",t.cdnhost||t.host),e.send(a)}).catch(e=>{o(e)})})}function selectFile(i){return i=i||{},"native"==runMode&&(i.native=!0),new Promise((a,e)=>{if(i.native)jsBridge.callNative("onSelectFile",i).then(e=>{e.params.fileType=e.params.type,a(e.params)});else{let t=document.createElement("input");t.style.position="absolute",t.style.left="-9999px",document.body.appendChild(t),t.setAttribute("type","file"),t.setAttribute("accept","image/*,video/mp4"),i.type&&("image"==i.type&&t.setAttribute("accept","image/*"),"video"==i.type)&&t.setAttribute("accept","video/mp4"),t.click(),t.onchange=function(){var e=this.files[0];e.fileType=matchFileSuffixType(e.name),"image"==e.fileType&&10485760<e.size?app.alert("The image cannot be larger than 10M"):"video"==e.fileType&&104857600<e.size?app.alert("The video cannot be larger than 100M"):(a(e),document.body.removeChild(t))}}})}function matchFileSuffixType(e){let t="";try{var a=e.split(".");t=a[a.length-1]}catch(e){t=""}return!!t&&(["png","jpg","jpeg","PNG","bmp","gif","webp","PNG"].includes(t)?"image":["txt"].includes(t)?"txt":["xls","xlsx"].includes(t)?"excel":["doc","docx"].includes(t)?"word":["pdf"].includes(t)?"pdf":["ppt"].includes(t)?"ppt":["mp4","m2v","mkv","mov"].includes(t)?"video":["mp3","wav","wmv"].includes(t)?"radio":"other")}function checkLocationPermission(){return new Promise(t=>{"native"==runMode?jsBridge.callNative("onCheckLocationPermission").then(e=>{"granted"==e.status?t("granted"):t(e.status)}):navigator.permissions&&navigator.permissions.query?navigator.permissions.query({name:"geolocation"}).then(e=>{t(e.state)}).catch(()=>{navigator.geolocation.getCurrentPosition(()=>t("granted"),e=>
1t(e.code===e.PERMISSION_DENIED?"denied":"prompt"))}):navigator.geolocation.getCurrentPosition(()=>t("granted"),e=>{t(e.code===e.PERMISSION_DENIED?"denied":"prompt")},{timeout:0})})}function requestUserLocation(){return new Promise((t,a)=>{"native"==runMode?jsBridge.callNative("onRequestLocationPermisson",{}).then(e=>{}):navigator.geolocation?navigator.permissions.query({name:"geolocation"}).then(e=>{t(e.state),"granted"==e.state?e(e.state):(console.log("位置被拒绝",e),a({reason:"noPermission"}))}).catch(()=>{a({msg:"get locationData fail"})}):a({reason:"navigator is not exist"})})}function getUserLocation(e){let i={enableHighAccuracy:!0,maximumAge:1e3};return"native"==runMode&&(e=!0),new Promise((a,t)=>{e?jsBridge.callNative("onGetUserLocation",{}).then(e=>{"onGetUserLocationDone"==e.method&&(a(e.params),httpfetch("user/location_update","post",e.params)),"onNoPermission"==e.method&&t({reason:"onPermission"}),"onGetUserLocationFail"==e.method&&t({reason:"fail",msg:e.params.msg||""})}):navigator.geolocation?navigator.permissions.query({name:"geolocation"}).then(e=>{"granted"==e.state?navigator.geolocation.getCurrentPosition(e=>{var t=e.coords.latitude;Dlog("位置经度:"+e.coords.longitude+" 纬度:"+t),a(e.coords)},e=>t(e),i):(console.log("位置被拒绝",e),t({reason:"noPermission"}))}).catch(()=>{t({msg:"get locationData fail"})}):t({reason:"navigator is not exist"})})}function freshLocation(e){httpfetch("/user/location_update","post",e)}function initTim(e){Dlog("tim init",e),tim&&tim.ready||((tim=TIM.create({SDKAppID:e.timAppid})).registerPlugin({"tim-upload-plugin":TIMUploadPlugin}),isDebug?tim.setLogLevel(3):tim.setLogLevel(4),tim.on(TIM.EVENT.MESSAGE_RECEIVED,onTimMessage),tim.on(TIM.EVENT.KICKED_OUT,onTimEvent),tim.on(TIM.EVENT.ERROR,onTimEvent),tim.on(TIM.EVENT.SDK_READY,function(e){Dlog("tim init success",e),tim.ready=!0,jsBridgeEvent&&jsBridgeEvent.fire("onTimInit")}),tim.on(TIM.EVENT.CONVERSATION_LIST_UPDATED,onConversationListUpdated),tim.login({userID:"wp"+e.uid,userSig:e.timsign}).then(function(e){Dlog("tim login",e)}).catch(function(e){Dlog("tim login fail",e)}))}function joinPush(){tim.joinGroup({groupID:"wpPush1"}).then(e=>{Dlog("tim join group",e)}).catch(e=>{Dlog("tim join group err",e)})}function sendTimMessage(o){return new Promise((t,a)=>{if(tim.ready){let e={};var i={uid:o.uid,nickname:o.nickname,type:o.type};switch(o.avatar&&(i.avatar=o.avatar),o.type){case"image":e=tim.createImageMessage({to:"wp"+o.conversation_id,conversationType:TIM.TYPES.CONV_C2C,payload:{file:o.file},cloudCustomData:JSON.stringify(i)});break;case"video":e=tim.createVideoMessage({to:"wp"+o.conversation_id,conversationType:TIM.TYPES.CONV_C2C,payload:{file:o.file},onProgress:function(e){Dlog("video uploading:",e)},cloudCustomData:JSON.stringify(i)});break;case"custom":e=tim.createCustomMessage({to:"wp"+o.conversation_id,conversationType:TIM.TYPES.CONV_C2C,payload:{data:JSON.stringify(o.data),description:"透传信令消息",extension:""}});break;default:e=tim.createTextMessage({to:"wp"+o.conversation_id,conversationType:TIM.TYPES.CONV_C2C,payload:{text:o.content},cloudCustomData:JSON.stringify(i)})}Dlog("send message",e),tim.sendMessage(e).then(function(e){Dlog("send Message success:",e.data.message),o.temp_msg_id=o.msg_id;e=parseTimMessage(e.data.message);e.temp_msg_id=o.msg_id,t(e),e.conversation_id=o.conversation_id,httpfetch("/message/sent","post",e)}).catch(function(e){a({msg:e.message,code:e.code}),Dlog("send Message error:",e)})}else a({msg:"chat im not ready"})})}function parseTimMessage(e){let t={content:""};var a=e.nick||"";if(e.conversationID&&(t.conversation_id=e.conversationID.substr(5)),t.nickname=a,t.name=a,t.conversation_name=a,t.conversation_type="single","GROUP"==e.conversationType&&(t.conversation_type="group"),e.type===TIM.TYPES.MSG_TEXT)t.type="text",t.content=e.payload.text;else if(e.type===TIM.TYPES.MSG_IMAGE)t.type="image",t.content=e.payload.imageInfoArray[0].url,t.url=e.payload.imageInfoArray[0].url,t.thumb_url=e.payload.imageInfoArray[0].imageUrl;else if(e.type===TIM.TYPES.MSG_VIDEO)Dlog("video message",e.payload),t.type="video",t.content=e.payload.videoUrl,t.url=e.payload.videoUrl,t.thumb_url=e.payload.thumbUrl;else if(e.type===TIM.TYPES.MSG_CUSTOM){t.content="",t.type="custom";e.payload.data;try{var i=JSON.parse(e.payload.data);if("object"==typeof i)switch((t.data=i).command){case"match_apply":t.tip=i.nickname+" apply to add you as a friend",t.content="[Match Apply]";break;case"video_call":case"video_call_reject":t.content="[Video Call]";break;default:i.content?t.tip=i.content:t.tip=i.command}}catch(e){}}else t.type="unknown",t.content="Unknown Message";return t.msg_id=e.ID||"",t.direction="sent","in"==e.flow&&(t.direction="received"),t.timestamp=e.time||e.lastTime,null!=t.timestamp?t.time=ftime(t.timestamp):t.time="",e.cloudCustomData&&(delete(a=JSON.parse(e.cloudCustomData)).direction,delete a.label,t=Object.assign(t,a),"in"==e.flow)&&a.avatar&&setStorage(t.conversation_id+"avatar",a.avatar),t.uid||(a=e.from||e.fromAccount)&&(t.uid=a.substr(2)),t}function parseTimConversion(e){Dlog("parseTimConversion",e);var t={};if(t.conversationId=e.conversationID,t.unreads=e.unreadCount,"TIM.TYPES.CONV_C2C"==e.type&&(t.type="single"),"TIM.TYPES.CONV_GROUP"==e.type&&(t.type="group"),e.userProfile?(t.nickname=e.userProfile.nick||"",t.conversation_name=t.nickname,t.name=t.nickname,t.conversation_id=e.userProfile.userID.substr(2),t.avatar=e.userProfile.avatar):e.groupProfile?(t.nickname=e.groupProfile.name||"",t.conversation_name=t.nickname,t.name=t.nickname,t.conversation_id=e.groupProfile.groupID.substr(2),t.avatar=e.groupProfile.avatar):t.conversation_id=e.conversationID,e.lastMessage){Dlog("last message",e.lastMessage);e=parseTimMessage(e.lastMessage);if(Dlog("parse last message",e),t.timestamp=e.timestamp,t.time=e.time,e.avatar&&"received"==e.direction&&("received"==e.direction?t.avatar=e.avatar:t.avatar=getStorage(t.conversation_id+"avatar")),"text"==e.type)t.content=e.content;else if("image"==e.type)t.content="[image]";else if("video"==e.type)t.content="[video]";else if("custom"==e.type){if(t.content="[No Messages]",e.data)switch(e.data.command){case"video_call":t.content="[Video Call]";break;case"match_apply":t.content="[Friend Apply]"}}else t.content="[Unknown Message]"}else t.time="",t.content="[No Messages]";return t}function loadTimConversations(e){if(!tim||!tim.ready)return new Promise((e,t)=>
1{t({msg:"im not ready"})});let o,n,a=tim.getConversationList();return new Promise((i,t)=>{a.then(function(e){Dlog("loadTimConversations",e.data.conversationList);var a=e.data.conversationList;e.data.isSyncCompleted;if(a){let t=new Array;e=filterTimConversations(a);a.map(e=>{e=parseTimConversion(e);return 11==e.conversation_id?o=e.unreads:12!=e.conversation_id&&(1==e.conversation_id?n=e.unreads:15!=e.conversation_id&&("ministrator"==e.conversation_id||"administrator"==e.conversation_id?cleanTimConversationUnreads(e.conversation_id):t.push(e))),e}),i(e)}}).catch(function(e){t({msg:e})})})}let nextReqMessageID;function loadTimMessages(e){if("done"==nextReqMessageID)return new Promise((e,t)=>{e([])});var t={conversationID:"C2Cwp"+e.conversation_id};1<e.page&&(t.nextReqMessageID=nextReqMessageID);let a=tim.getMessageList(t);return new Promise((t,e)=>{a.then(function(e){nextReqMessageID=e.data.isCompleted?"done":e.data.nextReqMessageID,Dlog("loadTimMessages result",e.data.messageList),e.data.messageList?(Dlog("filter TimMessages result",e=e.data.messageList.map(e=>parseTimMessage(e))),t(e)):t([])})})}function onTimEvent(t){if(t.name&&"kickedOut"==t.name){let e=t.data.type+"This account has been logged in on another device.If you did not operate it yourself, please change your password in a timely";t.data.type,t.data.type,"usersigExpired"==t.data.type&&(e="Login has expired, please log in again"),app.alert(e,function(){jsBridgeEvent.fire("onUserLogout")})}Dlog("onTimEvent",t)}function onTimMessage(e){Dlog("收到消息",e.data),e.data.forEach(function(e){var t,a;e.type===TIM.TYPES.MSG_CUSTOM&&(Dlog("收到MSG_CUSTOM:"+JSON.stringify(e)),0<e.payload.data.length)&&("cmd"==(t=JSON.parse(e.payload.data)).type&&t.command,"cmd"==t.type&&"video_call"==t.command&&t.target.uid==user.uid&&videoCall({target:t.user,onCall:!0,room_id:t.room_id}),"cmd"!=t.type||"video_call_reject"!=t.command&&"video_call_busy"!=t.command||(a=t.command.split("_")[2],jsBridge.callNative("onVideoCallFail",{reason:a,room_id:"wp"+t.user}),jsBridgeEvent.fire("onNativeCallJs",{method:"onVideoCallFail",params:{reason:a}})),"cmd"==t.type&&"video_call_busy"==t.command&&jsBridge.callNative("onVideoCallFail",{reason:"busy"}),"push"==t.type)&&t.push_type,"GROUP"===e.conversationType&&Dlog("收到群组消息:"+JSON.stringify(e)),jsBridgeEvent.fire("onNativeCallJs",{method:"onReceiveMessage",params:parseTimMessage(e)})})}function filterTimConversations(e){let t,a,i,o=[];return e.map(e=>{e=parseTimConversion(e);return 11==e.conversation_id?t=e.unreads:12==e.conversation_id?a=e.unreads:1==e.conversation_id||"bot1"==e.conversation_id?i=e.unreads:"ministrator"==e.conversation_id||"administrator"==e.conversation_id?(Dlog("过滤到管理员消息",e),tim.deleteConversation(e.conversationId)):"Push1"==e.conversation_id||"wpPush1"==e.conversation_id?(Dlog("过滤到push群消息",e),tim.deleteConversation(e.conversationId)):-1!=e.conversation_id.indexOf("SYSTEM")?(Dlog("过滤到垃圾会话消息",e),tim.deleteConversation(e.conversationId)):e.conversation_id==user.uid?(Dlog("过滤掉自己和自己的对话",e),tim.deleteConversation(e.conversationId)):o.push(e),e}),{conversations:o,news:t,hinews:a,feedbacknews:i}}function onConversationListUpdated(e){Dlog("对话列表更新",e.data);e=filterTimConversations(e.data);jsBridgeEvent&&jsBridgeEvent.fire("onNativeCallJs",{method:"onConversationsUpdate",params:e})}function loadTimConversation(i){if(!tim||!tim.ready)return new Promise((e,t)=>{t({msg:"im not ready"})});let e=tim.getConversationProfile("C2Cwp"+i.conversation_id);return new Promise((t,a)=>{e.then(function(e){Dlog("loadTimConversation",e);e=parseTimConversion(e.data.conversation);cleanTimConversationUnreads(i.conversation_id),t({conversation:e})}).catch(function(e){Dlog("clearHistoryMessage error:",e),a(e)})})}function cleanTimConversationUnreads(e){tim.setMessageRead({conversationID:"C2Cwp"+e}).then(function(e){Dlog("cleanTimConversationUnreads success:",e)}).catch(function(e){Dlog("cleanTimConversationUnreads error:",e)})}function cleanTimConversation(e){return new Promise((t,a)=>{tim.clearHistoryMessage("C2Cwp"+e.conversation_id).then(function(e){t(e)}).catch(function(e){a({msg:e.message})})})}function deleteTimConversation(e){return tim.deleteConversation("C2Cwp"+e.conversation_id)}function blockTimUser(e){let i=tim.addToBlacklist({userIDList:["wp"+e.uid]});return new Promise((t,a)=>{i.then(function(e){t(e),Dlog("blockTimUser",e.data)}).catch(function(e){a(e),Dlog("addToBlacklist error:",e)})})}function loadNews(){let a=tim.getMessageList({conversationID:"C2Cwp11"});return new Promise((t,e)=>{a.then(function(e){e.data.isCompleted||(nextReqMessageID=e.data.nextReqMessageID),Dlog("loadTimMessages",e),e.data.messageList&&((e=e.data.messageList.map(e=>parseTimMessage(e))).reverse(),Dlog("loadTimMessages messages",e),t({news:e})),cleanTimConversationUnreads("11")})})}function loadTopics(){tim.getMessageList({conversationID:"C2Cwp15"}).then(function(e){e.data.isCompleted,Dlog("loadTimTopics",e),e.data.messageList&&((e=e.data.messageList.map(e=>parseTimMessage(e))).reverse(),Dlog("loadTimTopics messages",e)),cleanTimConversationUnreads("15")})}function loadNew(e){let a=tim.findMessage(e.msg_id);return new Promise((e,t)=>
1{a?e(parseTimMessage(a)):t()})}let hiNextReqMessageID;function loadHiNews(e){var t={conversationID:"C2Cwp12"};if(1<e&&(t.nextReqMessageID=hiNextReqMessageID),tim&&tim.ready){let a=tim.getMessageList(t);return new Promise((t,e)=>{a.then(function(e){hiNextReqMessageID=e.data.isCompleted?"done":e.data.nextReqMessageID,e.data.messageList?(e=e.data.messageList.map(e=>parseTimMessage(e)),t(e)):t([])})})}}function appResume(){var e=getStorage("user-resume-time")?getStorage("user-resume-time"):0,t=now_time();(t-e)/60<60&&!isDebug||(setStorage("user-resume-time",t),httpfetch("/index/app_resume","post",{}).then(e=>{}),removeStorage("index-pageindex"))}function isMobile(){var e=navigator.userAgent.toLowerCase();return!!/mobile|android|iphone|ipad|ipod|blackberry|iemobile|opera mini/i.test(e)}function base64ToFile(e,t){var e=e.split(","),a=e[0].match(/:(.*);/)[1],i=atob(e[1]),o=new Uint8Array(i.length);for(let e=0;e<i.length;e++)o[e]=i.charCodeAt(e);return new File([o],t,{type:a})}function loadScript(i){return new Promise((e,t)=>{var a=document.createElement("script");a.type="text/javascript",a.async=!0,a.src=i,a.onload=()=>{e()},a.onerror=()=>{t(new Error("Failed to load script"))},document.head.appendChild(a)})}document.addEventListener("visibilitychange",function(){"visible"===document.visibilityState&&(console.log("页面重新激活"),!runMode||"web"!=runMode&&"pcweb"!=runMode||initTim(user))});var cn={appname:"WhisperChat","button-ok":"好的","button-known":"知道了","button-submit":"提交","button-chat":"私聊","button-save":"保存","button-cancle":"取消","button-appeal":"申诉","button-detail":"查看详情","button-pay-fine":"缴纳罚款","user-ban-alert":"您的账号违规已被禁用","button-cost-coins":"使用金币","button-add-title":"添加","button-add":"添加","button-delete":"删除","button-upload":"上传","button-comment":"留言","alert-realgirl-only":"通过女生认证才可使用","alert-match-limit":"非会员最多支持3个匹配条件","alert-block-user":"确认拉黑对方,拉黑后将收不到对方消息","tips-action-success":"操作成功","tips-fastchat-limit":"今天速配次数用光了哦,升级vip无限匹配^_^","tips-broadcast-limit":"今天广播次数用光了哦,升级vip接触限制^_^","tips-need-coins":"当前操作所需金币不足,请先充值","tips-apprate":"可以给我们个5星好评吗^_^","tips-must-allow-location":"拒绝获取地址App将无法使用,请到设置-开启App获取位置的权限","ftime-second":"秒前","ftime-min":"分钟前","ftime-hour":"小时前","ftime-day":"天前","ftime-yestoday":"昨天","page-home-title":"私聊","guide-swipe-up":"加载更多","guide-swipe-down":"广播寻人","guide-swipe-left":"不喜欢'左'","guide-swipe-right":"喜欢'右'","sign-tips-avatar-empty":"请上传头像","sign-tips-avatar-choose":"未上传形象照,现在上传?","input-user-email":"邮箱","input-user-new-password":"新密码","input-user-confirm-password":"确认新密码","popup-user-info-init":"完善资料","input-user-photo":"形象照片","input-user-gender":"性别","input-user-gender-tips":"性别,选择后不可更改","input-user-gender-male":"男","input-user-gender-female":"女","input-user-age":"年龄","input-user-location":"位置","input-user-intro":"个性介绍","input-user-intro-placeholder":"个性介绍?","button-fast-chat":"一键私聊","button-sign-in":"登录","button-sign-up":"注册","input-gesture-code":"密码","button-pass-reset":"重设密码","button-pass-forgot":"忘记密码?","input-user-id":"用户id","sign-user-protocol":"用户隐私协议","page-fast-chat":"一键私聊","page-search-title":"搜一搜","button-search":"搜索","search-report":"举报这个关键词","search-ban":"屏蔽这个关键词","filter-active-time":"活跃时间","filter-post-time":"发布时间","filter-likes":"被喜欢","filter-comments":"评论","sort-none":"无","sort-asc":"升序","sort-desc":"降序","page-discover-title":"发现","page-nearby-title":"附近的人","page-fast-match-title":"一键速配","page-tag-match-title":"标签配对","tips-fast-match":"确认将您的资料加入一键速
1配吗?加入后其它人可以通过一键速配快速和你配对私聊,你也可以使用一键速配到其它人","tips-set-intro":"请先填写你的个人介绍","tips-set-tags":"请先完善你的个性标签","tips-set-profile":"请先完善个人资料","page-user-contacts":"已配对","page-user-contact":"用户详情","page-new-contact":"新的朋友","page-message-title":"消息","news-cell-title":"通知","say-hi-cell-title":"喜欢我的的人","page-news-title":"通知","visible-vip-only":"开通会员即可查看","page-ucenter-title":"我的","page-my-post":"动态","view-myinfo-title":"我的个人主页","cell-myinfo-title":"我的资料","cell-match-title":"匹配设置","cell-more-title":"更多","nickname-cell-title":"昵称","photo-cell-title":"形象照","intro-cell-title":"个性介绍","vcr-cell-title":"形象短片","language-cell-title":"语言","edit-myinfo-title":"编辑我的资料","premium-cell":"会员&金币","vip-cell-title":"会员","vip-cell-restore":"恢复购买","cleancache-cell-title":"清除缓存","input-switch-fast-chat":"一键私聊","page-scoreshop-title":"金币","guide-cell-title":"使用帮助","broadcast-cell-title":"我的广播","feedback-cell-title":"用户反馈","rate-cell-title":"评价一下","about-cell-title":"关于","cell-moreapp-title":"好多App","cell-protocol-title":"隐私协议","cell-logout-title":"退出登录","cell-changepass-title":"修改密码","button-item-buy":"查看","page-ucenter-album-title":"相册","input-item-price":"定价","input-item-intro":"描述","input-item-change":"更换","input-item-burn":"阅后即焚","input-item-delete":"删除","tips-item-buy-success":"购买成功,内容马上呈现","page-interest-title":"感兴趣的人","switch-location-tips":"优先匹配附件的人","button-tags-save":"保存","input-tags":"标签","input-user-sort":"排序","input-sort-time":"在线时间","input-sort-default":"默认","input-sort-time-desc":"由近到远","input-sort-time-asc":"由远到近","input-sort-likes":"关注人数","input-sort-likes-desc":"由高到低","input-sort-likes-asc":"由低到高","tags-user-gender-tips":"不限","page-newtag-title":"添加标签","page-my-tags-title":"我的个性标签","cell-mytags-select-title":"选一下:","page-tags-title":"选择更多标签","location-cell-title":"位置","popup-user-info-title":"用户设置","report-user-cell-title":"举报","block-user-cell-title":"拉黑","btn-sayhi":"喜欢ta",has_say_hi:"已经喜欢过了哦",say_hi_limit:"您今天喜欢次数已用完,继续将消耗金币,vip会员无此限制","page-report-title":"举报","report-reason":"选择举报缘由","report-type1":"发布了不适当内容对我造成骚扰","report-type2":"广告推销等垃圾信息","report-type3":"色情暴力等不雅内容","report-type4":"政治宗教攻击言论等敏感内容","report-type5":"冒用或泄露他人隐私","page-topics":"广场","post-tips":"说出你的故事...","page-broadcast-title":"广播","topic-sort-like":"推荐","topic-sort-at":"已收到","topic-sort-new":"更多","broadcast-tips":"推送这条内容到你感兴趣的人群,收到的人可以和你闪聊","broadcast-score-tips":"选择广播人数,消耗对应的金币","input-broadcast-file":"添加图片或短视频","input-broadcast-pin":"置顶我的广播","input-broadcast-gender":"人群定向","input-broadcast-all":"无","input-broadcast-male":"仅男生","input-broadcast-female":"仅女生","popup-broadcast-complete-title":"广播完成","popup-broadcast-result-title":"成功发送广播人数:","btn-broadcast-submit":"发送","page-vip-title":"Vip会员","page-vip-active-title":"开通会员","vip-active-title":"开通会员","cell-vip-discover-title":"更高曝光率","cell-vip-discover-tips":"发现和搜索页更高的曝光率","cell-vip-match-title":"更多匹配选择","cell-vip-match-tips":"可添加更多个性匹配标签","cell-vip-broadcast-title":"广播寻人","cell-vip-broadcast-tips":"广播寻人次数无限制","cell-vip-hinews-title":"新的喜欢通知","cell-vip-hinews-tips":"实时知道谁向我喜欢我","cell-vip-fastchat-title":"无限次一键闪配","cell-vip-fastchat-tips":"一键自由匹配私聊对象","cell-vip-history-title":"解锁历史记录","cell-vip-history-tips":"查看所有喜欢和评论我的人","cell-vip-sayhi-limit-title":"每日无限次喜欢","cell-vip-sayhi-limit-tips":"每天发送喜欢人的次数无限制","cell-vip-match-limit-title":"匹配条件无上限","cell-vip-match-limit-tips":"随心所欲开启任何匹配条件","cell-vip-search-title":"全网搜索","cell-vip-search-tips":"精准搜索发现感兴趣的人","select-vip-plan":"点击选择开通会员计划","button-message-send":"发送","popup-chat-set-title":"聊天设置","chat-user-info":"个人详情","chat-add-contact":"加为好友","chat-match-apply":"申请加好友","chat-new-tag":"添加印象","input-chat-tag":"印象:","input-chat-tips":"5个字以内","chat-clean-cell-title":"清空聊天记录","chat-report-cell-title":"投诉举报","chat-block-cell-title":"拉黑","message-options-title":"其它消息","message-options-camera":"相机","message-options-photo":"相册","message-options-image":"图片","message-options-video":"è
1§†é¢‘","message-options-save":"加好友","message-options-report":"举报","message-options-location":"位置","message-options-hongbao-media":"红包私照","hongbao-media-auto-price":"自动定价","clean-auto-price":"清除自动定价","hongbao-media-tips":"发送图片或短视频消息,对方支付金币后才可以查看","chat-tips":"聊天提示:请勿轻易相信对方要求发送个人私照、裸照、家庭住址,手机号联系方式等个人敏感信息的要求;<br>请勿轻易进行网上转账等金钱交易,以防受骗","chat-tag-tips":"你们或许能找到这些共同话题","page-appeal-title":"违规记录","tips-account-has-been-remove":"账号因严重违规已被移除","page-post-comments":"评论","post-comments-tips":"您可以查看7天内的评论记录,开通会员可查看全部记录","page-post-likes":"点赞","post-likes-tips":"您可以查看7天内的点赞记录,开通会员可查看全部记录","page-more":"设置"},hk={appname:"悄悄","button-fast-chat":"一键私聊","page-message-title":"消息","news-cell-title":"通知","say-hi-cell-title":"喜欢我的人","page-ucenter-title":"我的","nickname-cell-title":"昵称","photo-cell-title":"相册","intro-cell-title":"个性介绍","language-cell-title":"语言","vip-cell-title":"会员","guide-cell-title":"使用帮助","feedback-cell-title":"用户反馈"},en={appname:"WhisperChat","button-ok":"OK","button-cost-coins":"Use coins","button-known":"Get It","button-chat":"Chat","button-appeal":"Appeal","button-pay-fine":"Pay a fine","button-detail":"Detail","button-upload":"Upload","button-comment":"Comment","alert-realgirl-only":"Only for Girl Power Member","alert-match-limit":"only 3 match tag for non-vip member","alert-block-user":"Confirm to Block?","tips-action-success":"Operation Success","tips-fastchat-limit":"Fast match today has been use up!","tips-broadcast-limit":"Broadcast today has been use up!","tips-apprate":"Would you like give a 5 stars review for this app?","tips-need-coins":"This operation need coins,Please recharge first","tips-must-allow-location":"Please allow App to use your location","button-submit":"Submit","button-save":"Save","button-cancle":"Cancel","button-add-title":"Add","button-delete":"Delete","button-add":"Add","ftime-second":" second ago","ftime-min":" mins ago","ftime-hour":" hour ago","ftime-day":" days ago","ftime-yestoday":"Yestoday","guide-swipe-up":"Load More","guide-swipe-down":"Send a broadcast","guide-swipe-left":"Do not like","guide-swipe-right":"Like","page-home-title":"Discover","user-ban-alert":"Your account has been ban","sign-tips-avatar-empty":"Show Photo can not be empty","sign-tips-avatar-choose":"No show photo,upload now?","input-user-email":"Email","input-user-new-password":"New Password","input-user-confirm-password":"Confirm Password","popup-user-info-init":"Fill information","input-user-photo":"Show photo","input-user-gender":"Gender","input-user-gender-tips":"Gender,no change after submit","input-user-gender-male":"Male","input-user-gender-female":"Female","input-gesture-code":"Password","button-sign-in":"Sign In","button-sign-up":"Sign Up","button-pass-reset":"Reset Password","button-pass-forgot":"Forgot Password?","input-user-id":"User id","sign-user-protocol":"User privacy protocol","input-user-age":"Age","input-user-location":"Location","input-user-intro":"About you","input-user-intro-placeholder":"Personality introduction","button-fast-chat":"Fast Chat","page-fast-chat":"Fast Chat","page-search-title":"Search","button-search":"Search","search-report":"Report the keyword","search-ban":"Block the keyword","filter-active-time":"Active Time","filter-post-time":"Post Time","filter-likes":"Popular","filter-comments":"Comments","sort-none":"None","sort-asc":"Ascending order","sort-desc":"Descending order","page-message-title":"Message","news-cell-title":"News","say-hi-cell-title":"Who like me",has_say_hi:"Cannot repeat say hi","visible-vip-only":"Visible for Vip Only",say_hi_limit:"your say hi today has used up! Continued say hi your need consume coins or activate vip","page-ucenter-title":"Me","page-my-post":"My Post","view-myinfo-title":"My Page","cell-myinfo-title":"My Profile","cell-match-title":"Match Filter","cell-more-title":"More","nickname-cell-title":"Nickname","edit-myinfo-title":"EditProfile","broadcast-cell-title":"My Broadcast","photo-cell-title":"Show Photo","intro-cell-title":"About Me","vcr-cell-title":"Vcr","page-scoreshop-title":"Coins","language-cell-title":"Language","input-switch-fast-chat":"Fast chat switch","premium-cell":"Premium","vip-cell-title":"Vip","vip-cell-restore":"Restore","guide-cell-title":"User Guide","cleancache-cell-title":"Clean Cache","feedback-cell-title":"Feedback","rate-cell-title":"Rate For Us","location-cell-title":"Location","popup-user-info-title":"User info","report-user-cell-title":"Report","block-user-cell-title":"Block","btn-sayhi":"Say Hi","about-cell-title":"About","cell-moreapp-title":"More Awesome","cell-protocol-title":"Privacy protocol","cell-logout-title":"Logout","cell-changepass-title":"Change Password","page-report-title":"Report","report-reason":"Select a report reason","report-type1":"Spam  and harassing information","report-type2":"Advertising or cheat","report-type3":"Pornographic or violence","report-type4":"Political or religion","report-type5":"Infringing upon others privacy","page-ucenter-album-title":"Album","button-item-buy":"See it","input-item-price":"Price","input-item-intro":"Caption","input-item-change":"Replace","input-item-burn":"Ephemerality","input-item-delete":"Delete","tips-item-buy-success":"Purchase Success,Content will show","page-interest-title":"Discovery Setting","button-tags-save":"Save","input-user-tags":"Peculiarity","input-tags":"tags","tags-user-gender-tips":"Both Ok","switch-location-tips":"Match people nearby priority","input-user-sort":"Sort","input-sort-time":"online","input-sort-default":"Default","input-sort-time-desc":"Recently","input-sort-time-asc":"Long ago","input-sort-likes":"Popular","input-sort-likes-desc":"High to low","input-sort-likes-asc":"Low to high","page-my-tags-title":"My Tags","cell-mytags-select-title":"Choose:","page-tags-title":"Select More tags","page-discover-title":"Discover","page-nearby-title":"Nearby","page-fast-match-title":"Fast Match","page-tag-match-title":"Tag Match","tips-fast-match":"Are you sure add your profile to fast-match? After joining, other people can chat with you quickly, and you can fast match some other too.","tips-set-intro":"Please set your 'about me'","tips-set-tags":"Please set your tags","tips-set-profile":"Please complete your personal profile first","page-topics":"Posts","post-tips":"Show Yourself...","page-broadcast-title":"Broadcast","topic-sort-like":"For you","to
1pic-sort-at":"At you","topic-sort-new":"New","btn-broadcast-submit":"Send","broadcast-tips":"Push this post to users you interest and those who received  can fast chat with you","broadcast-score-tips":"Select Broadcast number,cost coin","input-broadcast-file":"Add a image or video","input-broadcast-pin":"Pin on top","input-broadcast-gender":"Gender filter","input-broadcast-all":"All","input-broadcast-male":"Just male","input-broadcast-female":"Just female","popup-broadcast-complete-title":"Broadcast Complete","popup-broadcast-result-title":"Already broadcast to:","page-news-title":"News","button-message-send":"Send","popup-chat-set-title":"Chat Settings","chat-add-contact":"Add as a friend","chat-match-apply":"Apply to add friend","chat-user-info":"Profile","chat-new-tag":"Give a impression","input-chat-tag":"Impression:","input-chat-tips":"Up to two words","chat-clean-cell-title":"Clean history","chat-report-cell-title":"Report","chat-block-cell-title":"Block","message-options-title":"Other Message","message-options-camera":"Camera","message-options-photo":"Photo","message-options-location":"Location","message-options-image":"Image","message-options-video":"Video","message-options-save":"Save as friend","message-options-report":"Report","message-options-hongbao-media":"Paid Media","hongbao-media-auto-price":"Auto Set","clean-auto-price":"Clean Price","hongbao-media-tips":"Send a photo or video message for viewing after paying","chat-tips":"Please do not easily believe the request that want you to send personal sensitive information such as nude photo, home address; <br> Do not easily carry out money transactions such as online transfer to prevent being cheated","chat-tag-tips":"You may find these common topics","page-newtag-title":"Add new tag","page-vip-title":"Vip Member","page-vip-active-title":"Activate Vip","vip-active-title":"Activate Vip Now","cell-vip-match-title":"No match limit","cell-vip-discover-title":"Increased Visibility","cell-vip-discover-tips":"Greater exposure in discovery","cell-vip-match-tips":"Get any match character you want","cell-vip-broadcast-title":"Free  for Broadcast","cell-vip-broadcast-tips":"Unlimited for send broadcast","cell-vip-search-title":"Unlimited  for search","cell-vip-search-tips":"Search to find people you interested","cell-vip-hinews-title":"Instant message for say hi event","cell-vip-sayhi-limit-title":" Unlimited Like someone","cell-vip-sayhi-limit-tips":"Unlimited like people per day","cell-vip-hinews-tips":"To know  Who is interested in you immediately","cell-vip-fastchat-title":"Unlimited Fast Match","cell-vip-fastchat-tips":"Fast Match with someone","cell-vip-history-title":"Full access to  history","cell-vip-history-tips":"View all like me and comments on your post","cell-vip-match-limit-title":"No match limit","cell-vip-match-limit-tips":"Get any match character you want","select-vip-plan":"Subscribe a VIP plan","page-appeal-title":"Account violations","page-user-contacts":"Matched","page-user-contact":"User Info","page-post-comments":"Comments","post-comments-tips":"You can view the comment history within the last three days. To access all comments, please subscribe to the membership service.","page-post-likes":"Thumb Up","post-likes-tips":"You can view the thumb up history within the last three days. To access all history, please subscribe to the membership service","page-more":"Setting"};function setLan(){Dom7("[set-lan]").each(function(){var e,t=Dom7(this),a=t.attr("set-lan").split(":"),i=a[0],a=a[1];if(null==(e=null==(e=null==(e=("cn"===window.localStorage.getItem("lan")?cn:en)[a])?cn[a]:e)?en[a]:e))return!0;switch(i){case"html":t.html(e);break;case"val":case"value":t.val(e);break;case"placeholder":t.attr("placeholder",e);break;default:t.html(e)}})}function get_lan(e){var t;return t=null==(t=null==(t=null==(t=("cn"===window.localStorage.getItem("lan")?cn:en)[e])?cn[e]:t)?en[e]:t)?e:t}var isDemoData=!1,demoUsers=[],indexUsers=[];if(isDemoData)for(var intros=["The hot water will be cold, and the wrong people will be scattered","If life is like a journey, it must go through the whole.","Sunshine and you is what I want in the future","It’s not about what you say, it’s about what you do","Is not easy to meet people do not easily say goodbye.","Most want is y
1ou, the most do not want to bother is also you","I am waiting for the wind waiting for you, too"],nicknames=["白茶","甜心",""],i=1;i<=21;i++){var demo={uid:i,nickname:"jojo"+i,gender:2,location:"beijing",avatar:i+".jpg",intro:"Let meet each other"};3!=i&&6!=i&&9!=i&&11!=i&&14!=i&&15!=i&&18!=i&&20!=i||(demo.gender=2,demo.tags=i+",35,56"),i<13?(demo.age=i+10,demo.gender=2,demo.tags=i+",65,76"):(demo.gender=1,demo.tags=i+",38,58"),demoUsers.push(demo)}var user={},local_sql=(getStorage("whisper_user")&&(user=JSON.parse(getStorage("whisper_user"))),new MLSql({dbname:"whisper_db",driver:runMode,version:1,debug:isDebug}));function callJs(t){if(Dlog("function callJs",t),"onAlert"==t.method&&(app.hideIndicator(),app.hidePreloader(),app.pullToRefreshDone(),app.alert(t.params.msg)),"onBackAction"==t.method&&("page-index"==mainView.activePage.name?app.confirm("Confirm to exit app?",function(){callNative("onFinishApp")}):("page-chat"==mainView.activePage.name&&callNative("onLeaveConversion",{conversation_id:0}),mainView.router.back(),app.hidePreloader(),app.hideIndicator(),app.pullToRefreshDone(),app.closeModal())),"onHttpActionFailed"==t.method&&(app.hideIndicator(),app.hidePreloader(),app.pullToRefreshDone()),"onInitApiParams"==t.method&&(appConfig=t.params).debug&&(isDebug=!0),"onInitDefaultLan"==t.method&&(e=t.params.lan,getStorage("lan")||setStorage("lan",e),setLan()),"onUserLogout"==t.method&&logout(),"onIaplog"==t.method){if(!isLogin())return;httpfetch("/iap/log","post",t.params)}if("onAppResume"==t.method){var e=t.params;if(e.version_code&&httpfetch("/index/check_update","post",e).then(e=>{1==e.status&&app.confirm(e.intro||"New version,update now",function(){jsBridge.callNative("onAppUpdate",e)})}),!user.uid)return;httpfetch("/index/app_resume","post",user).then(e=>{e.uid&&(freshUser(e),initTim(user))}),jsBridge.callNative("onUpdatePushAlias",{uid:user.uid})}if("onGetUserLocationDone"==t.method&&(null!=t.params.geohash&&(user.geohash=t.params.geohash),null!=t.params.city&&(user.city=t.params.city,user.location=t.params.city),freshUser(user),Dom7(".user-location").html(t.params.country+t.params.city)),"onAppIntoBackgroud"==t.method&&"page-index"!=mainView.activePage.name&&"page-chat"!=mainView.activePage.name&&"page-vip-active"!=mainView.activePage.name&&"page-scoreshop"!=mainView.activePage.name&&mainView.router.back(),"onFreshUser"==t.method&&freshUser(t.params),"onReceivePushMessage"==t.method){if(null!=t.params.push_type&&"appeal"==t.params.push_type)return void mainView.router.load({url:"user-appeal.html",context:t.params});let e=t.params;e.page="message/notice.html","neworder"==e.push_type&&(e.page="new-order.html"),"match"!=e.push_type&&"match"!=e.push_type||(e.page="contact.html"),"comment"==e.push_type&&(e.page="topic/comments.html?tid="+e.tid),"broadcast"!=e.push_type&&"broadcast"!=e.push_type||("video"!=e.filetype&&"image"!=e.filetype||(e.type=e.filetype),e.page="topic.html?tid="+e.tid+"&msg_id="+e.msg_id),"post"!=e.push_type&&"post"!=e.push_type||("video"!=e.filetype&&"image"!=e.filetype||(e.type=e.filetype),e.page="topic.html?tid="+e.tid),"match_apply"==e.push_type&&(e.page="new-contact.html"),"visitme"==e.push_type&&(e.page="user-info.html",e.visitor_uid&&(e.uid=e.visitor_uid),isVip()||(e.page="vip.html")),"likeme"==e.push_type&&(e.page="user-info.html",isVip()||(e.page="vip.html")),"violation"==e.push_type&&(e.page="user-appeal.html"),app.addNotification({title:e.title,message:e.content,media:e.icon||"",closeOnClick:!0,hold:5e3,onClick:function(){if(e.link)return-1!==runMode.indexOf("web")?void window.open(e.link):void jsBridge.callNative("onOpenlink",{url:e.link});pageRouter(e.page,e)}})}if("onReceivePushNews"==t.method){if(null!=t.params.msg_type&&"appeal"==t.params.msg_type)return void mainView.router.load({url:"user-appeal.html",context:t.params});if(null!=t.params.msg_type&&"match"==t.params.msg_type&&"page-index"==mainView.activePage.name)return Dom7(".popup-match .navbar-inner .center").html(t.params.nickname),Dom7(".match-result img").attr("src",t.params.avatar),Dom7(".match-result .match-user-link").attr("data-uid",t.params.uid),Dom7(".match-result .match-user-link").attr("data-nickname",t.params.nickname),Dom7(".match-user-link").on("click",function(e){app.closeModal(),null!=t.params.page?mainView.router.load({url:t.params.page,context:t.params}):(t.params.uid,t.params.nickname,mainView.router.load({url:"chat.html?conversation_id="+t.params.uid,context:t.params}))}),void app.popup(".popup-match");if(null!=t.params.msg_type&&"broadcast"==t.params.msg_type)return void app.addNotification({title:t.params.title,message:t.params.content,media:t.params.icon,closeOnClick:!0,hold:5e3,onClick:function(){mainView.router.load({url:"topic.html",context:{msg_id:t.params.msg_id}})}});freshIndexBadge(1),app.addNotification({title:t.params.title,message:t.params.content,media:t.params.icon,closeOnClick:!0,hold:5e3,onClick:function(){mainView.router.loadPage("messages.html")}})}"onUnreadChanged"==t.method&&freshIndexBadge(parseInt(t.params.num)),"onReceiveMessage"!=t.method||"page-chat"==mainView.activePage.name||"sayhi"==t.params.msg_type&&!user.vip||freshIndexBadge(1)}function pageRouter(e,t){e&&("object"!=typeof t&&(t={}),("pcweb"==runMode?rightView:mainView).router.load({url:e,context:t}))}function pageBack(e){e&&("pcweb"==runMode?rightView:mainView).router.back({url:e})}function showLoginForm(){f7("#sign-form").hide(),f7("#pass-form").hide(),f7("#login-form").show(),f7("#google-login").show(),f7("#sign-switch-link").on("click",
1showSignForm),f7("#sign-switch-link").html(get_lan("button-sign-up")),f7("#pass-reset-link").show()}function showSignForm(){f7("#sign-form").show(),f7("#pass-form").hide(),f7("#login-form").hide(),f7("#google-login").hide(),f7("#sign-switch-link").on("click",showLoginForm),f7("#sign-switch-link").html(get_lan("button-sign-in")),f7("#pass-reset-link").hide()}function showPassForm(){f7("#pass-form").show(),f7("#sign-form").hide(),f7("#login-form").hide(),f7("#google-login").hide(),f7("#sign-switch-link").on("click",showLoginForm),f7("#sign-switch-link").html(get_lan("button-sign-in")),f7("#pass-reset-link").hide()}function isLogin(){var e=(new Date).getTime()/1e3;return!user.token_expire||user.token_expire<e?(delete user.token,delete user.token_expire,!1):!!user.token}function afterLogin(e){app.hidePreloader(),app.hideIndicator(),app.closeModal(),setStorage("user_init",!0),freshUser(e),jsBridgeEvent.fire("onUserLogin"),initTim(e),"native"==runMode&&jsBridge.callNative("onUserLoginDone",e),"web"!=runMode&&"pcweb"!=runMode||httpfetch("/device/active","post",{uuid:window.navigator.platform})}function appleLogin(){"web"==runMode||"pcweb"==runMode?AppleID.auth.signIn().then(function(e){var{authorization:e,user:t}=e,e=httpfetch("/WebAuth/apple","post",{code:e.code,id_token:e.id_token,user:t||null});e.then(e=>{e.userid?e.email?(app.showIndicator(),httpfetch("/auth/apple","post",e).then(e=>{afterLogin(e),e.newauth&&setTimeout(function(){goUserInfoEdit(),Dom7("#ucenter-badge").show()},1e3)}).catch(e=>{app.alert(e.msg||"auth failed"),app.hideIndicator()})):app.alert("Get email fail"):app.alert("Invalid Apple userid")}),e.catch(e=>{app.alert(e.msg||"apple auth failed")})}).catch(function(e){console.error("Apple Sign In error:",e),e&&e.error&&app.alert("Login cancelled or failed.")}):jsBridge.callNative("onAppleLogin").then(e=>{e.params.userid?e.params.email?(app.showIndicator(),httpfetch("/auth/apple","post",e.params).then(e=>{afterLogin(e),e.newauth&&setTimeout(function(){goUserInfoEdit(),Dom7("#ucenter-badge").show()},1e3)}).catch(e=>{app.hideIndicator()})):app.alert("Get email fail"):app.alert("Invalid Apple userid")})}function googleLogin(e){"web"==runMode||"pcweb"==runMode?e&&((e=httpfetch("/WebAuth/google","post",{id_token:e.credential})).then(e=>{console.log("google 验证完成",e),httpfetch("/auth/google","post",e).then(e=>{afterLogin(e),e.newauth&&setTimeout(function(){goUserInfoEdit(),Dom7("#ucenter-badge").show()},1e3)}).catch(e=>{app.hideIndicator(),app.alert(e.msg||"Auth failed")})}),e.catch(e=>{app.hideIndicator(),app.alert(e.msg||"Auth failed")})):(app.showIndicator(),jsBridge.callNative("onGoogleLogin").then(e=>{httpfetch("/auth/google","post",e.params).then(e=>{afterLogin(e),e.newauth&&setTimeout(function(){goUserInfoEdit(),Dom7("#ucenter-badge").show()},1e3)}).catch(e=>{app.hideIndicator(),app.alert("Auth failed")})}))}function isVip(){var e;return!(!isLogin()||(e=(new Date).getTime(),!user.vip_expire)||parseInt(user.vip_expire)<e/1e3)}function userSign(){var e;f7("#protocol-check").is(":checked")?0==(e=app.formToJSON("#sign-form")).email.length?app.alert("Please input email"):(app.showPreloader(),httpfetch("/user/sign","post",e).then(e=>{afterLogin(e),setTimeout(function(){goUserInfoEdit(),Dom7("#ucenter-badge").show()},800)}).catch(e=>{app.hidePreloader(),app.alert("login fail:"+e.msg,function(){app.loginScreen()})})):app.alert("Please Read and Agree the user protocol")}function userLogin(){var e=app.formToJSON("#login-form");0==e.email.length?app.alert("Please input email"):(app.showPreloader(),httpfetch("/user/login","post",e).then(e=>{afterLogin(e)}).catch(e=>{app.hidePreloader(),app.alert("login fail:"+e.msg,function(){app.loginScreen()})}))}function getCode(){var e=app.formToJSON("#pass-form");0==e.email.length?app.alert("Please input email"):(app.showIndicator(),httpfetch("user/getcode","post",e).then(e=>{app.hideIndicator(),time_countdown(f7("#code-button"),60)}).catch(e=>{app.hideIndicator(),app.alert(e.msg||"Request fail")}))}function time_countdown(e,t){0==t?(e.removeAttr("disabled"),e.html("Get Code")):(e.attr("disabled","disabled"),e.html(t+"s"),t--,setTimeout(function(){time_countdown(e,t)},1e3))}function passReset(){var e=app.formToJSON("#pass-form");0==e.email.length?app.alert("Please input email"):(app.showIndicator(),httpfetch("user/resetpass","post",e).then(e=>{app.hideIndicator(),showLoginForm()}).catch(e=>{app.hideIndicator(),app.alert(e.msg||"Requset Failed")}))}function checkUserStatus(){parseInt(user.status);let e=!1;return 0==user.status&&(e=!0),2==user.status&&(e=!0),-1==user.status?(app.alert("Account does not exist or has been cancelled",function(){logout()}),!0):(e&&app.alert(get_lan("user-ban-alert"),function(){mainView.router.load({url:"user-appeal.html",reload:!0,context:{noback:!0}})}),e)}function deleteAccount(){app.confirm("Are you sure to delete your account? This operation will delete your account and related data, and cannot be restored!",function(){app.showIndicator(),httpfetch("/user/deleteaccount","post").then(e=>{app.hideIndicator(),mainView.router.back(),httpfetch("/user/clean","post"),logout()}).catch(e=>{app.hideIndicator(),app.alert(e.msg||"Request fail")})})}function goUserGuide(){let e="guide-en.html";"cn"==getStorage("lan")&&(e="guide-cn.html"),mainView.router.loadPage(e),app.closeModal()}function logout(){user={};var e=window.localStorage;e.removeItem("whisper_user"),e.removeItem("user_init"),e.removeItem("user-interest"),freshUser(user),jsBridge.callNative("onUserLogout",{uid:user.uid}),setTimeout(function(){app.loginScreen(),mainView.router.back(),tim&&tim.ready&&tim.logout().then(function(e){tim.ready=!1}).catch(function(e){console.warn("logout error:",e)})},1e3)}
1function freshIndexBadge(e){var t;e<=0||(t=parseInt(f7("#index-msg-badge").html()),t=isNaN(t)?0:t,f7("#index-msg-badge").html(t+e),f7("#index-msg-badge").show())}function indexReload(){app.showIndicator(),mainView.router.refreshPage()}function freshUser(i){if("object"!=typeof i)Dlog("freshUser with no object",i);else if(0!=Object.keys(i).length){let t=["nickname","avatar","intro","tags","location","gender","age"],a={};Object.keys(i).map(function(e){null!=i[e]&&"Unknown"!==i[e]&&(user[e]=i[e],-1<t.indexOf(e))&&(a[e]=i[e])}),setStorage("whisper_user",JSON.stringify(user)),local_sql.execute({table:"users",method:"edit",where:"uid = "+user.uid,data:a,callback:function(e){Dlog("sql更新user用户信息",e)}})}}function freshUserTags(e){if("string"!=typeof e&&isNaN(e))Dlog("freshUser with no object",e);else if(0!=e.length)if(-1==(e+="").indexOf(","))storeTags(e);else{var a=e.split(",");Dlog("fresh local tags",a);for(var t=0;t<a.length;t++)storeTags(a[t]);var i=getStorage("user-interest");if(i&&"string"==typeof i){if(Dlog("fresh local interest tags",a),(i=JSON.parse(i)).tags){let t=i.tags.split(",");a.forEach(function(e){t.indexOf(e)||t.push(e)}),i.tags=t.join(",")}else i.tags=e;setStorage("user-interest",JSON.stringify(i))}}}function storeTags(t){local_sql.execute({table:"local_tags",method:"select",where:"id = "+t,callback:function(e){1==e.status&&0<e.data.length?(e=e.data[0],local_sql.execute({table:"local_tags",method:"edit",where:"id = "+t,data:{hits:parseInt(e.hits)+1},callback:function(e){Dlog("编辑本地tag",e)}})):local_sql.execute({table:"local_tags",method:"add",data:{id:t,hits:1,time:now_time()},callback:function(e){Dlog("新增本地tag"+t,e),1==e.status&&setStorage("tag-tag",t)}})}})}function cleanLocalCache(){callNative("onCleanCache"),removeStorage("index-cache-time"),local_sql.execute({method:"delete",table:"users",callback:function(e){Dlog("onCleanCache",e)}}),local_sql.execute({method:"delete",table:"users",callback:function(e){Dlog("onCleanCache",e)}}),local_sql.execute({method:"delete",table:"search",callback:function(e){Dlog("onCleanCache",e)}}),local_sql.execute({method:"delete",table:"album_item",callback:function(e){Dlog("onCleanCache",e)}}),setTimeout(function(){app.alert("Local Cache has clean")},1e3)}function match_params(e){var t={page:e},e=(null==e&&(t.page=1),getStorage("user-interest"));return e&&"string"==typeof e&&1==(e=JSON.parse(e)).location_first&&null!=user.geohash&&(t.geohash=user.geohash),t}function videoCall(t){"web"==runMode||"pcweb"==runMode?mainView.router.load({url:"call.html",context:{room_id:t.room_id,target:t.target,onCall:t.onCall,nickname:t.target.nickname}}):jsBridge.callNative("onVideoCall",{user:user,target:t.target,room_id:t.room_id,onCall:t.onCall}).then(e=>{"string"==typeof e.params.user&&(e.params.user=JSON.parse(e.params.user)),t.onCall&&"busy"==e.params.result&&sendTimMessage({msg_id:111,conversation_id:e.params.user.uid,type:"custom",data:{type:"cmd",command:"video_call_busy",room_id:t.room_id}}).then(e=>{Dlog("通话忙线")}).catch(e=>{}),"reject"==e.params.result&&sendTimMessage({msg_id:111,conversation_id:e.params.user.uid,type:"custom",data:{type:"cmd",command:"video_call_reject",room_id:t.room_id}}).then(e=>{}).catch(e=>{})})}function goBroadcast(){user.uid<=0||null==user.uid?app.loginScreen():mainView.router.load({url:"broadcast.html"})}function goDiscover(){user.uid<=0||null==user.uid?app.loginScreen():mainView.router.load({url:"discover.html"})}function goInterestMe(){user.uid<=0||null==user.uid?app.loginScreen():mainView.router.loadPage("interest.html")}function toUserPage(){0<user.uid?mainView.router.load({url:"ucenter.html",context:user}):app.loginScreen()}function toMessagePage(){0<user.uid?mainView.router.load({url:"messages.html",context:user}):app.loginScreen()}function goSearchPage(e){user.uid<=0||null==user.uid?app.loginScreen():mainView.router.loadPage("index/search.html?tab="+(e=e||"user"))}function goMapPage(){isLogin()?callNative("onGoMapPage"):app.loginScreen()}function iapPurchase(a){if(-1!=runMode.indexOf("web"))return void app.alert("Please download app client");jsBridge.callNative("onIapPurchase",{product:a}).then(t=>{"onIapPurchaseDone"==t.method&&(2==t.params.platform&&httpfetch("/iap/google_purchase_done","post",t.params).then(e=>{app.hideIndicator(),orderProcess(a,t.params)}).catch(e=>{app.hideIndicator(),app.alert(e.msg||"request failed")}),1==t.params.platform)&&httpfetch("/iap/check","post",t.params).then(e=>{app.hideIndicator(),orderProcess(a,t.params)}).catch(e=>{app.hideIndicator(),app.alert(e.msg||"request failed")}),"onIapPurchaseFail"==t.method&&app.alert("Purchase Fail")})}function orderProcess(e,t){-1!=e.indexOf("vip")&&(user.vip=!0,user.vip_validity=t.validity,freshUser(user),f7(".vip-validity").html(user.vip_validity),app.addNotification({title:"Success",subtitle:"Subscription successful",hold:2e3,onClose:function(){mainView.router.back()}})),-1!=e.indexOf("coins")&&(e=parseInt(t.coins),null==user.coins?user.coins=e
1:user.coins=parseInt(user.coins)+e,freshUser(user),f7(".user-coins").html(user.coins),app.alert("Purchase success",function(){mainView.router.back()}))}function iapRestore(){-1!=runMode.indexOf("web")?app.alert("Please download app client"):(app.showIndicator(),jsBridge.callNative("onIapRestore",{}).then(e=>{"onIapPurchaseDone"==e.method&&-1!=e.params.product.indexOf("vip")&&(user.vip=!0,user.vip_validity=e.params.validity,freshUser(user),f7(".vip-validity").html(user.vip_validity)),"onIapRestoreFail"==e.method&&(app.alert(e.params.msg||"Failed"),app.hideIndicator())}))}function initUserLanguage(e){getStorage("init_lan")||setStorage("lan",e),setLan()}function costCoins(i,o,n){return new Promise((t,a)=>{if(!user.coins||user.coins<=0)app.confirm(get_lan("tips-need-coins"),function(){mainView.router.loadPage("scoreshop.html")}),a();else{let e={action:i};o&&(e.cost=o),"object"==typeof n&&(e={...e,...n}),app.showIndicator(),httpfetch("/user/cost","post",e).then(e=>{app.hideIndicator(),user.coins=e.coins,freshUser({coins:user.coins}),t(e.coins)}).catch(e=>{app.hideIndicator(),app.alert(e.msg||"Request Fail"),a()})}})}function checkLikeAction(){var e;getStorage("hi_cost_coin")?costCoins("like").then(e=>{doLikeUser(uid)}):(e=[{text:get_lan("say_hi_limit"),label:!0},{text:get_lan("button-cost-coins"),color:"black",onClick:function(){setStorage("hi_cost_coin",!0),costCoins("like").then(e=>{doLikeUser(uid)})}},{text:get_lan("vip-active-title"),color:"black",onClick:function(){mainView.router.loadPage("vip.html")}},{text:get_lan("button-cancle"),color:"gray"}],app.actions(e))}function likeUser(e,t){user.uid!=e&&(httpfetch("/index/like_user","post",{like_uid:e,nickname:user.nickname}).then(e=>{t&&t(e)}),unshow_user(e))}function unLikeUser(e,t){user.uid!=e&&(httpfetch("/index/unlike_user","post",{unlike_uid:e,nickname:user.nickname}).then(e=>{t&&t(e)}),unshow_user(e))}function unshow_user(t){if(user.uid!=t){let e=mainView.activePage.name;"page-user-info"==(e="object"==typeof rightView?rightView.activePage.name:e)&&(f7(".sayhi-link").addClass("disabled"),null!=f7("#userhilink"+t)&&(f7("#userhilink"+t).parent().remove(),Dom7("a.lazy").trigger("lazy")),"web"==runMode)&&setTimeout(function(){mainView.router.back()},1e3),("page-user-info"==e?f7('.page[data-page = "page-user-info"] .toolbar'):f7("#userhilink"+t)).remove(),"page-index"!=e&&Dom7("#indexuser"+t).remove()}}function language_chage(e){app.showPreloader(),setStorage("lan",e),setTimeout(function(){setLan(),mainView.router.refreshPage(),app.hidePreloader(),app.closeModal()},1e3)}function goUserInfoEdit(){0<user.uid&&setTimeout(function(){mainView.router.load({url:"user-info-edit.html",context:user})},1e3)}"web"!=runMode&&"pcweb"!=runMode||(loadScript("https://appleid.cdn-apple.com/appleauth/static/jsapi/appleid/1/en_US/appleid.auth.js").then(e=>{"undefined"!=typeof AppleID&&AppleID.auth.init({clientId:"com.whisperim",scope:"name email",redirectURI:"https://whisperim.com/appleauth.html",state:"csrf_token_abc123",usePopup:!0})}).catch(e=>{f7("#apple-login").remove(),console.error("load apple account js fail",e)}),loadScript("https://accounts.google.com/gsi/client").then(e=>{void 0!==google.accounts&&(google.accounts.id.initialize({client_id:"413082083619-b5hincpdg9efj4e7psh9cl6dbgmqfoop.apps.googleusercontent.com",callback:function(e){googleLogin(e)},auto_select:!1,cancel_on_tap_outside:!0,use_fedcm_for_prompt:!0}),document.getElementById("google-login-container"),f7("#google-login").hide(),f7("#google-login-container").show(),google.accounts.id.renderButton(document.getElementById("google-login-container"),{type:"standard",theme:"outline"}))}).catch(e=>{f7("#google-login").remove(),f7("#google-login-container").remove(),console.error("load google account js fail",e)})),"native"==runMode&&(local_sql.addTable("version",[{name:"version",type:"int",value:"UNIQUE"},{name:"note",type:"text"}]),local_sql.addTable("search",[{name:"name",type:"text",value:"UNIQUE"},{name:"type",type:"text"},{name:"add_time",type:"int"},{name:"hits",type:"int"},{name:"avatar",type:"text"}]),local_sql.addTable("users",[{name:"page",type:"int"},{name:"uid",type:"int",value:"UNIQUE"},{name:"nickname",type:"text"},{name:"avatar",type:"text"},{name:"vcr",type:"text"},{name:"intro",type:"text"},{name:"avatar_big",type:"text"},{name:"tags",type:"text"},{name:"items",type:"int"},{name:"gender",type:"int"},{name:"age",type:"int"},{name:"location",type:"text"},{name:"like",type:"int"},{name:"unlike",type:"int"},{name:"distance",type:"text"},{name:"add_time",type:"int"}]),local_sql.addTable("like_user",[{name:"uid",type:"int",value:"UNIQUE"},{name:"nickname",type:"text"},{name:"content",type:"text"},{name:"action",type:"text"},{name:"add_time",type:"int"}]),local_sql.addTable("fastchat",[{name:"to_uid",type:"int",value:"UNIQUE"},{name:"uid",type:"int"},{name:"nickname",type:"text"},{name:"add_time",type:"int"}]),local_sql.addTable("tags",[{name:"id",type:"int",value:"UNIQUE"},{name:"name",type:"text"},{name:"cid",type:"int"},{name:"cname",type:"text"},{name:"checked",type:"int"},{name:"hits",type:"int"},{name:"weight",type:"int"},{name:"status",type:"int"},{name:"add_time",type:"int"}]),local_sql.addTable("topic",[{name:"tid",type:"int",value:"UNIQUE"},{name:"content",type:"text"},{name:"file",type:"text"},{name:"type",type:"text"},{name:"chat",type:"int"},{name:"hit",type:"int"},{name:"report",type:"int"},{name:"status",type:"int"},{name:"add_time",type:"int"}]),local_sql.addTable("contact",[{name:"match_uid",type:"int",value:"UNIQUE"},{name:"uid",type:"int"},{name:"nickname",type:"text"},{name:"match_uid",type:"text"},{name:"avatar",type:"text"},{name:"remark",type:"text"},{name:"add_time",type:"int"}])),jsBridgeEvent.on("onNativeCallJs",function(e){"onReceiveMessage"!=e.method||"page-chat"==mainView.activePage.name||"sayhi"==e.params.msg_type&&!user.vip||freshIndexBadge(1)}),jsBridgeEvent.on("onUserLogout",function(){logout()});var appwalls=[],app=new Framework7({cache:!1,tapHold:!0,dynamicNavbar:!0,modalTitle:"WhisperChat",precompileTemplates:!0,template7Pages:!0,onPageBeforeInit:function(e,t){setLan()},onPageInit:function(o,n){if("pcweb"==runMode&&n.view&&".view-right"==n.view.selector&&Dom7(".view-right .navbar .back").remove(),"page-appeal"!=n.name&&setTimeout(function(){checkUserStatus()},500),"page-index"==n.name){var s=window.location.href,s=new URL(s),s=new URLSearchParams(s.search);if("order"==s.get("from")){let e=s.get("product");setTimeout(function(){-1!==e.indexOf("coins")&&pageRouter("scoreshop.html"),-1!==e.indexOf("vip")&&pageRouter("vip.html",{new_vip:!0})},1e3)}function r(){o.swiper(".swiper-container",{speed:2e3,loop:!0,autoplay:3e3}),Dom7(".adv-item").on("click",function(){var e=f7(this).attr("url");"native"==runMode?jsBridge.callNative("onOpenLink",{url:e}):window.open(e)})}function l(){var e;isLogin()&&(0<appwalls.length?(e=Template7.templates.adsTpl(appwalls),Dom7("#index-ads .swiper-wrapper").html(e),r()):httpfetch("/index/appwall","post").then(e=>{0<e.length&&(appwalls=e,e=Template7.templates.adsTpl(e),Dom7("#index-ads .swiper-wrapper").html(e),r())}))}Dom7("#main-tabs .tab-link").on("click",function(e){var t=Dom7(this).attr("href");"#tab-topic"==t&&mainView.router.load({url:"topics.html",reload:!0}),"#tab-message"==t&&(f7("#index-message-badge").html(""),f7("#index-message-badge").hide(),mainView.router.load({url:"messages.html",reload:!0})),"#tab-me"==t&&mainView.router.load({url:"ucenter.html",context:user,reload:!0}),"#tab-home"==t&&mainView.router.load({url:"index.html",reload:!0})}),Dom7("#index-filter").on("click",function(){pageRouter("interest.html")}),getStorage("new-guide"),0<user.uid&&(null!=user.nickname&&0!=user.nickname.length||Dom7("#ucenter-badge").show(),null!=user.intro&&0!=user.intro.length||Dom7("#ucenter-badge").show(),null!=user.tags&&0!=user.tags.length||Dom7("#ucenter-badge").show(),null!=user.avatar&&"user-avatar-default.png"!=user.avatar||Dom7("#ucenter-badge").show(),null!=user.gender&&0!=user.gender||Dom7("#ucenter-badge").show(),user.age||Dom7("#ucenter-badge").show()),Dom7(".index-messsage-link").on("click",function(){Dom7(this).find("#index-msg-badge").html(""),Dom7(this).find("#index-msg-badge").hide()}),Dom7(".ucenter-link").on("click",function(){Dom7(this).find("#ucenter-badge").html(""),Dom7(this).find("#ucenter-badge").hide()});let t=1,a=1,i=(getStorage("home-page-index")&&(t=parseInt(getStorage("home-page-index"))),!1);function c(e){o.hideIndicator(),o.pullToRefreshDone(),o.hidePreloader(),Dom7(".infinite-scroll-preloader").hide(),0<e.length?(e=Template7.templates.indexUserlistCellTpl(e),1==t?Dom7("#index-user-list").html(e):(Dom7("#index-user-list").append(e),i=!1),Dom7("a.lazy").trigger("lazy"),Dom7(".like-link").on("click",function(e){let t=Dom7(this),i=t.attr("data-uid");Dom7("#user"+i).transform("translateX(100vh)").transition(1e3),likeUser(i,function(e){if(e.likeme){e=t.attr("data-avatar");let a=t.attr("data-nickname");Dom7(".popup-match .navbar-inner .center").html(a),Dom7(".match-result img").attr("src",e),Dom7(".match-result .match-user-link").attr("data-uid",i),Dom7(".match-result .match-user-link").attr("data-nickname",a),Dom7(".match-user-link").on("click",function(e){var t={uid:i,name:a};o.closeModal(),mainView.router.load({url:"chat.html?conversation_id="+i,context:t})}
1),o.popup(".popup-match"),"native"==runMode&&local_sql.execute({table:"contact",method:"add",data:{uid:user.uid,match_uid:i,nickname:a,add_time:now_time()}})}})}),Dom7(".unlike-link").on("click",function(e){var t=Dom7(this).attr("data-uid");unLikeUser(t),Dom7("#user"+t).transform("translateX(-100vh)").transition(1e3)})):(1<t&&(o.detachInfiniteScroll(Dom7(".infinite-scroll")),Dom7(".infinite-scroll-preloader").remove()),1==t&&Dom7("#index-user-list").html('<div class="flex-center" style="width:100%;height:200px;text-align:center;">No data,Please pull down to refresh data</div>'))}function p(t){if(t=t||1,5<=a&&!isVip()){if(0!=indexUsers.length)return void c([]);t=1}httpfetch("/index/index","post",{page:t}).then(e=>{a++,c(e),setStorage("home-page-index",t),0<e.length?indexUsers=0==indexUsers.length?e:indexUsers.concat(e):1<t&&removeStorage("home-page-index"),o.hideIndicator()}).catch(e=>{1==n&&Dom7("#index-user-list").html('<div class="flex-center" style="width:100%;height:200px;text-align:center;">Please pull down to refresh data</div>'),o.hideIndicator()})}jsBridgeEvent.on("onUserLogin",function(e){p(t=1),l()}),jsBridgeEvent.on("onDiscoverChanged",function(e){removeStorage("home-page-index"),p(t=1)}),(0==appwalls.length?l:(s=Template7.templates.adsTpl(appwalls),Dom7("#index-ads .swiper-wrapper").html(s),r))(),Dom7(".pull-to-refresh-content").on("refresh",function(e){p(t=1)}),Dom7(".infinite-scroll-preloader").hide(),Dom7(".infinite-scroll").on("infinite",function(){i||(t++,i=!0,Dom7(".infinite-scroll-preloader").show(),p(t))}),0<indexUsers.length?c(indexUsers):0<user.uid&&(1==t&&o.showIndicator(),p(t))}},onPageAfterBack:function(e,t){if(Dlog("page-onPageAfterBack",t),"page-agree"!=t.name||isLogin()||e.loginScreen(),"page-messages"==t.name){if(getStorage("hasrate"))return;10<getStorage("chats")&&e.confirm(get_lan("tips-apprate"),function(){callNative("onRateApp"),setStorage("hasrate",!0)})}"page-chat"==t.name&&callNative("onQuitChatPage"),"page-guide"==t.name&&(user.uid<=0||null==user.uid)&&e.loginScreen()}}),f7=Dom7,mainView=app.addView(".view-main",{dynamicNavbar:!0}),topicList=(f7(document).on("click",".open-link, .back-link, .close-link",function(e){var t=f7(this),a=t.attr("href");"a"===t[0].nodeName.toLowerCase()&&t.hasClass("open-link")?(e.preventDefault(),callNative("onOpenLink",{url:a})):(t.hasClass("back-link")||t.hasClass("close-link"))&&(e.preventDefault(),callNative("onCloseLink",{url:a}))}),f7(document).on("click",".user-link",function(e){Dlog(e);var t=Dom7(this),a=(t.attr("data-uid"),t.attr("data-context"));Dlog("context",a),t.attr("href"),t[0].nodeName.toLowerCase();e.preventDefault(),pageRouter("user-info.html",JSON.parse(a))}),f7(document).on("click",".video-controls",function(e){var t=f7(this);t.hasClass("video-status-playing")?(t.trigger("pause"),t.removeClass("video-status-playing")):(t.trigger("play"),t.addClass("video-status-playing"))}),app.onPageInit("page-scoreshop",function(e){jsBridge.callNative("onGetScoreItems").then(e=>{e.params.items&&"string"!=typeof e.params.items&&0!=e.params.items.length&&(e=Template7.templates.scoreitemCellTpl(e.params.items),f7("#score-items").html(e))}),f7("#user-coins").html(user.coins),httpfetch("/user/wallet","post").then(e=>{e.coins&&(freshUser(e),f7("#user-coins").html(e.coins))})}),app.onPageInit("page-user-info",function(e){let r=e.context;if(1==(r=r.hasOwnProperty("uid")?r:e.context.url_query).uid)Dlog(r),setTimeout(function(){mainView.router.back()},1e3);else if(r.uid){let s={};function l(){local_sql.execute({table:"like_user",method:"select",where:"uid = "+r.uid,callback:function(e){1==e.status&&0<e.data.length&&f7('.page[data-page = "page-user-info"] .toolbar').remove()}})}function a(e){Dlog(e),s=e;var a=f7('.page[data-page = "page-user-info"] .page-content'),t=a.length;let o=Dom7(a[t-1]);switch(o.find(".user-nickname").html(e.nickname),o.find(".user-avatar").attr("src",e.avatar),e.avatar_big?o.find(".user-avatar").attr("src",e.avatar_big):jsBridge.callNative("onGetUserAvatar",{uid:r.uid}).then(e=>{o.find(".user-avatar").attr("src",e.avatar)}),o.find(".user-intro").html(e.intro),o.find(".user-location").html(e.location),e.age?o.find(".user-age").html(e.age):o.find(".user-age").html(""),e.gender){case 0:o.find(".user-gender").html('<i class="fa fa-genderless"></i>');break;case 1:o.find(".user-gender").html('<i class="color-blue fa fa-mars"></i>');break;case 2:o.find(".user-gender").html('<i class="color-pink fa fa-venus"></i>')}if(e.posts){let t={};a=Template7.compile('{{#each this}}<div class="col-50  flex-center" data-tid="{{tid}}"><div class="post-item" data-tid="{{tid}}">{{#js_if "this.type === \'video\'"}}<video preload autoplay muted  src="{{file}}" poster="poster.png" >{{/js_if}}{{#js_if "this.type === \'image\'"}} <img src="{{file}}"   />{{/js_if}}{{#js_if "this.type === \'text\'"}}<div class="flex-center" style="height:100%;overflow:hidden;">{{content}}</div>{{/js_if}}</div></div>{{/each}}');o.find(".post-album").html(a(e.posts)),app.swiper(".post-swiper",{speed:2e3,loop:!0,autoplay:3e3});e.posts.map(e=>{t[e.tid]=e}),f7(".post-item").on("click",function(){var e=t[f7(this).attr("data-tid")];e.uid=r.uid,pageRouter("topic.html",e)})}let i=Template7.compile('{{#each this}}<div class="col-33" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;"><div class="chip"><div class="chip-label">{{name}}</div></div></div>{{/each}}');if(void 0!==e.taglist&&0<e.taglist.length?o.find(".user-taglist").html(i(e.taglist)):e.review||local_sql.execute({table:"tags",method:"select",where:"id in ("+e.tags+")",callback:function(e){if(Dlog("读取感兴趣的tag",e),1==e.status&&0<e.data.length){for(var t=[],a=0;a<e.data.length;a++)t.push(e.data[a]);o.find(".user-taglist").html(i(t))}}}),void 0!==e.tagusers&&0<e.tagusers.length){t=Template7.templates.userlistCellTpl(e.tagusers);o.find(".tag-users").html(t)}else try{var n=e.tags.split(",");let a="uid <> "+r.uid;
1n.forEach(function(e,t){a=0==t?a+" and ((tags like '%"+e+"%')":a+" or (tags like '%"+e+"%')"}),a+=")",e.review||local_sql.execute({table:"users",method:"select",where:a,callback:function(e){if(Dlog("读取感兴趣的tag",e),1==e.status&&0<e.data.length){for(var t=[],a=0;a<e.data.length;a++)e.data[a].page="user-info.html?uid="+e.data[a].uid,t.push(e.data[a]);var i=Template7.templates.userlistCellTpl(t);o.find(".tag-users").html(i),app.initImagesLazyLoad('.page[data-page = "page-user-info"]')}}})}catch(e){Dlog(e)}setTimeout(function(){app.accordionToggle('.page[data-page = "page-user-info"] .list-block .accordion-item')},1e3),null!=e.tags&&freshUserTags(e.tags),l()}function i(){Dlog("加载用户详情",r),app.showIndicator(),httpfetch("/user/info","post",{uid:r.uid,visitor:user.uid}).then(e=>{app.hideIndicator(),app.pullToRefreshDone();a(e),null!=e.tags&&freshUserTags(e.tags),e.taglist&&e.taglist.forEach(function(e){local_sql.execute({table:"tags",method:"add",data:{id:e.id,name:e.name,add_time:now_time()},callback:function(e){Dlog("sql添加tag信息",e)}})}),l(),"native"==runMode&&(local_sql.execute({table:"users",method:"edit",where:"uid = "+r.uid,data:{nickname:e.nickname,intro:e.intro,gender:e.gender,tags:e.tags},callback:function(e){Dlog("sql更新用户信息",e)}}),local_sql.execute({table:"users",method:"add",data:{uid:r.uid,nickname:e.nickname,intro:e.intro,gender:e.gender,tags:e.tags,location:e.location},callback:function(e){Dlog("sql新增用户信息",e)}}),jsBridge.callNative("onSaveUserAvatar",{uid:e.uid,avatar:e.avatar,fresh:!0}))}).catch(e=>{var t;app.hideIndicator(),app.alert("Get user info fail"),"native"==runMode&&(Dlog("loadFromCache"+(t=r.uid)),local_sql.execute({table:"users",method:"select",where:"uid = "+t,callback:function(e){1==e.status&&0<e.data.length?a(e.data[0]):i()}}))})}Dlog("用户信息页user-info",JSON.stringify(r)),f7(".unlike-link").on("click",function(){if(s.taglist){let a=[{text:"Block uninterested tags",label:!0}];s.taglist.map(e=>{var t={text:e.name,onClick:function(){httpfetch("/user/delete_tag","post",{id:e.id}),unLikeUser(r.uid)}};a.push(t)}),a.push({text:"Cancel",color:"red"}),void app.actions(a)}else unLikeUser(r.uid)}),f7(".report-link").on("click",function(){1!=r.uid&&(app.closeModal(),mainView.router.load({url:"report.html",context:{uid:r.uid}}),isDemoData)&&setTimeout(function(){nativeCallJs({method:"onChatBlockDone",params:{msg:"ok"}})},1500)}),Dom7('.page[data-page = "page-user-info"] .pull-to-refresh-content').on("refresh",function(e){i(r.uid)}),runMode,i(r.uid),f7(".user-reload-link").on("click",function(){i(r.uid)}),f7(".block-link").on("click",function(){1!=r.uid&&(r.uid==user.uid?app.alert("You can not block yourself!"):(app.closeModal(),app.confirm(get_lan("alert-block-user"),function(){callNative("onChatBlock",{uid:r.uid},function(e){"onChatBlockDone"==e.method&&app.closeModal()}),unLikeUser(r.uid)})))})}else app.alert("Invalid User",function(){mainView.router.back()})}),app.onPageInit("page-report",function(e){let t=e.context.uid,a=(t=t||e.context.url_query.uid,e.context.tid);a=a||e.context.url_query.tid;e.context.conversation_id||e.context.url_query.conversation_id;t==user.uid?app.alert("You can not report yourself!",function(){mainView.router.back()}):f7(".report-submit").on("click",function(){app.showIndicator();var e=app.formToJSON("#report-form");httpfetch("/index/report","post",e).then(e=>{app.hideIndicator(),mainView.router.back()}).catch(e=>{appa.alert("report fail")}),0<a&&(e.action="report",httpfetch("/topic/logs","post",e))})}),app.onPageInit("page-search",function(e){let o=e.context.url_query.tab||"user";let i=Template7.compile('{{#each this}}<div  class="col-33" style="overflow:hidden;"><div  data-name="{{name}}" data-tag="{{id}}" {{#if type}} data-type="{{type}}" {{else}} data-type="tag" {{/if}} class="chip tag-item {{#if on}}tag-on bg-green{{/if}}"><div class="chip-label">{{name}}</div></div></div>{{/each}}'),t=Template7.compile('{{#each this}}<li data-name="{{name}}"  data-type="keyword" class="item-content tag-item item-link"><div class="item-inner"><div   {{/if}} class="item-title  {{#if on}}tag-on bg-green{{/if}}">{{name}}</div><div class="item-after"></div></div></li>{{/each}}
1'),a=app.messagebar("#search-messagebar"),n=(()=>{let i="searchHistory";function o(){return JSON.parse(localStorage.getItem(i)||"[]")}return{load:o,add:function(e){var t,a;e&&e.trim()&&(-1<(a=(t=o()).indexOf(e))&&t.splice(a,1),t.unshift(e),3<t.length&&(t.length=3),a=t,localStorage.setItem(i,JSON.stringify(a)))},clear:function(){localStorage.removeItem(i)}}})();var e=n.load();function s(){Dlog("activeSearchMoreLink"),f7(".tag-item").on("click",function(){var e=f7(this),t=e.attr("data-name"),a=e.attr("data-tag"),i=e.attr("data-type");parseInt(e.attr("data-page"));mainView.router.load({url:"index/search-result.html",context:{type:i,tag:a,name:t,tab:o}}),setStorage("search-log",now_time())})}0<e.length?(f7("#search-history").show(),e=e.map(e=>({name:e,type:"keyword"})),Dom7('.page[data-page="page-search"] .search-history').html(i(e)),s()):f7("#search-history").remove(),httpfetch("/tag/hot","post",{row:9}).then(e=>{if(0==e.length)f7("#hot-tags").remove();else{f7("#hot-tags").show(),Dom7('.page[data-page="page-search"] .hot-tags').html(i(e)),s();for(var t=0;t<e.length;t++){var a=e[t];a={id:a.id,name:a.name,cid:a.cid,cname:a.cname,checked:a.checked,status:a.status},local_sql.execute({table:"tags",method:"add",data:a,callback:function(e){Dlog("cache tag",e)}})}}}).catch(e=>{f7("#hot-tags").remove()}),httpfetch("/tag/hotsearch","post",{row:10}).then(e=>{0==e.length?f7("#hot-history").remove():(f7("#hot-history").show(),Dom7('.page[data-page="page-search"] .hot-history ul').html(t(e)),s())}).catch(e=>{f7("#hot-history").remove()}),Dom7("#search-sent-btn").on("click",function(e){var t=a.value();0!==t.length&&(mainView.router.load({url:"index/search-result.html",context:{type:"keyword",name:t=t,tab:o}}),setStorage("search-log",now_time()),n.add(t))})}),app.onPageInit("page-search-result",function(e){e=e.context;let t={type:e.type},n=!1,s=1,r=[],l=1,c=[],p=1,d=[],u=!1,m=!1,g=!1,h="user",a={},i={};function f(){return'<div class="flex-center flex-full">No people found</div>'}function v(){"user"==h&&Dom7(".user-item").on("click",function(e){var t=Dom7(this).attr("data-index"),t=r[t];t.hide&&!isVip()?pageRouter("vip.html"):pageRouter("user-info.html",t)}),"near"==h&&Dom7(".user-item").on("click",function(e){var t=Dom7(this).attr("data-index"),t=d[t];t.hide&&!isVip()?pageRouter("vip.html"):pageRouter("user-info.html",t)}),"post"==h&&Dom7(".topic-item").on("click",function(e){var t=Dom7(this).attr("data-index"),t=c[t];t.hide&&!isVip()?pageRouter("vip.html"):pageRouter("topic/topic.html",t)})}function o(){let o=1;"post"==h&&(t.tab="post",o=l,t.filter=i),"user"==h&&(t.tab="user",o=s,t.filter=a),"near"==h&&(t.tab="near",o=p,t.filter=a,user.geohash?t.geohash=user.geohash:user.currentLocation&&(t.location=user.currentLocation)),1==(t.page=o)&&app.showIndicator(),!isVip()&&5<=o?f7('.page[data-page="page-search-result"] .infinite-scroll-preloader').hide():httpfetch("/index/search","post",t).then(e=>{var t,a,i;app.hideIndicator(),n=!1,"post"==h&&((t=e)&&0<t.length?(t.map(function(e,t){return e.index=t+c.length,!isVip()&&e.hide&&(e.page="vip.html",e.nickname="???",e.avatar="unknown.png",e.location="",e.intro="Vip members only"),e}),a=Template7.templates.topicsTpl(t),1==l?(c=t,Dom7("#search_post_wraper").html(a)):(c=0<c.length?c.concat(t):t,Dom7("#search_post_wraper").append(a)),v()):1==l&&Dom7("#search_post_wraper").html(f())),"user"==h&&(null!=(t=e)&&0<t.length?(t.map(function(e,t){return e.index=t+r.length,!isVip()&&e.hide&&(e.page="vip.html",e.nickname="???",e.avatar="unknown.png",e.location="",e.intro="Vip members only"),e}),a=Template7.templates.userlistCellTpl(t),1==s?(r=t,Dom7("#search_user_wraper").html(a)):(r=0<r.length?r.concat(t):t,Dom7("#search_user_wraper").append(a)),v()):1==s&&Dom7("#search_user_wraper").html(f())),"near"==h&&(null!=(e=e)&&0<e.length?(e.map(function(e,t){return e.index=t+d.length,!isVip()&&e.hide&&(e.page="vip.html",e.nickname="???",e.avatar="unknown.png",e.location="",e.intro="Vip members only"),e}),i=Template7.templates.userlistCellTpl(e),1==p?(d=e,Dom7("#search_near_wraper").html(i)):(d=0<d.length?d.concat(e):e,Dom7("#search_near_wraper").append(i)),v()):1==p&&Dom7("#search_near_wraper").html(f())),"post"==h&&1==o&&(m=!0),"user"==h&&1==o&&(u=!0),"near"==h&&1==o&&(g=!0)}).catch(e=>{app.hideIndicator()})}"tag"==e.type?t.tag=e.tag:t.keyword=e.name,"post"==e.tab&&(h="post",app.showTab("#tab_post","#search-tabs"),f7(".tab-nav .tab-link").removeClass("active"),f7('.tab-nav a[href="#tab_post"]').addClass("active")),f7("#search-tabs .tab").on("tab:show",function(){var e=Dom7(this);if("near"==(h=e.attr("data-tab")))return g?void 0:(app.showIndicator(),getUserLocation().then(e=>{user.currentLocation=e,o(),app.hideIndicator()}).catch(e=>{app.hideIndicator(),app.alert(e.msg||"Get location fail",function(){h="user",app.showTab("#tab_user","#search-tabs"),f7(".tab-nav .tab-link").removeClass("active"),f7('.tab-nav a[href="#tab_user"]').addClass("active")})}),void setTimeout(function(){app.hideIndicator()},1e4));"user"==h&&u||"post"==h&&m||o()}),f7("#search-filter").on("click",function(){Dom7(this);"user"!=h&&"near"!=h||app.popup(".user-filter-popup"),"post"==h&&app.popup(".post-filter-popup")}),o(s),f7(".search-action-link").on("click",function(){app.popup(".filer-popup")}),f7('.page[data-page="page-search-result"] .infinite-scroll-preloader').hide(),f7('.page[data-page="page-search-result"] .infinite-scroll').on("infinite",function(){n||(n=!0,"user"==h&&s++,"post"==h&&l++,"near"==h&&p++,f7('.page[data-page="page-search-result"] .infinite-scroll-preloader').show(),o())}),Dom7("#filter-age-input-range").on("input propertychange",function(){Dom7("#filter-age-input-value").html("18-"+Dom7(this).val())}),Dom7(".filter-submit").on("click",function(){let e=app.formToJSON("#user-filter-form");Dlog("filter-data",e="post"==h?app.formToJSON("#post-filter-form"):e);var t=e;0<e.gender&&(t.gender=e.gender),18<e.age&&(t.age=e.age),18<e&&(t.age=e.age),Dlog("searc-user-filter-data",t),"post"==h?(i=t,l=1):(a=t,s=1),o()})}),app.onPageInit("page-fastchat",function(e){let t=1;e.context;let a=Template7.compile('{{#each cells}}<a  class="col-33 flex-center fast-match-user" data-uid="{{uid}}" data-nickname="{{nickname}}" data-avatar="{{avatar}}" data-intro="{{intro}}" href="#" ><img class="user-avatar-round" src="unknown.png" style="width:50px;height:50px;margin:10px;"></img></a>{{/each}}'),i=function(a){a.addClass(".user-matched"),Dlog("show match cell",a.attr("data-uid")+a.attr("data-nickname")),Dom7(".popup-fastmatch-result .navbar-inner .center").html(a.attr("data-nickname")),Dom7(".fast-match-result img").attr("src",a.attr("data-avatar")),Dom7(".fast-match-result .match-user-intro").html(a.attr("data-intro")),Dom7(".fast-match-result .match-chat-link").attr("data-uid",a.attr("data-uid")),Dom7(".fast-match-result .match-chat-link").attr("data-nickname",a.attr("data-nickname")),Dom7(".match-chat-link").once("click",function(e){Dlog("go fast chat",a.attr("data-uid")+a.attr("data-nickname"));var t={uid:a.attr("data-uid"),nickname:a.attr("data-nickname")};app.closeModal(),pageRouter("chat.html?conversation_id="+t.uid+"&name="+t.nickname,t)}),setTimeout(function(){app.popup(".popup-fastmatch-result")},600),a.transform("rotateY(180deg)").transition(500),a.find("img").attr("src",a.attr("data-avatar"))};if(null==user.tags||0==user.tags.length)return void app.alert(get_lan("tips-set-tags"),function(){mainView.router.back(),setTimeout(function(){mainView.router.loadPage("mytags.html")},1e3)});if(null==user.intro||0==user.intro.length)return void app.alert(get_lan("tips-set-intro"),function(){mainView.router.back(),setTimeout(function(){0<user.uid?mainView.router.load({url:"user-info-edit.html",context:user}):app.loginScreen()},1e3)});function o(){app.showIndicator(),httpfetch("/index/fastmatch","post",{}).then(e=>{app.hideIndicator(),null==e||0==e.length?f7(".fastchat-intro .intro").html("No match here,Please retry"):(getStorage("tips-first-fastchat")||app.actions([{text:'<div style="font-size:1.5rem;font-weight:800;padding:2rem;">Match with people you  interest based on personalized tags<br>Choose someone to start a fast chat immediately, almost  like opening a blind box</div>',label:!0},{text:"Ok",onClick:function(){setStorage("tips-first-fastchat",!0)}}]),Dlog("match cell",e=e),Dom7(".fastchat-intro").hide(),e=a({cells:e}),Dom7('.page[data-page="page-fastchat"] .row').html(e),Dom7(".fast-match-user").on("click",function(e){let t=Dom7(this);var a;t.hasClass("active")||t.hasClass("user-matched")?i(t):getStorage("choose-fast-chat")?costCoins("fastchat").then(e=>{i(t),t.addClass("active")}):(Dlog("fast-match-user",t.attr("data-uid")),a=[{text:"Cost 2 coins",label:!0},{text:get_lan("button-ok"),onClick:function(){costCoins("fastchat").then(e=>{i(t),t.addClass("active"),setStorage("choose-fast-chat",!0)})}},{text:"Recharge",onClick:function(){pageRouter("scoreshop.html")}},{text:"Cancel",color:"red"}],app.actions(a))}))}).catch(e=>{f7(".fastchat-intro .intro").html("No match here,Please retry"),app.showIndicator()})}o(t),Dom7(".fast-more").on("click",function(){Dom7(this).addClass("disabled"),Dom7(this).find("i").addClass("fa-spin"),isVip()?o(++t):mainView.router.loadPage("vip.html")})}),app.onPageInit("page-contacts",function(e){Dom7('.page[data-page = "page-contacts"] .pull-to-refresh-content').on("refresh",function(e){s()});let a={};let t=Template7.compile('{{#each this}}<a href="#" data-uid="{{uid}}
1" class="contact-link item-link"><div class="item-content"><div class="item-media"><img class="lazy" data-src="{{avatar}}" src="unknown.png" style="width:50px;"/></div><div class="item-inner"><div class="item-title">{{nickname}}</div><div class="item-after">{{time}}</div></div></div></a>{{/each}}');function i(){Dom7(".contact-link").on("click",function(){var e=f7(this);pageRouter("contact.html",a[e.attr("data-uid")])})}let o=1,n=!1;function s(){httpfetch("/user/contacts","post",{page:o}).then(e=>{n=!1,app.pullToRefreshDone(),f7('.page[data-page ="page-contacts"] .infinite-scroll-preloader').hide(),0==e.length?(1==o&&f7('.page[data-page="page-contacts"] .no-data').show(),app.detachInfiniteScroll('.page[data-page ="page-contacts"] .infinite-scroll')):(e.map((e,t)=>(e.time=ftime(e.add_time),local_sql.execute({table:"contact",method:"add",data:{uid:user.uid,match_uid:e.uid,nickname:e.nickname,add_time:now_time()}}),a[e.uid]=e)),e=t(e),1==o?Dom7('.page[data-page="page-contacts"] .list-block ul').html(e):Dom7('.page[data-page="page-contacts"] .list-block ul').append(e),setStorage("init-user-contacts",!0),i(),app.initImagesLazyLoad('.page[data-page ="page-contacts"]'))}).catch(e=>{"native"==runMode&&local_sql.execute({table:"contact",method:"select",where:"uid = "+user.uid,callback:function(e){1==e.status&&0<e.data.length&&(e=t(e.data),Dom7('.page[data-page="page-contacts"] .list-block ul').html(e),i())}})})}f7('.page[data-page ="page-contacts"] .infinite-scroll-preloader').hide(),f7('.page[data-page ="page-contacts"] .infinite-scroll').on("infinite",function(){n||(n=!0,f7('.page[data-page ="page-contacts"] .infinite-scroll-preloader').show(),o++,s())}),s()}),app.onPageInit("page-contact",function(e){let t=e.context;(t=t.uid?t:e.context.url_query).uid?(local_sql.execute({table:"contact",method:"select",where:"match_uid = "+t.uid,callback:function(e){1==e.status&&0<e.data.length&&(e=e.data[0],Dom7('.page[data-page="page-contact"] .list-block .contact-remark').html(e.remark))}}),local_sql.execute({table:"users",method:"select",where:"uid = "+t.uid,callback:function(e){1==e.status&&0<e.data.length&&(e=e.data[0],Dom7('.page[data-page="page-contact"] .list-block .contact-intro').html(e.intro))}}),Dom7(".delete-contact").on("click",function(){app.confirm("Delete this user?",function(){local_sql.execute({table:"contact",method:"delete",where:"match_uid = "+t.uid,callback:function(e){1==e.status&&setTimeout(function(){},1e3)}}),httpfetch("/user/delete_contact","post",{match_uid:t.uid}).then(e=>{mainView.router.refreshPreviousPage(),setTimeout(function(){mainView.router.back()},1e3)})},function(){})})):app.alert("Invlid user",function(){mainView.router.back()})}),app.onPageInit("page-new-contact",function(e){let t=e.context;(t=t.uid?t:e.context.url_query).uid?Dom7(".add-contact").on("click",function(){app.showIndicator(),httpfetch("/user/add_contact","post",{match_uid:t.uid}).then(e=>{app.hideIndicator(),pageBack(),local_sql.execute({table:"contact",method:"select",where:{uid:user.uid,match_uid:t.uid},callback:function(e){1==e.status&&0<e.data.length||(t,e={uid:user.uid,match_uid:t.uid,add_time:now_time()},t.nickname&&(e.nickname=t.nickname),t.avatar&&(e.avatar=t.avatar),local_sql.execute({table:"contact",method:"add",data:e,callback:function(e){e.status}}))}})}).catch(e=>{app.hideIndicator(),app.alert(e.msg||"Add fail",function(){pageBack()})})}):app.alert("Invlid user",function(){mainView.router.back()})}),app.onPageInit("page-news",function(e){loadNews().then(e=>{let a=e.news;a.map(function(e,t){return e.index=t,e.time=ftime(e.timestamp),e.page="message/notice.html?msg_id="+e.msg_id,"neworder"==e.news_type&&(e.page="new-order.html"),"match"!=e.news_type&&"match"!=e.msg_type||(e.page="contact.html"),"comment"==e.news_type&&(e.page="topic/comments.html?tid="+e.tid),"broadcast"!=e.news_type&&"broadcast"!=e.msg_type||("video"!=e.filetype&&"image"!=e.filetype||(e.type=e.filetype),e.page="topic.html?tid="+e.tid+"&msg_id="+e.msg_id),"post"!=e.news_type&&"post"!=e.push_type||("video"!=e.filetype&&"image"!=e.filetype||(e.type=e.filetype),e.page="topic.html?tid="+e.tid),"match_apply"==e.news_type&&(e.page="new-contact.html"),"visitme"==e.news_type&&(e.page="user-info.html",e.visitor_uid&&(e.uid=e.visitor_uid),isVip()||(e.page="vip.html")),"likeme"==e.news_type&&(e.page="user-info.html",isVip()||(e.page="vip.html")),"violation"==e.news_type&&(e.page="user-appeal.html"),e});e=Template7.templates.newsCellTpl(a);f7('.page[data-page = "page-news"] .page-content').html(e),f7(".news-item").on("click",function(e){var t=f7(this).attr("data-index"),t=a[t];if(t.uid&&11==t.uid&&delete t.uid,t.link)return-1!==runMode.indexOf("web")?void window.open(t.link):void jsBridge.callNative("onOpenlink",{url:t.link});pageRouter(t.page,t)})})}),app.onPageInit("page-news-info",function(e){console.log("news info",e.context)}),app.onPageInit("page-hinews",function(e){if(null!=user.status&&0==user.status)return void app.alert(get_lan("user-ban-alert"),function(){mainView.router.back(),setTimeout(function(){mainView.router.loadPage("user-appeal.html")},1500)});Dom7('.page[data-page = "page-hinews"] .pull-to-refresh-content').on("refresh",function(e){t=1,i(),f7('.page[data-page ="page-hinews"] .no-data').hide()});let t=1,a=!1;function i(){httpfetch("/user/hinews","post",{page:t}).then(e=>{app.pullToRefreshDone(),a=!1,0==e.length?(1==t&&f7('.page[data-page ="page-hinews"] .no-data').show(),f7('.page[data-page ="page-hinews"] .infinite-scroll-preloader').hide(),app.detachInfiniteScroll('.page[data-page ="page-hinews"] .infinite-scroll')):(e.map(e=>{e.page="user-info.html?uid="+e.uid+"&nickname= "+e.nickname,e.hide&&(e.page="vip.html")}),e=Template7.templates.hinewsCellTpl(e),1==t?Dom7('.page[data-page ="page-hinews"] .list-block ul').html(e):Dom7('.page[data-page ="page-hinews"] .list-block ul').append(e),f7('.page[data-page ="page-hinews"] .infinite-scroll-preloader').hide())})}f7('.page[data-page ="page-hinews"] .infinite-scroll-preloader').hide(),f7('.page[data-page ="page-hinews"] .infinite-scroll').on("infinite",function(){a||(a=!0,f7('.page[data-page ="page-hinews"] .infinite-scroll-preloader').show(),t++,i())}),i()}),app.onPageInit("page-vip",function(e){jsBridge.callNative("onGetVipItems").then(e=>{e.params.items&&"string"!=typeof e.params.items&&0!=e.params.items.length&&e.params.items.every(e=>e.item.includes("vip"))}
1),isVip()&&(f7("#vip-info").html("Your VIP member will expire by: <strong>"+user.vip_expire_date+"</strong>"),httpfetch("/user/vip","post").then(e=>{e.vip&&freshUser(e)})),f7(".coins-vip").on("click",function(){var e=f7(this);e.attr("data-days")?pageRouter("coins-vip.html",{days:e.attr("data-days")}):pageRouter("coins-vip.html")}),e.context.new_vip&&httpfetch("/user/vip","post").then(e=>{e.vip&&freshUser(e)})}),app.onPageInit("page-coins-vip",function(e){e=e.context;e.days&&f7('input[name = "days"]').val(e.days),f7("#user-coins").html(user.coins),f7("#coins-vip-submit").on("click",function(){var e;user.coins<=0?app.alert("No enough coins"):(e=app.formToJSON("#coins-form")).days?e.days<10?app.alert("At least 10 days"):(app.showPreloader(),e.action="vip",e.cost=e.days,httpfetch("/user/cost","post",e).then(e=>{app.hidePreloader(),freshUser(e),e.vip&&f7("#vip-info").html("Your VIP member will expire by: <strong>"+e.vip_expire_date+"</strong>"),mainView.router.back()})):app.alert("Please choose days")})}),app.onPageInit("page-ucenter",function(e){e.context.uid?(Dom7("#ucenter-badge").hide(),f7(".edit-user-info-link").on("click",function(){mainView.router.load({url:"user-info-edit.html",context:{uid:user.uid,nickname:user.nickname,intro:user.intro||"",avatar:user.avatar,age:user.age,gender:user.gender,location:user.location||""}}),f7("#ucenter-edit-badge").hide()}),Dom7(".user-avatar").trigger("lazy"),f7(".edit-user-info-link").on("click",function(){mainView.router.load({url:"user-info-edit.html",context:user}),f7("#ucenter-edit-badge").hide()}),null!=user.avatar&&"user-avatar-default.png"!=user.avatar||f7("#ucenter-edit-badge").show(),null!=user.intro&&0!=user.intro.length||f7("#ucenter-edit-badge").show(),null!=user.nickname&&0!=user.nickname.length||f7("#ucenter-edit-badge").show(),null!=user.gender&&0!=user.gender||f7("#ucenter-edit-badge").show(),null!=user.age&&0!=user.age||f7("#ucenter-edit-badge").show(),f7(".about-link").on("taphold",function(){app.confirm("Are you sure to Clean local sql data?","Clean Data",function(){local_sql.execute({table:"users",where:"like = 1",method:"delete",callback:function(e){Dlog("delete like user "+e)}}),local_sql.execute({table:"like_user",method:"delete",callback:function(e){Dlog("delete like_user "+e)}})},function(){app.alert("You clicked Cancel button")})})):setTimeout(function(){mainView.router.load({url:"ucenter.html",reload:!0,context:user})},500)}),app.onPageInit("page-user-info-edit",function(e){function n(i){app.showIndicator(),httpfetch("/file/initAvatarUp","post",{name:i.name,size:i.size}).then(a=>{if(Dlog("initAvatarUp done",a),"native"==runMode)a.path=i.path,a.name=i.name,a.avatar=!0,jsBridge.callNative("onHttpUpload",a).then(e=>{"onHttpUploadDone"==e.method&&(user.avatar=e.params.url,f7(".user-avatar").attr("src",e.params.thumb_url),freshUser(user),app.hideIndicator(),f7("#avatar-input").val(user.avatar)),"onHttpUploadFail"==e.method&&app.alert(e.params.msg)});else{let t=new FormData;t.append("success_action_status",200),Object.keys(a).map(e=>(t.append(e,a[e]),e)),t.append("file",i);var e=new XMLHttpRequest;e.upload.addEventListener("progress",function(e){e.lengthComputable&&Dlog("上传进度: "+Math.round(100*e.loaded/e.total))},!1),e.addEventListener("load",function(e){app.hideIndicator(),Dlog("上传完成: ",e),200==e.target.status?(Dlog("上传成功: ",e),user.avatar=a.url,f7(".user-avatar").attr("src",a.thumb_url),freshUser(user),app.hideIndicator(),f7("#avatar-input").val(user.avatar)):app.alert("upload fail")},!1),e.addEventListener("error",function(e){app.hideIndicator(),Dlog("上传失败: ",e),app.alert(e.target.responseText)},!1),e.addEventListener("abort",function(e){Dlog("上传取消: ",e),app.hideIndicator()},!1),e.open("POST",a.host),e.send(t)}}).catch(e=>{app.hideIndicator(),app.alert(e.message||"failed")})}function t(){getUserLocation().then(e=>{f7(".user-location").html(e.city||"")}).catch(e=>{"noPermission"==e.reason&&app.confirm("Please authorize access to your location",function(){requestUserLocation().then(e=>{"granted"==e&&mainView.router.refreshPage()})})})}getStorage("user_init")?httpfetch("/user/profile","post").then(e=>{e.uid&&(freshUser(e),f7(".user-avatar").attr("src",e.avatar))}):Dom7('.page[data-page="page-user-info-edit"] .navbar-inner .back').remove(),f7("#avatar-edit-link").on("click",function(){var e=selectFile({type:"image",edit:!0});e.then(a=>
1{if(a.avatar=!0,"web"==runMode||"pcweb"==runMode){var o=a;app.popup(".popup-crop");let t=o.name,e=t.split(".").pop().toLowerCase(),i;loadScript("js/cropper.min.js").then(e=>{var t=new FileReader;t.onload=function(e){var t=window.innerWidth,a=document.getElementById("cropImage");a.src=e.target.result,a.style.display="block",i=new Cropper(a,{aspectRatio:1,viewMode:1,dragMode:"move",scalable:!1,zoomable:!0,cropBoxResizable:!0,toggleDragModeOnDblclick:!1,minCropBoxWidth:t-10})},t.readAsDataURL(o),document.getElementById("cropContainer").style.display="block"}).catch(e=>{n(o),app.closeModal(".popup-crop")}),Dom7("#save-crop").on("click",function(){i.getCroppedCanvas({fillColor:"#fff",imageSmoothingEnabled:!1,imageSmoothingQuality:"high"}).toBlob(function(e){n(new File([e],t,{type:e.type})),app.closeModal(".popup-crop")},"image/"+e)})}else n(a)}),e.catch(e=>{app.alert("Get image fail")})}),f7(".get-user-location").on("click",function(){t()}),user.location||t(),null!=user.gender&&(1==user.gender&&Dom7("#picker-gender").val(get_lan("input-user-gender-male")),2==user.gender)&&Dom7("#picker-gender").val(get_lan("input-user-gender-female")),app.picker({input:"#picker-gender",cols:[{textAlign:"center",values:[get_lan("input-user-gender-male"),get_lan("input-user-gender-female")]}],toolbarTemplate:"<div class='toolbar'><div class='toolbar-inner'><div class='left'></div><div class='right'><a href='#' class='link close-picker'>Done</a></div></div></div>"}),Dom7("#user-info-submit").on("click",function(){let t=app.formToJSON("#user-info-form");null==t.gender?app.alert("Please choose gender"):("男"!=t.gender&&"Male"!=t.gender||(t.gender=1),"女"!=t.gender&&"Female"!=t.gender||(t.gender=2),null==t.nickname||0==t.nickname.length?app.alert("Please input nickname"):null==t.intro||0==t.intro.length?app.alert("Please input about me"):null==t.age||0==t.age?app.alert("Please input age"):80<parseInt(t.age)||parseInt(t.age)<15?app.alert("Invalid age range"):(app.showPreloader(),httpfetch("/user/info_edit","post",t).then(e=>{app.hidePreloader(),setStorage("user_init",!0),t.uid=user.uid,t.hide=!1,freshUser(t),"user-avatar-default.png"==Dom7(".user-avatar").attr("src")?app.confirm(get_lan("sign-tips-avatar-choose"),function(){f7("#avatar-edit-link").trigger("click")},function(){mainView.router.back()}):mainView.router.back()})))})}),app.onPageInit("page-ucenter-album",function(e){function t(e){if(Dlog("开始处理用户相册数据",e),0!=e.length){for(var t=0;t<albums.length;t++){var a=albums[t],i='<img class="album-item-link" src="{{url}}" style="max-height:100%;" data-url="{{url}}" data-id="{{item_id}}"  data-type={{type}} />';"video"==a.type&&(i='<video class="album-item-link" poster="assets/play.png" style="max-height:100%;" src="{{url}}" data-url="{{url}}" data-id="{{item_id}}"  data-type={{type}} ></video>');i=Template7.compile(i)(a);f7('.page[data-page="page-ucenter-album"] .row .item'+t).html(i)}f7(".album-item-link").on("click",function(){var e=f7(this);mainView.router.load({url:"ucenter-album-item.html",context:{id:e.attr("data-id"),type:e.attr("data-type"),url:e.attr("data-url")}})})}}f7('.page[data-page="page-ucenter-album"]  .new-item').on("click",function(){var e=selectFile();e.then(a=>{let i=matchFileSuffixType(a.name);"image"!=i&&"video"!=i?app.alert("Invalid file type"):httpUpload({file:a,name:a.name,size:a.size}).then(e=>{a.type=i,f7("#broadcast-file-uploading").css("display","none"),f7("#broadcast-file").html(fileTplObj(e)),a.url=e.cdnurl||e.url;let t='<img class="album-item-link" style="max-height:100%;" src="{{url}}" data-id="{{item_id}}" data-type="{{type}}"  data-url="{{url}}"/>';"video"==a.type&&(t='<video class="album-item-link" poster="assets/play.png" style="max-height:100%;" src="{{url}}" data-url="{{url}}" data-id="{{item_id}}"  data-type={{type}} ></video>');e=Template7.compile(t)(a);that.parent(".col-50").html(e)}).catch(e=>{app.alert("Upload fail")})}),e.catch(e=>{app.alert("Get file fail")})}),httpfetch("/item/album","post",{}).then(e=>{0<e.length&&t(e)})}),app.onPageInit("page-album-item",function(e){let i=e.container.dataset.id;0!=i&&null!=i||app.alert("invalid item",function(){mainView.router.back()}),local_sql.execute({table:"album_item",method:"select",where:"item_id = "+i,callback:function(e){1==e.status&&0<e.data.length&&(Dlog("查询到的item",e.data),e=e.data[0],f7('.page[data-page="page-album-item"] input[name^="price"] ').val(e.price),f7('.page[data-page="page-album-item"] textarea[name^="intro"] ').val(e.intro))}}),f7(".item-change-link").on("click",function(){callNative("onAlbumItemUpload",{item_id:i},function(e){var t,a;"onAlbumItemUploadDone"==e.method&&(e=e.params,local_sql.execute({table:"album_item",method:"edit",where:"item_id = "+i,data:{url:e.url,type:e.type},callback:function(e){Dlog("变更album item",e)}}),"image"==e.type&&(t='<img src="{{url}}" style="max-width:100%;" />',a=Template7.compile(t)(e),f7('.page[data-page="page-album-item"] .page-content .flex-center').html(a)),"video"==e.type)&&(t='<video src="{{url}}" preload="auto" controls width="100%;" />',a=Template7.compile(t)(e),f7('.page[data-page="page-album-item"] .page-content .flex-center').html(a))})}),f7(".item-delete-link").on("click",function(){app.confirm("Are you sure to delete?",function(){app.showPreloader(),httpfetch("/item/delete","post",{item_id:i}).then(e=>{app.hidePreloader()})})}),f7(".save-link").on("click",function(){app.showPreloader();var e=app.formToJSON("#album-item-form");0!=e.item_id&&null!=e.item_id||app.alert("invalid item"),e.id=e.item_id,httpfetch("/item/edit","post",e).then(e=>{app.hidePreloader(),app.addNotification({title:"edit success",hold:1500,onClose:function(){mainView.router.back()}})}).catch(e=>{app.alert("edit fail")})})}),app.onPageInit("page-user-album",function(e){function n(e){var o=e,n=new Array,t=Template7.templates.userAlbumCellTpl(e);f7('.page[data-page="page-user-album"] .row').html(t);for(var a=0;a<e.length;a++)(0==e[a].price||0<e[a].price&&1==e[a].payed)&&n.push(e[a]);Dlog("初始化相册数据",n),f7(".item-pay-link").on("click",function(){var e=f7(this),t=e.attr("data-itemid"),a=e.attr("data-price"),i=e.attr("data-index");null==user.coins||user.coins<a?app.alert(get_lan("tips-need-coins"),function(){mainView.router.load({url:"scoreshop.html"})}):httpfetch("/item/pay","post",{item_id:t,price:a,to_id:s.uid}).then(e=>{app.addNotification({title:get_lan("tips-action-success"),message:get_lan("tips-item-buy-success"),hold:1500,onClose:function(){f7("#itemmask"+t).remove(),f7("#itemc
1ontent"+t).removeClass("item-blur"),setStorage("item"+t,JSON.stringify({item_id:t,time:now_time()+86300})),n.push(o[i]),Dlog("购买后更新相册数据",n),r.photos(n),user.coins=user.coins-a,freshUser(user),setTimeout(function(){var e=f7("#itemcontent"+t).attr("data-index");Dlog("购买后item索引",e),r.open(e)},1e3)}})})}),r=app.photoBrowser({photos:n,type:"popup",theme:"dark",toolbar:!1,navbarTemplate:'<div class="navbar"><div class="navbar-inner"><div class="left sliding"><a href="#" class="link close-popup photo-browser-close-link "><i class="fa fa-close"></i></a></div><div class="center sliding"><span class="photo-browser-current"></span><span class="photo-browser-of">{{ofText}}</span><span class="photo-browser-total"></span></div><div class="right"></div></div></div>'}),f7(".item-wraper .item-content").on("click",function(){var e;0<n.length&&(e=f7(this).attr("data-index"),r.open(e))})}var s=e.container.dataset,r=null;function t(e){for(var t=new Array,a=0;a<e.length;a++){var i,o=e[a];getStorage("item"+o.item_id)&&JSON.parse(getStorage("item"+o.item_id)).time>now_time()?o.payed=1:o.payed=0,"video"==o.type&&(i=Template7.compile('<video id="itemcontent{{item_id}}" poster="assets/play.png" src="{{url}}"  preload="auto"  playsinline webkit-playsinline="true" x5-video-player-type="h5" controls="controls" x5-video-orientation="portraint" style="object-fit:fill" />'),o.html=i(o)),t.push(o)}n(t)}app.showPreloader(),httpfetch("/item/album","post",{uid:s.uid}).then(e=>{app.hidePreloader(),t(e)})}),app.onPageInit("page-newtag",function(e){null!=user.uid&&0!=user.uid||app.alert("Invlid user",function(){mainView.router.back()});var t,a=user.uid;new Array;f7(".new-tag-link").on("click",function(){0==(t=f7('input[name="tag"]').val()).length?app.alert("Empty  content"):(app.showPreloader(),httpfetch("/user/new_tag","post",{uid:a,tag:t}).then(e=>{app.hidePreloader();let t=e;t.checked=1,local_sql.execute({table:"tags",method:"add",data:{id:t.id,name:t.name,checked:1,add_time:now_time()},callback:function(e){Dlog("add tag",e),user.tags=user.tags+","+t.id,freshUser(user)}});e=Template7.templates.tagCellTpl([t]);f7("#my-tags-list").prepend(e),mainView.router.back()}).catch(e=>{app.alert("add fail")}))})}),app.onPageInit("page-mytags",function(e){let i=function(e){Dlog("my tags",e);e=Template7.templates.tagCellTpl(e);f7("#my-tags-list").html(e),f7(".tag-item").on("change",function(){Dlog("tag click",f7(this));f7(".tag-item").each(function(){f7(this).is(":checked")||f7(this).parent().remove(),f7(this).is(":checked")?t(f7(this).attr("id"),1):t(f7(this).attr("id"),0)})})};function t(e,t){local_sql.execute({table:"tags",method:"edit",where:"id = "+e,data:{checked:t},callback:function(e){Dlog("check_tag tag",e)}})}user.tags&&0!=user.tags.length||setTimeout(function(){mainView.router.load({url:"tags.html"})},1e3),local_sql.execute({table:"tags",method:"select",where:"checked = 1",callback:function(e){if(1==e.status&&0<e.data.length){for(var t=[],a=0;a<e.data.length;a++)t.push(e.data[a]);i(t)}else httpfetch("/user/tags","post",{}).then(e=>{0<e.length&&((e=e).forEach(function(e){e.checked=1}),i(e),e.map(function(e){e={id:e.id,name:e.name,cid:e.cid,cname:e.cname,checked:1,add_time:now_time(),status:e.status},local_sql.execute({table:"tags",method:"add",data:e,callback:function(e){Dlog("cache tag",e)}})}))})}}),f7("#mytags-submit").on("click",function(){var e=app.formToJSON("#my-tag-form");if(e.tags&&0!=e.tags.length){let t=e.tags.join(",");0==t.length?setTimeout(function(){mainView.router.back()},500):(app.showPreloader(),httpfetch("/user/tag_update","post",{tags:t,tag:e.tag}).then(e=>{app.hidePreloader(),mainView.router.back(),user.tags=t,null==user.local_tags&&(user.local_tags=t),freshUser(user)}).catch(e=>{app.alert(" update fail")}))}else app.alert("Tags is empty!")}),f7("#tag-submit-button").on("click",function(){0==(new_tag=f7('input[name="tag"]').val()).length?app.alert("Empty  content"):(app.showPreloader(),httpfetch("/user/new_tag","post",{tag:new_tag}).then(e=>{app.hidePreloader();let t=e;t.checked=1,local_sql.execute({table:"tags",method:"add",data:{id:t.id,name:t.name,checked:1,add_time:now_time()},callback:function(e){Dlog("add tag",e),user.tags=user.tags+","+t.id,freshUser(user)}});e=Template7.templates.tagCellTpl([t]);f7("#my-tags-list").prepend(e),app.closeModal(),mainView.router.back()}))})}),app.onPageInit("page-tags",function(e){e.context;let t=1;var a=new Array;let i=!1,o=[],n=(Dom7(".infinite-scroll-preloader").hide(),Dom7(".infinite-scroll").on("infinite",function(){i||(t++,i=!0,Dom7(".infinite-scroll-preloader").show(),l(t))}),f7(".searchbar")[0].f7Searchbar);f7(".searchbar .search-btn").on("click",function(e){e.preventDefault();e=n.query;e&&httpfetch("/tag/index","post",{name:e,untags:user.tags}).then(e=>{Dom7(".infinite-scroll-preloader").hide(),0<e.length&&(s(e,!0),a.map(function(e){r({id:e.id,name:e.name,add_time:now_time(),status:e.status})}))})});f7('.page[data-page="page-tags"] .searchbar .searchbar-clear').on("click",function(e,t){0<o.length&&s(o)});let s=function(e,t){e=Template7.templates.tagCellTpl(e);f7("#tags-list").show(),t?(t='<li class="list-group-title" set-lan="html:input-tags">Tags</li>'+e,f7("#tags-list").html(t)):f7("#tags-list").append(e),f7(".tag-item").on("change",function(){var e,t;f7(this).is(":checked")&&(t=f7(this).attr("id"),e=f7(this).attr("data-name"),f7("#tag"+t).remove(),t=Template7.templates.tagCellTpl([{id:t,name:e,checked:!0}]),f7("#select-tags-list").append(t))})};function r(e){local_sql.execute({table:"tags",method:"add",data:{id:e.id,name:e.name,hits:e.hits},callback:function(e){Dlog("添加tags sql缓存",e)}})}function l(e){httpfetch("/tag/index","post",{page:e,untags:user.tags}).then(e=>{Dom7(".infinite-scroll-preloader").hide(),0<e.length&&(e=e,s(e),e.map(function(e){o.push(e),r({
1id:e.id,name:e.name,add_time:now_time(),status:e.status})}))})}l(t),f7("#tags-submit").on("click",function(){var e=app.formToJSON("#tags-select-form");if(null!=e.tags&&0<e.tags.length){let t=e.tags;var a=e.tags.join(",");e.tags=a,e.action="select",app.showIndicator(),httpfetch("/user/tag_update","post",e).then(e=>{app.hideIndicator(),t.map(function(e){local_sql.execute({table:"tags",method:"edit",where:"id = "+e,data:{checked:1},callback:function(e){Dlog("check_tag tag",e)}})}),e.tags&&freshUser({tags:e.tags}),mainView.router.refreshPreviousPage()}).catch(e=>{app.hideIndicator()})}setTimeout(function(){mainView.router.back()},500)})}),app.onPageInit("page-interest",function(e){e.context;let o={};e=getStorage("user-interest");function t(i){i.gender&&1==i.gender&&Dom7("#tag-gender-male").prop("checked",!0),i.gender&&2==i.gender&&Dom7("#tag-gender-female").prop("checked",!0),i.gender&&0==i.gender&&Dom7("#tag-gender-both").prop("checked",!0),i.age&&0<i.age&&Dom7("#tag-age-input-value").html("18-"+i.age),Dom7("#tag-age-input-range").on("input propertychange",function(){Dom7("#tag-age-input-value").html("18-"+Dom7(this).val())}),Dom7("#location-match-switch").prop("checked",i.location_first),Dom7("#location-match-switch").on("change",function(e){var t=app.formToJSON("#tags-select-form");t.location=!0===Dom7("#location-match-switch").prop("checked")?1:0,setStorage("tag-location",t.location)}),i.taglist?n(i.taglist):i.tags&&local_sql.execute({table:"tags",method:"select",where:"id in ("+i.tags+")",callback:function(e){if(Dlog("读取感兴趣的tag",e),1==e.status&&0<e.data.length){for(var t=[],a=0;a<e.data.length;a++)t.push(e.data[a]);n(t)}else httpfetch("/tag/index","post",{tags:i.tags}).then(e=>{o.taglist=e,n(o.taglist)})}})}e&&"string"==typeof e&&(t(o=JSON.parse(e)),Dlog("local-interest",e)),e||httpfetch("/tag/interested","post").then(e=>{t(o=e||{})}),e||t({gender:1==user.gender?2:1});let a=Template7.compile('{{#each this}}<li><div class="item-content item-link tag-item" data-id="{{id}}" data-name="{{name}}"><div class="item-inner"><div class="item-title">{{name}}</div><div class="item-after"></div></div></div></li>{{/each}}'),n=function(e){Dlog("展示感兴趣的标签列表",e),e=e.map(function(e){return e.checked=!0,e});e=a(e);f7("#user-tags-group").show(),f7("#user-tags-group").append(e),f7(".tag-item").on("click",function(){let a=f7(this);var e=[{text:get_lan("button-search"),bold:!0,onClick:function(){var e=a.attr("data-id"),t=a.attr("data-name");mainView.router.load({url:"index/search-result.html",context:{tag:e,name:t,type:"tag"}})}},{text:get_lan("button-delete"),color:"red",onClick:function(){var e=a.attr("id");httpfetch("/user/delete_tag","post",{id:e}),local_sql.execute({table:"local_tags",method:"delete",where:"id = "+e,callback:function(e){Dlog("删除感兴趣的tag",e)}}),a.parent().remove()}},{text:get_lan("button-cancle")}];app.actions(e)})};f7("#tags-submit").on("click",function(){var e=app.formToJSON("#tags-select-form");let t={age:0,gender:0,location_first:0};0<e.gender&&(t.gender=e.gender),18<e.age&&(t.age=e.age),t.location_first=!0===Dom7("#location-match-switch").prop("checked")?1:0,null!=e.tags&&0<e.tags.length&&(e=e.tags.join(","),t.tags=e),Dlog("interested_update",t),app.showIndicator(),httpfetch("/user/interested_update","post",t).then(e=>{app.hideIndicator(),setStorage("user-interest",JSON.stringify(t))}).catch(e=>{app.hideIndicator(),app.alert("update fail")}),jsBridgeEvent.fire("onDiscoverChanged"),setTimeout(function(){mainView.router.back()},500)})}),app.onPageInit("page-appeal",function(e){e.container.dataset;e.context&&e.context.noback&&f7(".navbar-inner .back").remove(),Dlog("page-appeal",user.status);let a=parseInt(user.status);1!=a&&Dom7("#main-tabs").remove(),-1==a&&(f7('.page[data-page="page-appeal"] #account-tips').html("Your account has been canceled"),f7('.page[data-page="page-appeal"] #logout-account').show(),f7('.page[data-page="page-appeal"] #logout-account').on("click",function(){logout()})),0==a&&(f7('.page[data-page="page-appeal"] #account-tips').html("Your account has been baned"),f7('.page[data-page="page-appeal"] #delete-account').show()),2==a&&(f7('.page[data-page="page-appeal"] #account-tips').html("Your account has been temporarily suspended"),f7('.page[data-page="page-appeal"] #restore-account').show(),f7('.page[data-page="page-appeal"] #restore-account').on("click",function(){"web"==runMode||"pcweb"
1==runMode?app.alert("Please download the mobile client to complete the operation"):(app.showPreloader(),jsBridge.callNative("onIapPurchase",{product:"account_restore"}).then(e=>{app.alert("Account resume done",function(){window.location.reload()})}))})),httpfetch("/user/appeal","post").then(e=>{e=Template7.compile('{{#each this}}<div id="appeal{{id}}" data-index="{{id}}" data-type="{{type}}" class="fine-link card"><div class="card-content"><div class="card-content-inner">{{content}}</div></div><div class="card-footer"><span>{{add_time}}</span></div></div>{{/each}}')(e);f7('.page[data-page="page-appeal"] .list-block ul').html(e),setLan(),1==a?(f7('.page[data-page="page-appeal"] #account-tips').html("Click to remove violation records"),f7('.page[data-page="page-appeal"] .fine-link').on("click",function(){var t,e=f7(this).attr("data-index");t=e,1==a&&app.confirm("Are you sure to remove this violation record",function(){!user.coins||user.coins<=0||httpfetch("/user/pay_fine","post",{id:t}).then(e=>{f7("#appeal"+t).remove()}).catch(e=>{app.alert(e.msg||"Request fail")})})})):f7('.page[data-page="page-appeal"] #account-tips').hide()})}),app.onPageInit("page-hongbao-media",function(e){var t,a,i=e.context;i.hasOwnProperty("msg_id")&&i.hasOwnProperty("conversation_id")?(t=Template7.compile('<img  class="flex-center "  src="{{url}}"  style="width:100%;" />'),a=Template7.compile('<video class="flex-center "  width="100%"  {{#if thumb_url}} poster="{{thumb_url}}" {{else}} poster="poster.png" {{/if}}  src="{{url}}" />'),Dlog("page-appeal",e),callNative("onLoadMessageFile",{msg_id:i.msg_id,conversation_id:i.conversation_id},function(e){"onLoadMessageFileDone"==e.method&&(e=("image"==e.params.type?t:a)(e.params),f7('.page[data-page="page-hongbao-media"] .content-block').html(e))})):mainView.router.back()}),app.onPageInit("page-about",function(e){"web"==runMode||"pcweb"==runMode?(f7(".app-rate-link").hide(),f7(".app-version").html(appConfig.version)):jsBridge.callNative("onGetAppInfo").then(e=>{f7(".app-name").html(e.params.app_name),f7(".app-version").html(e.params.app_version)})}),app.onPageInit("page-more",function(e){f7("#pass-edit-save").on("click",function(){var e=app.formToData("#form-pass-edit");e.password?(app.showIndicator(),httpfetch("/user/pass_edit","post",e).then(e=>{app.hideIndicator(),app.closeModal()}).catch(e=>{app.hideIndicator(),app.alert(e.msg)})):app.alert("Plaease input a password")}),f7(".logout-link").on("click",function(){app.confirm("logout now?",function(){logout()},function(){})})}),app.onPageInit("page-post",function(e){let a=e.context;if(a.tid||(a=e.context.url_query),null==user.tags||0==user.tags.length)return void app.alert(get_lan("tips-set-tags"),function(){mainView.router.back(),setTimeout(function(){mainView.router.loadPage("mytags.html")},1e3)});if(!user.intro||0==user.intro.length)return void app.alert(get_lan("tips-set-intro"),function(){mainView.router.back(),setTimeout(function(){mainView.router.load({url:"user-info-edit.html",context:user})},1e3)});
1if(1==parseInt(user.hide))return void app.alert(get_lan("tips-set-profile"),function(){mainView.router.back(),setTimeout(function(){mainView.router.load({url:"user-info-edit.html",context:user})},1e3)});Dlog("page-post",a);let i={type:"text",pin:0,broadcast:0};a.tid?(f7('.page[data-page="page-post"] .card').remove(),f7(".add-file-link").remove(),f7("#post-submit").html(get_lan("button-save")),1==parseInt(a.pin)&&f7("#post-pin-switch").prop("checked",!0),a.pin_expire&&parseInt(a.pin_expire)>now_time()&&(f7("#posts-pin .item-after").html(ftime(a.pin_expire)),f7("#posts-pin-switch").remove()),i=a):setTimeout(function(){console.log(111111),f7(".add-file-link").trigger("click")},500);let o;let n=Template7.compile('{{#js_if "this.type === \'video\'"}}<video class="flex-center message-media-link" {{#if width}}width="{{width}}"{{else}} style="width:150px;margin:0 auto;"{{/if}} {{#if height}}height="{{height}}"{{/if}} {{#if fileSrc}} poster="{{fileSrc}}" {{else}} poster="poster.png" {{/if}}  />{{else}} <img  src="{{fileUrl}}" style="width:150px;margin:0 auto;" class="flex-center message-media-link" />{{/js_if}}');function t(){s<=0?f7("#post-cost").html(""):1==s?f7("#post-cost").html("("+s+" coin)"):f7("#post-cost").html("("+s+" coins)")}f7(".add-file-link").on("click",function(){var e=selectFile();e.then(e=>{f7("#post-file-uploading").css("display","inline-block"),f7("#post-submit").addClass("disabled");let t=matchFileSuffixType(e.name);"image"!=t&&"video"!=t?(app.alert("Invalid file type"),f7("#post-file-uploading").css("display","none"),f7("#post-submit").removeClass("disabled")):httpUpload({file:e,name:e.name,size:e.size,path:e.path}).then(e=>{"onHttpUploadFail"==e.method?(f7("#post-file-uploading").css("display","none"),f7("#post-submit").removeClass("disabled")):(t,i.type=t,o=e.cdnurl||e.url,e.fileUrl=o,e.type=t,f7("#post-file-uploading").css("display","none"),f7("#post-file").html(n(e)),f7("#post-submit").removeClass("disabled"),i.file=o)}).catch(e=>{f7("#post-file-uploading").css("display","none"),f7("#post-submit").removeClass("disabled")})}),e.catch(e=>{app.alert("Get file fail")})});let s=0;function r(e){httpfetch("/topic/broadcast","post",e)}function l(){let t=app.formToJSON("#form_topic_post");var e;t={...t,...i},a.tid?(Dlog("post edit参数",t),app.showIndicator(),httpfetch("/topic/edit","post",{tid:a.tid,broadcast:t.broadcast,pin:t.pin,gender:t.gender,pin_post:t.pin_post}).then(e=>{app.hideIndicator(),app.addNotification({message:"Save Success",closeOnClick:!0,hold:1500,onClose:function(){pageBack(),t.broadcast&&r(e)}})}).catch(e=>{app.hideIndicator(),app.alert(e.msg||"Edit failed")})):0==t.content.length?app.alert("Please input something"):(e=match_params(1),(t={...t,...e}).nickname=user.nickname,Dlog("post参数",t),user.geohash&&(t.geohash=user.geohash),user.tags&&(t.tags=user.tags),app.showPreloader("Posting..."),httpfetch("/topic/post","post",t).then(e=>{app.hidePreloader(),app.addNotification({message:"Post Success",closeOnClick:!0,hold:1500,onClose:function(){mainView.router.back(),t.broadcast&&r(e)}})}).catch(e=>{app.hidePreloader(),app.alert(e.msg||"Send failed")}))}f7("#posts-pin-switch").on("change",function(){f7(this).is(":checked")?(i.pin_post=1,f7('.page[data-page="page-post"] .list-block-label').append('<p id="post-pin-posts-tips">This post will be pinned at the top of post page for 24 hours</p>'),s++):(i.pin_post=0,f7('.page[data-page="page-post"] #post-pin-posts-tips').remove(),s--),t()}),f7("#topic-broadcast-switch").on("change",function(){if(f7(this).is(":checked")){if(i.broadcast=1,!isVip())return void f7('.page[data-page="page-post"] .list-block-label').append('<p id="broadcast-tips">'+get_lan("broadcast-tips")+" (cost 2 coins)</p>");f7('.page[data-page="page-post"] .list-block-label').append('<p id="broadcast-tips">'+get_lan("broadcast-tips")+"</p>"),s+=2}else i.broadcast=0,f7('.page[data-page="page-post"] #broadcast-tips').remove(),s-=2;t()}),f7("#post-pin-switch").on("change",function(){f7(this).is(":checked")?(i.pin=1,f7('.page[data-page="page-post"] .list-block-label').append('<p id="post-pin-post-tips">This post will be pinned at the top of your profile page</p>')):(i.pin=0,f7('.page[data-page="page-post"] #post-pin-post-tips').remove())}),f7("#post-fastchat-switch").on("change",function(){f7(this).is(":checked")?(i.chatme=1,f7('.page[data-page="page-post"] .list-block-label').append('<p id="fashtchat-tips">Allow other user to chat with you within 24 hours after the post is published.</p>')):f7('.page[data-page="page-post"] #fashtchat-tips').remove()}),f7("#post-submit").on("click",function(){0<s?(Dlog("cost coins",s),costCoins("",s).then(e=>{l()}).catch(e=>{Dlog("cost err",e)})):l()}),f7(".popup-broadcast-result").on("closed",function(){mainView.router.back(),local_sql.execute({table:"broadcast",method:"select",callback:function(e){1==e.status&&10<e.data.length&&(getStorage("hasrate")||app.confirm(get_lan("tips-apprate"),function(){callNative("onAppRate"),setStorage("hasrate",!0)}))}})})}),app.onPageInit("page-broadcast",function(e){if(Dlog("page-broadcast",e.container.dataset),null==user.tags||0==user.tags.length)app.alert(get_lan("tips-set-tags"),function(){mainView.router.back(),setTimeout(function(){mainView.router.loadPage("mytags.html")},1e3)});else if(user.intro&&0!=user.intro.length){let t={ele:"broadcast-time-countdown",timeloop:null,targetTime:"",showCountdown:function(e){var t,a,i,o,n=document.getElementById(this.ele),s=(new Date).getTime();1e3*this.targetTime<s||(s=(1e3*this.targetTime-s)/1e3,o=r(parseInt(s/86400)),s%=86400,t=r(parseInt(s/3600)),s%=3600,a=r(parseInt(s/60)),s=r(parseInt(s%60)),0==o&&0==t&&0==a&&0==s)?this.stop():n&&(n=(o=n.getElementsByTagName("span"))[0],i=o[1],o=o[2],n.innerHTML=t,i.innerHTML=a,o.innerHTML=s)},start:function(){var e=this;this.timeloop=setInterval(function(){e.showCountdown(e)},1e3),document.getElementById(this.ele).style.display="block"},stop:function(){var e=document.getElementById(this.ele);void(this.targetTime=0)!==this.timeloop&&clearInterval(this.timeloop),e.parentNode.removeChild(e),"function"==typeof this.onStop&&this.onStop(),removeStorage("broadcast_log"),mainView.router.refreshPage()},onStop:null},e=new Date((new Date).toLocaleDateString()).getTime();if(e/=1e3,!isVip()&&getStorage("broadcast_log")&&getStorage("broadcast_log")>=e){Dom7("#broadcast-submit").hide(),Dom7("#form_topic_broadcast").hide();let e=parseInt(getStorage("broadcast_log"))+86400;isDebug&&(e=now_time()+10),t.targetTime=e,t.start()}else{let a={type:"text"};var i,o=Template7.compile('<i class="fa fa-file-image-o"></i>');function n(){var e,t;null!=user.status&&0==user.status||null!=user.status&&2==user.status?app.alert(get_lan("user-ban-alert"),function(){mainView.router.loadPage("user-appeal.html")}):(Dlog("广播数据",e=app.formToJSON("#form_topic_broadcast")),0==e.content.length?app.alert("Please input something"):((t=match_params(1)).content=e.content,t.nickname=user.nickname,0<a.file.length&&(t.file=a.file),t.type=a.type,f7("#topic-pin-switch").is(":checked")&&(t.pin=1),null!=user.local_tags&&0<user.local_tags.length&&(t.tags=user.local_tags),Dlog("广播参数",t),app.showPreloader("Broadcasting..."),httpfetch("/topic/broadcast","post",t).then(e=>{app.hidePreloader(),app.addNotification({message:"Broadcast success",closeOnClick:!0,hold:1500,onClose:function(){mainView.router.back()}})}).catch(e=>{app.hidePreloader(),app.alert(e.msg||"Send failed")})))}f7(".add-file-link").on("click",function(){var e=selectFile();e.then(e=>{f7("#broadcast-file-uploading").css("display","inline-block"),f7("#broadcast-submit").addClass("disabled");
1let t=matchFileSuffixType(e.name);"image"!=t&&"video"!=t?(app.alert("Invalid file type"),f7("#broadcast-file-uploading").css("display","none"),f7("#broadcast-submit").removeClass("disabled")):httpUpload({file:e,name:e.name,size:e.size}).then(e=>{t;a.type=t,f7("#broadcast-file-uploading").css("display","none"),f7("#broadcast-file").html(o(e)),i=e.cdnurl||e.url,f7("#broadcast-submit").removeClass("disabled"),a.file=i}).catch(e=>{app.alert("Upload fail")})}),e.catch(e=>{app.alert("Get file fail")})}),f7("#topic-pin-switch").on("change",function(){let t=f7(this);t.is(":checked")?costCoins("topic").then(e=>{f7('.page[data-page="page-broadcast"] .list-block-label').append('<p id="broadcast-tips">开启此选项,发布的心事会通过广播的方式推送至在线网友;</p>'),a.pin=1}).catch(e=>{t.prop("checked",!1)}):f7('.page[data-page="page-broadcast"] #broadcast-tips').remove()}),f7("#broadcast-submit").on("click",function(){isVip()?n():getStorage("broadcast")&&getStorage("broadcast")>=e?app.alert(get_lan("tips-broadcast-limit"),function(){mainView.router.loadPage("vip.html"),callNative("onScheduleJob",{job:2})}):(n(),setStorage("broadcast_log",now_time()))}),f7(".popup-broadcast-result").on("closed",function(){mainView.router.back(),local_sql.execute({table:"broadcast",method:"select",callback:function(e){1==e.status&&10<e.data.length&&(getStorage("hasrate")||app.confirm(get_lan("tips-apprate"),function(){callNative("onAppRate"),setStorage("hasrate",!0)}))}})})}function r(e){return(e<10?"0":"")+e}}else app.alert(get_lan("tips-set-intro"),function(){mainView.router.back(),setTimeout(function(){mainView.router.load({url:"user-info-edit.html",context:user})},1e3)})}),[]),pinList=[],atList=[],newList=[],likeList=[];
1function topicInfo(e){var e=f7(e).attr("data-context"),t=(Dlog("topicInfo",e),callNative("weblog",e),e=e.replace(/\n/g,"\\n").replace(/\r/g,"\\r"),JSON.parse(e));f7(".popup-topic-info .card-content-inner").html(t.content),f7(".topic-broadcast-link").attr("data-context",e),app.popup(".popup-topic-info")}function addConversation(e){"object"==typeof e&&local_sql.execute({table:"conversation",method:"add",data:e,callback:function(e){Dlog("添加本地会话",e)}})}app.onPageInit("page-topics",function(e){function t(e){Dlog("渲染广告",e);e=Template7.templates.adsTpl(e);Dom7("#like-topic-list").css("margin-top","0px"),Dom7("#topic-ads .swiper-wrapper").html(e),app.swiper("#topic-ads",{speed:2e3,loop:!0,autoplay:3e3});Dom7(".adv-item").on("click",function(){var e=f7(this).attr("url");"native"==runMode?jsBridge.callNative("onOpenLink",{url:e}):window.open(e)})}0<appwalls.length?t(appwalls):httpfetch("/index/appwall","post").then(e=>{0<e.length&&t(e)});let a=!1,i=!1,o=!1,n=!1,s=!1,r=!1,l=!1,c=1,p=1,d=1,u="like";function m(e,t,a){e.map(e=>(e.time=timeFormat(parseInt(e.add_time)),e));e=Template7.templates.topicsTpl(e);a?Dom7('.page[data-page="page-topics"] #'+t+"_topics_wraper").append(e):Dom7('.page[data-page="page-topics"] #'+t+"_topics_wraper").html(e),Dom7(".topic-item").on("click",function(e){var t=f7(this),a=t.attr("data-index"),t=t.attr("data-pin");Dlog("点击topic index:",a);let i=topicList;1==parseInt(t)&&(i=pinList),"at"==u&&(i=atList),Dlog("点击topic:"+(i="new"==u?newList:i).length,i[a]),pageRouter("topic.html",i[a])})}function g(){httpfetch("/topic/index","post",{pin:1}).then(e=>{e.map((e,t)=>(e.index=t,e)),m(e,"pin"),Dlog("pin list",pinList=e)})}function h(e){var t={page:1};if("new"==u){if(i&&!e)return;if(0<newList.length)return void m(newList,u);c=1,t.sort="new"}if("like"==u){if(n)return;if(0<topicList.length)return void m(topicList,u);d=1,t.sort="like",app.showIndicator()}if("at"==u){if(o)return;if(0<atList.length)return void m(atList,u);p=1,t.sort="liked"}httpfetch("/topic/index","post",t).then(e=>{app.pullToRefreshDone(),app.hideIndicator(),e.map((e,t)=>(e.index=t,e)),m(e,u),"new"==u&&(newList=e,i=!0),"like"==u&&(topicList=e,n=!0),"at"==u&&(atList=e,o=!0)}).catch(e=>{app.hideIndicator(),app.pullToRefreshDone()})}function f(){a=!1,f7(".infinite-scroll-preloader").hide()}f7("#topic-tabs .tab").on("tab:show",function(){var e=Dom7(this);u=e.attr("data-tab"),h()}),Dom7('.page[data-page="page-topics"] .pull-to-refresh-content').on("refresh",function(e){"like"==u&&(topicList=[],n=!1,g(),Dlog("fresh at topics",o)),"at"==u&&(atList=[],o=!1),"new"==u&&(newList=[],i=!1),h(!0)}),0==pinList.length?g():m(pinList,"pin"),h(),f7('.page[data-page="page-topics"] .infinite-scroll-preloader').hide(),f7('.page[data-page="page-topics"] .infinite-scroll').on("infinite",function(){if(!a){f7('.page[data-page="page-topics"] .infinite-scroll-preloader').show(),a=!0,"like"==u&&d++,"at"==u&&p++,"new"==u&&c++;{let e="like",t=2;if("new"==u){if(s)return void f();e="new",t=c}if("like"==u){if(l)return void f();e="like",t=d}if("at"==u){if(r)return void f();e="liked",t=p}httpfetch("/topic/index","post",{page:t,sort:e}).then(e=>{f(),0==e.length?("new"==u&&(s=!0),"at"==u&&(r=!0),"like"==u&&(l=!0)):(e.map((e,t)=>("new"==u&&(e.index=t+newList.length),"at"==u&&(e.index=t+atList.length),"like"==u&&(e.index=t+topicList.length),e)),"new"==u&&newList.push(...e),"at"==u&&atList.push(...e),"like"==u&&topicList.push(...e),m(e,u,!0))}).catch(e=>{f()})}}})}),app.onPageInit("page-topic",function(e){Dlog("initpage",e);let a=e.context;function t(e,t){e&&httpfetch("/topic/logs","post",{tid:e,action:t}).then(e=>{e.is_paid&&1==e.is_paid&&(a.chat=!0),e.received&&1==e.received&&(a.chat=!0),e.is_received&&1==e.is_received&&(a.chat=!0)})}function i(e,t){httpfetch("/topic/up","post",{tid:e,author_uid:a.uid,action:t,tags:a.tags})}(a=a.tid?a:e.context.url_query).msg_id||a.tid?((a.post||a.broadcast||a.chat)&&(a.loaded=!0),a.uid&&a.content&&a.file&&a.type&&a.nickname&&a.avatar&&a.add_time&&(a.loaded=!0),a.is_paid&&1==parseInt(a.is_paid)&&(a.chat=!0,delete a.hide),a.received&&(a.chat=!0,delete a.hide),Dom7("#topic-chat-link").on("click",function(){var e;a.chat?(pageRouter("chat.html?conversation_id="+a.uid+"&name="+a.nickname),t(a.tid,"chat")):(e=[{text:get_lan("button-fast-chat"),color:"black",onClick:function(){costCoins("topic",2,{tid:a.tid}).then(e=>{a.chat=!0,pageRouter("chat.html?conversation_id="+a.uid+"&name="+a.nickname)})}},{text:get_lan("button-comment"),color:"black",onClick:function(){app.pickerModal(".picker-comment")}},{text:get_lan("button-cancle"),color:"gray"}],(()=>a.add_time&&a.chatme&&1==parseInt(a.chatme)&&Math.floor(Date.now()/1e3)-parseInt(a.add_time)<86400)()?(console.log("post 闪聊验证通过"),app.actions(e)):app.pickerModal(".picker-comment"))}),Dom7("#topic-up-link").on("click",function(){var e=f7(this);e.hasClass("uped")?(i(a.tid,"unup"),e.removeClass("uped"),e.find("i").removeClass("fa-thumbs-up"),e.find("i").addClass("fa-thumbs-o-up")):(i(a.tid,"up"),e.addClass("uped"),e.find("i").removeClass("fa-thumbs-o-up"),e.find("i").addClass("fa-thumbs-up"))}),Dom7("#comment-submit").on("click",function(){var e=app.formToJSON("#form_comment_post");0==e.content.length?app.alert("input something..."):(app.showIndicator(),e.tid=a.tid,e.author_uid=a.uid,httpfetch("/topic/comment","post",e).then(e=>{app.hideIndicator(),app.closeModal(),setTimeout(function(){pageBack()},1e3)}).catch(e=>{app.hideIndicator(),app.alert(e.msg||"Request fail")}))}),Dom7("#topic-admin-link").on("click",function(){function e(e){e={status:parseInt(e)};app.showIndicator(),e.tid=a.tid,e.author_uid=a.uid,httpfetch("/topic/review","post",e).then(e=>{app.hideIndicator(),setTimeout(function(){mainView.router.back()},1e3)}).catch(e=>{app.hideIndicator(),app.alert(e.msg||"Request fail")})}app.actions([{text:"正常",onClick:function(){e(1)}},{text:"封禁",onClick:function(){e(0)}},{text:"Cancel",color:"red"}])}),jsBridgeEvent.on("onNativeCallJs",function(e){"onLoadTopicFileDone"==e.method&&("image"==e.params.type&&(f7("#topic-img").attr("src",e.params.url),f7("#topic-img").show()),"video"==e.params.type)&&(f7("#topic-video").attr("src",e.params.url),f7("#topic-video").show())}),a.loaded?(console.log("已加载完post"),t(a.tid,"hit")):(console.log("网络加载post"),a.msg_id?(app.showIndicator(),loadNew(a).then(e=>{app.hideIndicator(),e.loaded=!0,setTimeout(function(){mainView.router.load({url:"topic.html",context:e,reload:!0})},1e3)}).catch(e=>{app.hideIndicator(),app.alert("Invalid content",function(){mainView.router.back()})})):a.type&&"text"==a.type?t(a.tid,"hit"):(app.showIndicator(),httpfetch("/topic/info","post",{tid:a.tid}).then(e=>{app.hideIndicator(),e.loaded=!0,e.time=ftime(e.add_time),e.chatme&&(e.chat=!0),e.is_paid&&(e.chat=!0),e.received&&(e.chat=!0),e.is_received&&(e.chat=!0),setTimeout(function(){pageRouter("topic.html",e)},1e3)}).catch(e=>{app.hideIndicator(),app.alert("Invalid content",function(){mainView.router.back()})})))):app.alert("Invalid content",function(){pageBack()})}),app.onPageInit("page-user-post",function(e){let t=e.context.url_query;if(t.uid){let i=[],a=1,e=!1;function o(){httpfetch("/topic/index","post",{sort:"user",uid:t.uid,page:a}).then(e=>{var t;0==e.length?(1==a&&f7("#no-topic").show(),f7(".infinite-scroll-preloader").hide(),app.detachInfiniteScroll('.page[data-page ="page-user-post"] .infinite-scroll')):(f7("#no-topic").hide(),e.map((e,t)=>(e.index=t,e.time=ftime(e.add_time),e)),t=Template7.templates.topicsTpl(e),1==a?(i=e,Dom7('.page[data-page ="page-user-post"] .list-block ul').html(t)):(i=i.concat(e),Dom7('.page[data-page ="page-user-post"] .list-block ul').append(t)),Dom7(".topic-item").on("click",function(e){var t=f7(this),a=t.attr("data-index"),t=t.attr("data-pin");Dlog("点击topic index:",a),1==parseInt(t)&&(list=pinList),Dlog("点击topic:"+i.length,i[a]),pageRouter("topic.html",i[a])}))})}f7('.page[data-page ="page-user-post"] .infinite-scroll-preloader').hide(),f7('.page[data-page ="page-user-post"] .infinite-scroll').on("infinite",function(){e||(e=!0,f7('.page[data-page ="page-user-post"] .infinite-scroll-preloader').show(),a++,o())}),o()}else app.alert("Invalid user",function(){mainView.router.back()})}),app.onPageInit("page-mytopics",function(e){e=e.context;let i=[],a=(Dlog("我的post",e.url_query),1),o=!1;function t(){httpfetch("/user/posts","post",{page:a}).then(e=>{o=!1;var t,e=e.list;0==e.length?(1==a&&f7("#no-topic").show(),f7('.page[data-page ="page-mytopics"] .infinite-scroll-preloader').hide(),app.detachInfiniteScroll('.page[data-page ="page-mytopics"] .infinite-scroll')):(f7("#no-topic").hide(),e.map((e,t)=>(e.index=t,e.nickname=user.nickname,e.avatar=user.avatar,e.time=ftime(e.add_time),e)),t=Template7.templates.myPostTpl(e),1==a?(i=e,Dom7('.page[data-page ="page-mytopics"] .list-block ul').html(t)):(i=i.concat(e),Dom7('.page[data-page ="page-mytopics"] .list-block ul').append(t)),Dom7(".topic-ban").on("click",function(e){let t=f7(this).attr("data-index");var a=i[t];0==a.status&&app.alert("This post has been blocked by the system due to violations",function(){pageRouter("topic/delete.html",i[t])}),2==a.status&&app.alert("This post is in review")}),Dom7(".topic-item").on("click",function(e){var t=f7(this),a=t.attr("data-index"),t=t.attr("data-pin");Dlog("点击topic index:",a),1==parseInt(t)&&(list=pinList),Dlog("点击topic:"+i.length,i[a]),pageRouter("topic.html",i[a])}),f7(".topic-edit").on("click",function(){var e=f7(this).attr("data-index"),e=i[e];mainView.router.load({url:"topic/post.html",context:e})}))})}f7('.page[data-page ="page-mytopics"] .infinite-scroll-preloader').hide(),f7('.page[data-page ="page-mytopics"] .infinite-scroll').on("infinite",function(){o||(o=!0,f7('.page[data-page ="page-mytopics"] .infinite-scroll-preloader').show(),a++,t())}),t()}),app.onPageInit("page-topic-delete",function(e){let t=e.context.url_query;(t=t.tid?t:e.context).tid?f7(".button-delete").on("click",function(){app.showIndicator(),app.confirm("Delete Now?",function(){httpfetch("/topic/delete","post",t).then(e=>{app.hideIndicator(),mainView.router.refreshPreviousPage(),setTimeout(function(){mainView.router.back()},500)}).catch(e=>{app.hideIndicator()})})}):(t=e.context,app.alert("Invalid post"))}),app.onPageInit("page-post-comments",function(e){let t=e.context.url_query,n=[],a=(Dlog("我的post comments",t.url_query),1),i=!1;function o(){(a=a||1)<=1&&app.showIndicator(),httpfetch("/topic/comments","post",{tid:t.tid,page:a}).then(e=>{app.hideIndicator();var t=e.list;i=!1,0==t.length?(1==a&&(f7("#no-comment").show(),f7('.page[data-page ="page-post-comments"] .page-content').hide()),f7('.page[data-page ="page-post-comments"] .infinite-scroll-preloader').hide(),app.detachInfiniteScroll('.page[data-page ="page-post-comments"] .infinite-scroll')):(f7("#total-comments").html(e.total+" comments"),f7("#no-comment").hide(),t.map((e,t)=>(e.index=t,e.time=ftime(e.add_time),e)),e=Template7.templates.topicCommentTpl(t),1==a?(n=t,Dom7('.page[data-page ="page-post-comments"] .list-block ul').html(e)):(n=n.concat(t),Dom7('.page[data-page ="page-post-comments"] .list-block ul').append(e)),f7('.page[data-page ="page-post-comments"] .infinite-scroll-preloader').hide(),Dom7(".comment-item").on("click",function(e){var t;let a=f7(this).attr("data-index"),i=get_lan("button-fast-chat"),o=n[a];o.hide?mainView.router.loadPage("vip.html"):(t=[{text:get_lan("chat-user-info"),color:"black",onClick:function(){mainView.router.load({url:"user-info.html",context:o})}}],o.uid!=user.uid&&(o.chatme?t.push({text:i,color:"black",onClick:function(){var e=n[a];e.conversation_id=e.uid,e.name=e.nickname,pageRouter("chat.html",e)}}):(t.push({text:get_lan("chat-match-apply"),color:"black",onClick:function(){httpfetch("/user/apply_contact","post",{match_uid:o.uid}).then(e=>{app.addNotification({message:"Apply has sent",hold:1500})})}}),i+="(2 coins)",t.push({text:i,color:"black",onClick:function(){let t=n[a];t.conversation_id=t.uid,t.name=t.nickname,costCoins("fastchat",0,{cmt_id:t.cmt_id}).then(e=>{pageRouter("chat.html",t),t.chatme=!0,n[a]=t})}}))),t.push({text:get_lan("button-cancle"),color:"gray"}),app.actions(t))}),app.hideIndicator())}).catch(e=>{app.hideIndicator()})}f7('.page[data-page ="page-post-comments"] .infinite-scroll-preloader').hide(),f7('.page[data-page ="page-post-comments"] .infinite-scroll').on("infinite",function(){i||(i=!0,f7('.page[data-page ="page-post-comments"] .infinite-scroll-preloader').show(),a++,o())}),o()}),app.onPageInit("page-post-likes",function(e){let t=e.context.url_query,n=[],a=(Dlog("我的post like
1s",t.url_query),1),i=!1;let o=Template7.compile('{{#each this}}<a href="#" data-index="{{index}}" class="up-item item-link item-content"><div class="item-inner"><div class="item-title">{{nickname}}</div><div class="item-after">{{time}}</div></div></a>{{/each}}');function s(){httpfetch("/topic/likes","post",{tid:t.tid,page:a}).then(e=>{var t=e.list;i=!1,f7('.page[data-page ="page-post-likes"] .infinite-scroll-preloader').hide(),0==t.length?(1==a&&(f7("#no-like").show(),f7('.page[data-page ="page-post-likes"] .page-content').hide()),app.detachInfiniteScroll('.page[data-page ="page-post-likes"] .infinite-scroll')):(f7("#total-likes").html(e.total+" thumb ups"),f7("#no-like").hide(),t.map((e,t)=>(e.index=t,e.time=ftime(e.add_time),e)),e=o(t),1==a?(n=t,Dom7('.page[data-page ="page-post-likes"] .list-block ul').html(e)):(n=n.concat(t),Dom7('.page[data-page ="page-post-likes"] .list-block ul').append(e)),f7('.page[data-page ="page-post-likes"] .infinite-scroll-preloader').hide(),Dom7(".up-item").on("click",function(e){var t;let a=f7(this).attr("data-index"),i=get_lan("button-fast-chat"),o=n[a];o.hide?mainView.router.loadPage("vip.html"):(Dlog("点击topic like:",a),t=[{text:get_lan("chat-user-info"),color:"black",onClick:function(){mainView.router.load({url:"user-info.html",context:o})}}],o.uid!=user.uid&&(o.chatme?t.push({text:i,color:"black",onClick:function(){let e=n[e];e.conversation_id=e.uid,e.name=e.nickname,pageRouter("chat.html",e)}}):(t.push({text:get_lan("chat-match-apply"),color:"black",onClick:function(){httpfetch("/user/apply_contact","post",{match_uid:o.uid}).then(e=>{app.addNotification({message:"Apply has sent",hold:1500})})}}),i+="(2 coins)",t.push({text:i,color:"black",onClick:function(){let t=n[a];t.conversation_id=t.uid,t.name=t.nickname,costCoins("fastchat",0,{up_id:t.up_id}).then(e=>{pageRouter("chat.html",t),t.chatme=!0,t[a]=t})}}))),t.push({text:get_lan("button-cancle"),color:"gray"}),app.actions(t))}))})}f7('.page[data-page ="page-post-likes"] .infinite-scroll-preloader').hide(),f7('.page[data-page ="page-post-likes"] .infinite-scroll').on("infinite",function(){i||(i=!0,f7('.page[data-page ="page-post-likes"] .infinite-scroll-preloader').show(),a++,s())}),s()}),local_sql.addTable("conversation",[{name:"conversation_id",type:"text",value:"UNIQUE"},{name:"type",type:"text"},{name:"uid",type:"text"},{name:"name",type:"text"},{name:"avatar",type:"text"},{name:"content",type:"text"},{name:"time",type:"text"},{name:"timestamp",type:"int"},{name:"unreads",type:"int"},{name:"pin",type:"int"},{name:"last_msg",type:"text"}]);var conversationList=[];app.onPageInit("page-messages",function(e){if(isLogin()){f7(".feedback-link").on("click",function(){pageRouter("chat.html?conversation_id=1&name=Feedback")});let i=function(){f7(".conversation-link").on("click",function(){f7(this).find("span").hide()}),f7(".delete-chat-link").on("click",function(){let t=f7(this);app.confirm("Delete this conversation?",function(){deleteTimConversation({conversation_id:t.attr("data-id"),type:"single"}).then(e=>{httpfetch("/message/delete_conversation","post",{conversation_id:t.attr("data-id")}),f7("#conversation"+t.attr("data-id")).remove()})}),delete conversationList[conversationId]}),f7(".clean-chat-link").on("click",function(){let t=f7(this);cleanTimConversation({conversation_id:t.attr("data-id"),type:"single"}).then(e=>{f7("#conversation"+t.attr("data-id")).remove()})})},o=function(e,t){Dlog("loadConversationCallback",e),e.map(e=>(e.time=ftime(e.timestamp),e));var a=Template7.templates.conversationCellTpl(e);t?f7("#conversation-list").append(a):f7("#conversation-list").html(a),i(),e.map(e=>{var t,a;return!(e=>{try{return"https:"===new URL(e).protocol}catch(e){}})(e.avatar)||(t=!(t=(t=e.avatar).match(/[?&]q-key-time=([^&]+)/))||([t,a]=t[1].split(";"),t=Number(t),a=Number(a),isNaN(t))||isNaN(a)?null:{start:t,end:a},a=Math.floor(Date.now()/1e3),!t)||a>t.end?n(e.conversation_id):f7("#conversation"+conversation_id).find("img").attr("src",e.avatar),e})};function n(t){jsBridge.callNative("onGetUserAvatar",{uid:t}).then(e=>{e.params.avatar&&f7("#conversation"+t).find("img").attr("src",e.params.avatar)})}function t(e){Dlog("loadSqlConversations","加载sql对话记录"),local_sql.execute({table:"conversation",method:"select",callback:function(t){if(1==t.status&&0<t.data.length){var a=new Array;for(let e=0;e<t.data.length;e++){var i=t.data[e];conversationList[i.conversation_id]||1!=i.conversation_id&&(a.push(i),conversationList[i.conversation_id]=i)}Dlog("sql chats",t.data),e?o(a):o(a,!0)}else f7("no-data").show()}})}function a(){loadTimConversations({uid:user.uid}).then(e=>{Dlog("加载tim对话历史成功",e),e.conversations&&0<e.conversations.length?(o(e.conversations),t(),e.conversations.map(e=>{conversationList[e.conversation_id]=e})):t(!0),e.news&&0<e.news&&(f7(".news-link span").html(e.news),f7(".news-link span").show(),f7(".news-link").on("click",function(){f7(this).find("span").hide()})),e.feedbacknews&&0<e.feedbacknews&&(f7(".feedback-link span").html(e.feedbacknews),f7(".feedback-link span").show(),f7(".feedback-link").on("click",function(){f7(this).find("span").hide()}))}).catch(e=>{Dlog("加载tim对话历史失败",e),t()})}function s(){var e=[];
1if(0!=Object.keys(conversationList).length)for(var t in conversationList)e.push(conversationList[t]);return e}jsBridgeEvent.on("onTimInit",function(e){a()}),jsBridgeEvent.on("onNativeCallJs",function(t){if("onLoadUserAvatarDone"==t.method&&(a=t.params.conversation_id,f7("#conversation"+a+" img").attr("src",t.params.src)),"onNewConversation"==t.method&&t.params.chats.forEach(function(e,t){0<f7("#conversation-list").find("#conversation"+e.conversation_id).length&&(a=f7("#conversation"+e.conversation_id+" .item-media span").html(),a=isNaN(a)?0:a,e.unreads=parseInt(a)+1,f7("#conversation"+e.conversation_id).remove()),conversationList[e.conversation_id]=e;var a=Template7.templates.conversationCellTpl([e]);f7("#conversation-list").prepend(a),i()}),"onConversationChanged"==t.method&&t.params.chats.forEach(function(e,t){var a=e.conversation_id;f7("#conversation"+a+" .item-media span").show(),f7("#conversation"+a+" .item-media span").html(isNaN(e.unreads)?1:e.unreads),f7("#conversation"+a+" .item-subtitle").html(e.content),f7("#conversation"+a+" .item-after").html(e.time)}),"onConversationsUpdate"==t.method){let e=null;if("string"==typeof t.params.conversations)e=JSON.parse(t.params.conversations);else{if("object"!=typeof t.params.conversations)return;e=t.params.conversations}e.map(e=>{conversationList[e.conversation_id]=e});var a=Template7.templates.conversationCellTpl(s());f7("#conversation-list").html(a),i(),null!=t.params.news&&0<t.params.news&&(f7(".news-link span").html(t.params.news),f7(".news-link span").show(),f7(".news-link").on("click",function(){f7(this).find("span").hide()})),null!=t.params.feedbacknews&&0<t.params.feedbacknews&&(f7(".feedback-link span").html(t.params.feedbacknews),f7(".feedback-link span").show(),f7(".feedback-link").on("click",function(){f7(this).find("span").hide()}))}}),0==Object.keys(conversationList).length?a():o(s())}else app.loginScreen()}),app.onPageInit("page-conversations",function(e){Dlog("我的conversationss",e.context);let i=1,o=!1;function t(){let t=f7('.page[data-page ="page-conversations"]'),a=t.find(".list-block url");httpfetch("/message/conversationss","post",{page:i}).then(e=>{var e=e.list;o=!1,0==e.length?(1==i&&t.find(".no-data").show(),t.find(".infinite-scroll-preloader").hide(),app.detachInfiniteScroll('.page[data-page ="page-conversations"] .infinite-scroll')):(e=Template7.templates.conversationCellTpl(e),1==i?a.html(e):a.append(e),f7('.page[data-page ="page-conversations"] .infinite-scroll-preloader').hide())})}f7('.page[data-page ="page-conversations"] .infinite-scroll-preloader').hide(),f7('.page[data-page ="page-conversations"] .infinite-scroll').on("infinite",function(){o||(o=!0,f7('.page[data-page ="page-post-comments"] .infinite-scroll-preloader').show(),i++,t())}),t()}),app.onPageAfterBack("page-chat",function(e){Dlog("退出聊天页",e),nextReqMessageID=null}),app.onPageInit("page-chat",function(o){if(Dlog("进入聊天页",user),!isLogin())return void app.loginScreen();let t=o.context,n=(Dlog("chat page DATA",t=null!=t.conversation_id&&""!=t.conversation_id?t:o.context.url_query),t.conversation_id),i=t.name;let s=t.type||"single";null!=s&&""!=s&&isNaN(s)||(s="single"),null!=n&&""!=n&&0!=n||app.alert(get_lan("tips-invlid-conversation"),function(){mainView.router.back()}),Dom7("#video-call-message").on("click",function(){var e={uid:user.uid,nickname:user.nickname,avatar:user.avatar};let t={uid:n,nickname:i},a="wp"+n;sendTimMessage({msg_id:111,conversation_id:n,type:"custom",data:{type:"cmd",command:"video_call",room_id:a,roomId:a,user:e,target:t}}).then(e=>{videoCall({target:t,onCall:!1,room_id:a})}).catch(e=>{app.alert("tim消息发送失败"+e.msg)})}),1!=n&&"bot1"!=n||(Dom7("#video-call-message").hide(),Dom7(".chat-action-link").hide(),loadScript("js/marked.min.js").then(e=>{console.log("加载marked.min.js成功")})),"web"!=runMode&&runMode;let a=1,r=(cleanTimConversationUnreads(n),"group"==s&&callNative("onJoinGroup",{group_id:n},function(e){e.method}),f7(".chat-tool-item").on("click",function(){app.closeModal(".chat-tool-picker");var e=f7(this).attr("data-type");if("image"==e){let t={msg_id:"file"+a,type:"image"};selectFile({type:"image",scene:"message"}).then(e=>{t.type=e.fileType,t.filepath=e.path,t.file=e.data?base64ToFile(e.data,"msgimage.png"):e,d(t)}).catch(e=>{Dlog("发送媒体消息失败",e)})}if("video"==e){let t={msg_id:"file"+a,type:"video"};selectFile({type:"video",scene:"message"}).then(e=>
1{Dlog("获取到视频",e),t.type="video",t.filepath=e.path,e.data&&0<e.data.length?t.file=base64ToFile(e.data,"msgvideo.mp4"):t.file=e,d(t)}).catch(e=>{Dlog("发送媒体消息失败",e)})}if("report"==e){if(1==n)return;mainView.router.loadPage("report.html?uid="+n+"&chat=1")}if("user"==e){if(1==n)return;mainView.router.loadPage("user.html?uid="+n)}if("bot"==e){if(1==n)return;mainView.router.loadPage("bot.html?bot_id="+t.bot_id)}"save"==e&&httpfetch("/aibot/like","post",{bot_id:t.bot_id}).then(e=>{app.addNotification({title:"Success",subtitle:e.msg||"Save success",hold:2e3})}),"rate"==e&&t.bot_id&&mainView.router.loadPage("bot/rate.html?id="+t.bot_id)}),f7(".chat-action-link").on("click",function(){pageRouter("chat-config.html?conversation_id="+n)}),app.messages("#chat-layout",{autoLayout:!0})),l=app.messagebar("#chat-toolbar"),c=(f7("#chat-message-input").on("input",function(){0<l.value().length?f7("#chat-sent-btn").show():f7("#chat-sent-btn").hide()}),f7("#chat-message-input").on("blur",function(){0<l.value().length?f7("#chat-sent-btn").show():f7("#chat-sent-btn").hide()}),app.photoBrowser({photos:o.context.messageFileData,theme:"dark",toolbar:!1,navbar:!1,loop:!0,lazyLoading:!0,objectTemplate:'<div  {{#if this.msg_id}} id="photo{{this.msg_id}}" {{/if}} class="photo-browser-slide photo-browser-object-slide swiper-slide"><a class="icon link close-popup photo-browser-close-link " style="z-index:1000;width:30px;height:30px;position:absolute;left:10px;top:10px;"><i style="width:20px;height:30px;" class="fa fa-lg color-white fa-close"></i></a>{{js "this.html || this"}}</div>',onSlideChangeEnd:function(e){e.activeIndex>h.length&&(e.activeIndex=1);e=h[e.activeIndex-1];null!=e&&null==e.url&&callNative("onLoadMessageFile",{msg_id:e.msg_id,conversation_id:n})},onClick:function(e,t){e.activeIndex>h.length&&(e.activeIndex=1);e=h[e.activeIndex-1];null!=e&&"image"==e.type&&c.close()}}));o.context.photoBrowser=c;Template7.compile('{{#js_if "this.type === \'video\' || this.media_type === \'video\'"}}<video class="flex-center message-media-link" {{#if width}}width="{{width}}"{{else}} style="max-width:20vw;"{{/if}} {{#if height}}height="{{height}}"{{/if}} {{#if fileSrc}} poster="{{fileSrc}}" {{else}} poster="poster.png" {{/if}}  id="media{{msg_id}}" data-msgid="{{msg_id}}" data-index="{{msg_id}}" />{{else}} <img id="media{{msg_id}}" data-msgid="{{msg_id}}" data-index="{{msg_id}}" {{#if fileSrc}} src="{{fileSrc}}" {{else}} src="{{content}}"{{/if}} style="width:30vw;" class="flex-center message-media-link" />{{/js_if}}{{#if price}}<div style="color:white;font-size:20px;"><i class="icon icon-coins"></i>{{price}}</div>{{/if}}'),Template7.compile('<div class="flex-center message-file-link" style="max-width:20vw;" {{#if height}}height="{{height}}">{{#js_if "this.type === \'ppt\'"}}<i class="fa fa-file-powerpoint-o"></i>{{/js_if}}</div>');f7(document).on("click",".message-image-link, .message-video-link, .message-media-link",function(e){let a=f7(this),i=0;h.map(function(e,t){e.msg_id==a.attr("data-index")&&(i=t)}),c.open(i)}),f7(document).on("click",".message-name",function(e){var t,a,i;"group"==s&&(t=Dom7(this).attr("data-uid"),a=[{text:get_lan("chat-user-info"),color:"black",onClick:function(){mainView.router.load({url:"user.html",context:{uid:t}})}},{text:get_lan("report-user-cell-title"),color:"black",onClick:function(){mainView.router.load({url:"report.html",context:{uid:t}})}}],i=[{text:get_lan("report-user-cell-title"),color:"black",onClick:function(){mainView.router.load({url:"report.html",context:{uid:t}})}},{text:get_lan("remove-user-cell-title"),color:"black",onClick:function(){app.confirm(get_lan("alert-remove-member"),function(){callNative("onRemoveGroupMember",{uid:t,group_id:n},function(e){e.method})})}}],o.context.is_owner?app.actions(i):app.actions(a))});let p=function(e){var t=Template7.compile('<img id="media{{msg_id}}" data-index={{msg_id}} class="flex-center message-media-link"  src="{{#if thumb_url}}{{thumb_url}}{{else}}message-image-default.gif{{/if}}"  style="width:30vw;" />'),a=Template7.compile('<video id="media{{msg_id}}" data-index={{msg_id}} class="flex-center message-media-link"  style="max-width:30vw;"  {{#if thumb_url}} poster="{{thumb_url}}" {{else}} poster="poster.png" {{/if}}  {{#if url}}src="{{url}}"{{/if}} />');return"group"==s&&(e.name=e.nickname,e.avatar=e.avatar),null==e.direction&&(e.direction="received"),"image"==e.type?(e.hasImage=!0,e.content=t(e)):"tips"==e.type?e.tips=!0:"video"==e.type?(e.hasImage=!0,e.content=a(e)):"hongbao"==e.type?(e.hasImage=!0,e.content=Template7.templates.hongbaoMessageTpl({message:e.message,coins:e.coins})):"hongbao_media"==e.type&&(e.hasImage=!0,e.content=Template7.templates.hongbaoMediaCellTpl(e)),1==n&&"received"==e.direction&&(e.content=marked.parse(e.content)),e};function d(e){null==e.msg_id&&(e.msg_id="temp"+a,a++),e.direction="sent",e.uid=""+user.uid,e.nickname=user.nickname,e.avatar=user.avatar,e.conversation_id=n,e.conversation_type=s,e.message_type=e.type,e.to_uid=0,"single"==s?(e.to_uid=""+n,e.conversation_name=user.nickname):e.conversation_name=i;var t=p(e),t=(t.label='<span class="preloader message-send-preloader"></span>',r.addMessage(t),sendTimMessage(e));t.then(e=>{jsBridgeEvent.fire("onNativeCallJs",{method:"onSendMessageDone",params:e})}),t.catch(e=>{console.log("发送err",e),app.alert(e.msg||"发送失败")})}function u(e){var t=Template7.compile('<video src="{{#if url}}{{url}}{{/if}}
1" controls="controls" width="100%" preload="auto" {{#if thmub_url}} poster="{{thmub_url}}" />'),a=Template7.compile('<img style="width:100%;" src="{{#if url}}{{url}}{{else}}{{thumb_url}}{{/if}}"  />');return null!=e.thumb_url&&0!=e.thumb_url.length||(e.thumb_url="message-image-default.gif",callNative("onLoadMessageThumbImage",{msg_id:e.msg_id,conversation_id:e.conversation_id})),e.html=("video"==e.type?t:a)(e),"hongbao_media"==e.type&&("video"==e.media_type?e.html=t(e):e.html=a(e),e.type=e.media_type),e}function m(e){Dom7(".new-match-apply").on("click",function(){mainView.router.load({url:"new-contact.html",context:e})})}o.context.parseMessage=p,Dom7("#chat-sent-btn").on("click",function(e){var t=l.value();0===t.length?app.alert("Please input something"):(f7("#chat-sent-btn").hide(),d({msg_id:"text"+a,type:"text",content:t}))}),jsBridgeEvent.on("onNativeCallJs",function(e){if("object"==typeof e.params){var a,t;if("onSendMessageDone"==e.method&&(a=e.params,(i=f7("#msg"+a.temp_msg_id)).find(".message-label").remove(),i.attr("id","msg"+a.msg_id),g.push(a),"image"!=a.type&&"video"!=a.type&&"hongbao_media"!=a.type||(h.push(u(a)),c.photos(h),i.find(".message-media-link").attr("id","media"+a.msg_id),i.find(".message-media-link").attr("data-index",a.msg_id),"image"!=a.type&&"image"!=a.media_type||i.find(".message-media-link").attr("src",a.thumb_url),!a.thumb_url)||"video"!=a.type&&"video"!=a.media_type||i.find(".message-media-link").attr("poster",a.thumb_url),"hongbao"==a.type&&(a.extra=JSON.stringify({message:a.message,coins:a.coins})),"hongbao_media"==a.type&&(a.extra=JSON.stringify({price:a.price,media_type:a.media_type})),l.clear(),f7(".messagebar textarea").attr("placeholder","Say something...")),"onSendMessageFail"==e.method&&(null!=(i=e.params).temp_msg_id?((a=f7("#msg"+i.temp_msg_id)).find(".message-label span").remove(),a.find(".message-label").html('<i class="resent-msg-link color-pink fa fa-exclamation-triangle"></i>')):(f7(".message-label span").remove(),app.alert(i.msg))),"onReceiveMessage"==e.method&&"object"==typeof e.params){let t=e.params;if(Dlog("聊天页面收到新消息",t),t.conversation_type!=s||t.conversation_id!=n)return void Dlog("新消息类型和id不对",t.conversation_type+t.conversation_id);if("group"==t.conversation_type||t.uid==user.uid)return void Dlog("新群消息发给了个人",t.conversation_type+t.conversation_id);if(delete t.label,t.direction="received","hongbao"==t.type&&(t.extra=JSON.stringify({message:t.message,coins:t.coins})),"hongbao_media"==t.type&&(t.extra=JSON.stringify({price:t.price,media_type:t.media_type})),"push"==t.type)return void("match_apply"==t.push_type&&(r.addMessage({tip:t.nickname+' want to add you as a friend <a style="color:blue;" class="new-match-apply" href="#"> Detail</a>'}),m(t),app.confirm(t.nickname+" want to add you as a friend",function(){mainView.router.load({url:"new-contact.html",context:t})})));if("custom"==t.type){let e=t.data;return"cmd"==e.type&&"aibot_message"==e.command&&("stop"==e.data.status?(f7("#bot-reply").remove(),cleanTimConversationUnreads(n)):"error"==e.data.status?(f7("#bot-reply").remove(),app.alert(e.data.error||"Unknown error")):(f7("#bot-reply .message-text").html(e.data.body.text),a=f7(".messages-content").scrollTop(),f7(".messages-content").scrollTop(a+10))),"cmd"==e.type&&"match_apply"==e.command&&(r.addMessage({tip:e.nickname+' want to add you as a friend <a style="color:blue;" class="new-match-apply" href="#"> Detail</a>'}),m(e),app.confirm(e.nickname+" want to add you as a friend",function(){mainView.router.load({url:"new-contact.html",context:e})})),"cmd"==e.type&&"match"==e.command&&r.addMessage({tip:e.nickname+" has agree to add you as a friend"}),void deleteTimMessage(t.msg_id)}g.push(t);var i=p(t);r.addMessages([i],void 0,!0,function(e){"image"!=t.type&&"video"!=t.type||(h.push(u(t)),c.photos(h),f7("#media"+t.msg_id).attr("data-index",t.msg_id))})}"onLoadMessageThumbImageDone"==e.method&&"object"==typeof e.params&&(t=e.params,o.context.messageFileData=o.context.messageFileData.map(function(e){return e.msg_id==t.msg_id&&(e.thumb_url=t.thumb_url,null==e.url&&(e.url=t.thumb_url),e=u(t)),e}
1),c.photos(o.context.messageFileData),"image"==t.type&&f7("#media"+t.msg_id).attr("src",t.thumb_url),"video"==t.type)&&f7("#media"+t.msg_id).attr("poster",t.thumb_url),"onLoadMessageFileDone"==e.method&&"object"==typeof e.params&&(t=e.params,o.context.messageFileData=o.context.messageFileData.map(function(e){return e.msg_id==t.msg_id&&(e.url=t.url,e=u(t)),e}),c.photos(o.context.messageFileData))}});let g=[],h=[],f=1;function v(t){Dlog("加载聊天记录",t),loadTimMessages({conversation_id:n,page:t}).then(e=>{Dlog("加载聊天回调",e),app.pullToRefreshDone(),0==e.length&&1==t?httpfetch("/message/tip","post",{tags:user.tags,conversation_id:n}).then(e=>{e.tip&&r.addMessage({type:"tips",tip:e.tip,content:e.tip,direction:"received"}),e.tags&&(t=Template7.compile('{{#each this}}<div class="col-33" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;"><div class="chip"><div class="chip-label">{{name}}</div></div></div>{{/each}}'),f7("#chat-tags .row").html(t(e.tags)),f7("#chat-tags").show());var t={conversation_id:n,type:s,uid:user.uid+"",name:i,timestamp:now_time(),unreads:0};e.profile&&(e.profile.nickname&&(t.name=e.profile.nickname),e.profile.avatar)&&(t.avatar=e.profile.avatar),addConversation(t)}):(e=e.map(function(e){g.push(e);var t=p(e);return"image"!=e.type&&"video"!=e.type||h.push(u(e)),t}),1==t?(Dlog("展示消息列表",e),r.addMessages(e)):r.addMessages(e,"prepend"),
10<h.length&&c.photos(h))})}f7('.page[data-page="page-chat"] .pull-to-refresh-content').on("refresh",function(e){v(++f)}),v(f)}),app.onPageInit("page-chat-config",function(e){let t=e.context.url_query;Dom7('.page[data-page = "page-chat-config"] .clean-history').on("click",function(){app.confirm("Are you sure to clear the chat history?",function(){cleanTimConversation(t).then(e=>{app.addNotification({title:"Success",message:"Clean Success",hold:1500}),mainView.router.refreshPreviousPage()})})}),Dom7('.page[data-page = "page-chat-config"] .block-user').on("click",function(){app.confirm("After blocking, you will no longer receive chat messages from this user",function(){blockTimUser({uid:t.conversation_id}).then(e=>{app.addNotification({title:"Success",message:"Block Success",hold:1500,onClose:function(){mainView.router.back()}})})})}),f7(".add-friend").on("click",function(){app.confirm("Apply to add this user as a match friend?",function(){httpfetch("/user/apply_contact","post",{match_uid:t.conversation_id,chat:!0}).then(e=>{mainView.router.back()}),f7(".add-friend").remove()})}),local_sql.execute({method:"select",table:"contact",where:"uid = "+user.uid+" & match_uid = "+t.conversation_id,callback:function(e){1==e.status&&0<e.data.length||f7(".add-friend").show()}})}),app.onPageBeforeInit("page-call",function(e){let t=e.context;(t=null!=t.room_id&&""!=t.room_id?t:e.context.url_query).onCall&&user.inCall&&(app.alert("Call is busy",function(){mainView.router.back()}),sendTimMessage({msg_id:111,conversation_id:t.target.uid,type:"custom",data:{type:"cmd",command:"video_call_busy",room_id:t.room_id}}).then(e=>{Dlog("通话忙线中直接拒绝")}).catch(e=>{Dlog("通话忙线中直接拒绝发送失败")}))}),app.onPageAfterBack("page-call",function(e){user.inCall&&(user.inCall=!1,freshUser(user))}),app.onPageInit("page-call",function(e){if(!isLogin())return void app.loginScreen();let a=e.context;function i(){l=!0,Dom7("#call-wait").remove(),Dom7("#call-view").show(),clearInterval(d)}Dlog("进入视频页",a=null!=a.room_id&&""!=a.room_id?a:e.context.url_query),user.inCall=!0,freshUser(user),jsBridgeEvent.on("onNativeCallJs",function(e){"onVideoCallFail"==e.method&&app.alert("call is "+e.params.reason,function(){g()})}),Dom7("#call-reject").on("click",function(){l||sendTimMessage({msg_id:111,conversation_id:n,type:"custom",data:{type:"cmd",command:"video_call_reject",room_id:c}}).then(e=>{Dlog("通话直接拒绝")}).catch(e=>{app.alert("tim消息发送失败"+e.msg)}),mainView.router.back()}),Dom7("#call-accept").on("click",function(){m(c,(p,n))}),Dom7("#call-handup").on("click",function(){g()});let t=user.uid,o={client:{},localDevices:{},receiveCall:!1,dlog:function(e){console.log("trtc",e)}},n,s,r,l,c,p="wp",d,u=0;function m(t){console.log("加入频道:"+t+"token:"+o.token),r?(console.info("已经在频道中..."+t),t!==c&&(g(),m(t))):o.client.join({roomId:t}).then(e=>{console.info("加入房间成功..."+t),r=!0,a.onCall&&i(),o.localStream=TRTC.createStream({userId:s,audio:!0,video:!0}),o.localStream.initialize().then(()=>{console.log("initialize localStream success");var e=document.getElementById("local-video");o.localStream.play(e,{ObjectFit:"contain"}),o.client.publish(o.localStream).then(()=>{console.warn("本地 publish 成功")})}).catch(e=>{console.error("failed initialize localStream "+e)})})}function g(){o.client.leave().then(()=>{console.log("leaving room success"),o.localStream.close()}).catch(e=>{console.error("leaving room failed: "+e)}),o.client.unpublish(o.localStream).then(()=>{}).catch(e=>{console.error("handup error",e)}),o.receiveCall=!1,r=!1,c=0,mainView.router.back(),l||sendTimMessage({msg_id:111,conversation_id:n,type:"custom",data:{type:"cmd",command:"video_call_reject",room_id:c}}).then(e=>{}).catch(e=>{app.alert("tim消息发送失败"+e.msg)})}c=a.room_id,n=a.target.uid,a.onCall||(console.log("非被叫移除接听按钮"),Dom7("#call-wait #call-accept").remove()),d=setInterval(function(){u++,console.log("倒计时:"+u),l&&clearInterval(d),30<=u&&(clearInterval(d),g())},1e3),loadScript("js/trtc.js").then(e=>{console.log("加载trtc成功",e),o.client=TRTC.createClient({useStringRoomId:!0,mode:"rtc",sdkAppId:1400461078,userId:p+t,userSig:user.timsign}),TRTC.Logger.setLogLevel(TRTC.Logger.LogLevel.ERROR),o.client.on("peer-join",e=>{o.dlog(e.userId+"加入房间"),e.userId==p+n&&(l=!0,a.onCall||i())}),o.client.on("peer-leave",e=>{o.dlog(e.userId+"离开房间"),g()}),o.client.on("stream-added",e=>{var e=e.stream;o.dlog("收到频道内有人发布音视频通知,发起订阅:"+e.getUserId()),o.dlog("主播模式下不订阅其它人的视频流:"+e.getUserId()),e=e,o.client.subscribe(e).then(()=>{o.dlog("订阅对端成功")})}),o.client.on("stream-removed",e=>{e=e.stream;o.dlog("收到频道内有人发取消视频发布:"+e.getUserId())}),o.client.on("stream-subscribed",e=>{o.dlog("收到已订阅别人的音视频流");var e=e.stream,t=document.getElementById("remote-video");e.play(t,{ObjectFit:"contain"}),o.dlog("播放远端视频流"+e.getUserId())}),void 0===TRTC?console.error("TRTC is undefined"):(TRTC.getDevices().then(e=>
1{e.forEach(e=>{console.log("device: "+e.kind+" "+e.label+" "+e.deviceId)})}).catch(e=>console.error("getDevices error observed "+e)),TRTC.getCameras().then(e=>{0<e.length&&(o.localDevices.cameras=e,o.localDevices.currentCamera=e[0].deviceId)}),TRTC.getMicrophones().then(e=>{0<e.length&&(o.localDevices.microphones=e,o.localDevices.currentMicrophone=e[0].deviceId)})),a.onCall||m(c,(p,n))}).catch(e=>{console.error("加载trtc出错",e)})});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.