grep -rn '13800138000' src/ | wc -l git grep -n 'test@example.com' | head
代码扫描在 47 个文件里命中手机号 13800138000 和邮箱 test@example.com,全部来自生成器模板的示例值。先别急着动参数,把报错原文和时间点记下来,顺序反了容易白折腾。
原因不复杂,模板里为了让人看懂结构,直接写了真实格式的示例数据。生成时原样输出,提交时没人注意。
「模板示例数据」确认了原因之后,改动尽量只碰那一处,顺手改的东西后面最容易出问题。改完隔一天再看一次,当场正常不代表能稳住。
测试环境和线上的差别,往往就在版本号和那几行被忽略的配置上。线上出问题先对时间点,跟发布、备份、任务执行的时刻排一排,能省掉一半功夫。
处理上按这个顺序:模板里的示例值统一换成占位符 比如 __PHONE__;必须保留示例的 用 000-0000 这种明显假值;提交前加一条扫描规则 命中真实格式就拦下;已提交的历史文件批量替换并补一次提交。
改完只确认一件事:全仓扫描真实格式手机号和邮箱返回 0 条 模板里只剩占位符。
