|
@@ -1,6 +1,7 @@
|
|
|
// pages/personal/personal.ts
|
|
|
import ActionSheet, { ActionSheetTheme, ActionSheetShowOption } from 'tdesign-miniprogram/action-sheet/index';
|
|
|
-import { decrptPhone } from '../../api/user'
|
|
|
+import { decrptPhone, getUserInfo, updateUserInfo, updateAvatar } from '../../api/user'
|
|
|
+let genderHandler
|
|
|
|
|
|
const sleep = (ms: number) => new Promise((r) => setTimeout(r, ms));
|
|
|
Page({
|
|
@@ -18,22 +19,31 @@ Page({
|
|
|
onLoad() {
|
|
|
|
|
|
},
|
|
|
-
|
|
|
+ updateUserInfo(data: GlobalUserInfo) {
|
|
|
+ this.setData({
|
|
|
+ userInfo: data
|
|
|
+ })
|
|
|
+ },
|
|
|
/**
|
|
|
* 生命周期函数--监听页面初次渲染完成
|
|
|
*/
|
|
|
onReady() {
|
|
|
+ const app = getApp<IAppOption>();
|
|
|
+ app.watch('userInfo', this.updateUserInfo)
|
|
|
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
* 生命周期函数--监听页面显示
|
|
|
*/
|
|
|
- onShow() {
|
|
|
- const app = getApp<IAppOption>()
|
|
|
+ async onShow() {
|
|
|
+ const isLogin = wx.getStorageSync('isLogin')
|
|
|
+ const app = getApp<IAppOption>();
|
|
|
this.setData({
|
|
|
- isLogin: app.globalData.isLogin
|
|
|
+ isLogin: isLogin
|
|
|
})
|
|
|
+ app.globalData.isLogin = isLogin
|
|
|
+ await getUserInfo();
|
|
|
},
|
|
|
|
|
|
/**
|
|
@@ -47,6 +57,8 @@ Page({
|
|
|
* 生命周期函数--监听页面卸载
|
|
|
*/
|
|
|
onUnload() {
|
|
|
+ const app = getApp<IAppOption>();
|
|
|
+ app.unwatch('userInfo', this.updateUserInfo)
|
|
|
|
|
|
},
|
|
|
|
|
@@ -70,6 +82,28 @@ Page({
|
|
|
onShareAppMessage() {
|
|
|
|
|
|
},
|
|
|
+ handleLogout() {
|
|
|
+ const app = getApp<IAppOption>();
|
|
|
+ this.setData({
|
|
|
+ isLogin: false
|
|
|
+ })
|
|
|
+ wx.setStorageSync('isLogin', false)
|
|
|
+ wx.setStorageSync('token', '')
|
|
|
+ wx.showToast({
|
|
|
+ title: '登出成功!'
|
|
|
+ });
|
|
|
+ app.globalData.isLogin = false
|
|
|
+ app.globalData.userInfo = {
|
|
|
+ nickName: "",
|
|
|
+ gender: 0,
|
|
|
+ phoneNumber: "",
|
|
|
+ avatarUrl: '',
|
|
|
+ city: '',
|
|
|
+ country: '',
|
|
|
+ language: 'zh_CN',
|
|
|
+ province: ''
|
|
|
+ }
|
|
|
+ },
|
|
|
async checkSession(): Promise<boolean> {
|
|
|
let isExist = false
|
|
|
wx.checkSession({
|
|
@@ -98,6 +132,14 @@ Page({
|
|
|
encryptedData: encryptedData
|
|
|
})
|
|
|
console.log('res', res.phoneNumber)
|
|
|
+ if (res.phoneNumber) {
|
|
|
+ const wxUserId = wx.getStorageSync('wxUserId');
|
|
|
+ await updateUserInfo({
|
|
|
+ wxUserId,
|
|
|
+ phoneNumber: res.phoneNumber
|
|
|
+ })
|
|
|
+ await getUserInfo();
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
},
|
|
@@ -115,11 +157,53 @@ Page({
|
|
|
|
|
|
],
|
|
|
};
|
|
|
- const handler = ActionSheet.show(basicListOption);
|
|
|
+ genderHandler = ActionSheet.show(basicListOption);
|
|
|
},
|
|
|
- handleSelected(event: WechatMiniprogram.TouchEvent) {
|
|
|
- console.log('event', event)
|
|
|
+ async handleSelected(event: WechatMiniprogram.TouchEvent) {
|
|
|
+
|
|
|
const { index } = event.detail
|
|
|
+ if (index > -1) {
|
|
|
+ debugger
|
|
|
+ console.log('index', index)
|
|
|
+ const wxUserId = wx.getStorageSync('wxUserId');
|
|
|
+ await updateUserInfo({
|
|
|
+ wxUserId,
|
|
|
+ gender: index + 1
|
|
|
+ })
|
|
|
+ await getUserInfo();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ async onChooseAvatar(e: WechatMiniprogram.TouchEvent) {
|
|
|
+ const {
|
|
|
+ avatarUrl
|
|
|
+ } = e.detail
|
|
|
+ const url = await updateAvatar(avatarUrl)
|
|
|
+ console.log('url', url)
|
|
|
+ const wxUserId = wx.getStorageSync('wxUserId');
|
|
|
+ await updateUserInfo({
|
|
|
+ wxUserId,
|
|
|
+ avatarUrl: url
|
|
|
+ })
|
|
|
+ await getUserInfo();
|
|
|
+ },
|
|
|
+ // async changeNickName(e: WechatMiniprogram.TouchEvent) {
|
|
|
+ // const { value } = e.detail
|
|
|
+ // console.log('value-2', value)
|
|
|
+ // },
|
|
|
+ async updateNickName(e: WechatMiniprogram.TouchEvent) {
|
|
|
+ const { value } = e.detail
|
|
|
+ console.log('value-1', value)
|
|
|
+ if (value) {
|
|
|
+ const wxUserId = wx.getStorageSync('wxUserId');
|
|
|
+ await updateUserInfo({
|
|
|
+ wxUserId,
|
|
|
+ nickName: value
|
|
|
+ })
|
|
|
+ await getUserInfo();
|
|
|
+ }
|
|
|
|
|
|
}
|
|
|
})
|