From 1d8522499d6052e3d389667db1aae46a23208831 Mon Sep 17 00:00:00 2001
From: cy <1664593601@qq.com>
Date: 星期四, 14 十二月 2023 13:05:01 +0800
Subject: [PATCH] feat: 去掉按钮权限
---
admin-web/src/store/modules/user.js | 398 ++++++++++++++++++++++++++++----------------------------
1 files changed, 200 insertions(+), 198 deletions(-)
diff --git a/admin-web/src/store/modules/user.js b/admin-web/src/store/modules/user.js
index 4a42577..5020517 100644
--- a/admin-web/src/store/modules/user.js
+++ b/admin-web/src/store/modules/user.js
@@ -17,223 +17,225 @@
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();
+ }).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