| | |
| | | /* |
| | | * @Description: file content |
| | | * @Author: Ben Lin |
| | | * @version: |
| | | * @Date: 2024-06-18 15:09:47 |
| | | * @LastEditors: Ben Lin |
| | | * @LastEditTime: 2024-10-07 17:01:32 |
| | | */ |
| | | import type { UserInfo } from '#/store'; |
| | | import type { ErrorMessageMode } from '#/axios'; |
| | | import { defineStore } from 'pinia'; |
| | |
| | | import { PageEnum } from '@/enums/pageEnum'; |
| | | import { ROLES_KEY, TOKEN_KEY, USER_INFO_KEY } from '@/enums/cacheEnum'; |
| | | import { getAuthCache, setAuthCache } from '@/utils/auth'; |
| | | import { GetUserInfoModel, LoginParams } from '@/api/sys/model/userModel'; |
| | | import { doLogout, getTgUserInfo, getUserInfo, loginApi } from '@/api/sys/user'; |
| | | import { GetUserInfoModel } from '@/api/sys/model/userModel'; |
| | | import { doLogout, getTgUserInfo, loginApi } from '@/api/sys/user'; |
| | | import { useI18n } from '@/hooks/web/useI18n'; |
| | | import { useMessage } from '@/hooks/web/useMessage'; |
| | | import { router } from '@/router'; |
| | | import { usePermissionStore } from '@/store/modules/permission'; |
| | | import { RouteRecordRaw } from 'vue-router'; |
| | | import { PAGE_NOT_FOUND_ROUTE } from '@/router/routes/basic'; |
| | | import { isArray } from '@/utils/is'; |
| | | import { h } from 'vue'; |
| | | 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>; |
| | |
| | | }, |
| | | 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); |
| | |
| | | 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[]; |
| | |
| | | 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失败'); |
| | | } |
| | |
| | | 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; |