From 1507eb3f1ed6d3fe2369a383de352c23e3eb137f Mon Sep 17 00:00:00 2001 From: zy <2799962654@qq.com> Date: Thu, 1 May 2025 01:54:31 +0800 Subject: [PATCH 1/3] =?UTF-8?q?feat(infoUpdate):=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E4=BF=AE=E6=94=B9=E5=90=8E=E4=BF=9D=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/user.ts | 11 ++++++++++- src/stores/useUserStore.ts | 12 +++++++++++- src/views/user/components/UserInformation.vue | 16 ++++++++++++---- 3 files changed, 33 insertions(+), 6 deletions(-) diff --git a/src/api/user.ts b/src/api/user.ts index d8f3c6a..77a044c 100644 --- a/src/api/user.ts +++ b/src/api/user.ts @@ -22,7 +22,16 @@ export const userRegister = (userName: string, userEmail: string, userPassword: export const getUserInfoApi = (id:string) => { return request.get(`/api/usercenter/${id}`) } - +//关于用户更新的插槽 +export interface userInfoUpdate{ + userName:string, + userPhoneNumber:string, + userEmail:string +} +//更新用户信息 +export const userUpdate = (id:string,data:userInfoUpdate) => { + return request.patch(`/api/usercenter/${id}`,data) +} // 验证 token export const verifyToken = () => { return request.get('/api/auth/profile') diff --git a/src/stores/useUserStore.ts b/src/stores/useUserStore.ts index c5025c4..d038442 100644 --- a/src/stores/useUserStore.ts +++ b/src/stores/useUserStore.ts @@ -1,6 +1,7 @@ import { defineStore } from 'pinia' import { ref, computed } from 'vue' -import { userLogin, getUserInfoApi, userRegister } from '@/api/user.ts' +import { userLogin, getUserInfoApi, userRegister,userUpdate } from '@/api/user.ts' +import type { userInfoUpdate } from '@/api/user.ts'; import { useRouter } from 'vue-router' export const useUserStore = defineStore('user', () => { @@ -60,6 +61,14 @@ export const useUserStore = defineStore('user', () => { console.error('获取用户信息失败:', error) } } + const updateUserInfo = async (userId:string,data:userInfoUpdate) =>{ + try{ + const res = await userUpdate(userId,data); + console.log('成功更新数据') + }catch(error){ + console.error('更新用户信息失败',error) + } + } return { accessToken, refreshToken, @@ -67,6 +76,7 @@ export const useUserStore = defineStore('user', () => { userId, userInfo, getUserInfo, + updateUserInfo, login, register, logout diff --git a/src/views/user/components/UserInformation.vue b/src/views/user/components/UserInformation.vue index 9d5945d..1be39e1 100644 --- a/src/views/user/components/UserInformation.vue +++ b/src/views/user/components/UserInformation.vue @@ -2,6 +2,7 @@ import { ref, onMounted } from 'vue' import { useUserStore } from '@/stores/useUserStore.ts' + const userStore = useUserStore() const currentUser = ref({ userName: '', @@ -13,13 +14,20 @@ onMounted(async () => { await userStore.getUserInfo(userStore.userId) currentUser.value = userStore.userInfo }) +function updateInfo(){ + userStore.updateUserInfo(userStore.userId,{ + userName:currentUser.value.userName, + userPhoneNumber:currentUser.value.userPhoneNumber, + userEmail:currentUser.value.userEmail + }) +}