odf_new/odf-uniapp/store/index.js
zpc 1c1b9ef559
All checks were successful
continuous-integration/drone/push Build is passing
21
2026-04-06 16:13:45 +08:00

62 lines
1.6 KiB
JavaScript

// store/index.js
import { reactive } from 'vue'
const store = reactive({
// 认证信息
token: uni.getStorageSync('token') || '',
userId: uni.getStorageSync('userId') || '',
userName: uni.getStorageSync('userName') || '',
isPermission: false,
// 用户菜单权限列表
permissions: JSON.parse(uni.getStorageSync('permissions') || '[]'),
// 功能版块权限列表
modules: JSON.parse(uni.getStorageSync('modules') || '[]'),
// 字典数据
dictUnitTypes: [], // 设备型号列表
dictBusinessTypes: [], // 业务类型列表
// 设置认证信息
setAuth(token, userId, userName, permissions) {
this.token = token
this.userId = userId
this.userName = userName
this.permissions = permissions || []
uni.setStorageSync('token', token)
uni.setStorageSync('userId', userId)
uni.setStorageSync('userName', userName)
uni.setStorageSync('permissions', JSON.stringify(this.permissions))
},
// 检查是否拥有某个权限
hasPermi(perm) {
if (this.permissions.includes('*:*:*')) return true
return this.permissions.includes(perm)
},
// 设置功能版块权限
setModules(modules) {
this.modules = modules || []
uni.setStorageSync('modules', JSON.stringify(this.modules))
},
// 清除认证信息
clearAuth() {
this.token = ''
this.userId = ''
this.userName = ''
this.isPermission = false
this.permissions = []
this.modules = []
uni.removeStorageSync('token')
uni.removeStorageSync('userId')
uni.removeStorageSync('userName')
uni.removeStorageSync('permissions')
uni.removeStorageSync('modules')
}
})
export default store