Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit cff8e04

Browse filesBrowse files
committed
优化
1 parent 7830cbc commit cff8e04
Copy full SHA for cff8e04

File tree

Expand file treeCollapse file tree

9 files changed

+99
-120
lines changed
Filter options
Expand file treeCollapse file tree

9 files changed

+99
-120
lines changed

‎package.json

Copy file name to clipboardExpand all lines: package.json
+1Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
},
1616
"dependencies": {
1717
"element-ui": "^2.3.6",
18+
"js-cookie": "^2.2.0",
1819
"vue": "^2.5.16",
1920
"vue-router": "^3.0.1",
2021
"vue-template-compiler": "^2.5.16",

‎src/api/login.js

Copy file name to clipboardExpand all lines: src/api/login.js
+4-6Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,10 @@ import fetch from '../utils/fetch'
66
const API_SUFFIX = process.env.API_SUFFIX
77

88
// 获取信息
9-
export function userInfo (id, token) {
9+
export function userInfo () {
1010
return fetch({
1111
url: '/admin/login/userInfo' + API_SUFFIX,
12-
method: 'get',
13-
params: {id, token}
12+
method: 'get'
1413
})
1514
}
1615

@@ -22,11 +21,10 @@ export function loginName (userName, pwd) {
2221
})
2322
}
2423

