feat: 更新用户信息获取逻辑

- 在personMsg.vue中添加onShow生命周期钩子,重新获取用户信息并更新表单数据
- 在bindMobile.vue中绑定手机成功后,获取最新用户信息并更新缓存
- 调整绑定手机按钮的样式以改善用户体验
This commit is contained in:
Yer11214
2025-09-16 10:39:10 +08:00
parent 83da8f3003
commit 3219f6d576
2 changed files with 47 additions and 19 deletions

View File

@@ -28,7 +28,7 @@
{{form.mobile}} {{form.mobile}}
</view> </view>
<view v-else> <view v-else>
<view class="submit" @click="navigateTo(form.username)">绑定手机号码</view> <view class="submit" style="text-align: left;" @click="navigateTo(form.username)">绑定手机号码</view>
</view> </view>
</u-form-item> </u-form-item>
@@ -183,6 +183,24 @@ export default {
* 加载数据 * 加载数据
*/ */
onLoad() {}, onLoad() {},
/**
* 页面显示时执行
*/
onShow() {
// 从缓存中重新获取用户信息
const userInfo = storage.getUserInfo();
// 更新表单数据
this.form.nickName = userInfo.nickName || "";
this.form.birthday = userInfo.birthday || "";
this.form.face = userInfo.face || "/static/missing-face.png";
this.form.region = userInfo.region || [];
this.form.sex = userInfo.sex;
this.form.___path = userInfo.region;
this.form.mobile = userInfo.mobile;
this.form.username = userInfo.username;
this.birthday = userInfo.birthday || "";
},
}; };
</script> </script>
<style> <style>
@@ -201,6 +219,7 @@ page{
margin: 0 auto; margin: 0 auto;
color: $main-color; color: $main-color;
border-radius: 100px; border-radius: 100px;
} }
.head { .head {
height: 260rpx; height: 260rpx;

View File

@@ -34,6 +34,8 @@
sendMobile, sendMobile,
bindMobile bindMobile
} from "@/api/login"; } from "@/api/login";
import { getUserInfo } from "@/api/members.js";
import storage from "@/utils/storage.js";
import myVerification from "@/components/verification/verification.vue"; //验证 import myVerification from "@/components/verification/verification.vue"; //验证
import uuid from "@/utils/uuid.modified.js"; import uuid from "@/utils/uuid.modified.js";
@@ -123,17 +125,24 @@
bindMobile(this.codeForm).then((res) => { bindMobile(this.codeForm).then((res) => {
if (res.data.success) { if (res.data.success) {
this.validateFlage = !this.validateFlage; this.validateFlage = !this.validateFlage;
// 登录成功 // 获取最新的用户信息并更新缓存
getUserInfo().then(userRes => {
if (userRes.data.success) {
storage.setUserInfo(userRes.data.result);
}
// 显示成功提示
uni.showToast({ uni.showToast({
title: "绑定成功!", title: "绑定成功!",
duration: 2000, duration: 2000,
icon: "none", icon: "none",
}); });
// 返回上一页
setTimeout(() => { setTimeout(() => {
uni.navigateBack({ uni.navigateBack({
delta: 1, delta: 1,
}); });
}, 1000); }, 1000);
});
} }
}); });
} }