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