enc-framework
Version:
enc-framework 核心组件.
71 lines (61 loc) • 1.86 kB
JavaScript
import Vue from 'vue'
import Vuex from 'vuex'
import User from './user'
import Permission from './permission'
import System from './system'
import Platform from './platform'
import Auth from './auth'
// 安装插件
Vue.use(Vuex)
// 爱加密存储对象
const AjmStore = function (options) {
this.options = options || {};
let modules = this.options.modules || {};
// 添加用户模块
modules.user = User;
// 权限模块
modules.permission = Permission;
// 系统模块
modules.system = System;
// 平台信息
modules.platform = Platform;
// 授权模块
modules.auth = Auth;
// 设置模块
this.modules = modules;
// 存储对象
this.store = new Vuex.Store({
// 模块
modules: this.modules,
// get属性
getters: {
// 用户信息
userInfo: state => state.user.userInfo,
// Token信息
tokenInfo: state => state.user.tokenInfo,
// 权限信息
permissions: state => state.permission.permissions,
// 按钮编码集合
buttonCodes:state => state.permission.buttonCodes,
// 菜单集合
menus: state => state.permission.menus,
// 系统信息W
systemInfo: state => state.system.systemInfo,
// 授权状态
authOvertime: state => state.platform.platformInfo.authorizationInfoVO.isAuthOvertime,
// 设备ID
deviceId: state => state.platform.platformInfo.authorizationInfoVO.deviceId,
// 平台信息
platformInfo: state => state.platform.platformInfo
}
})
}
// 获取存储对象
AjmStore.prototype.getStore = function () {
return this.store;
}
// 注册模块
AjmStore.prototype.registerModule = function (moduleName,moduleObj) {
return this.store.registerModule(moduleName,moduleObj);
}
export default AjmStore