Forráskód Böngészése

修改bug

修改bug
dangyunlong 1 hónapja
szülő
commit
b1bb5a00e6

+ 4 - 4
src/layout/components/Sidebar/Logo.vue

@@ -8,12 +8,12 @@
         <h1 class="sidebar-title">{{ title }} </h1>
       </router-link> -->
       <a :href="'http://' + this.$store.state.user.userurl" v-if="collapse" key="collapse" class="sidebar-logo-link">
-        <!-- <h1 class="sidebar-title">{{ title }} </h1> -->
-        <h1 class="sidebar-title">返回首页</h1>
+        <h1 class="sidebar-title" v-if="this.$store.state.user.usertype==10000">{{ title }} </h1>
+        <h1 class="sidebar-title" v-else>返回首页</h1>
       </a>
       <a :href="'http://' + this.$store.state.user.userurl" v-else key="expand" class="sidebar-logo-link">
-        <!-- <h1 class="sidebar-title">{{ title }} </h1> -->
-        <h1 class="sidebar-title">返回首页 </h1>
+        <h1 class="sidebar-title" v-if="this.$store.state.user.usertype==10000">{{ title }} </h1>
+        <h1 class="sidebar-title" v-else>返回首页 </h1>
       </a>
     </transition>
   </div>

+ 3 - 1
src/store/getters.js

@@ -12,6 +12,8 @@ const getters = {
   roles: state => state.user.roles,
   permission_routes: state => state.permission.routes,
   errorLogs: state => state.errorLog.logs,
-  userurl: state => state.user.userurl
+  userurl: state => state.user.userurl,
+  usertype: state => state.user.usertype,
+  exp: state => state.user.exp
 }
 export default getters

+ 24 - 1
src/store/modules/user.js

@@ -1,5 +1,5 @@
 import { login, logout, getInfo, getMenu ,getImgCode,updateUserAvatarNickname } from '@/api/user'
-import { getToken, setToken, setUserUrl, removeToken ,removUserUrl,getUserUrl } from '@/utils/auth'
+import { getToken, setToken, setUserUrl, removeToken ,removUserUrl,getUserUrl,getUseType,removUseType,setUseType,getExp,setExp,removeExp } from '@/utils/auth'
 import router, { resetRouter } from '@/router'
 import axios from 'axios'
 
@@ -12,6 +12,8 @@ const state = {
   userid:'',
   role_id:'',
   userurl: getUserUrl(),
+  usertype: getUseType(),
+  exp:getExp(),
 }
 
 const mutations = {
@@ -21,6 +23,9 @@ const mutations = {
   SET_URL: (state, url) => {
     state.userurl = url
   },
+  SET_USE_TYPE: (state, user_type) => {
+    state.usertype = user_type
+  },
   SET_INTRODUCTION: (state, introduction) => {
     state.introduction = introduction
   },
@@ -39,6 +44,9 @@ const mutations = {
   SET_USERID: (state, id) => {
     state.userid = id
   },
+  SET_EXP: (state, exp) => {
+    state.exp = exp
+  },
   // 退出登录逻辑直接放在 mutations 中
   LOGOUT(state) {
     state.token = '';
@@ -51,6 +59,8 @@ const mutations = {
     removeToken();
     removUserUrl();
     resetRouter();
+    removUseType();
+    removeExp();
     //退出登录跳转回原网站
     window.location.href = "http://" + state.userurl
   }
@@ -78,11 +88,15 @@ const actions = {
 
         //会员登录跳转 但不储存
         if(userInfo.backurl){
+          //设置用户url
           setUserUrl(userInfo.backurl,data.exp)
           commit('SET_URL',userInfo.backurl)
           //只设置token 不储存url
           setToken(data.token,data.exp)
           commit('SET_TOKEN',data.token)
+          //储存过期时间
+          setExp(data.exp,data.exp)
+          commit('SET_EXP',data.exp)
         }
 
         //会员登录进入系统,储存所属url
@@ -92,6 +106,9 @@ const actions = {
           //设置token
           setToken(data.token,data.exp)
           commit('SET_TOKEN',data.token)
+          //储存过期时间
+          setExp(data.exp,data.exp)
+          commit('SET_EXP',data.exp)
         }
         
         resolve(response)
@@ -124,6 +141,12 @@ const actions = {
         commit('SET_AVATAR', avatar)
         commit('SET_INTRODUCTION', introduction)
         commit('SET_ROLE_ID', role_id)
+        //设置用户等级
+        commit('SET_USE_TYPE',data.type_id)
+        setUseType(data.type_id,state.exp)
+        console.log(data.type_id)
+        console.log(state.exp)
+
         resolve(data)
       }).catch(error => {
         reject(error)

+ 39 - 5
src/utils/auth.js

@@ -2,7 +2,10 @@ import Cookies from 'js-cookie'
 
 const TokenKey = 'Admin-Token'
 const useUrl = 'Back-Url'
+const useType = 'use-Type'
+const expTime = 'exp-time'
 
+//1.设置token
 export function getToken() {
   return Cookies.get(TokenKey)
 }
@@ -12,6 +15,11 @@ export function setToken(token,exp) {
   return Cookies.set(TokenKey, token, { expires: expdays })
 }
 
+export function removeToken() {
+  return Cookies.remove(TokenKey)
+}
+
+//2.设置所属网站
 export function setUserUrl(url,exp) {
   const expdays = convertSecondsToDays(exp)
   return Cookies.set(useUrl, url, { expires: expdays })
@@ -21,15 +29,41 @@ export function getUserUrl() {
   return Cookies.get(useUrl)
 }
 
-export function removeToken() {
-  return Cookies.remove(TokenKey)
-}
-
 export function removUserUrl() {
   return Cookies.remove(useUrl)
 }
 
-//把秒转换成天
+//3.储存用户等级
+export function setUseType(url,exp) {
+  const expdays = convertSecondsToDays(exp)
+  return Cookies.set(useType, url, { expires: expdays })
+}
+
+export function getUseType() {
+  return Cookies.get(useType)
+}
+
+export function removUseType() {
+  return Cookies.remove(useType)
+}
+
+//4.设置过期时间
+export function getExp() {
+  return Cookies.get(expTime)
+}
+
+export function setExp(exp) {
+  const expdays = convertSecondsToDays(exp)
+  return Cookies.set(exp, exp, { expires: expdays })
+}
+
+export function removeExp() {
+  return Cookies.remove(expTime)
+}
+
+//5.把秒转换成天
 function convertSecondsToDays(seconds) {
   return seconds/(60*60*24); //1天=60秒*60分钟*24小时
 }
+
+

+ 7 - 1
src/views/login/index.vue

@@ -292,8 +292,11 @@ export default {
       
       // 第一种情况, 不含有backUrl或者userUrl 说明登录者是超级管理员
       if(hashParams.size==0||system=='/dashboard'){
+        // 获取当前网址
+        const currentUrl = window.location.origin.replace(/^https?:\/\//, '').split('/')[0];
+        console.log("当前网址是:" + currentUrl);
         console.log("执行超级管理员登录!")
-        this.login(1)
+        this.login(1,currentUrl)
       }else{
         // 第二种情况,含有backurl 说明是单点登录
         if(backurl!=null){
@@ -329,6 +332,9 @@ export default {
 
       //超级管理员登录
       if(type==1){
+        // 获取当前页面的 URL
+        this.loginForm.userurl = url;
+
         this.$refs.loginForm.validate(valid => {
           if (valid) {
             this.loading = true