fix(frontend): 重置测试数据文案对齐后端契约(未激活+需短信激活)并透传后端 message

- Admin.vue 确认弹窗:「已激活 + 默认口令」→「未激活 + 默认口令」
  (后端 service/admin.js:1619 实际置 activated:false)
- Admin.vue 提示行:「重置后可直接用默认口令登录重测」→「需先用默认口令完成短信激活才能登录重测」
- Admin.vue 成功提示: 改为透传后端 message(后端 :1730 已含正确指引),不再自拼后丢弃
- api/request.js: 新增可选开关 returnMessage(不传时默认行为完全不变)
- api/admin.js: resetTestData 启用该开关,后端成为唯一真相源

依据: service/admin.js:1619/:1730 + scripts/verify_testdata_mgmt.py:5-9「Req2 重置须重置账号激活状态」
This commit is contained in:
2026-09-30 10:27:40 +08:00
parent 4e7493a809
commit f77330ad27
3 changed files with 26 additions and 6 deletions

View File

@@ -341,10 +341,15 @@ export function toggleTestFlag(id, testFlag) {
/**
* 重置测试数据(仅重置 test_flag=1 的选手及其提交记录)
* @returns {Promise}
*
* returnMessage: true —— 保留后端 message(不再被响应拦截器丢弃)。
* 后端提示含「已恢复为『未激活 + 默认口令 X』,需先用默认口令完成短信激活即可登录重测」
* 这一关键指引;前端自拼文案曾写成「可直接用默认口令登录重测」,
* 与后端 activated:false 自相矛盾(用户反馈 Req2)。以后端文案为唯一真相源。
* @returns {Promise<{code:number,message:string,data:object}>}
*/
export function resetTestData() {
return request.post('/admin/reset-test-data')
return request.post('/admin/reset-test-data', null, { returnMessage: true })
}
// ==================== 综合大题管理(中职/高职) ====================