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