From a0431deb4d557cd50d304df885a275edf1390f56 Mon Sep 17 00:00:00 2001
From: yuxc <yuxc@vci-tech.com>
Date: 星期四, 16 一月 2025 17:34:32 +0800
Subject: [PATCH] 1、修改属性报错修护。 2、修改用户信息增加个人信息处修改判断处理。
---
Source/plt-web/plt-web-ui/src/store/modules/user.js | 112 ++++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 77 insertions(+), 35 deletions(-)
diff --git a/Source/plt-web/plt-web-ui/src/store/modules/user.js b/Source/plt-web/plt-web-ui/src/store/modules/user.js
index 2506220..5f3aab8 100644
--- a/Source/plt-web/plt-web-ui/src/store/modules/user.js
+++ b/Source/plt-web/plt-web-ui/src/store/modules/user.js
@@ -2,11 +2,12 @@
import {Message} from 'element-ui'
import {setStore, getStore} from '@/util/store'
import {isURL, validatenull} from '@/util/validate'
-import {deepClone,queryStringToObject} from '@/util/util'
+import {deepClone, queryStringToObject} from '@/util/util'
import website from '@/config/website'
-import {loginByUsername, loginBySocial, loginBySso, getUserInfo, logout, refreshToken, getButtons} from '@/api/user'
+import {loginByUsername, loginBySocial, loginBySso, getUserInfo, logout, refreshToken, getButtons,getUserPhoto} from '@/api/user'
import {getTopMenu, getRoutes} from '@/api/system/menu'
import md5 from 'js-md5'
+import func from "@/util/func";
function addPath(ele, first) {
@@ -15,8 +16,8 @@
const propsDefault = {
label: propsConfig.label || 'name',
path: propsConfig.path || 'path',
- icon: propsConfig.icon || 'icon',
- children: propsConfig.children || 'children'
+ icon: propsConfig.icon || 'source',
+ children: propsConfig.children || 'children',
}
const icon = ele[propsDefault.icon];
ele[propsDefault.icon] = validatenull(icon) ? menu.iconDefault : icon;
@@ -35,9 +36,9 @@
function updateCode(items) {
items.forEach(item => {
item.pathValue = item.path;
- item.path = '/' + item.code;
+ item.path = '/' + item.id;
item.query = {}; // 鍒濆鍖� item.query
- if(item.pathValue.indexOf('?')!=-1) {
+ if (item.pathValue.indexOf('?') != -1) {
item.query = queryStringToObject(item.pathValue)
}
if (item.children && item.children.length > 0) {
@@ -62,23 +63,25 @@
//鏍规嵁鐢ㄦ埛鍚嶇櫥褰�
LoginByUsername({commit}, userInfo) {
return new Promise((resolve, reject) => {
- loginByUsername(userInfo.tenantId, userInfo.deptId, userInfo.roleId, userInfo.username, userInfo.password, userInfo.type, userInfo.key,).then(res => {
+ let passwordDes = func.encryptData(userInfo.password, 'daliantan0v0vcip')
+ loginByUsername(userInfo.deptId, userInfo.roleId, userInfo.username, passwordDes, userInfo.type, userInfo.key,).then(res => {
const data = res.data;
- if (data.code === 200) {
+ if (data.obj.failCode === 'loginSuccess' || data.obj.failCode === 'passwordRemainDay') {
commit('SET_TOKEN', data.obj.tokenVO.accessToken);
commit('SET_REFRESH_TOKEN', data.obj.tokenVO.accessToken);
- // commit('SET_TENANT_ID', data.tenant_id);
- // commit('SET_USER_INFO', data.obj.sessionInfo); 鐢ㄦ埛淇℃伅
commit('DEL_ALL_TAG');
commit('CLEAR_LOCK');
- } else {
- Message({
- message: data.msg,
- type: 'error'
+
+ getUserInfo().then((res) => {
+ const data = res.data;
+ commit('SET_USER_INFO', data.obj);
+ }).catch(err => {
+ console.log(err)
})
}
- resolve();
+ resolve(data);
}).catch(error => {
+ // console.log(error)
reject(error);
})
})
@@ -137,18 +140,6 @@
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);
})
})
},
@@ -213,6 +204,21 @@
})
})
},
+
+ //鑾峰彇鐢ㄦ埛淇℃伅
+ GetUserInfo({commit}) {
+ return new Promise((resolve, reject) => {
+ getUserInfo().then((res) => {
+ const data = res.data.data;
+ console.log('user', res)
+ // commit('SET_USER_INFO', data.roles);
+ resolve(data);
+ }).catch(err => {
+ reject(err);
+ })
+ })
+ },
+
//鑾峰彇绯荤粺鑿滃崟
GetMenu({commit, dispatch}, topMenuId) {
return new Promise(resolve => {
@@ -226,11 +232,13 @@
commit('SET_MENU_ALL', menu)
commit('SET_MENU', menu)
- //dispatch('GetButtons');s
+ dispatch('GetButtons');
resolve(menu)
})
})
},
+
+
//鑾峰彇绯荤粺鎸夐挳
GetButtons({commit}) {
return new Promise((resolve) => {
@@ -278,18 +286,52 @@
state.tenantId = tenantId;
setStore({name: 'tenantId', content: state.tenantId})
},
+ // SET_USER_INFO: (state, userInfo) => {
+ // getUserPhoto().then(res => {
+ // userInfo.avatar = URL.createObjectURL(res.data);
+ // console.log('userInfo',userInfo)
+ // })
+ // state.userInfo = userInfo;
+ // setStore({name: 'userInfo', content: state.userInfo})
+ // },
SET_USER_INFO: (state, userInfo) => {
- if (validatenull(userInfo.avatar)) {
- userInfo.avatar = "/img/bg/img-logo.png";
- }
- state.userInfo = userInfo;
- setStore({name: 'userInfo', content: state.userInfo})
+ getUserPhoto().then(res => {
+ // 灏� Blob 杞崲涓� Base64
+ const reader = new FileReader();
+ reader.onloadend = (result) => {
+ userInfo.avatar = reader.result; // 瀛樺偍 Base64 瀛楃涓�
+
+ // 鏇存柊鐘舵�佸苟瀛樺偍鍒� localStorage
+ state.userInfo = userInfo;
+ setStore({ name: 'userInfo', content: state.userInfo });
+ };
+ reader.readAsDataURL(res.data); // 璋冪敤reader鏂规硶
+ });
},
SET_ROLES: (state, roles) => {
state.roles = roles;
},
-
+ SET_PERMISSION: (state, permission) => {
+ let permission_new = {};
+ permission.forEach(item => {
+ let children = {};
+ if (item.children && item.children.length > 0) {
+ item.children.forEach(child => {
+ // const childObject = {
+ // [child.code]: true,
+ // source: child.source
+ // };
+ // Object.assign(children, childObject);
+ children[child.code] = {
+ source: child.source
+ }
+ });
+ }
+ Vue.set(permission_new, item.id, children);
+ });
+ state.permission = permission_new;
+ setStore({name: "permission", content: permission_new});
+ },
}
-
}
export default user
--
Gitblit v1.9.3