原型测试指南
用真实后端走通创建流程,再验证异常与恢复。
一场活动的完整路径
- 注册或登录
点击「登录 / 注册」,使用用户名和密码创建账号。已有账号直接登录;测试会话在开发者选项内。
- 创建并编排
手工创建,或从 AI 提案开始。填写活动信息、添加会场和场次;有效修改会自动保存,也可手动保存。
- 确认发布
检查预览与阻断项,明确确认后发布。复制活动 ID,在公开页面查看已发布版本。
- 修改后再发布
编辑草稿时,在另一个标签页刷新公开页面:旧版应保持不变。再次发布后才更新。
建议验证的异常场景
| 场景 | 操作与预期 |
|---|---|
| 账号与活动恢复 | 注册并创建活动,退出后在另一浏览器登录同一账号。「我的活动」应显示已保存活动;不同账号不能读取未授权草稿。 |
| 修改密码 | 在账号管理中输入当前密码和新密码。成功后当前浏览器保持登录,其他旧会话应失效。错误密码和重复用户名均应显示错误。 |
| 多人编辑冲突 | 两个标签页打开同一活动。先在 A 保存,再在 B 修改,B 应显示字段差异,允许采用服务器版本或保留自己的修改。 |
| 断网与恢复 | 停止后端后修改活动,页面保留未保存内容。恢复服务后重试;重新打开活动时可恢复本机修改。 |
| 发布阻断 | 清空会场地点或创建重叠场次。草稿可保存,发布前应提示修正。 |
| 会话过期与权限 | 在服务端撤销当前会话,或给测试用户 check_in 角色。原型应显示对应权限错误。 |
| AI 服务不可用 | 不配置 AI 或中断服务。生成应显示失败并保留输入,手工创建仍可使用。 |
| 邀请活动 | “仅受邀可见”应显示暂不可用且无法选择。已有邀请制草稿需要改为公开或仅链接访问,才能发布。 |
本地管理命令
在仓库根目录运行。不要将令牌粘贴到聊天或提交到仓库。
使用一键启动环境时,命令前加 DATABASE_PATH=.data/web-prototype/eventee.sqlite3,确保操作原型数据库。
uv run python -m server.app.manage issue-session --output .data/creator-session.txt
uv run python -m server.app.manage revoke-session <会话UUID>
uv run python -m server.app.manage grant-role <活动UUID> <用户UUID> editor
注册账号的“我的活动”来自后端;开发者会话仍使用本机“最近打开”索引。新账号不会自动取得旧开发者身份的活动权限。
本轮范围
覆盖创建与发布,并通过公开链接接入报名、候补状态和私人二维码。Apple 登录、人数统计、跨设备凭证找回、Wallet、App Clip、实时活动与消息投递尚未实现。