import { defineStore } from 'pinia' import { getTenantApi } from '@/api/login' import { getUserInfo, setTenantInfo, setTenantCode } from '@/utils/auth' import queryString from 'query-string' import { getTenantCode } from '../utils/auth' export const useUserStore = defineStore('user', { state: () => { return { code: '', userInfo: { applicationType: null, realName: '', tenantName: '', token: {}, userName: '' }, tenantInfo: { tenantCode: '', tenantName: '', loginPageBackgroundImageUrl: '' } } }, actions: { // 获取租户信息 async getTenantInfo() { try { const { code } = queryString.parse(location.search) this.code = code || getTenantCode() const { tenantCode, loginPageBackgroundImageUrl, tenantName } = await getTenantApi({ code: code }) setTenantCode(tenantCode) setTenantInfo( JSON.stringify({ tenantCode, tenantName }) ) this.tenantInfo = { tenantCode, tenantName, loginPageBackgroundImageUrl } } catch (error) { console.log(error) } }, async getUserInfo() { try { const info = getUserInfo() this.userInfo = info } catch (error: any) { throw new Error(error?.message) } } } })