微信小程序页面迁移校验之前 P5任务处理之前

This commit is contained in:
Neo
2026-03-09 01:19:21 +08:00
parent 263bf96035
commit 6e20987d2f
1112 changed files with 153824 additions and 219694 deletions

View File

@@ -0,0 +1,52 @@
# 页面名login登录页
> PRD 参考:`apps/miniprogram/doc/prd.md` 第七节 7.1P3 认证系统
> 已实现:是(`apps/miniprogram/miniprogram/pages/login/`
## 页面说明
微信授权登录入口页。用户需勾选协议后才能点击登录按钮。登录后根据用户状态跳转到不同页面。
## 视觉元素(忠于原型 HTML
- 顶部 Logo台球图标 SVG需转为图片资源 `/assets/icons/logo-billiard.svg`
- 应用名称文字
- 微信登录按钮:渐变背景,含微信图标 SVG
- 底部协议勾选区域:勾选框 + 协议链接文字
## 状态变量
| 变量名 | 类型 | 初始值 | 说明 |
|--------|------|--------|------|
| agreed | boolean | false | 协议勾选状态 |
| loading | boolean | false | 登录请求中 |
## 用户操作 → 响应
| 操作 | 触发条件 | 响应行为 | 目标状态 |
|------|----------|----------|----------|
| 点击协议勾选框 | 无 | 切换 agreed | agreed=!agreed |
| 点击"使用微信登录" | agreed=true | 调用 wx.login() 获取 code → POST /api/xcx-auth/login | loading=true |
| 点击"使用微信登录" | agreed=false | 无响应(按钮禁用态) | 不变 |
| 登录成功status=new | API 返回 | 跳转 apply 页面 | redirectTo apply |
| 登录成功status=pending | API 返回 | 跳转 reviewing 页面 | redirectTo reviewing |
| 登录成功status=approved | API 返回 | 跳转默认首页task-list 或 board-finance | switchTab |
| 登录成功status=rejected | API 返回 | 跳转 no-permission 页面 | redirectTo no-permission |
| 登录成功status=disabled | API 返回 | 跳转 no-permission 页面 | redirectTo no-permission |
| 登录失败 | API 报错 | Toast 提示错误信息 | loading=false |
## 页面状态枚举
| 状态名 | 视觉表现 | 触发条件 |
|--------|----------|----------|
| 默认态 | 按钮灰色禁用,协议未勾选 | agreed=false |
| 可登录态 | 按钮蓝色渐变+阴影,协议已勾选 | agreed=true |
| 加载中 | 按钮显示 loading 动画 | loading=true |
## 后端 API 依赖
| API | 方法 | 说明 |
|-----|------|------|
| `/api/xcx-auth/login` | POST | 微信登录code → JWT + user_status |
## 页面导航
- 来源:小程序启动 / 退出账号后 / reviewing/no-permission 点击"更换登录账号"
- 去向apply / reviewing / no-permission / task-list / board-finance
## 全局组件
- 无底部 TabBar
- 无 AI 悬浮按钮