diff --git a/frontend/src/api.js b/frontend/src/api.js
index 89d9c96..d53e178 100644
--- a/frontend/src/api.js
+++ b/frontend/src/api.js
@@ -35,6 +35,9 @@ export default {
UserRegister(data) {
return ajax('user/register', 'post', { data })
},
+ UserResetPassword(data) {
+ return ajax('user/reset-password', 'post', { data })
+ },
UserVerifyRequest() {
return ajax(`user/verify`, 'post', {})
},
diff --git a/frontend/src/views/users/Settings.vue b/frontend/src/views/users/Settings.vue
index 95d98db..df10d5a 100644
--- a/frontend/src/views/users/Settings.vue
+++ b/frontend/src/views/users/Settings.vue
@@ -7,7 +7,7 @@
邮箱验证
-
+
-
-
+
+
@@ -41,18 +41,20 @@
修改密码
-
+
+
@@ -75,6 +77,13 @@ const verifyRequesting = ref(false)
const emailModifyStatus = ref(false)
const emailModifyValue = ref('')
+const resetPasswordRequesting = ref(false)
+const resetPasswordData = ref({
+ old_password: '',
+ new_password: '',
+ re_password: ''
+})
+
const getProfile = () => {
api.GetUserProfile().then((res) => {
userProfile.value = res.data.data.result
@@ -98,6 +107,43 @@ const emailVerify = () => {
})
}
+const resetPassword = () => {
+ resetPasswordRequesting.value = true
+
+ if (resetPasswordData.value.old_password == "") {
+ toast.add({ severity: 'error', summary: '原密码不能为空', detail: '请重新输入', life: 3000 })
+ resetPasswordRequesting.value = false
+ return
+ }
+
+ if (resetPasswordData.value.new_password == "") {
+ toast.add({ severity: 'error', summary: '新密码不能为空', detail: '请重新输入', life: 3000 })
+ resetPasswordRequesting.value = false
+ return
+ }
+
+ if (resetPasswordData.value.re_password == "") {
+ toast.add({ severity: 'error', summary: '重复密码不能为空', detail: '请重新输入', life: 3000 })
+ resetPasswordRequesting.value = false
+ return
+ }
+
+ if (resetPasswordData.value.new_password != resetPasswordData.value.re_password) {
+ toast.add({ severity: 'error', summary: '两次密码不一致', detail: '请重新输入', life: 3000 })
+ resetPasswordRequesting.value = false
+ return
+ }
+
+ api.UserResetPassword(resetPasswordData.value).then((res) => {
+ toast.add({ severity: 'success', summary: '修改成功', detail: '请重新登录', life: 3000 })
+ resetPasswordRequesting.value = false
+ }).catch((err) => {
+ toast.add({ severity: 'error', summary: '修改失败', detail: err.response.data.msg, life: 3000 })
+ resetPasswordRequesting.value = false
+ console.error(err)
+ })
+}
+
onMounted(() => {
getProfile()
})
diff --git a/routers/api/v1/user/routers.go b/routers/api/v1/user/routers.go
index ba80af0..1f2bf3d 100644
--- a/routers/api/v1/user/routers.go
+++ b/routers/api/v1/user/routers.go
@@ -24,7 +24,7 @@ func InitUser(party router.Party) {
party.Get("/logout", middleware.AuthCheck, logoutHandler)
party.Post("/register", registerHandler)
party.Get("/profile", middleware.AuthCheck, profileHandler)
- party.Post("/resetPassword", middleware.AuthCheck, resetPasswordHandler)
+ party.Post("/reset-password", middleware.AuthCheck, resetPasswordHandler)
party.Get("/verify/{code:string}", verifyHandler)
party.Post("/verify", middleware.AuthCheck, verifySendHandler)