123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- import { decrptPhone, getUserInfo, updateUserInfo, updateAvatar } from '../../api/user'
- const sleep = (ms: number) => new Promise((r) => setTimeout(r, ms));
- Component({
- /**
- * 组件的属性列表
- */
- properties: {
- show: { // 属性名
- type: Boolean,
- value: false,
- },
- showPhone: { // 属性名
- type: Boolean,
- value: false,
- },
- },
- /**
- * 组件的初始数据
- */
- observers: {
- show: function (val) {
- console.log('gemer', val)
- this.setData({
- ifShow: val
- })
- }
- },
- data: {
- ifShow: true,
- bottom: 0,
- defaultAvatarUrl: 'https://4dkk.4dage.com/miniapp-source/daikan/avatar_default.png',
- avatar: '',
- nickname: '',
- phoneNumber: ''
- },
- attached() {
- // this.setData({
- // bottom: 0
- // })
- // debugger
- },
- /**
- * 组件的方法列表
- */
- methods: {
- updateNickName(ev) {
- this.setData({
- nickname: ev.detail.value
- })
- },
- quitHandle: function () {
- // getApp().setLoginProps(true)
- },
- async onChooseAvatar(e: WechatMiniprogram.TouchEvent) {
- const {
- avatarUrl
- } = e.detail
- const url = await updateAvatar(avatarUrl)
- console.log('url', url)
- this.setData({
- avatar: url
- })
- },
- async updateUserInfo() {
- const wxUserId = wx.getStorageSync('wxUserId');
- const res = await updateUserInfo({
- wxUserId,
- nickName: this.data.nickname,
- avatarUrl: this.data.avatar,
- phoneNumber: this.data.phoneNumber,
- })
- if (res.code === 0) {
- await getUserInfo();
- this.setData({
- ifShow: false
- });
- this.triggerEvent('update')
- } else {
- wx.showToast({
- title: res.message
- });
- }
- console.log('updateUserInfo-结果', res);
- },
- async checkSession(): Promise<boolean> {
- let isExist = false
- wx.checkSession({
- success() {
- isExist = true
- },
- fail() {
- isExist = false
- }
- })
- await sleep(1000)
- return Promise.resolve(isExist)
- },
- async handleGetPhoneNumber(event: WechatMiniprogram.ButtonGetPhoneNumber) {
- console.log('event', event)
- const isValid = await this.checkSession();
- console.log('isValid', isValid)
- if (isValid) {
- const { code, iv, encryptedData } = event.detail
- if (code && iv && encryptedData) {
- const res = await decrptPhone({
- iv: iv,
- code: code,
- encryptedData: encryptedData
- })
- console.log('res', res)
- if (res && res.phoneNumber) {
- this.setData({
- phoneNumber: res.phoneNumber
- })
- }
- }
- }
- }
- }
- })
|