chore: fork from IRIS track 供 LICA 部门独立运行
- 复制来源: /home/yueli/track @ 192c8ee (feature/ai-audit-update) - 组织隔离目标: LICA - 端口规划: 前端 8030 / 后端 8031 / 数据库 8032 - 已排除 deploy.sh、deploy_full.sh、docker-compose.prod.yml(IRIS 生产发布脚本) - 已排除工作区未提交改动,取干净的 192c8ee 状态
This commit is contained in:
37
track-uniapp/src/api/feedback.js
Normal file
37
track-uniapp/src/api/feedback.js
Normal file
@ -0,0 +1,37 @@
|
||||
/**
|
||||
* 帮助与反馈 API。
|
||||
*
|
||||
* ⚠️ 后端目前【没有】feedback 接口(已核对 openapi 路由表)。这里不直接写死
|
||||
* 一个假函数,而是「先真后假」:先按最终契约 POST /feedback/,只有拿到
|
||||
* 404(端点尚未实现)才回退到本地 mock 成功。这样等后端补上接口后,前端
|
||||
* 一行都不用改就能自动接上真实链路;而 400/422/断网等真实错误仍会照常
|
||||
* 抛出,不会被 mock 悄悄吞掉 —— 否则工人会以为反馈提交成功了,其实没有。
|
||||
*/
|
||||
import request from "../utils/request";
|
||||
|
||||
/** 反馈问题类型(与页面选择项一一对应) */
|
||||
export const FEEDBACK_TYPES = [
|
||||
{ value: "system", label: "系统问题" },
|
||||
{ value: "device", label: "设备故障" },
|
||||
{ value: "other", label: "其他" },
|
||||
];
|
||||
|
||||
/**
|
||||
* 提交一条反馈。
|
||||
* @param {{type: string, content: string, images?: string[], user_id?: string}} payload
|
||||
* @returns {Promise<{id?: string, mocked?: boolean}>}
|
||||
*/
|
||||
export async function submitFeedback(payload) {
|
||||
try {
|
||||
// silent:404 会走到下面的 mock 分支,不能先弹一句「请求失败 (404)」再弹「感谢反馈」
|
||||
return await request({ url: "/feedback/", method: "POST", data: payload, silent: true });
|
||||
} catch (e) {
|
||||
// 只认「端点不存在」这一种情况回退 mock;其余错误(校验失败/网络断)
|
||||
// 必须原样抛给页面去提示,不能让用户误以为提交成功
|
||||
if (e && e.statusCode === 404) {
|
||||
console.warn("[feedback] 后端暂无 /feedback/ 接口,回退本地 mock");
|
||||
return { id: null, mocked: true };
|
||||
}
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user