25-
export function logout (uid, token) {
24+
export function logout () {
2625
return fetch({
2726
url: '/admin/login/out' + API_SUFFIX,
28-
method: 'post',
29-
data: { uid, token }
27+
method: 'post'
3028
})
3129
}
3230

‎src/role.js

Copy file name to clipboardExpand all lines: src/role.js
+2-2Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import router from './router'
22
import store from './store'
33
import NProgress from 'nprogress' // Progress 进度条
44
import 'nprogress/nprogress.css'// Progress 进度条样式
5-
import { getInfo } from './utils/auth' // 验权
5+
import { getAdminId } from './utils/auth' // 验权
66
import { Message } from 'element-ui'
77

88
// permissiom judge
@@ -20,7 +20,7 @@ function hasRole (authRules, permissionAuthRules) {
2020
const whiteList = ['/login', '/authredirect']// 不重定向白名单
2121
router.beforeEach((to, from, next) => {
2222
NProgress.start() // 开启Progress
23-
if (getInfo().id) { // 判断是否有token
23+
if (getAdminId()) { // 判断是否有token
2424
if (to.path === '/login') {
2525
next({path: '/'})
2626
NProgress.done() // router在hash模式下 手动改变hash 重定向回来 不会触发afterEach 暂时hack方案 ps:history模式下无问题,可删除该行!

‎src/router/index.js

Copy file name to clipboardExpand all lines: src/router/index.js
+6-2Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ export const asyncRouterMap = [
105105
path: 'adSite',
106106
component: resolve => require(['../pages/adManage/adSite.vue'], resolve),
107107
name: '广告位管理',
108-
icon: '',
108+
icon: '0',
109109
meta: {
110110
authRule: ['admin/ad_site/index']
111111
}
@@ -114,7 +114,7 @@ export const asyncRouterMap = [
114114
path: 'ad',
115115
component: resolve => require(['../pages/adManage/ad.vue'], resolve),
116116
name: '广告管理',
117-
icon: '',
117+
icon: '0',
118118
meta: {
119119
authRule: ['admin/ad/index']
120120
}
@@ -137,6 +137,7 @@ export const asyncRouterMap = [
137137
component: resolve => require(['../pages/user_manage/admin/router.vue'], resolve),
138138
redirect: '/user_manage/authAdmin/index',
139139
name: '管理组',
140+
icon: '0',
140141
meta: {
141142
authRule: ['user_manage/admin_manage']
142143
},
@@ -145,6 +146,7 @@ export const asyncRouterMap = [
145146
path: 'authAdmin',
146147
component: resolve => require(['../pages/user_manage/admin/authAdmin.vue'], resolve),
147148
name: '管理员管理',
149+
icon: '0',
148150
meta: {
149151
authRule: ['admin/auth_admin/index']
150152
}
@@ -153,6 +155,7 @@ export const asyncRouterMap = [
153155
path: 'authRole',
154156
component: resolve => require(['../pages/user_manage/admin/authRole.vue'], resolve),
155157
name: '角色管理',
158+
icon: '0',
156159
meta: {
157160
authRule: ['admin/auth_role/index']
158161
}
@@ -161,6 +164,7 @@ export const asyncRouterMap = [
161164
path: 'authRule',
162165
component: resolve => require(['../pages/user_manage/admin/authPermissionRule.vue'], resolve),
163166
name: '权限管理',
167+
icon: '0',
164168
meta: {
165169
authRule: ['admin/auth_permission_rule/index']
166170
}

‎src/store/modules/admin.js

Copy file name to clipboardExpand all lines: src/store/modules/admin.js
+49-38Lines changed: 49 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,16 @@
11
import { userInfo, loginName, logout } from '../../api/login'
22
import * as types from '../mutation-types'
33
import { asyncRouterMap, constantRouterMap } from '../../router'
4-
import { getInfo, setInfo, removeInfo } from '../../utils/auth'
4+
import { getToken, setToken, removeToken, getAdminId, setAdminId, removeAdminId } from '../../utils/auth'
55
// import { $NOT_NETWORK } from '../../utils/errorCode'
66
import { Message } from 'element-ui'
77

8-
let info = getInfo()
98
// initial state
109
const state = {
11-
id: info.id || '', // id
12-
userName: info.userName || '', // 昵称
13-
avatar: info.avatar || '', // 头像
14-
token: info.token || '', // 登录token
10+
adminId: getAdminId(), // id
11+
userName: '', // 昵称
12+
avatar: '', // 头像
13+
token: getToken(), // 登录token
1514
authRules: [], // 权限列表
1615
routers: constantRouterMap, // 路由列表
1716
addRouters: [] // 添加的路由列表
@@ -50,7 +49,7 @@ function filterAsyncRouter (asyncRouterMap, authRules) {
5049

5150
// getters
5251
const getters = {
53-
id: state => state.id,
52+
adminId: state => state.adminId,
5453
userName: state => state.userName,
5554
avatar: state => state.avatar,
5655
token: state => state.token,
@@ -67,46 +66,46 @@ const actions = {
6766
const pwd = userInfo.pwd ? userInfo.pwd : ''
6867
return new Promise((resolve, reject) => {
6968
loginName(userName, pwd).then(response => {
70-
if (response.code) {
69+
const data = response || {}
70+
if (data.errcode) {
7171
Message({
72-
message: response.message,
72+
message: response.errmsg,
7373
type: 'error',
7474
duration: 5 * 1000
7575
})
7676
}
77-
const data = response || {}
7877
data.roles = [] // 解决登录跳转过去,动态路由不添加的问题
79-
commit(types.RECEIVE_USER_INFO, data)
78+
commit(types.RECEIVE_ADMIN_ID, data.id)
79+
commit(types.RECEIVE_ADMIN_TOKEN, data.token)
80+
commit(types.RECEIVE_ADMIN_AUTH_RULES, [])
8081
resolve()
8182
}).catch(error => {
8283
reject(error)
8384
})
8485
})
8586
},
86-
userInfo ({commit, state}) {
87+
userInfo ({commit}) {
8788
return new Promise((resolve, reject) => {
88-
userInfo(state.id, state.token).then(response => {
89-
if (response.code) {
90-
Message({
91-
message: response.message,
92-
type: 'error',
93-
duration: 5 * 1000
94-
})
95-
}
89+
userInfo().then(response => {
9690
const data = response || {}
97-
commit(types.RECEIVE_USER_INFO, data)
91+
commit(types.RECEIVE_ADMIN_ID, data.id)
92+
commit(types.RECEIVE_ADMIN_TOKEN, data.token)
93+
commit(types.RECEIVE_ADMIN_NAME, data.username)
94+
commit(types.RECEIVE_ADMIN_AVATAR, data.avatar)
95+
commit(types.RECEIVE_ADMIN_AUTH_RULES, data.authRules)
9896
resolve(data)
9997
}).catch(error => {
10098
reject(error)
10199
})
102100
})
103101
},
104102
// 登出
105-
loginOut ({commit, state}) {
103+
loginOut ({commit}) {
106104
return new Promise((resolve, reject) => {
107-
logout(state.id, state.token).then(() => {
108-
commit(types.RECEIVE_USER_INFO, {})
109-
removeInfo()
105+
logout().then(() => {
106+
commit(types.RECEIVE_ADMIN_ID, '')
107+
commit(types.RECEIVE_ADMIN_TOKEN, '')
108+
commit(types.RECEIVE_ADMIN_AUTH_RULES, [])
110109
resolve()
111110
}).catch(error => {
112111
reject(error)
@@ -117,8 +116,9 @@ const actions = {
117116
// 前端 登出
118117
fedLogout ({commit}) {
119118
return new Promise(resolve => {
120-
commit(types.RECEIVE_USER_INFO, {})
121-
removeInfo()
119+
commit(types.RECEIVE_ADMIN_ID, '')
120+
commit(types.RECEIVE_ADMIN_TOKEN, '')
121+
commit(types.RECEIVE_ADMIN_AUTH_RULES, [])
122122
resolve()
123123
})
124124
},
@@ -147,19 +147,30 @@ const actions = {
147147

148148
// mutations
149149
const mutations = {
150-
[types.RECEIVE_USER_INFO] (state, res) {
151-
if (res.id) {
152-
state.id = res.id
153-
}
154-
if (res.token) {
155-
state.token = res.token
150+
[types.RECEIVE_ADMIN_ID] (state, adminId) {
151+
state.adminId = adminId
152+
if (adminId === '') {
153+
removeAdminId()
154+
} else {
155+
setAdminId(adminId)
156156
}
157-
state.userName = res.username || ''
158-
state.avatar = res.avatar || ''
159-
if (res.authRules) {
160-
state.authRules = res.authRules
157+
},
158+
[types.RECEIVE_ADMIN_TOKEN] (state, token) {
159+
state.token = token
160+
if (token === '') {
161+
removeToken()
162+
} else {
163+
setToken(token)
161164
}
162-
setInfo(res)
165+
},
166+
[types.RECEIVE_ADMIN_NAME] (state, userName) {
167+
state.userName = userName
168+
},
169+
[types.RECEIVE_ADMIN_AVATAR] (state, avatar) {
170+
state.avatar = avatar
171+
},
172+
[types.RECEIVE_ADMIN_AUTH_RULES] (state, authRules) {
173+
state.authRules = authRules
163174
},
164175
[types.RECEIVE_ROUTERS] (state, routers) {
165176
state.addRouters = routers

‎src/store/mutation-types.js

Copy file name to clipboardExpand all lines: src/store/mutation-types.js
+5-1Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,9 @@ export const ADD_VISITED_VIEWS = 'ADD_VISITED_VIEWS'
55
export const DEL_VISITED_VIEWS = 'DEL_VISITED_VIEWS'
66

77
// user(用户)相关
8-
export const RECEIVE_USER_INFO = 'RECEIVE_USER_INFO' // 初始化用户信息
8+
export const RECEIVE_ADMIN_ID = 'RECEIVE_ADMIN_ID' // 用户ID
9+
export const RECEIVE_ADMIN_TOKEN = 'RECEIVE_ADMIN_TOKEN' // token
10+
export const RECEIVE_ADMIN_NAME = 'RECEIVE_ADMIN_NAME' // 昵称
11+
export const RECEIVE_ADMIN_AVATAR = 'RECEIVE_ADMIN_AVATAR' // 头像
12+
export const RECEIVE_ADMIN_AUTH_RULES = 'RECEIVE_ADMIN_AUTH_RULES' // 权限列表
913
export const RECEIVE_ROUTERS = 'RECEIVE_ROUTERS' // 初始化路由表

‎src/utils/auth.js

Copy file name to clipboard
+26-11Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,34 @@
11
import { getStore, setStore, removeStore } from './utils'
22

3-
const adminKey = 'adminUser'
3+
const adminId = 'ADMIN-ID'
4+
const adminToken = 'ADMIN-TOKEN'
45

5-
// 获取token
6-
export function getInfo () {
7-
let info = getStore(adminKey)
8-
return info || {}
6+
// 获取token
7+
export function getToken () {
8+
return getStore(adminToken)
99
}
1010

11-
// 设置token
12-
export function setInfo (info) {
13-
return setStore(adminKey, info)
11+
// 设置token
12+
export function setToken (sid) {
13+
return setStore(adminToken, sid)
1414
}
1515

16-
// 删除token
17-
export function removeInfo () {
18-
return removeStore(adminKey)
16+
// 删除token
17+
export function removeToken () {
18+
return removeStore(adminToken)
19+
}
20+
21+
// 获取admin_id
22+
export function getAdminId () {
23+
return getStore(adminId)
24+
}
25+
26+
// 设置admin_id
27+
export function setAdminId (id) {
28+
return setStore(adminId, id)
29+
}
30+
31+
// 删除admin_id
32+
export function removeAdminId () {
33+
return removeStore(adminId)
1934
}

‎src/utils/fetch.js

Copy file name to clipboardExpand all lines: src/utils/fetch.js
+2-2Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ const service = axios.create({
1414
// request拦截器
1515
service.interceptors.request.use(config => {
1616
// Do something before request is sent
17-
if (store.getters.id && store.getters.token) {
18-
config.headers['X-Adminid'] = store.getters.id
17+
if (store.getters.adminId && store.getters.token) {
18+
config.headers['X-Adminid'] = store.getters.adminId
1919
config.headers['X-Token'] = store.getters.token
2020
}
2121
return config

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.