Ben Lin
2024-07-24 e5e7d8032f938f4142c05fa71fb09ff73058b740
src/store/modules/user.ts
@@ -1,3 +1,11 @@
/*
 * @Description: file content
 * @Author: Ben Lin
 * @version:
 * @Date: 2024-06-18 15:09:47
 * @LastEditors: Ben Lin
 * @LastEditTime: 2024-07-24 16:17:11
 */
import type { UserInfo } from '#/store';
import type { ErrorMessageMode } from '#/axios';
import { defineStore } from 'pinia';
@@ -19,6 +27,8 @@
import { AccountInfo } from '/@/api/tigerapi/model/systemModel';
import { getMenuAuthList } from '/@/api/sys/menu';
import { iV_USER_MENU } from '/@/api/tigerapi/model/vModel';
import { getSysParam } from '/@/api/tigerapi/system';
import { ApiAction } from '/@/api/model/baseModel';
interface UserState {
  userInfo: Nullable<UserInfo>;
@@ -108,7 +118,8 @@
    },
    async afterLoginAction(
      goHome?: boolean,
      changepwd?: boolean,): Promise<GetUserInfoModel | null> {
      changepwd?: boolean,
    ): Promise<GetUserInfoModel | null> {
      if (!this.getToken) return null;
      // get user info
      const userInfo = await this.getTgUserInfoAction(changepwd);
@@ -142,11 +153,24 @@
        changepwd: changepwd,
        username: data.USER_NAME,
        realName: data.USER_NAME,
        orgCode: '', //globSetting.useOrg == 'Y' ? data.ORG_CODE : '',
        orgCode: data.ORG_CODE, //globSetting.useOrg == 'Y' ? data.ORG_CODE : '',
        prodCode: data.FTY_CODE, //globSetting.useOrg == 'N' ? data.ORG_CODE : '',
        avatar: '',
        roles: vUserMenu.Data.Items as unknown as iV_USER_MENU[],
        byOrg: false,
        byProd: false,
        byWh: false,
      };
      /* 从系统参数获取启用哪种权限 */
      var action = await getSysParam({ group: 'ByAuthActive' });
      if (action.IsSuccessed) {
        userInfo.byOrg =
          action.Data.filter((x) => x.PARAM_CODE == 'ByOrgActive')[0].PARAM_VALUE == 'Y';
        userInfo.byProd =
          action.Data.filter((x) => x.PARAM_CODE == 'ByProdActive')[0].PARAM_VALUE == 'Y';
        userInfo.byWh =
          action.Data.filter((x) => x.PARAM_CODE == 'ByWhActive')[0].PARAM_VALUE == 'Y';
      }
      const { roles = [] } = userInfo;
      if (isArray(roles)) {
        const roleList = roles.map((item) => item.value) as RoleEnum[];
@@ -164,7 +188,7 @@
    async logout(goLogin = false) {
      if (this.getToken) {
        try {
          await doLogout({ Data: this.getToken });
          await doLogout({ Data: this.getToken } as unknown as ApiAction<string>);
        } catch {
          console.log('注销Token失败');
        }
@@ -194,11 +218,11 @@
        username: data.USER_NAME,
        changepwd: changepwd,
        realName: data.USER_NAME,
        orgCode: '', //globSetting.useOrg == 'Y' ? data.ORG_CODE : '',
        orgCode: data.ORG_CODE, //globSetting.useOrg == 'Y' ? data.ORG_CODE : '',
        prodCode: data.FTY_CODE, //globSetting.useOrg == 'N' ? data.FTY_CODE : '',
        avatar: '',
        roles: vUserMenu.Data.Items as unknown as iV_USER_MENU[],
      };
      } as unknown as UserInfo;
      this.setUserInfo(userInfo);
      //console.log(data[0].LOGINNAME);
      return userInfo;