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