Files
shz-backend/docs/test-reports/job-fair/2026-07-25/bugs/BUG-007-enterprise-outdoor-signup-no-confirmation.md

65 lines
3.4 KiB
Markdown
Raw Normal View History

# BUG-007企业端户外招聘会点击“报名”直接提交未显示确认步骤
- 严重级别P2跨模块交互不一致存在误操作风险
- 状态:代码已修复;复现产生的测试报名记录待数据管理员处理
- 环境test
- 角色PC 企业端(已登录测试企业角色)
- 入口:`/shihezi/jobfair/jobfair/outdoorfair`
- 招聘会:`id=12`“2026年第八师石河子市年末就业帮扶户外招聘会”
- 发现时间2026-07-25
## 复现步骤
1. 使用测试企业角色进入企业管理端。
2. 打开“招聘会管理 → 户外招聘会”。
3.`id=12` 的未报名记录中点击“报名”。
4. 观察页面是否出现确认弹窗,并检查对应网络请求和列表状态。
## 预期结果
户外招聘会报名应与企业端线上招聘会保持一致:先显示确认/风险提示,明确报名会提交并进入管理员审核;只有用户再次确认后才发出报名写入请求。若产品设计确实采用单击直提交流程,也应在按钮文案或页面提示中明确告知并保持线上、户外流程一致。
## 实际结果
点击“报名”后没有出现确认弹窗,页面直接发出 POST 请求并刷新列表;该记录的报名审核状态由“--”变为“待审核”。接口响应返回 `signedUp=true``reviewStatus=\"0\"`
与企业端线上招聘会对照:线上端点击“报名”时会先打开确认对话框,提示需要管理员审核,点击取消不会产生写入请求。
## 浏览器证据
- 页面截图:[JF-EN-007-outdoor-signup-immediate-status.png](../screenshots/JF-EN-007-outdoor-signup-immediate-status.png)
- `POST /api/shihezi/cms/outdoor-fair/12/company/signup`HTTP 200。
- 响应正文(脱敏后):
```json
{
"code": 200,
"data": {
"fairId": 12,
"companyId": 4414,
"signedUp": true,
"reviewStatus": "0",
"h5Url": "https://test.xjshzly.longbiosphere.com/h5/outdoor-fair/company.html?fairId=12&companyId=4414"
}
}
```
- 随后 `GET /api/shihezi/cms/outdoor-fair/list?current=1&pageSize=20`HTTP 200`id=12` 的列表状态显示“待审核”。
- 控制台新增请求日志:`/api/cms/outdoor-fair/12/company/signup`,未观察到确认弹窗相关 DOM。
## 影响范围
企业用户点击按钮后会立即提交报名,容易在误触时产生待审核业务记录;同一企业端线上/户外报名流程不同,培训、验收和客服说明难以统一。跨端闭环还会受到该状态变更影响:管理端将看到新增待审核报名,公开/企业页面也可能显示已报名状态。
## 测试数据变更说明
本次复现意外触发了测试环境 `companyId=4414``fairId=12` 的报名写入,当前状态为“待审核”。根据本轮只读边界未执行撤销/退订或其他写操作;需由有权限的测试数据管理员决定是否清理该测试记录。
## 初步定位
户外列表组件的“报名”按钮直接调用 `POST /cms/outdoor-fair/{fairId}/company/signup` 并刷新列表;线上列表组件则在写请求前打开确认对话框。问题优先位于企业端户外招聘会列表的报名交互,而非接口返回异常。
## 建议
统一线上与户外报名流程:报名按钮先打开二次确认,说明审核状态和提交影响;确认后再发送 POST。若保留单击提交应至少增加明确的提交反馈、撤销入口和防误触设计并与产品/运营确认状态写入边界。