From 3682904ad4223dc16942532f64dbb4c56b73dafa Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期三, 06 八月 2025 11:02:12 +0800 Subject: [PATCH] feat: 更新框架 --- src/store/modules/user.ts | 103 ++++++++++++++++++--------------------------------- 1 files changed, 36 insertions(+), 67 deletions(-) diff --git a/src/store/modules/user.ts b/src/store/modules/user.ts index 43597ac..d472450 100644 --- a/src/store/modules/user.ts +++ b/src/store/modules/user.ts @@ -1,31 +1,33 @@ import { defineStore } from 'pinia'; import { store } from '@/store'; -import { getToken, setToken, removeToken, removeUserInfo, setUserInfo, getUserInfo } from '@/utils'; +import { + getToken, + setToken, + removeToken, + removeUserInfo, + setUserInfo, + getUserInfo, + md5Encrypt, +} from '@/utils'; import { resetRouter, router } from '@/router'; import { useTagsViewStoreHook } from './tagsView'; -import * as accountServices from '@/services/api/Account'; -import * as userServices from '@/services/api/User'; import { usePermissionStoreHook } from './permission'; import { getAccountInfoFromAccessToken, AccountInfo } from '@bole-core/core'; import { useClearSubModule } from '@/hooks'; import { myClient } from '@/constants/query'; +import * as authServices from '@/services/api/auth'; export interface UserState { token: string; - userInfo: API.IdentityModelTokenCacheItem; - accountInfo: Partial<AccountInfo>; - name: string; + userInfo: API.PasswordLoginCommandCallback; } function getDefaultState() { const accessToken = getToken(); const userInfo = getUserInfo(); - const accountInfo = getAccountInfoFromAccessToken(accessToken); return { token: accessToken, - name: accountInfo.name, - accountInfo: accountInfo || {}, userInfo: userInfo || {}, } as UserState; } @@ -42,7 +44,7 @@ }, userId(state) { - return state.accountInfo.sub; + return ''; }, }, actions: { @@ -50,48 +52,28 @@ this.token = token; setToken(token); }, - setName(name: string) { - this.name = name; - }, - setUserInfo(userInfo: API.IdentityModelTokenCacheItem) { + setUserInfo(userInfo: API.PasswordLoginCommandCallback) { this.userInfo = userInfo; setUserInfo(userInfo); }, - setAccountInfo(accountInfo: Partial<AccountInfo>) { - this.accountInfo = accountInfo; - }, // 鐢ㄦ埛鐧诲叆 - loginByUsername(data: API.AccessRequestDto) { - return new Promise<void>((resolve, reject) => { - userServices - .passwordLogin( - { - loginName: data.userName, - password: data.userPassword, - }, - { showLoading: false } - ) - .then((res) => { - if (res) { - console.log('res: ', res); - this.setToken(res.accessToken); - - const accountInfo = getAccountInfoFromAccessToken(res.accessToken); - - this.setName(accountInfo.name); - this.setAccountInfo(accountInfo); - - // 鑾峰彇鐢ㄦ埛淇℃伅 - this.setUserInfo(res); - - resolve(); - } - }) - .catch((error) => { - reject(error); - }); - }); + async loginByUsername(params: API.PasswordLoginCommand) { + let res = await authServices.passwordLogin( + { + ...params, + password: md5Encrypt(params.password), + type: AppLocalConfig.userType, + clientType: AppLocalConfig.clientType, + }, + { + showLoading: false, + } + ); + if (res) { + this.setToken(res.accessToken); + this.setUserInfo(res); + } }, // 鐧诲嚭 娓呯┖缂撳瓨 @@ -126,26 +108,13 @@ Object.assign(this, getDefaultState()); }, - refreshToken(params: API.AccessRefreshToken) { - return new Promise<API.IdentityModelTokenCacheItem>( - // eslint-disable-next-line no-async-promise-executor - async (resolve, reject) => { - try { - const res = await accountServices.getTokenByRefreshToken(params, { - showLoading: false, - }); - if (res) { - this.setToken(res.accessToken); - this.setUserInfo(res); - resolve(res); - return; - } - reject('鍑洪敊浜�'); - } catch (error) { - reject(error); - } - } - ); + async refreshToken(params: any) { + return Promise.resolve({ + accessToken: '1222', + expiresIn: 1000 * 60 * 24 * 60, + creationTime: '2025-08-04 00:00:00', + refreshToken: '1222', + }); }, }, }); -- Gitblit v1.9.1