You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

81 lines
2.1 KiB

import config from "./config";
import {client} from "./js/client";
wx.cloud.init({
traceUser: true,
env: "educoder"
});
App({
globalData: {
versionCode: config.versionCode,
debug: config.debug
},
client,
api(name, config){return client.api(name,config)},
callApi(options){return client.callApi(options)},
user(){ return client.user},
syncUser(options){return client.syncUser(options)},
onLaunch: function (options) {
console.log("applaunch",options);
if(Object.keys(options.referrerInfo).length>0){
let { appId, extraData } = options.referrerInfo
const db = wx.cloud.database();
db.collection("referrer_info")
.add({
data:{
appId,
extraData,
createdAt: db.serverDate()
}
})
}
},
onShow(){
this.api("users.unread_message_info")().then(res=>{
if(res.unread_message_count)
wx.setTabBarBadge({index:1,text:res.unread_message_count.toString()});
else if(res.unread_tiding_count)
wx.showTabBarRedDot({index:1})
})
},
onPageNotFound(res) {
this.redirectTo({url:"{my_courses}"});
},
showError(e){
wx.showToast({
title: e.message,
icon:"none"
})
},
showMsg(res){
wx.showToast({
title: res.message,
})
},
getPageUrl(url,root="/"){
return url.replace(/{(.*)}/, function (match, name) {
for (var u of __wxConfig.pages) {
if (u.endsWith("/"+name))
return root + u;
}
return match;
});
},
reLaunch({url, success, fail, complete}){
wx.reLaunch({url: this.getPageUrl(url),success,fail,complete})
},
redirectTo({url, success, fail, complete}){
wx.redirectTo({url: this.getPageUrl(url),success,fail,complete})
},
navigateTo({url, success, fail, complete}){
wx.navigateTo({url: this.getPageUrl(url),success,fail,complete})
},
shareApp({imageUrl,path,title}){
return {
title: title||"EduCoder教学",
imageUrl:imageUrl||"",
path
}
}
});