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.

185 lines
5.1 KiB

import {accountManager} from "../../js/utils";
5 years ago
const app = getApp();
5 years ago
Page({
data: {
version: global.config.version,
imgDir: global.config.imgDir,
eduImgDir: global.config.eduImgDir,
user: {},
showModal: false,
auto_attendance: false
5 years ago
},
log(e){
console.log(e);
},
enterPage({ target: { dataset: { path } } }) {
if (!path) return;
let { id } = this.data.user;
if (!id || id == 2)
return wx.showToast({ title: "请先登录哦", icon: "none" });
app.navigateTo({ url: `{${path}}` });
},
onTapVersion() {
let { envVersion, env } = global.config;
if (envVersion && envVersion != "release") {
wx.showActionSheet({
itemList: [env != "release" ? "切换为发布环境" : "切换为开发环境"],
success: res => {
global.config.switchEnv(env != "release" ? "release" : "trial");
wx.showToast({
title: '切换成功'
});
this.logout({ showToast: 0 });
let { version, eduImgDir } = global.config;
this.setData({ version, eduImgDir });
}
})
return;
}
5 years ago
const updateManager = wx.getUpdateManager()
wx.showToast({
title: '检查更新中...', icon: "none"
});
updateManager.onCheckForUpdate(res => {
if (res.hasUpdate) {
wx.hideToast();
wx.showModal({
title: '更新提示',
content: "(●'◡'●)\n有新版本哦是否使用最新的小程序呢",
success: function (res) {
if (res.confirm) {
wx.showLoading({
title: '准备中'
});
updateManager.onUpdateReady(() => {
wx.hideLoading();
updateManager.applyUpdate()
})
updateManager.onUpdateFailed(() => {
wx.hideLoading();
wx.showToast({
title: '>︿<\n更新失败', icon: "none"
})
})
}
}
})
}
else {
5 years ago
wx.showToast({
title: '你用的是最新版本哦', icon: "none"
})
}
})
},
onTapAvatar: function ({ currentTarget: { dataset } }) {
wx.showActionSheet({
itemList: ["查看图片", "更改头像"],
success: res => {
switch (res.tapIndex) {
case 0:
wx.previewImage({
urls: [global.config.eduImgDir + dataset.url],
5 years ago
});
break;
case 1:
wx.navigateTo({
url: '/avatar/pages/image_crop/image_crop'
});
5 years ago
break;
}
}
})
},
logout: function ({ showToast = 1 }) {
5 years ago
app.callApi({
name: "accounts.logout", success: res => {
if (showToast)
app.showMsg(res);
5 years ago
this.onShow();
},
fail: error => {
console.error("注销失败");
console.error(error);
if (showToast)
app.showError(e);
5 years ago
}
})
},
enter_login: function (event) {
wx.navigateTo({
url: '/account/pages/account/account?action=login', fail: console.error
5 years ago
})
},
showModal: function (event) {
let {id} = this.data.user;
if (!id || id == 2)
return wx.showToast({ title: "请先登录哦", icon: "none" });
this.setData({ showModal: true });
5 years ago
},
onLoad() {
5 years ago
let data = wx.getStorageSync("auto-attendence");
if (data)
this.setData({ auto_attendance: true });
5 years ago
},
onShow() {
5 years ago
app.syncUser().then(res => {
if (res.user.user_id != 2){
5 years ago
this.refresh();
}else
this.setData({ user: {}, currentLogin:"" })
5 years ago
});
},
refresh: function () {
app.api("users.homepage_info")()
.then(res => {
let { name: show_name, avatar_url: image_url} = res;
if(show_name&&image_url)
app.updateUserInfo({ show_name, image_url});
console.log("get_homepage_info");
console.log(res)
this.setData({ user: res })
if (!res.attendance_signed && this.data.auto_attendance)
this.attendance({ show: 0 })
});
let account = accountManager.getCurrentAccount();
if (account && account.login && account.active) {
var currentLogin = account.login;
/*if(account.login.indexOf("@")!=-1)
currentLogin = currentLogin.replace(/.{4}()/)
else
currentLogin = currentLogin.replace(/./,"");
*/
} else {
var currentLogin = "";
}
this.setData({ currentLogin, profile_completed: app.user().profile_completed});
5 years ago
},
tapAutoAttendence() {
this.setData({ auto_attendance: !this.data.auto_attendance });
5 years ago
if (!this.data.user.attendance_signed && this.data.auto_attendance)
this.attendance({ show: 1 })
wx.setStorage({
key: 'auto-attendence',
data: this.data.auto_attendance,
});
},
attendance({ show = 1 }) {
5 years ago
app.api("users.attendance")()
.then(res => {
this.refresh();
res.message = "签到成功";
if (show)
app.showMsg(res);
})
5 years ago
},
enterUserinfo(){
app.navigateTo({url:"{user_info}"});
},
5 years ago
onShareAppMessage: function () {
console.log(this.route, this.__route__,212121);
5 years ago
}
})