import PharmacyHttpClient from '@request/pharmacy.request.ts'; import SystemHttpClient from '@request/system.request.ts'; import type { ResponseData } from 'alova'; import { requestMethodFactory } from '@/platform/request.ts'; import type { AccountModel } from '@model/account.model.ts'; export function loginMethod(data: { username: string; password: string }) { return requestMethodFactory( PharmacyHttpClient.Post(`/login/v2`, data, { transform(data) { return data?.token ?? ''; }, }), ); } export function getAccountMethod(token: string) { return requestMethodFactory( SystemHttpClient.Get<{ token: string; account: AccountModel }, ResponseData>(`/user/getInfo`, { headers: { Authorization: token }, transform(data) { const user = data?.user; return { token, account: { id: user?.userId?.toString(), name: user?.nickName ?? user?.userName ?? '', username: user?.userName, nickname: user?.nickName }, }; }, }), ); }