refactor: remove registration page and update login UI with agreement checkbox

This commit is contained in:
2026-04-09 16:18:27 +08:00
parent 1559181b2e
commit cc93fb03b0
11 changed files with 211 additions and 595 deletions

View File

@@ -71,29 +71,53 @@ Page({
},
// 切换头像
changeAvatar() {
onChooseAvatar(e) {
let that = this;
wx.chooseImage({
count: 1,
success: function (e) {
wx.showLoading({
title: '正在上传...',
mask: true,
})
app.$api.uploadAvatar({
filePath: e.tempFilePaths[0]
}).then(res => {
wx.showToast({
title: '上传成功',
icon: 'success',
})
that.getData();
}, err => {});
},
fail: function (res) {
console.log(res);
},
const { avatarUrl } = e.detail;
if (!avatarUrl) return;
wx.showLoading({
title: '正在上传...',
mask: true,
})
app.$api.uploadAvatar({
filePath: avatarUrl
}).then(res => {
wx.showToast({
title: '上传成功',
icon: 'success',
})
that.getData();
}, err => {
wx.hideLoading();
});
},
// 修改昵称
onNicknameChange(e) {
let newName = e.detail.value;
// 防止重复触发
if (!newName || newName === this.data.members.nickname) return;
// 乐观反显更新
this.setData({
'members.nickname': newName
});
wx.showLoading({ title: '保存中...', mask: true });
app.$api.memberUpdateInformation({
nickname: newName
}).then(res => {
wx.hideLoading();
wx.showToast({
title: '修改成功',
icon: 'success',
});
// 这里的静默获取能确保和数据库端同步
this.getData();
}, err => {
wx.hideLoading();
});
},
// 修改性别
@@ -153,14 +177,34 @@ Page({
})
},
// 修改信息
changeMessage(e) {
let label = e.currentTarget.dataset.label;
let value = e.currentTarget.dataset.value ? e.currentTarget.dataset.value : "";
wx.removeStorageSync('history');
wx.navigateTo({
url: `/pages/register/index?label=${label}&value=${value}&codeType=3`,
})
// 在当前页直接修改文本类别的信息(姓名、年龄、地址)
onInfoChange(e) {
let type = e.currentTarget.dataset.type;
let newValue = e.detail.value;
if (newValue === undefined || newValue === this.data.members[type]) return;
let updateData = {};
updateData[type] = newValue;
// 乐观反显
let key = 'members.' + type;
this.setData({
[key]: newValue
});
wx.showLoading({ title: '保存中...', mask: true });
app.$api.memberUpdateInformation(updateData).then(res => {
wx.hideLoading();
wx.showToast({
title: '修改成功',
icon: 'success',
});
// 静默获取同步服务器
this.getData();
}, err => {
wx.hideLoading();
});
},
// 获取数据

View File

@@ -3,46 +3,41 @@
<view class='container' wx:if="{{members.nickname}}">
<!-- 昵称信息 -->
<view class='list'>
<view class='cell avatar' bindtap='changeAvatar'>
<button class='cell avatar cell-btn' open-type="chooseAvatar" bindchooseavatar="onChooseAvatar">
<text class='title'>头像</text>
<view class='right-cell'>
<image class='avatar-img' src='{{members.avatar ? members.avatar : "../../images/avatar.png"}}' mode='aspcetFill'></image>
<image class='avatar-img' src='{{members.avatar ? members.avatar : "../../images/avatar.png"}}' mode='aspectFill'></image>
<image class='right-arrow' src='../../images/46@3x.png'></image>
</view>
</view>
<view class='cell' bindtap='changeMessage' data-label='nickname' data-value='{{members.nickname}}'>
</button>
<view class='cell'>
<text class='title'>昵称</text>
<text class='message'>{{members.nickname}}</text>
<image class='right-arrow' src='../../images/46@3x.png'></image>
<input type="nickname" class='message nickname-input' placeholder="请输入昵称" value="{{members.nickname}}" bindblur="onNicknameChange" bindchange="onNicknameChange" bindconfirm="onNicknameChange" />
</view>
<view class='cell unLine' bindtap='changeMessage' data-label='phone' data-value='{{members.mobile}}'>
<view class='cell unLine'>
<text class='title'>手机号</text>
<text class='message'>{{members.mobile}}</text>
<image class='right-arrow' src='../../images/46@3x.png'></image>
</view>
</view>
<!-- 真实信息 -->
<view class='list'>
<view class='cell' bindtap='changeMessage' data-label='name' data-value='{{members.name}}'>
<view class='cell'>
<text class='title'>姓名</text>
<text class='message'>{{members.name}}</text>
<image class='right-arrow' src='../../images/46@3x.png'></image>
<input class='message nickname-input' placeholder="请输入姓名" value="{{members.name}}" data-type="name" bindblur="onInfoChange" bindconfirm="onInfoChange" />
</view>
<view class='cell' bindtap='changeSex' >
<text class='title'>性别</text>
<text class='message'>{{members.sex == 0 ? "男" : (members.sex == 1 ? "女" : "")}}</text>
<image class='right-arrow' src='../../images/46@3x.png'></image>
</view>
<view class='cell' bindtap='changeMessage' data-label='age' data-value='{{members.age}}'>
<view class='cell'>
<text class='title'>年龄</text>
<text class='message'>{{members.age}}</text>
<image class='right-arrow' src='../../images/46@3x.png'></image>
<input type="number" class='message nickname-input' placeholder="请输入年龄" value="{{members.age}}" data-type="age" bindblur="onInfoChange" bindconfirm="onInfoChange" />
</view>
<view class='cell unLine address' bindtap='changeMessage' data-label='address' data-value='{{members.address}}'>
<view class='cell unLine address'>
<text class='title'>地址</text>
<text class='message'>{{members.address}}</text>
<image class='right-arrow' src='../../images/46@3x.png'></image>
<input class='message nickname-input' placeholder="请输入地址" value="{{members.address}}" data-type="address" bindblur="onInfoChange" bindconfirm="onInfoChange" />
</view>
</view>
</view>

View File

@@ -24,6 +24,19 @@
height: 120rpx;
}
.list .cell-btn {
background: transparent;
padding: 0 30rpx;
margin: 0;
width: 100%;
text-align: left;
line-height: normal;
}
.list .cell-btn::after {
border: none;
}
.list .cell.unLine {
border-bottom: none;
}
@@ -58,4 +71,9 @@
color: #FFF;
font-size: 24rpx;
line-height: 30rpx;
}
.list .cell .nickname-input {
text-align: right;
width: 100%;
}