chenyc
2024-08-19 7ae4f8a626802bc8f027aa091046db97635da879
src/stores/userInfo.ts
@@ -1,6 +1,7 @@
import { defineStore } from 'pinia';
import Cookies from 'js-cookie';
import { Session } from '/@/utils/storage';
import { getuserinfo } from '../api/login';
/**
 * 用户信息
@@ -14,6 +15,8 @@
         time: 0,
         roles: [],
         authBtnList: [],
         clientCode:'',
         clientName:''
      },
   }),
   actions: {
@@ -22,6 +25,7 @@
         if (Session.get('userInfo')) {
            this.userInfos = Session.get('userInfo');
         } else {
            console.log('Session里没有userInfo')
            const userInfos = <UserInfos>await this.getApiUserInfo();
            this.userInfos = userInfos;
         }
@@ -29,10 +33,14 @@
      // 模拟接口数据
      // 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> = [];
@@ -45,7 +53,17 @@
               // 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 {
@@ -55,15 +73,16 @@
               // 用户信息模拟数据
               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);
         });