From 5848ccc253f59e32742cf7de16b13c5860f25824 Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期一, 08 四月 2024 11:05:58 +0800
Subject: [PATCH] 路由

---
 Source/ProjectWeb/src/store/modules/user.js |   64 +++++++++++++++++++++++--------
 1 files changed, 47 insertions(+), 17 deletions(-)

diff --git a/Source/ProjectWeb/src/store/modules/user.js b/Source/ProjectWeb/src/store/modules/user.js
index 1bcbe7b..4f07444 100644
--- a/Source/ProjectWeb/src/store/modules/user.js
+++ b/Source/ProjectWeb/src/store/modules/user.js
@@ -27,10 +27,36 @@
   } else {
     ele[propsDefault.children].forEach(child => {
       addPath(child);
-    })
-  }
+    });
 
+  }
 }
+
+function updateCode(items) {
+  items.forEach(item => {
+    item.pathValue = item.path;
+    item.path = '/' + item.code;
+    item.query = {}; // 鍒濆鍖� item.query
+    item.query = queryStringToObject(item.pathValue)
+    console.log('item', item);
+    if (item.children && item.children.length > 0) {
+      updateCode(item.children);
+    }
+  });
+}
+function queryStringToObject(queryString) {
+  const index = queryString.indexOf('?');
+  if (index !== -1) {
+    queryString = queryString.substring(index + 1);
+  }
+  const params = new URLSearchParams(queryString);
+  const obj = {};
+  for (const [key, value] of params.entries()) {
+    obj[key] = value;
+  }
+  return obj;
+}
+
 
 const user = {
   state: {
@@ -48,20 +74,21 @@
     //鏍规嵁鐢ㄦ埛鍚嶇櫥褰�
     LoginByUsername({commit}, userInfo) {
       return new Promise((resolve, reject) => {
-        loginByUsername(userInfo.tenantId, userInfo.deptId, userInfo.roleId, userInfo.username, md5(userInfo.password), userInfo.type, userInfo.key, ).then(res => {
+        loginByUsername(userInfo.tenantId, userInfo.deptId, userInfo.roleId, userInfo.username, md5(userInfo.password), userInfo.type, userInfo.key,).then(res => {
           const data = res.data;
-          if (data.error_description) {
-            Message({
-              message: data.error_description,
-              type: 'error'
-            })
-          } else {
-            commit('SET_TOKEN', data.access_token);
-            commit('SET_REFRESH_TOKEN', data.refresh_token);
+          if (data.success) {
+            debugger;
+            commit('SET_TOKEN', data.obj.sessionInfo.token);
+            commit('SET_REFRESH_TOKEN', data.obj.sessionInfo.token);
             commit('SET_TENANT_ID', data.tenant_id);
-            commit('SET_USER_INFO', data);
+            commit('SET_USER_INFO', data.obj.sessionInfo);
             commit('DEL_ALL_TAG');
             commit('CLEAR_LOCK');
+          } else {
+            Message({
+              message: data.msg,
+              type: 'error'
+            })
           }
           resolve();
         }).catch(error => {
@@ -85,7 +112,7 @@
     //鏍规嵁绗笁鏂逛俊鎭櫥褰�
     LoginBySocial({commit}, userInfo) {
       return new Promise((resolve) => {
-        loginBySocial(userInfo.tenantId, userInfo.source,  userInfo.state).then(res => {
+        loginBySocial(userInfo.tenantId, userInfo.source, userInfo.state).then(res => {
           const data = res.data;
           if (data.error_description) {
             Message({
@@ -207,10 +234,12 @@
           let menu = deepClone(data);
           menu.forEach(ele => {
             addPath(ele, true);
+            updateCode([ele]);
           });
+
           commit('SET_MENU_ALL', menu)
           commit('SET_MENU', menu)
-          dispatch('GetButtons');
+          //dispatch('GetButtons');s
           resolve(menu)
         })
       })
@@ -228,6 +257,7 @@
   },
   mutations: {
     SET_TOKEN: (state, token) => {
+      debugger;
       setToken(token);
       state.token = token;
       setStore({name: 'token', content: state.token})
@@ -243,15 +273,15 @@
         }
       })
       state.menuAll = menu
-      setStore({ name: 'menuAll', content: state.menuAll })
+      setStore({name: 'menuAll', content: state.menuAll})
     },
     SET_MENU_ALL_NULL: (state) => {
       state.menuAll = []
-      setStore({ name: 'menuAll', content: state.menuAll })
+      setStore({name: 'menuAll', content: state.menuAll})
     },
     SET_MENU: (state, menu) => {
       state.menu = menu
-      setStore({ name: 'menu', content: state.menu })
+      setStore({name: 'menu', content: state.menu})
     },
     SET_REFRESH_TOKEN: (state, refreshToken) => {
       setRefreshToken(refreshToken)

--
Gitblit v1.9.3