Bläddra i källkod

登陆-修改

rkljw 3 dagar sedan
förälder
incheckning
57be9164b6
2 ändrade filer med 30 tillägg och 8 borttagningar
  1. 23 7
      src/permission.js
  2. 7 1
      src/utils/auth.js

+ 23 - 7
src/permission.js

@@ -3,7 +3,7 @@ import store from './store'
 import { Message } from 'element-ui'
 import NProgress from 'nprogress' // progress bar
 import 'nprogress/nprogress.css' // progress bar style
-import { getToken,setUserUrl, setUseType,setWebSiteId,hashParams} from '@/utils/auth' // get token from cookie
+import { getToken,setUserUrl, setUseType,setWebSiteId,hashParams,getUseType,getUserUrl} from '@/utils/auth' // get token from cookie
 import getPageTitle from '@/utils/get-page-title'
 import URL from '@/utils/baseUrl';
 import {getInfo} from '@/api/user'
@@ -35,7 +35,6 @@ router.beforeEach(async(to, from, next) => {
       const userInfo = await getInfo();
       console.log("User Info:", userInfo);
       if (userInfo.code === 200) {
-        console.log("####")
         setUseType(userInfo.data.userType, 86400)
         setWebSiteId(userInfo.data.siteId, 86400)
         next({ path: '/' })
@@ -82,15 +81,32 @@ router.beforeEach(async(to, from, next) => {
     }
   } else {
     /* has no token*/
-
     if (whiteList.indexOf(to.path) !== -1) {
+      const userurl = hashParams();
+      if(userurl){
+        setUserUrl(userurl, 86400) 
+      }
       // in the free login whitelist, go directly
       next()
     } else {
-      // other pages that do not have permission to access are redirected to the login page.
-      next(`/login?redirect=${to.path}`)
-      NProgress.done()
-      setUserUrl(URL.webUrl, 86400)
+      const userType = getUseType()
+      if(userType==10000){
+        next(`/login?redirect=${to.path}`)
+        NProgress.done()
+        setUserUrl(URL.webUrl, 86400)
+      }else{
+        const userurl = getUserUrl();
+        let url=''
+        if (!userurl.startsWith('http://') && !userurl.startsWith('https://')) {
+          // 如果不是,则拼接上 http://
+          url = 'http://' + userurl;
+        }else{
+          url = userurl;
+        }
+        next(`/login?backurl=${url}`)
+        NProgress.done()
+        setUserUrl(userurl, 86400)
+      }
     }
   }
 })

+ 7 - 1
src/utils/auth.js

@@ -93,13 +93,19 @@ export function hashParams() {
   const hash = url.hash;
   const hashParams = new URLSearchParams(hash.split('?')[1]);
   const userurl = hashParams.get('userurl');
-
+  const backurl = hashParams.get('backurl');
   if (userurl) {
     // Create a URL object to extract the domain
     const userUrlObject = new URL(userurl);
     return userUrlObject.hostname; // Return only the domain
   }
 
+  if (backurl) {
+    // Create a URL object to extract the domain
+    const backUrlObject = new URL(backurl);
+    return backUrlObject.hostname; // Return only the domain  
+  }
+
   return null; // Return null if userurl is not present
 }