From 41d4e9a0d5aceffececc62a754f5e22bf21be47b Mon Sep 17 00:00:00 2001 From: chansee97 Date: Thu, 4 Sep 2025 18:07:00 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=8C=E5=96=84=E4=B8=AA=E4=BA=BA?= =?UTF-8?q?=E4=B8=AD=E5=BF=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/system/user.ts | 11 ++ .../components/NotificationSettings.vue | 43 +++++ .../user-center/components/PersonalInfo.vue | 1 - .../components/PreferenceSettings.vue | 47 +++++ .../components/SecuritySettings.vue | 162 +++++++++++++++++ src/views/build-in/user-center/index.vue | 171 ++++++++++-------- 6 files changed, 356 insertions(+), 79 deletions(-) create mode 100644 src/views/build-in/user-center/components/NotificationSettings.vue create mode 100644 src/views/build-in/user-center/components/PreferenceSettings.vue create mode 100644 src/views/build-in/user-center/components/SecuritySettings.vue diff --git a/src/api/system/user.ts b/src/api/system/user.ts index 6ae57d9..c1c9cd8 100644 --- a/src/api/system/user.ts +++ b/src/api/system/user.ts @@ -48,3 +48,14 @@ export function updateUser(id: number, data: Partial) { export function deleteUser(id: number) { return request.Delete>(`/user/${id}`) } +/** + * 更新用户密码 + * Patch /user/password + */ +export interface UserPasswordParams { + oldPassword: string + newPassword: string +} +export function updateUserPassword(data: UserPasswordParams) { + return request.Patch>(`/user/password`, data) +} diff --git a/src/views/build-in/user-center/components/NotificationSettings.vue b/src/views/build-in/user-center/components/NotificationSettings.vue new file mode 100644 index 0000000..8bceb4f --- /dev/null +++ b/src/views/build-in/user-center/components/NotificationSettings.vue @@ -0,0 +1,43 @@ + + + diff --git a/src/views/build-in/user-center/components/PersonalInfo.vue b/src/views/build-in/user-center/components/PersonalInfo.vue index 850c283..920bd14 100644 --- a/src/views/build-in/user-center/components/PersonalInfo.vue +++ b/src/views/build-in/user-center/components/PersonalInfo.vue @@ -61,7 +61,6 @@ async function updateUserInfo() { :model="formData" label-placement="left" label-width="80px" - class="max-w-400px" > diff --git a/src/views/build-in/user-center/components/PreferenceSettings.vue b/src/views/build-in/user-center/components/PreferenceSettings.vue new file mode 100644 index 0000000..bd8b4d9 --- /dev/null +++ b/src/views/build-in/user-center/components/PreferenceSettings.vue @@ -0,0 +1,47 @@ + + + diff --git a/src/views/build-in/user-center/components/SecuritySettings.vue b/src/views/build-in/user-center/components/SecuritySettings.vue new file mode 100644 index 0000000..5fda51f --- /dev/null +++ b/src/views/build-in/user-center/components/SecuritySettings.vue @@ -0,0 +1,162 @@ + + + diff --git a/src/views/build-in/user-center/index.vue b/src/views/build-in/user-center/index.vue index ddcc07f..ac00726 100644 --- a/src/views/build-in/user-center/index.vue +++ b/src/views/build-in/user-center/index.vue @@ -1,13 +1,65 @@