返回 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