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