This commit is contained in:
@@ -1 +0,0 @@
|
||||
const api=require('../../utils/api');const app=getApp();Page({data:{user:null,editing:false,nickname:''},onShow(){app.ensureLogin().then(user=>this.setData({user,nickname:user.nickname})).catch(()=>{})},edit(){this.setData({editing:true})},input(e){this.setData({nickname:e.detail.value})},cancel(){this.setData({editing:false})},async save(){try{const user=await api.request('/api/auth/me',{method:'PATCH',data:{nickname:this.data.nickname,avatarUrl:this.data.user.avatarUrl||''}});wx.setStorageSync('user',user);app.globalData.user=user;this.setData({user,editing:false});wx.showToast({title:'已保存'})}catch(e){wx.showToast({title:e.message,icon:'none'})}},chooseAvatar(e){const avatarUrl=e.detail.avatarUrl;this.setData({'user.avatarUrl':avatarUrl});api.upload(avatarUrl).then(file=>this.setData({'user.avatarUrl':file.url}))}})
|
||||
@@ -0,0 +1,12 @@
|
||||
import { request, upload } from '../../utils/api'
|
||||
const app = getApp<IAppOption>()
|
||||
|
||||
Page({
|
||||
data: { user: null as CoffeeChatUser | null, editing: false, nickname: '' },
|
||||
onShow() { app.ensureLogin().then((user) => this.setData({ user, nickname: user.nickname })).catch(() => undefined) },
|
||||
edit() { this.setData({ editing: true }) },
|
||||
input(event: WechatMiniprogram.CustomEvent<{ value: string }>) { this.setData({ nickname: event.detail.value }) },
|
||||
cancel() { this.setData({ editing: false }) },
|
||||
async save() { if (!this.data.user) return; try { const user = await request<CoffeeChatUser>('/api/auth/me', { method: 'PATCH', data: { nickname: this.data.nickname, avatarUrl: this.data.user.avatarUrl || '' } }); wx.setStorageSync('user', user); app.globalData.user = user; this.setData({ user, editing: false }); wx.showToast({ title: '已保存' }) } catch (error) { wx.showToast({ title: error instanceof Error ? error.message : '保存失败', icon: 'none' }) } },
|
||||
chooseAvatar(event: WechatMiniprogram.CustomEvent<{ avatarUrl: string }>) { const avatarUrl = event.detail.avatarUrl; this.setData({ 'user.avatarUrl': avatarUrl }); upload(avatarUrl).then((file) => this.setData({ 'user.avatarUrl': file.url })).catch(() => wx.showToast({ title: '头像上传失败', icon: 'none' })) }
|
||||
})
|
||||
Reference in New Issue
Block a user