|
|
@@ -47,14 +47,16 @@ import { ElMessage, type FormInstance, type UploadUserFile, UploadRequestOptions
|
|
|
import { Plus } from "@element-plus/icons-vue";
|
|
|
import { getMerchantByPhone, updateMerchantUserInfo } from "@/api/modules/homeEntry";
|
|
|
import { uploadImg } from "@/api/modules/newLoginApi";
|
|
|
-import { localGet } from "@/utils/index";
|
|
|
+import { localGet, localSet } from "@/utils/index";
|
|
|
import defaultAvatar from "@/assets/images/avatar.gif";
|
|
|
import { head } from "lodash";
|
|
|
+import { useUserStore } from "@/stores/modules/user";
|
|
|
|
|
|
const emit = defineEmits<{
|
|
|
avatarUpdated: [avatarUrl?: string];
|
|
|
}>();
|
|
|
|
|
|
+const userStore = useUserStore();
|
|
|
const userInfo = localGet("geeker-user")?.userInfo || {};
|
|
|
const dialogVisible = ref(false);
|
|
|
|
|
|
@@ -168,6 +170,27 @@ const getSaveUserInfo = async () => {
|
|
|
const finalAvatarUrl = avatarUrl && avatarUrl.trim() !== "" ? avatarUrl : res.data?.headImg || "";
|
|
|
console.log("保存成功,传递给父组件的头像URL:", finalAvatarUrl);
|
|
|
emit("avatarUpdated", finalAvatarUrl);
|
|
|
+
|
|
|
+ // 更新本地存储和 userStore 中的用户信息
|
|
|
+ try {
|
|
|
+ const merchantRes: any = await getMerchantByPhone({ phone: userInfo.phone });
|
|
|
+ if (merchantRes && merchantRes.code == 200 && merchantRes.data) {
|
|
|
+ // 更新本地存储
|
|
|
+ const geekerUser = localGet("geeker-user");
|
|
|
+ if (geekerUser) {
|
|
|
+ geekerUser.userInfo = {
|
|
|
+ ...geekerUser.userInfo,
|
|
|
+ ...merchantRes.data
|
|
|
+ };
|
|
|
+ localSet("geeker-user", geekerUser);
|
|
|
+ // 更新 userStore
|
|
|
+ userStore.setUserInfo(geekerUser.userInfo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (error) {
|
|
|
+ console.error("获取更新后的用户信息失败:", error);
|
|
|
+ }
|
|
|
+
|
|
|
// 刷新用户信息(用于更新对话框中的数据)
|
|
|
getUserInfo();
|
|
|
} else {
|