feat: 接入真实登录鉴权流程
This commit is contained in:
@@ -103,7 +103,9 @@ http://localhost:8848/
|
||||
- `src/views/roles/index.vue`: 角色管理,搜索、重置、删除和保存后都会重新调用接口,支持角色编码校验。
|
||||
- `src/views/employees/index.vue`: 员工管理,门店/状态/关键词筛选、重置、分页、启停、删除和保存后都会重新调用接口。
|
||||
- `src/api/access.ts`: 门店、角色、员工接口类型与 HTTP 方法封装。
|
||||
- `src/api/user.ts`: 登录、当前用户、当前权限菜单接口封装。
|
||||
- `src/router/modules/employees.ts`: 权限管理菜单入口,挂载门店、角色、员工三个页面。
|
||||
- `src/store/modules/user.ts`: 保存 JWT 登录态、当前用户、权限码和后端菜单动作权限。
|
||||
|
||||
## 后端对接
|
||||
|
||||
@@ -114,12 +116,15 @@ http://localhost:8848/
|
||||
|
||||
当前已对接接口:
|
||||
|
||||
- `GET /api/stores`,管理列表会携带 `includeInactive`,筛选时会携带 `status`、`keyword`
|
||||
- `POST /api/auth/admin/login`
|
||||
- `GET /api/auth/me`
|
||||
- `GET /api/permissions/me`
|
||||
- `GET /api/stores`,管理列表会携带 `includeInactive`,搜索/重置会重新请求接口后按当前条件收敛结果
|
||||
- `GET /api/stores/:id`
|
||||
- `POST /api/stores`
|
||||
- `PATCH /api/stores/:id`
|
||||
- `DELETE /api/stores/:id`
|
||||
- `GET /api/roles`,搜索时会携带 `keyword`
|
||||
- `GET /api/roles`,搜索/重置会重新请求接口后按关键词收敛结果
|
||||
- `GET /api/roles/:id`
|
||||
- `POST /api/roles`
|
||||
- `PATCH /api/roles/:id`
|
||||
@@ -133,6 +138,15 @@ http://localhost:8848/
|
||||
|
||||
接口响应统一在 `src/api/access.ts` 中使用 `ApiResult<T>` 或 `PaginatedData<T>` 描述,页面层只消费 `result.data`,避免在视图里重复拼接接口路径。列表搜索、重置、分页和状态变更后的刷新都应通过接口层完成,不直接依赖页面内存里的旧列表。
|
||||
|
||||
## 登录与鉴权流程
|
||||
|
||||
1. 登录页调用 `POST /api/auth/admin/login`,支持超级管理员用户名和具备后台权限的员工手机号。
|
||||
2. 前端保存后端返回的 `data.token`,并按 `expiresIn` 换算本地过期时间。
|
||||
3. 登录成功后立即调用 `GET /api/auth/me` 校验当前账号,再调用 `GET /api/permissions/me` 获取权限码、菜单和动作权限。
|
||||
4. 路由守卫会在刷新页面后重新拉取当前用户和权限,未登录或 token 过期会跳回 `/login`。
|
||||
5. 菜单按路由 `meta.permission` 与后端权限码过滤,按钮按 `store:manage`、`role:manage`、`employee:manage` 等权限码显隐。
|
||||
6. 后端当前没有 refresh-token 接口,收到 `401` 或本地 token 过期时直接清理登录态并要求重新登录。
|
||||
|
||||
## 配置说明
|
||||
|
||||
- `.env`: 全局默认配置,目前包含端口和是否隐藏首页。
|
||||
|
||||
Reference in New Issue
Block a user