提交 | 用户 | age
|
c2b28e
|
1 |
var isMock = require('@/config/baseConfig').isMock // 全局配置文件 |
2a61f6
|
2 |
// 全局方法 全局放大 以后缀 FN 结尾 |
L |
3 |
var fn = { |
|
4 |
// 通用跳转 |
cecd44
|
5 |
/** |
L |
6 |
* 用法1(query): jumpToFN('/accountType/voucherTemplate?id='+ scope.row.id)" |
|
7 |
* 特点 url会显示出来,刷新不会丢失(传参url为路由path) |
|
8 |
* |
|
9 |
* 用法2(params):jumpToFN('voucherTemplate',{id: scope.row.id}) |
|
10 |
* 特点 url不会显示出来,刷新丢失数据(传值url为路由name) |
|
11 |
*/ |
69fce8
|
12 |
jumpToFN(url, params) { |
2a61f6
|
13 |
if (!url) return |
cecd44
|
14 |
if (params) { |
L |
15 |
console.log({ name: url, params: { ...params }}) |
|
16 |
this.$router.push({ name: url, params: { ...params }}) |
|
17 |
} else { |
|
18 |
this.$router.push(url) |
|
19 |
} |
2a61f6
|
20 |
}, |
L |
21 |
|
|
22 |
// 随机12位数 |
|
23 |
getCheckedId() { |
|
24 |
var s = [] |
|
25 |
var hexDigits = '0123456789abcdef' |
|
26 |
for (var i = 0; i < 12; i++) { |
|
27 |
s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1) |
|
28 |
} |
|
29 |
// s[14] = '4'; |
|
30 |
// s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); |
|
31 |
|
|
32 |
// s[8] = s[13] = s[18] = s[23] = '-' |
|
33 |
var uuid = s.join('') |
|
34 |
return uuid |
|
35 |
}, |
|
36 |
|
|
37 |
// 获取权限 |
|
38 |
// 参考pages/login.vue的mockData |
|
39 |
// 需要注意的是,如果更改帐号权限,必须该帐号重新登录才生效 |
|
40 |
getAuthDataFN() { |
|
41 |
var userData = sessionStorage.getItem('userData') |
|
42 |
var authArr; var authData = {} |
|
43 |
|
|
44 |
if (userData) { |
|
45 |
authArr = JSON.parse(userData).arr |
|
46 |
// 转成对象 |
|
47 |
authArr.forEach(key => { |
|
48 |
authData[key] = 1 |
|
49 |
}) |
|
50 |
return authData |
|
51 |
} else { |
|
52 |
// 清空登录凭证和用户数据 |
|
53 |
sessionStorage.clear() |
|
54 |
// 未登录,跳转登录页面 |
|
55 |
this.$router.replace({ path: '/login' }) |
|
56 |
this.$messageError('登录过期,请重新登录') |
|
57 |
authArr = [] |
|
58 |
return {} |
|
59 |
} |
|
60 |
}, |
|
61 |
// 获取单个权限 |
|
62 |
getAuthValueFN(key) { |
|
63 |
if (!key) { |
|
64 |
return 0 |
|
65 |
} |
c2b28e
|
66 |
// mock模式 全显示 |
L |
67 |
if (isMock) return true |
2a61f6
|
68 |
return this.getAuthDataFN()[key] |
L |
69 |
}, |
|
70 |
|
|
71 |
// 检测是否登录 |
|
72 |
checkLoginFN(_this, sucCb) { |
|
73 |
var adminToken = sessionStorage.getItem('adminToken') |
|
74 |
if (adminToken) { |
|
75 |
sucCb && sucCb() |
|
76 |
} else { |
|
77 |
// 清空登录凭证和用户数据 |
|
78 |
sessionStorage.clear() |
|
79 |
// 未登录,跳转登录页面 |
|
80 |
_this.$router.replace({ path: '/login' }) |
|
81 |
// this.$messageError('登录过期,请重新登录'); |
|
82 |
} |
|
83 |
} |
|
84 |
} |
|
85 |
|
|
86 |
export default fn |