tangning 9 tháng trước cách đây
mục cha
commit
eefb36233a
2 tập tin đã thay đổi với 17 bổ sung2 xóa
  1. 1 0
      src/store/modules/user.ts
  2. 16 2
      src/views/sys/login/LoginForm.vue

+ 1 - 0
src/store/modules/user.ts

@@ -109,6 +109,7 @@ export const useUserStore = defineStore({
         });
         // save token
         this.setToken(token);
+        console.log('token', token);
         return this.afterLoginAction(goHome);
       } catch (error) {
         return Promise.reject(error);

+ 16 - 2
src/views/sys/login/LoginForm.vue

@@ -93,6 +93,7 @@
 </template>
 <script lang="ts" setup>
   import { reactive, ref, unref, computed, onMounted } from 'vue';
+  import { useRoute } from 'vue-router'
 
   import { Checkbox, Form, Input, Row, Col, Button } from 'ant-design-vue'; //  Divider
   // import {
@@ -124,7 +125,7 @@
 
   const { setLoginState, getLoginState } = useLoginState();
   const { getFormRules } = useFormRules();
-
+  const { query } = useRoute()
   const formRef = ref();
   const loading = ref(false);
   const rememberMe = ref(false);
@@ -161,7 +162,17 @@
   function handlesybz() {
     window.open('//help.map.jms.gd/forum-4.htm');
   }
+  function isUrl(string){
+  try {
+    new URL(string);
+    return true;
+  } catch (err) {
+    return false;
+  }
+}
+
   async function handleLogin() {
+    console.log('handleLogin', query);
     const data = await validForm();
     if (!data) return;
     try {
@@ -172,7 +183,7 @@
         mode: 'none', //不要默认的错误提示
       });
       if (userInfo) {
-        console.log('userInfo', userInfo);
+        console.log('handleLogin', userInfo, query);
         if (userInfo.platformName) {
           appStore.setTitle(userInfo.platformName);
         }
@@ -184,6 +195,9 @@
           localStorage.removeItem('password');
           localStorage.removeItem('username');
         }
+        if(query?.redirect && isUrl(query?.redirect as string)){
+          window.open(query?.redirect as string);
+        }
         notification.success({
           message: t('sys.login.loginSuccessTitle'),
           description: `${t('sys.login.loginSuccessDesc')}: ${userInfo.nickName}`,