Procházet zdrojové kódy

feat: 调整激活密码逻辑

Jack Zhou před 3 měsíci
rodič
revize
6cf5b8a882

+ 16 - 0
src/api/module/login.ts

@@ -91,6 +91,22 @@ export const changePassword = (params: any, config: any) => {
   )
 }
 
+/**
+ * 重置和激活密码
+ */
+export const resetAndActivatePassword = (params: any, config: any) => {
+  return HttpAxios.post(
+    `${baseUrl}`,
+    {
+      action: 'login',
+      operate: 'resetAndActivateUpdate',
+      ...params
+    },
+    config
+  )
+}
+
+
 /**
  * 获取public tracking detail详情数据
  */

+ 12 - 23
src/views/Login/src/components/SetPasswordDialog.vue

@@ -1,4 +1,7 @@
 <script setup lang="ts">
+import { useRoute } from 'vue-router'
+
+const route = useRoute()
 const dialogModel = ref(false)
 const state = ref<'reset' | 'activate'>('activate')
 
@@ -9,14 +12,12 @@ const openDialog = (stateValue: 'reset' | 'activate') => {
 
 const loginForm = ref({
   username: '',
-  oldPassword: '',
   newPassword: '',
   confirmPassword: ''
 })
 
 const newPwdErrTips = ref('')
 const loginError: any = ref({
-  oldPassword: false,
   newPassword: false,
   confirmPassword: false
 })
@@ -49,29 +50,17 @@ const handleChangePwd = () => {
     return
   }
   $api
-    .resetPwd({
-      uname: loginForm.value.username,
-      old_password: loginForm.value.oldPassword,
+    .resetAndActivatePassword({
+      verifcation_code: route.query.verifcation_code,
       password: loginForm.value.newPassword
     })
     .then((res: any) => {
-      emit('submit')
-      dialogModel.value = false
-      // if (res.code === 200) {
-      //   router.push({
-      //     name: 'Login',
-      //     query: {
-      //       isChange: 'true'
-      //     }
-      //   })
-      // } else if (res.code === 400) {
-      //   if (res.msg === 'Old password is incorrect') {
-      //     loginError.value.oldPassword = true
-      //   } else {
-      //     loginError.value.newPassword = true
-      //     newPwdErrTips.value = res.msg
-      //   }
-      // }
+      if (res.code === 200) {
+        emit('submit')
+        dialogModel.value = false
+      } else if (res.code !== 500 && res.code !== 200 && res.code) {
+        ElMessage.error('Error! Please try again later.')
+      }
     })
 }
 
@@ -113,7 +102,7 @@ defineExpose({
       <div class="top-section">
         <div class="title">Set Your Password</div>
         <div class="description">
-          Hello Caroline, please create a new password for your account.
+          Hello {{ route.query.name }}, please create a new password for your account.
         </div>
       </div>
       <div class="login-form">