| | |
| | | import { defineStore } from 'pinia'; |
| | | import Cookies from 'js-cookie'; |
| | | import { Session } from '/@/utils/storage'; |
| | | import { getuserinfo } from '../api/login'; |
| | | |
| | | /** |
| | | * 用户信息 |
| | |
| | | time: 0, |
| | | roles: [], |
| | | authBtnList: [], |
| | | clientCode:'', |
| | | clientName:'' |
| | | }, |
| | | }), |
| | | actions: { |
| | |
| | | if (Session.get('userInfo')) { |
| | | this.userInfos = Session.get('userInfo'); |
| | | } else { |
| | | console.log('Session里没有userInfo') |
| | | const userInfos = <UserInfos>await this.getApiUserInfo(); |
| | | this.userInfos = userInfos; |
| | | } |
| | |
| | | // 模拟接口数据 |
| | | // https://gitee.com/lyt-top/vue-next-admin/issues/I5F1HP |
| | | async getApiUserInfo() { |
| | | const userinfoRes = await getuserinfo() |
| | | console.log('-----------用token 换用户信息---------------') |
| | | console.log(userinfoRes.data) |
| | | const userRet=userinfoRes.data |
| | | return new Promise((resolve) => { |
| | | setTimeout(() => { |
| | | // 模拟数据,请求接口时,记得删除多余代码及对应依赖的引入 |
| | | const userName = Cookies.get('userName'); |
| | | const userName = userRet.userName |
| | | // 模拟数据 |
| | | let defaultRoles: Array<string> = []; |
| | | let defaultAuthBtnList: Array<string> = []; |
| | |
| | | // test 按钮权限标识 |
| | | let testAuthBtnList: Array<string> = ['btn.add', 'btn.link']; |
| | | // 不同用户模拟不同的用户权限 |
| | | if (userName === 'admin') { |
| | | let isadmin=false; |
| | | if(userRet.roles.length > 0){ |
| | | const x=userRet.roles.findIndex(e=>{return e.roleName==='admin'}) |
| | | if(x>=0){ |
| | | isadmin=true |
| | | } |
| | | else{ |
| | | isadmin=false |
| | | } |
| | | } |
| | | if (isadmin) { |
| | | defaultRoles = adminRoles; |
| | | defaultAuthBtnList = adminAuthBtnList; |
| | | } else { |
| | |
| | | // 用户信息模拟数据 |
| | | const userInfos = { |
| | | userName: userName, |
| | | photo: |
| | | userName === 'admin' |
| | | photo:userRet.userAvatar==='' |
| | | ? 'https://img2.baidu.com/it/u=1978192862,2048448374&fm=253&fmt=auto&app=138&f=JPEG?w=504&h=500' |
| | | : 'https://img2.baidu.com/it/u=2370931438,70387529&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500', |
| | | : userRet.userAvatar, |
| | | time: new Date().getTime(), |
| | | roles: defaultRoles, |
| | | authBtnList: defaultAuthBtnList, |
| | | clientCode:userRet.currentClientInfo.code, |
| | | clientName:userRet.currentClientInfo.clientName, |
| | | }; |
| | | Session.set('userInfo', userInfos); |
| | | // Session.set('userInfo', userInfos); |
| | | resolve(userInfos); |
| | | }, 0); |
| | | }); |