import { login as loginApi, register as registerApi } from "./ps"; export type UserResult = { success: boolean; data: { avatar: string; username: string; nickname: string; roles: Array; permissions: Array; accessToken: string; refreshToken: string; expires: Date; }; }; export type RefreshTokenResult = { success: boolean; data: { accessToken: string; refreshToken: string; expires: Date; }; }; function mapUserinfo(raw: any): UserResult { const u = raw?.userinfo || raw || {}; const role = u.factory_role || u.role || "operator"; return { success: !!u.token, data: { avatar: u.avatar || "", username: u.username || "", nickname: u.nickname || u.username || "", roles: [role === "owner" ? "owner" : "operator"], permissions: ["*:*:*"], accessToken: u.token, refreshToken: u.token, expires: "2030/12/31 00:00:00" as unknown as Date } }; } /** 登录(FastAdmin /api/user/login) */ export const getLogin = async (data?: any): Promise => { const raw = await loginApi(data?.username || data?.account, data?.password); return mapUserinfo(raw); }; /** 注册工厂或加入工厂 */ export const getRegister = async (data?: object): Promise => { const raw = await registerApi(data as Record); return mapUserinfo(raw); }; /** FastAdmin 无刷新 token,沿用当前 token */ export const refreshTokenApi = async (data?: any): Promise => { const token = data?.refreshToken || ""; return { success: true, data: { accessToken: token, refreshToken: token, expires: "2030/12/31 00:00:00" as unknown as Date } }; };