Files
Neo-ZQYY/docs/h5_ui/interactions/login.md

2.4 KiB
Raw Blame History

页面名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 悬浮按钮