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.

76 lines
1.9 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) {
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(){
client.getTidingInfo();
},
onPageNotFound(res) {
this.redirectTo({url:"{my_courses}"});
},
showError(e,duration){
wx.showToast({
title: e.message,
icon:"none",
duration
})
},
showMsg(res, duration){
wx.showToast({
title: res.message,duration
})
},
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
}
}
});