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.

175 lines
4.7 KiB

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
},
enterPage({ target: { dataset: { path } } }) {
console.log("enterPage");
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.eduImgDir + dataset.url],
5 years ago
});
break;
case 1:
wx.chooseImage({
count: 1,
success: function (res) {
console.log("choose image")
console.log(res);
const src = res.tempFilePaths[0]
wx.navigateTo({
url: '/avatar/pages/image_crop/image_crop?src=' + src, fail: console.error
})
},
})
break;
}
}
})
},
logout: function ({ showToast = 1 }) {
5 years ago
app.callApi({
name: "accounts.logout", success: res => {
console.log("注销成功");
console.log(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: {} })
5 years ago
});
},
refresh: function () {
app.api("users.homepage_info")()
.then(res => {
console.log("get_homepage_info");
console.log(res)
this.setData({ user: res })
if (!res.attendance_signed && this.data.auto_attendance)
this.attendance({ show: 0 })
});
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
},
onShareAppMessage: function () {
}
})