From ffd0af47ee31a9592cfab56a907e9841a9113c52 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期四, 20 七月 2023 10:37:17 +0800
Subject: [PATCH] 代码提交,前端代码打包

---
 Source/UBCS-WEB/dist/src/store/modules/user.js |  288 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 288 insertions(+), 0 deletions(-)

diff --git a/Source/UBCS-WEB/dist/src/store/modules/user.js b/Source/UBCS-WEB/dist/src/store/modules/user.js
new file mode 100644
index 0000000..fed7910
--- /dev/null
+++ b/Source/UBCS-WEB/dist/src/store/modules/user.js
@@ -0,0 +1,288 @@
+import {setToken, setRefreshToken, removeToken, removeRefreshToken} from '@/util/auth'
+import {Message} from 'element-ui'
+import {setStore, getStore} from '@/util/store'
+import {isURL, validatenull} from '@/util/validate'
+import {deepClone} from '@/util/util'
+import website from '@/config/website'
+import {loginByUsername, loginBySocial, loginBySso, getUserInfo, logout, refreshToken, getButtons} from '@/api/user'
+import {getTopMenu, getRoutes} from '@/api/system/menu'
+import md5 from 'js-md5'
+
+
+function addPath(ele, first) {
+  const menu = website.menu;
+  const propsConfig = menu.props;
+  const propsDefault = {
+    label: propsConfig.label || 'name',
+    path: propsConfig.path || 'path',
+    icon: propsConfig.icon || 'icon',
+    children: propsConfig.children || 'children'
+  }
+  const icon = ele[propsDefault.icon];
+  ele[propsDefault.icon] = validatenull(icon) ? menu.iconDefault : icon;
+  const isChild = ele[propsDefault.children] && ele[propsDefault.children].length !== 0;
+  if (!isChild) ele[propsDefault.children] = [];
+  if (!isChild && first && !isURL(ele[propsDefault.path])) {
+    ele[propsDefault.path] = ele[propsDefault.path] + '/index'
+  } else {
+    ele[propsDefault.children].forEach(child => {
+      addPath(child);
+    })
+  }
+
+}
+
+const user = {
+  state: {
+    tenantId: getStore({name: 'tenantId'}) || '',
+    userInfo: getStore({name: 'userInfo'}) || [],
+    permission: getStore({name: 'permission'}) || {},
+    roles: [],
+    menuId: {},
+    menu: getStore({name: 'menu'}) || [],
+    menuAll: getStore({name: 'menuAll'}) || [],
+    token: getStore({name: 'token'}) || '',
+    refreshToken: getStore({name: 'refreshToken'}) || '',
+    upadatastatus:[],
+    updataid:{
+      id:""
+    }
+  },
+  actions: {
+    //鏍规嵁鐢ㄦ埛鍚嶇櫥褰�
+    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 => {
+          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);
+            commit('SET_TENANT_ID', data.tenant_id);
+            commit('SET_USER_INFO', data);
+            commit('DEL_ALL_TAG');
+            commit('CLEAR_LOCK');
+          }
+          resolve();
+        }).catch(error => {
+          reject(error);
+        })
+      })
+    },
+    //鏍规嵁鎵嬫満鍙风櫥褰�
+    LoginByPhone({commit}, userInfo) {
+      return new Promise((resolve) => {
+        loginByUsername(userInfo.phone,
+        ).then(res => {
+          const data = res.data.data;
+          commit('SET_TOKEN', data);
+          commit('DEL_ALL_TAG');
+          commit('CLEAR_LOCK');
+          resolve();
+        })
+      })
+    },
+    //鏍规嵁绗笁鏂逛俊鎭櫥褰�
+    LoginBySocial({commit}, userInfo) {
+      return new Promise((resolve) => {
+        loginBySocial(userInfo.tenantId, userInfo.source,  userInfo.state).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);
+            commit('SET_USER_INFO', data);
+            commit('SET_TENANT_ID', data.tenant_id);
+            commit('DEL_ALL_TAG');
+            commit('CLEAR_LOCK');
+          }
+          resolve();
+        })
+      })
+    },
+    //鏍规嵁鍗曠偣淇℃伅鐧诲綍
+    LoginBySso({commit}, userInfo) {
+      return new Promise((resolve) => {
+        loginBySso(userInfo.state,).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);
+            commit('SET_USER_INFO', data);
+            commit('SET_TENANT_ID', data.tenant_id);
+            commit('DEL_ALL_TAG');
+            commit('CLEAR_LOCK');
+          }
+          resolve();
+        })
+      })
+    },
+    //鑾峰彇鐢ㄦ埛淇℃伅
+    GetUserInfo({commit}) {
+      return new Promise((resolve, reject) => {
+        getUserInfo().then((res) => {
+          const data = res.data.data;
+          commit('SET_ROLES', data.roles);
+          resolve(data);
+        }).catch(err => {
+          reject(err);
+        })
+      })
+    },
+    //鍒锋柊token
+    refreshToken({state, commit}, userInfo) {
+      window.console.log('handle refresh token');
+      return new Promise((resolve, reject) => {
+        refreshToken(state.refreshToken, state.tenantId,
+          !validatenull(userInfo) ? userInfo.deptId : state.userInfo.dept_id,
+          !validatenull(userInfo) ? userInfo.roleId : state.userInfo.role_id
+        ).then(res => {
+          const data = res.data;
+          commit('SET_TOKEN', data.access_token);
+          commit('SET_REFRESH_TOKEN', data.refresh_token);
+          commit('SET_USER_INFO', data);
+          resolve();
+        }).catch(error => {
+          reject(error)
+        })
+      })
+    },
+    // 鐧诲嚭
+    LogOut({commit}) {
+      return new Promise((resolve, reject) => {
+        logout().then(() => {
+          commit('SET_TOKEN', '');
+          commit('SET_MENU', []);
+          commit('SET_MENU_ALL_NULL', []);
+          commit('SET_ROLES', []);
+          commit('SET_TAG_LIST', []);
+          commit('DEL_ALL_TAG');
+          commit('CLEAR_LOCK');
+          removeToken();
+          removeRefreshToken();
+          resolve();
+        }).catch(error => {
+          reject(error)
+        })
+      })
+    },
+    //娉ㄩ攢session
+    FedLogOut({commit}) {
+      return new Promise(resolve => {
+        commit('SET_TOKEN', '');
+        commit('SET_MENU_ALL_NULL', []);
+        commit('SET_MENU', []);
+        commit('SET_ROLES', []);
+        commit('SET_TAG_LIST', []);
+        commit('DEL_ALL_TAG');
+        commit('CLEAR_LOCK');
+        removeToken();
+        removeRefreshToken();
+        resolve();
+      })
+    },
+    //鑾峰彇椤堕儴鑿滃崟
+    GetTopMenu() {
+      return new Promise(resolve => {
+        getTopMenu().then((res) => {
+          const data = res.data.data || [];
+          resolve(data)
+        })
+      })
+    },
+    //鑾峰彇绯荤粺鑿滃崟
+    GetMenu({commit, dispatch}, topMenuId) {
+      return new Promise(resolve => {
+        getRoutes(topMenuId).then((res) => {
+          const data = res.data.data
+          let menu = deepClone(data);
+          menu.forEach(ele => {
+            addPath(ele, true);
+          });
+          commit('SET_MENU_ALL', menu)
+          commit('SET_MENU', menu)
+          dispatch('GetButtons');
+          resolve(menu)
+        })
+      })
+    },
+    //鑾峰彇绯荤粺鎸夐挳
+    GetButtons({commit}) {
+      return new Promise((resolve) => {
+        getButtons().then(res => {
+          const data = res.data.data;
+          commit('SET_PERMISSION', data);
+          resolve();
+        })
+      })
+    },
+  },
+  mutations: {
+    byid:(state,id)=>{
+      state.updataid=id
+    },
+    SET_TOKEN: (state, token) => {
+      setToken(token);
+      state.token = token;
+      setStore({name: 'token', content: state.token})
+    },
+    SET_MENU_ID(state, menuId) {
+      state.menuId = menuId;
+    },
+    SET_MENU_ALL: (state, menuAll) => {
+      let menu = state.menuAll;
+      menuAll.forEach(ele => {
+        if (!menu.find(item => item.label === ele.label && item.path === ele.path)) {
+          menu.push(ele);
+        }
+      })
+      state.menuAll = menu
+      setStore({ name: 'menuAll', content: state.menuAll })
+    },
+    SET_MENU_ALL_NULL: (state) => {
+      state.menuAll = []
+      setStore({ name: 'menuAll', content: state.menuAll })
+    },
+    SET_MENU: (state, menu) => {
+      state.menu = menu
+      setStore({ name: 'menu', content: state.menu })
+    },
+    SET_REFRESH_TOKEN: (state, refreshToken) => {
+      setRefreshToken(refreshToken)
+      state.refreshToken = refreshToken;
+      setStore({name: 'refreshToken', content: state.refreshToken})
+    },
+    SET_TENANT_ID: (state, tenantId) => {
+      state.tenantId = tenantId;
+      setStore({name: 'tenantId', content: state.tenantId})
+    },
+    SET_USER_INFO: (state, userInfo) => {
+      state.upadatastatus=userInfo
+      console.log(state.upadatastatus)
+      if (validatenull(userInfo.avatar)) {
+        userInfo.avatar = "/img/bg/img-logo.png";
+      }
+      state.userInfo = userInfo;
+      setStore({name: 'userInfo', content: state.userInfo})
+    },
+    SET_ROLES: (state, roles) => {
+      state.roles = roles;
+    },
+
+  }
+
+}
+export default user

--
Gitblit v1.9.3