65 lines
3.4 KiB
Markdown
65 lines
3.4 KiB
Markdown
|
|
# 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。若保留单击提交,应至少增加明确的提交反馈、撤销入口和防误触设计,并与产品/运营确认状态写入边界。
|