3.7 KiB
3.7 KiB
微信小程序(CommunicationRecords)规范
Purpose
本能力描述小程序端的主要用户流程、页面职责以及与后端 API 的交互约定。
Requirements
Requirement: 协议勾选门槛
系统 SHALL 要求用户在登录前勾选用户协议(隐私合规前置)。
实现位置:pages/logs/logs.js
Scenario: 未勾选协议尝试登录
- WHEN 用户未勾选协议并触发登录流程
- THEN 小程序提示“请先勾选用户协议”
Requirement: 登录流程(微信 code → 后端 Login)
系统 SHALL 使用 wx.login() 获取 code 并调用后端登录接口。
接口:POST /api/Login/Login
行为:
- 登录成功时,SHALL 将
openid(UserKey)写入本地缓存openid,并同步到app.globalData。 - 若用户资料未完善(缺少
UserName/WeChatName/PhoneNumber),SHALL 进入注册/完善资料流程。
Scenario: 已注册用户直接进入聊天页
- WHEN 登录接口返回完整用户信息
- THEN 小程序跳转到
pages/chat/chat
Scenario: 未注册用户提示完善信息
- WHEN 登录接口成功但返回的用户信息不完整
- THEN 小程序提示需要完善资料并展示注册表单
Requirement: 注册/完善资料流程
系统 SHALL 提供表单采集姓名、手机号、昵称与头像,并调用后端注册接口更新用户资料。
接口:POST /api/Login/Register
实现位置:pages/logs/logs.js
行为:
- 注册接口成功后,SHALL 触发头像上传(
/api/Check/UploadFile)并更新页面头像。
Scenario: 正常注册
- WHEN 用户提交有效姓名与手机号
- THEN 小程序完成注册并进入聊天页
Requirement: 头像上传
系统 SHALL 允许用户选择头像并上传到服务器,后端返回永久 URL 后用于展示。
接口:POST /api/Check/UploadFile
实现位置:pages/logs/logs.js 与 pages/chat/chat.js
Scenario: 上传成功
- WHEN 上传接口返回
success: true - THEN 小程序使用返回的
url更新头像展示
Requirement: 聊天页加载历史会话
系统 SHALL 在进入聊天页时请求历史会话并渲染。
接口:POST /api/Check/GetConversationsByPage
实现位置:pages/chat/chat.js(loadHistory / GetConversations)
Scenario: 首次进入加载第一页
- WHEN 进入聊天页
- THEN 请求第一页(Page=1, PageSize=20)并展示
Requirement: 发送消息
系统 SHALL 通过后端新增会话接口发送消息。
接口:POST /api/Check/AddConversation
实现位置:pages/chat/chat.js
Scenario: 文本发送成功
- WHEN 用户发送文本消息
- THEN 小程序调用新增会话接口并更新列表
Requirement: 编辑与删除消息
系统 SHALL 支持对会话进行更新与软删除。
接口:
POST /api/Check/UpdateConversationPOST /api/Check/DeleteConversation
实现位置:pages/chat/chat.js
Scenario: 删除消息
- WHEN 用户删除某条消息
- THEN 小程序调用删除接口并从列表移除/刷新
Configuration
Requirement: API 根地址
系统 SHOULD 通过 utils/config.js 统一管理 baseUrl,并在请求中使用 ${config.baseUrl} 拼接接口路径。
Scenario: 环境切换
- WHEN 小程序环境为 develop/trial/release
- THEN 选择对应
baseUrl
Known Limitations
utils/config.js当前强制返回release,实际不会随envVersion切换。- 存在硬编码域名请求(例如注册/登录/上传头像部分),未统一走
config.baseUrl。 app.js中的globalData.baseUrl为占位配置,实际请求主要依赖utils/config.js或硬编码。