Files

107 lines
2.0 KiB
TypeScript
Raw Normal View History

2023-09-01 17:14:27 +08:00
import { getInfo, getProfile, login } from "../../api/login";
import httpClient from "../../utils/request";
2023-08-30 17:27:21 +08:00
import { setToken } from "../../utils/settings";
// pages/login/login.ts
Page({
/**
*
*/
data: {
2023-08-31 16:24:37 +08:00
authToken: null,
2023-08-31 17:26:57 +08:00
user: null,
2023-09-01 17:14:27 +08:00
profile: null,
2023-08-30 17:27:21 +08:00
},
loginWithWeChat(e: any) {
login({
code: e.detail.code,
}).then((response: any) => {
2023-08-31 16:24:37 +08:00
this.setData({
authToken: response.token,
});
2023-08-30 17:27:21 +08:00
setToken(response.token);
2023-08-31 16:24:37 +08:00
getInfo(response.token).then((resp: any) => {
getApp().globalData.permissions = resp.permissions;
2023-08-30 17:27:21 +08:00
});
2023-09-01 17:14:27 +08:00
this.loadProfile();
2023-08-30 17:27:21 +08:00
});
},
2023-08-31 16:24:37 +08:00
handleLogout() {
2023-08-30 17:27:21 +08:00
this.setData({
2023-08-31 16:24:37 +08:00
authToken: null,
});
getApp().globalData.permissions = undefined;
setToken(undefined);
2023-08-30 17:27:21 +08:00
},
2023-09-01 17:14:27 +08:00
loadProfile() {
getProfile().then((resp: any) => {
const { data } = resp;
let avatar;
if (data.avatar) {
if (
data.avatar.startsWith("https://") ||
data.avatar.startsWith("http://")
) {
avatar = data.avatar;
} else {
avatar = `${httpClient.baseUrl}${data.avatar}`;
}
}
this.setData({
profile: {
...data,
avatar,
},
});
});
},
2023-08-30 17:27:21 +08:00
/**
* --
*/
onLoad() {
const authToken = getApp().globalData.authToken;
this.setData({
authToken,
});
2023-08-31 17:26:57 +08:00
if (authToken) {
2023-09-01 17:14:27 +08:00
this.loadProfile();
2023-08-31 17:26:57 +08:00
}
2023-08-30 17:27:21 +08:00
},
/**
* --
*/
onReady() {},
/**
* --
*/
onShow() {},
/**
* --
*/
onHide() {},
/**
* --
*/
onUnload() {},
/**
* --
*/
onPullDownRefresh() {},
/**
*
*/
onReachBottom() {},
/**
*
*/
onShareAppMessage() {},
});