From e26e7bfc4e583a7450a196a1278e907f1c83e3bc Mon Sep 17 00:00:00 2001 From: bruce Date: Thu, 24 Apr 2025 22:31:28 +0800 Subject: [PATCH] =?UTF-8?q?v0.3.5=20=E4=B8=AA=E4=BA=BA=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E5=AF=B9=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sams-ui/components.d.ts | 3 + sams-ui/src/api/activity.js | 21 ++++ sams-ui/src/api/user.js | 37 +++++++- .../src/components/common/StudentHeader.vue | 1 - .../student/ChangePasswordDialog.vue | 42 ++++++++ .../src/components/student/UserEditDialog.vue | 63 ++++++++++++ sams-ui/src/views/student/ActivityDetail.vue | 1 - sams-ui/src/views/student/ActivityList.vue | 1 - sams-ui/src/views/student/ClubCenter.vue | 1 - sams-ui/src/views/student/Profile.vue | 95 +++++++++++++------ .../sams/common/config/SecurityConfig.java | 1 + .../sams/controller/sys/UserController.java | 80 +++++++--------- .../sams/service/impl/UserServiceImpl.java | 33 ++++--- 13 files changed, 286 insertions(+), 93 deletions(-) create mode 100644 sams-ui/src/api/activity.js create mode 100644 sams-ui/src/components/student/ChangePasswordDialog.vue create mode 100644 sams-ui/src/components/student/UserEditDialog.vue diff --git a/sams-ui/components.d.ts b/sams-ui/components.d.ts index e33c69dd..477a7dbf 100644 --- a/sams-ui/components.d.ts +++ b/sams-ui/components.d.ts @@ -14,6 +14,7 @@ declare module 'vue' { AdminSidebar: typeof import('./src/components/admin/AdminSidebar.vue')['default'] ApprovalDetailDialog: typeof import('./src/components/admin/ApprovalDetailDialog.vue')['default'] BannerCarousel: typeof import('./src/components/student/BannerCarousel.vue')['default'] + ChangePasswordDialog: typeof import('./src/components/student/ChangePasswordDialog.vue')['default'] ClubCard: typeof import('./src/components/student/ClubCard.vue')['default'] ClubCreateDialog: typeof import('./src/components/admin/ClubCreateDialog.vue')['default'] ClubEditDialog: typeof import('./src/components/admin/ClubEditDialog.vue')['default'] @@ -52,6 +53,7 @@ declare module 'vue' { ElTabPane: typeof import('element-plus/es')['ElTabPane'] ElTabs: typeof import('element-plus/es')['ElTabs'] ElTag: typeof import('element-plus/es')['ElTag'] + ElUpload: typeof import('element-plus/es')['ElUpload'] HelloWorld: typeof import('./src/components/HelloWorld.vue')['default'] Home: typeof import('./src/views/student/Home.vue')['default'] IconCommunity: typeof import('./src/components/icons/IconCommunity.vue')['default'] @@ -65,6 +67,7 @@ declare module 'vue' { StudentFooter: typeof import('./src/components/common/StudentFooter.vue')['default'] StudentHeader: typeof import('./src/components/common/StudentHeader.vue')['default'] TheWelcome: typeof import('./src/components/TheWelcome.vue')['default'] + UserEditDialog: typeof import('./src/components/student/UserEditDialog.vue')['default'] WelcomeItem: typeof import('./src/components/WelcomeItem.vue')['default'] } } diff --git a/sams-ui/src/api/activity.js b/sams-ui/src/api/activity.js new file mode 100644 index 00000000..91e05fc6 --- /dev/null +++ b/sams-ui/src/api/activity.js @@ -0,0 +1,21 @@ +import request from '@/utils/request' + +/** + * 获取我发起的活动列表 + */ +export function getMyCreatedActivities() { + return request({ + url: '/activity/my/created', + method: 'get' + }) +} + +/** + * 获取我参与的活动列表 + */ +export function getMyJoinedActivities() { + return request({ + url: '/activity/my/joined', + method: 'get' + }) +} diff --git a/sams-ui/src/api/user.js b/sams-ui/src/api/user.js index d6718f69..a2aa14f0 100644 --- a/sams-ui/src/api/user.js +++ b/sams-ui/src/api/user.js @@ -5,7 +5,42 @@ import request from '@/utils/request' */ export function getUserProfile() { return request({ - url: '/user/profile', + url: '/api/user/profile', method: 'get' }) } + +/** + * 上传头像 + */ +export function uploadAvatar(file) { + const formData = new FormData() + formData.append('file', file) + return request({ + url: '/api/user/avatar', + method: 'post', + data: formData + }) +} + +/** + * 更新用户信息 + */ +export function updateUserInfo(data) { + return request({ + url: '/api/user/update', + method: 'post', + data + }) +} + +/** + * 修改密码 + */ +export function changePassword(data) { + return request({ + url: '/api/user/change-password', + method: 'post', + data + }) +} diff --git a/sams-ui/src/components/common/StudentHeader.vue b/sams-ui/src/components/common/StudentHeader.vue index 7fa0ff99..a8ff3eea 100644 --- a/sams-ui/src/components/common/StudentHeader.vue +++ b/sams-ui/src/components/common/StudentHeader.vue @@ -11,7 +11,6 @@ 首页 社团中心 活动 - 公告 个人中心 diff --git a/sams-ui/src/components/student/ChangePasswordDialog.vue b/sams-ui/src/components/student/ChangePasswordDialog.vue new file mode 100644 index 00000000..88077244 --- /dev/null +++ b/sams-ui/src/components/student/ChangePasswordDialog.vue @@ -0,0 +1,42 @@ + + + diff --git a/sams-ui/src/components/student/UserEditDialog.vue b/sams-ui/src/components/student/UserEditDialog.vue new file mode 100644 index 00000000..0dd920a4 --- /dev/null +++ b/sams-ui/src/components/student/UserEditDialog.vue @@ -0,0 +1,63 @@ + + + + + diff --git a/sams-ui/src/views/student/ActivityDetail.vue b/sams-ui/src/views/student/ActivityDetail.vue index 9e0a7246..e3efa4c7 100644 --- a/sams-ui/src/views/student/ActivityDetail.vue +++ b/sams-ui/src/views/student/ActivityDetail.vue @@ -1,6 +1,5 @@