var isMock = require('@/config/baseConfig').isMock // 全局配置文件
|
// 全局方法 全局放大 以后缀 FN 结尾
|
var fn = {
|
// 通用跳转
|
/**
|
* 用法1(query): jumpToFN('/accountType/voucherTemplate?id='+ scope.row.id)"
|
* 特点 url会显示出来,刷新不会丢失(传参url为路由path)
|
*
|
* 用法2(params):jumpToFN('voucherTemplate',{id: scope.row.id})
|
* 特点 url不会显示出来,刷新丢失数据(传值url为路由name)
|
*/
|
jumpToFN(url, params) {
|
if (!url) return
|
if (params) {
|
console.log({ name: url, params: { ...params }})
|
this.$router.push({ name: url, params: { ...params }})
|
} else {
|
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
|
}
|
// mock模式 全显示
|
if (isMock) return true
|
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
|