From 62b6a7fac3f2acde70b578431147c4a01f19c182 Mon Sep 17 00:00:00 2001 From: 黎星凯 <13949086503@163.com> Date: 星期一, 15 四月 2024 09:07:05 +0800 Subject: [PATCH] bug修改 --- admin-web/src/store/modules/user.js | 409 ++++++++++++++++++++++++++++++---------------------------- 1 files changed, 210 insertions(+), 199 deletions(-) diff --git a/admin-web/src/store/modules/user.js b/admin-web/src/store/modules/user.js index 4a42577..ca252b3 100644 --- a/admin-web/src/store/modules/user.js +++ b/admin-web/src/store/modules/user.js @@ -1,4 +1,4 @@ -import {getCurInfo, getInfo, login, logout} from '@/api/user'; +import {changeSLoginInfo, getCurInfo, getInfo, login, logout} from '@/api/user'; import { getToken, getUser, @@ -17,223 +17,234 @@ import {encrypt} from '@/utils/jsencrypt' const state = { - info: getUser(), - userInfo:getUserDetail(),//鐢ㄦ埛璇︾粏淇℃伅 - token: getToken(), - userId:'', - name: '', - avatar: '', - introduction: '', - roles: [], - isLogin: Cookies.get('isLogin'), - permissions: [], - myButtonPermission:[], - captcha: { - captchaVerification: '', - secretKey: '', - token: '', - }, //婊戝潡楠岃瘉token + info: getUser(), + userInfo: getUserDetail(),//鐢ㄦ埛璇︾粏淇℃伅 + token: getToken(), + userId: '', + name: '', + avatar: '', + introduction: '', + roles: [], + isLogin: Cookies.get('isLogin'), + permissions: [], + myButtonPermission: [], + captcha: { + captchaVerification: '', + secretKey: '', + token: '', + }, //婊戝潡楠岃瘉token }; const mutations = { - SET_USER_INFO:(state, info)=>{ - // 璁剧疆璇︾粏淇℃伅 - state.userInfo = info - setUserDetail(info) - }, - SET_MYBUTTONPERMISSION: (state, myButtonPermission) => { - state.myButtonPermission = myButtonPermission - }, - SET_TOKEN: (state, token) => { - state.token = token; - setToken(token) - }, - SET_USERINFO: (state, user) =>{ - // 淇濆瓨鐢ㄦ埛淇℃伅 - state.info = user - setUserInfo(user) - }, - SET_ISLOGIN: (state, isLogin) => { - state.isLogin = isLogin; - Cookies.set(isLogin); - }, - SET_INTRODUCTION: (state, introduction) => { - state.introduction = introduction; - }, - SET_USERID: (state, id) => { - state.userId = id; - }, - SET_NAME: (state, name) => { - state.name = name; - }, - SET_AVATAR: (state, avatar) => { - state.avatar = avatar; - }, - SET_ROLES: (state, roles) => { - state.roles = roles; - }, - SET_PERMISSIONS: (state, permissions) => { - state.permissions = permissions; - }, - SET_CAPTCHA: (state, captcha) => { - state.captcha = captcha; - } + SET_USER_INFO: (state, info) => { + // 璁剧疆璇︾粏淇℃伅 + state.userInfo = info + setUserDetail(info) + }, + SET_MYBUTTONPERMISSION: (state, myButtonPermission) => { + state.myButtonPermission = myButtonPermission + }, + SET_TOKEN: (state, token) => { + state.token = token; + setToken(token) + }, + SET_USERINFO: (state, user) => { + // 淇濆瓨鐢ㄦ埛淇℃伅 + state.info = user + setUserInfo(user) + }, + SET_ISLOGIN: (state, isLogin) => { + state.isLogin = isLogin; + Cookies.set(isLogin); + }, + SET_INTRODUCTION: (state, introduction) => { + state.introduction = introduction; + }, + SET_USERID: (state, id) => { + state.userId = id; + }, + SET_NAME: (state, name) => { + state.name = name; + }, + SET_AVATAR: (state, avatar) => { + state.avatar = avatar; + }, + SET_ROLES: (state, roles) => { + state.roles = roles; + }, + SET_PERMISSIONS: (state, permissions) => { + state.permissions = permissions; + }, + SET_CAPTCHA: (state, captcha) => { + state.captcha = captcha; + } }; const actions = { - // user login - login({ commit }, userInfo) { - // const { account, pwd, key, code, wxCode } = userInfo; - const username = userInfo.account.trim() - // const password = userInfo.password - const password = encrypt(userInfo.password) - const code = userInfo.code - const uuid = userInfo.uuid - const loginType = userInfo.loginType - const verifyType = userInfo.verifyType - Loading.service(); - return new Promise((resolve, reject) => { - // login(userInfo) - login(username, password, code, uuid, loginType, verifyType) - .then((data) => { - let loadingInstance = Loading.service(); - loadingInstance.close(); - commit('SET_TOKEN', data.token); - commit('SET_USERINFO', data.userInfo); - getCurInfo().then(res=>{ - commit('SET_USER_INFO',res) - }) - resolve(); - }) - .catch((error) => { - reject(error); + // user login + login({commit}, userInfo) { + // const { account, pwd, key, code, wxCode } = userInfo; + const username = userInfo.account.trim() + // const password = userInfo.password + const password = encrypt(userInfo.password) + const code = userInfo.code + const uuid = userInfo.uuid + const loginType = userInfo.loginType + const verifyType = userInfo.verifyType + Loading.service(); + return new Promise((resolve, reject) => { + // login(userInfo) + login(username, password, code, uuid, loginType, verifyType) + .then((data) => { + let loadingInstance = Loading.service(); + loadingInstance.close(); + commit('SET_TOKEN', data.token); + commit('SET_USERINFO', data.userInfo); + getCurInfo().then(res => { + commit('SET_USER_INFO', res) + resolve(); + + changeSLoginInfo().then(res => { + commit('SET_USER_INFO', res) + resolve(); + }).catch((error) => { + reject(error); + }) + + + }).catch((error) => { + reject(error); + }) + }) + .catch((error) => { + reject(error); + }); }); - }); - }, + }, - // 鐭俊鏄惁鐧诲綍 - isLogin({ commit }, userInfo) { - return new Promise((resolve, reject) => { - isLoginApi() - .then(async (res) => { - commit('SET_ISLOGIN', res.isLogin); - resolve(res); - }) - .catch((res) => { - commit('SET_ISLOGIN', false); - reject(res); + // 鐭俊鏄惁鐧诲綍 + isLogin({commit}, userInfo) { + return new Promise((resolve, reject) => { + isLoginApi() + .then(async (res) => { + commit('SET_ISLOGIN', res.isLogin); + resolve(res); + }) + .catch((res) => { + commit('SET_ISLOGIN', false); + reject(res); + }); }); - }); - }, + }, - // get user info - getInfo({ commit, state }) { - return new Promise((resolve, reject) => { - getInfo(state.token) - .then(data => { - if (!data) { - reject('Verification failed, please Login again.'); - } - let roles = data.roleIds; - if (!roles || roles.length <= 0) { - reject('getInfo: roles must be a non-null array!'); - } - // 鑾峰彇骞惰缃慨鏀瑰瘑鐮佺殑鐘舵�� - setCPass(data.force_change_pass) - if( data.force_change_pass ){ - router.push({ path: '/resetPwd' }); - reject(data); - } - commit('SET_USERID', data.id); - commit('SET_ROLES', roles); - commit('SET_NAME', data.account); - commit('SET_AVATAR', 'http://kaifa.crmeb.net/system/images/admin_logo.png'); - commit('SET_INTRODUCTION', data.realName); - commit('SET_PERMISSIONS', data.permissions); //鏉冮檺鏍囪瘑 - resolve(data); - }) - .catch((error) => { - reject(error); + // get user info + getInfo({commit, state}) { + return new Promise((resolve, reject) => { + getInfo(state.token) + .then(data => { + if (!data) { + reject('Verification failed, please Login again.'); + } + let roles = data.roleIds; + if (!roles || roles.length <= 0) { + reject('getInfo: roles must be a non-null array!'); + } + // 鑾峰彇骞惰缃慨鏀瑰瘑鐮佺殑鐘舵�� + setCPass(data.force_change_pass) + if (data.force_change_pass) { + router.push({path: '/resetPwd'}); + reject(data); + } + commit('SET_USERID', data.id); + commit('SET_ROLES', roles); + commit('SET_NAME', data.account); + commit('SET_AVATAR', 'http://kaifa.crmeb.net/system/images/admin_logo.png'); + commit('SET_INTRODUCTION', data.realName); + commit('SET_PERMISSIONS', data.permissions); //鏉冮檺鏍囪瘑 + resolve(data); + }) + .catch((error) => { + reject(error); + }); }); - }); - }, + }, - // user logout - logout({ commit, state, dispatch }) { - Loading.service(); - return new Promise((resolve, reject) => { - logout(state.token) - .then(() => { - let loadingInstance = Loading.service(); - loadingInstance.close(); - commit('SET_TOKEN', ''); - commit('SET_ROLES', []); - commit('SET_PERMISSIONS', []); - commit('SET_CONNECTION_CLEAR', null) // 鏂紑閾炬帴 - removeToken(); - resetRouter(); - // localStorage.clear(); - Cookies.remove('storeStaffList'); - Cookies.remove('JavaInfo'); - localStorage.clear('sidebarRouters'); - sessionStorage.removeItem('token'); - // reset visited views and cached views - // to fixed https://github.com/PanJiaChen/vue-element-admin/issues/2485 - dispatch('tagsView/delAllViews', null, { root: true }); + // user logout + logout({commit, state, dispatch}) { + Loading.service(); + return new Promise((resolve, reject) => { + logout(state.token) + .then(() => { + let loadingInstance = Loading.service(); + loadingInstance.close(); + commit('SET_TOKEN', ''); + commit('SET_ROLES', []); + commit('SET_PERMISSIONS', []); + commit('SET_CONNECTION_CLEAR', null) // 鏂紑閾炬帴 + removeToken(); + resetRouter(); + // localStorage.clear(); + Cookies.remove('storeStaffList'); + Cookies.remove('JavaInfo'); + localStorage.clear('sidebarRouters'); + sessionStorage.removeItem('token'); + // reset visited views and cached views + // to fixed https://github.com/PanJiaChen/vue-element-admin/issues/2485 + dispatch('tagsView/delAllViews', null, {root: true}); - resolve(); - }) - .catch((error) => { - reject(error); + resolve(); + }) + .catch((error) => { + reject(error); + }); }); - }); - }, + }, - // remove token - resetToken({ commit }) { - return new Promise((resolve) => { - commit('SET_TOKEN', ''); - commit('SET_ROLES', []); - removeToken(); - resolve(); - }); - }, - // // 璁剧疆token - // setToken({ commit }, state) { - // return new Promise((resolve) => { - // commit('SET_TOKEN', state.token); - // // Cookies.set('JavaInfo', JSON.stringify(state)); - // setToken(data.token); - // resolve(); - // }); - // }, + // remove token + resetToken({commit}) { + return new Promise((resolve) => { + commit('SET_TOKEN', ''); + commit('SET_ROLES', []); + removeToken(); + resolve(); + }); + }, + // // 璁剧疆token + // setToken({ commit }, state) { + // return new Promise((resolve) => { + // commit('SET_TOKEN', state.token); + // // Cookies.set('JavaInfo', JSON.stringify(state)); + // setToken(data.token); + // resolve(); + // }); + // }, - // dynamically modify permissions - changeRoles({ commit, dispatch }, role) { - return new Promise(async (resolve) => { - // const token = role + '-token'; - // - // commit('SET_TOKEN', token); - // // setToken(token); - // - const { roles } = await dispatch('getInfo'); - // resetRouter(); - // generate accessible routes map based on roles - const accessRoutes = await dispatch('permission/generateRoutes', roles, { root: true }); - // dynamically add accessible routes - router.addRoutes(accessRoutes); + // dynamically modify permissions + changeRoles({commit, dispatch}, role) { + return new Promise(async (resolve) => { + // const token = role + '-token'; + // + // commit('SET_TOKEN', token); + // // setToken(token); + // + const {roles} = await dispatch('getInfo'); + // resetRouter(); + // generate accessible routes map based on roles + const accessRoutes = await dispatch('permission/generateRoutes', roles, {root: true}); + // dynamically add accessible routes + router.addRoutes(accessRoutes); - // reset visited views and cached views - dispatch('tagsView/delAllViews', null, { root: true }); + // reset visited views and cached views + dispatch('tagsView/delAllViews', null, {root: true}); - resolve(); - }); - }, + resolve(); + }); + }, }; export default { - namespaced: true, - state, - mutations, - actions, + namespaced: true, + state, + mutations, + actions, }; -- Gitblit v1.9.1