返回 Bug 清单
BUG-0350project-13高已修复config
多端代码绕过统一 env 配置硬编码 BASE_URL + 路径双写 /api —— 支付运行时 404
发现:2026-10-01验证:2026-10-09置信度:95%
症状
小程序支付请求 404;构建期无任何报错(硬编码是合法字符串),只在运行时暴露,且换环境(dev/prod)时部分模块行为不一致。
根因
① 统一配置模块存在但可被绕过,无 lint/CI 强制;② BASE_URL 与路径前缀约定不明确——网关层已带 /api,调用方又按『完整路径』硬编码,两处约定互相不知情。
修复方案
1) 全量回收硬编码,统一走 @/config/env;CI 加 grep 门禁:services 目录出现 http(s):// 字面量即失败;
2) 明确单一约定:BASE_URL 含不含 /api 二选一写进配置模块注释,接口层只写相对子路径;
3) 请求封装层做 dev 断言:拼接结果出现重复 /api 即 console.error。
检测命令
grep -rn 'https\?://' <services-dir> --include='*.ts' | grep -v config;grep -rn 'api/api' <构建产物或请求日志>错误签名
miniapp 三个 services 绕过 @/config/env 硬编码 BASE_URL;paymentV3.ts 接口路径再拼一层 /api → 实际请求 /api/api/... 运行时 404技术信息
来源项目
project-13
涉及文件
paymentV3.ts
标签
config-bypass, hardcoded-url, path-duplication, miniapp, 404