| | |
| | | import Vue from 'vue'; |
| | | import Vuex from 'vuex'; |
| | | import { getToken, setToken, removeToken } from '@/utils/auth'; |
| | | import { Loading, Message } from 'element-ui'; |
| | | import { login, getPublicKey } from '@/api/api'; |
| | | |
| | | var encrypt = new JSEncrypt(); |
| | | Vue.use(Vuex); |
| | | |
| | | export default new Vuex.Store({ |
| | | state: { |
| | | catalogueName: '', |
| | | cataNode: {}, |
| | | lang: 'zh', |
| | | menuNode: {}, |
| | | verCateNode: {}, |
| | | verCateNodes: {}, |
| | | styleDirCateNodes: {}, |
| | | styleDepCateNodes: {}, |
| | | iframeMsg: '', |
| | | token: getToken(), |
| | | //请求计数 |
| | | apiCount: 0, |
| | | //loading实例 |
| | | loadingInstance: null, |
| | | key: null, |
| | | //系统监控WebSocket |
| | | ws: null, |
| | | //权限合集 |
| | | permsEntity: [], |
| | | currentPerms: '', |
| | | //综合展示 |
| | | syntiesis: {}, |
| | | }, |
| | | mutations: { |
| | | //获取权限合集 |
| | | getPermsEntity(state, msg) { |
| | | state.permsEntity = msg; |
| | | }, |
| | | currentPerms(state, msg) { |
| | | state.currentPerms = msg; |
| | | }, |
| | | // 获取完整面包屑路径 |
| | | changeCata(state, msg) { |
| | | state.catalogueName = msg; |
| | |
| | | // 获取点击的目录点对象 |
| | | changeNode(state, msg) { |
| | | state.cataNode = msg; |
| | | }, |
| | | changeLang(state, msg) { |
| | | state.lang = msg; |
| | | }, |
| | | getIframe(state, msg) { |
| | | state.iframeMsg = msg; |
| | | }, |
| | | changeName(state, msg) { |
| | | state.menuNode = msg; |
| | | // console.log(msg); |
| | | }, |
| | | verChangeNode(state, msg) { |
| | | state.verCateNode = msg; |
| | |
| | | styleDirChangeNode(state, msg) { |
| | | state.styleDirCateNodes = msg; |
| | | }, |
| | | /* 打开Loading */ |
| | | START_LOADING(state, msg) { |
| | | state.loadingInstance = Loading.service({ |
| | | lock: true, |
| | | text: msg ? msg : '加载中...', |
| | | background: 'rgba(0, 0, 0, 0.7)', |
| | | }); |
| | | }, |
| | | /* 关闭loading */ |
| | | |
| | | CLOSE_LOADING(state) { |
| | | state.loadingInstance.close(); |
| | | }, |
| | | /* 更新请求线程池 */ |
| | | UPDATE_API_COUNT(state, handle) { |
| | | if (handle == 'add') { |
| | | state.apiCount++; |
| | | this.commit('START_LOADING'); |
| | | } else { |
| | | state.apiCount--; |
| | | if (state.apiCount <= 0) { |
| | | this.commit('CLOSE_LOADING'); |
| | | } |
| | | } |
| | | }, |
| | | SET_TOKEN(state, token) { |
| | | state.token = token; |
| | | }, |
| | | |
| | | SET_KEY(state, key) { |
| | | state.key = key; |
| | | }, |
| | | }, |
| | | actions: {}, |
| | | actions: { |
| | | // 用户登录 login |
| | | login({ commit, state }, userInfo) { |
| | | return new Promise((resolve, reject) => { |
| | | var data = { |
| | | uid: encrypt.encrypt(userInfo.uid), |
| | | pwd: encrypt.encrypt(userInfo.pwd), |
| | | }; |
| | | login(data) |
| | | .then((response) => { |
| | | const data = response; |
| | | if (data.code !== 200) { |
| | | return Message({ |
| | | message: data.msg, |
| | | type: 'error', |
| | | duration: 5 * 1000, |
| | | }); |
| | | } |
| | | commit('SET_TOKEN', data.result.token); |
| | | setToken(data.result.token); |
| | | resolve(data); |
| | | }) |
| | | .catch((error) => { |
| | | reject(error); |
| | | }); |
| | | }); |
| | | }, |
| | | getpublickey({ commit, state }, userInfo) { |
| | | return new Promise((resolve, reject) => { |
| | | getPublicKey(userInfo) |
| | | .then((response) => { |
| | | const data = response; |
| | | commit('SET_KEY', data.result); |
| | | |
| | | encrypt.setPublicKey(data.result); // 设置公钥 |
| | | resolve(); |
| | | }) |
| | | .catch((error) => { |
| | | reject(error); |
| | | }); |
| | | }); |
| | | }, |
| | | }, |
| | | modules: {}, |
| | | }); |