From d3208016fbb567fb55186e0275fdd1b421ee3e0d Mon Sep 17 00:00:00 2001
From: Surpriseplus <845948745@qq.com>
Date: 星期五, 04 十一月 2022 09:45:57 +0800
Subject: [PATCH] 综合展示空间查询

---
 src/store/index.js |  142 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 138 insertions(+), 4 deletions(-)

diff --git a/src/store/index.js b/src/store/index.js
index dd17777..289c5a0 100644
--- a/src/store/index.js
+++ b/src/store/index.js
@@ -1,14 +1,51 @@
-import Vue from "vue";
-import Vuex from "vuex";
+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: "",
+    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: {},
+    mapMenuBoolean: false,
+    mapPopBoolean: false,
+    mapPopBoxFlag: null,
+    mapMenuBoxFlag: null,
+    mapSpaceQueryLayer: null,
+    mapMenuShpFile: null,
   },
   mutations: {
+    //鑾峰彇鏉冮檺鍚堥泦
+    getPermsEntity(state, msg) {
+      state.permsEntity = msg;
+    },
+    currentPerms(state, msg) {
+      state.currentPerms = msg;
+    },
     // 鑾峰彇瀹屾暣闈㈠寘灞戣矾寰�
     changeCata(state, msg) {
       state.catalogueName = msg;
@@ -17,7 +54,104 @@
     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;
+    },
+    verChangeNodes(state, msg) {
+      state.verCateNodes = msg;
+    },
+    //鏍峰紡绠$悊
+    styleDepChangeNode(state, msg) {
+      state.styleDepCateNodes = 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: {},
 });

--
Gitblit v1.9.3