123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178 |
- import { createStore } from 'vuex'
- import { IHttpResponse, IObject } from '@/types/interface'
- import { removeCache, getCache } from '@/utils/cache'
- import { dictApi } from '@/api/common'
- import { getMySystem, getUserInfoApi } from '@/api/system/login'
- import BaseService from '@/utils/baseService'
- import { ElMessage } from 'element-plus'
-
- export default createStore<any>({
- //存放的属性(数据变量)。
- state: {
- initStatus: false, //开启vuex 缓存
- menuList: [] as IObject[],
- dictData: sessionStorage.getItem('dictData') ?? {},
- mySystemList: [] as IObject[],
- userInfo: { name: '', mobile: '' },
- realNameAuthentication: sessionStorage.getItem('realNameAuthentication') ?? '', // 强制实名验证(0-已实名,1-未实名)
- needChangePasswordNow: sessionStorage.getItem('needChangePasswordNow') ?? '', // 强制修改密码(0-不需要提醒用户修改密码,1-需要提醒用户去修改密码)
- },
- //从基本数据(state)派生的数据,相当于state的计算属性。
-
- getters: {
- userName: (state) => {
- // 用户名
- return state.userInfo.name
- },
- },
- actions: {
- updateMenu(context, value) {
- //声明变量的值,所传内容的值
- context.commit('UpdateMenu', value)
- },
- loginOut(context, value) {
- context.commit('LoginOut', value)
- context.commit('RealNameAuthentication', '')
- context.commit('NeedChangePasswordNow', '' )
- },
- backIndexClear(context, value) {
- context.commit('BackIndexClear', value)
- },
- // 字典
- dictData(context, value) {
- if(sessionStorage.getItem('dictData') && sessionStorage.getItem('dictData')[context]){
- return
- }
- //字典全量接口
- BaseService.post('/userw/dict/itemGetAll').then((res: any) => {
- if (res && res.code === 0) {
- let bizContent = res.data
- let data = bizContent.dictTypeAndItem || {}
- console.log(data,'dictTypeAndItem')
- let newData = {}
- for (let key in data) {
- let valList = data[key]
- let newList: any = []
- valList.map((item) => {
- let tem = {
- ...item,
- }
- tem.label = item.name
- tem.value = item.code
- newList.push(tem)
- })
- newData[key] = newList
- }
- sessionStorage.setItem('dictData', JSON.stringify(newData))
- context.commit('DictData', newData)
- }
- })
- },
- // 授权的系统
- getMySystem(context) {
- let cacheAccessToken = getCache(
- 'cacheAccessToken',
- { isSessionStorage: false },
- {}
- )
- let openId = cacheAccessToken['openId']
- let params = {
- openId: openId,
- }
- // 根据用户标识返回其可访问的所有系统类型)iaw/rbac/systemTypeByAccountRole
- BaseService.post('/userw/rbac/systemTypeByAccountRole', params).then((res: any) => {
- if (res && res.statusCode === 0) {
- let bizContent = res.data
- console.log('可访问的系统',bizContent,'请求参数',bizContent);
-
- let systemTypeList = bizContent.list || []
- context.commit('MysystemList', systemTypeList)
- }
- })
- },
- // 获取用户信息
- getUserInfo(context) {
- let cacheAccessToken = getCache(
- 'cacheAccessToken',
- { isSessionStorage: false },
- {}
- )
- let openId = cacheAccessToken['openId']
- let params = {
- openId: openId,
- }
- // // 根据用户标识返回其可访问的所有系统类型)
- // BaseService.post('/userw/staff/getinfobyopenid', params).then((res: any) => {
- // if (res && res.statusCode === 0) {
- // console.log(res);
-
- // let bizContent = res.data
- // context.commit('setUserInfo', {
- // name: bizContent.staffName,
- // mobile: bizContent.mobile,
- // })
- // } else {
- // ElMessage.error(res.message)
- // }
- // })
- },
- realNameAuthentication(context, value) {
- context.commit('RealNameAuthentication', value)
- },
- needChangePasswordNow(context, value) {
- context.commit('NeedChangePasswordNow', value)
- },
- initData(context) {
- //初始化数据
- // sessionStorage.clear() //清除所有 session
- context.dispatch('dictData') //获取枚举
- context.dispatch('getMySystem') //根据用户标识返回其可访问的所有系统类型
- context.dispatch('getUserInfo') //根据用户标识获取用户信息
- context.commit('InitUpdate', true) //初始化更新类型
- },
- },
- //每个mutations都有一个字符串的事件类型(type)和一个回调函数(hander)。
- mutations: {
- UpdateMenu(state, value) {
- state.menuList = value
- },
- LoginOut(state, value) {
- state.menuList = []
- sessionStorage.clear(); //清除所有 session
- removeCache('selectedCodeCatch', true)
- removeCache('cacheAccessToken', true)
- removeCache('cacheUser', true)
- },
- BackIndexClear(state, value) {
- //清除索引
- state.initStatus = false
- state.menuList = []
- state.dictData = {
- statusLis: [],
- }
- state.mySystemList = []
- removeCache('selectedCodeCatch', true)
- },
- DictData(state, value) {
- state.dictData = value
- },
- setUserInfo(state, value) {
- state.userInfo = value
- },
- MysystemList(state, value) {
- state.mySystemList = value
- },
- InitUpdate(state, value) {
- state.initStatus = value
- },
- RealNameAuthentication(state, value) {
- sessionStorage.setItem('realNameAuthentication', value)
- state.realNameAuthentication = value
- },
- NeedChangePasswordNow(state, value) {
- sessionStorage.setItem('needChangePasswordNow', value)
- state.needChangePasswordNow = value
- },
- },
- modules: {},
- })
|