index.ts
1.36 KB
import request from '@/utils/request'
import { ADMIN_API_PREFIX } from '@/config'
import type { CaptchaInfoRespVO, LoginReqVO, LoginRespVO, PermissionInfoVO } from '@/types'
/**
* 认证相关接口
*
* 后端实现在 parking-module-system(P1 起已替换掉 P0 的内存占位实现)。
* 管理员默认账号 admin / admin123(见 sql/02_system_seed.sql)。
*/
export const AuthApi = {
/** 图形验证码信息 */
getCaptchaInfo: () => request.get<CaptchaInfoRespVO>(`${ADMIN_API_PREFIX}/system/auth/captcha-info`),
/** 登录 */
login: (data: LoginReqVO) => request.post<LoginRespVO>(`${ADMIN_API_PREFIX}/system/auth/login`, data),
/**
* 刷新令牌
*
* ⚠️ 页面代码**不需要**手动调用:`utils/request.ts` 收到 401 时会自动刷新并重放原请求。
* 这里导出是为了让「刷新接口存在」这件事在 API 契约层可见。
*/
refreshToken: (refreshToken: string) =>
request.post<LoginRespVO>(`${ADMIN_API_PREFIX}/system/auth/refresh-token`, { refreshToken }),
/** 登出 */
logout: () => request.post<boolean>(`${ADMIN_API_PREFIX}/system/auth/logout`),
/** 获取当前用户的 用户信息 + 角色 + 权限 + 菜单(一次调用拿全,菜单驱动前端动态路由) */
getPermissionInfo: () => request.get<PermissionInfoVO>(`${ADMIN_API_PREFIX}/system/auth/get-permission-info`)
}