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