义父令:「往数据库灌模拟数据,先把小程序撑起来,将来可用A端清理」。
动手前先摸了现状,两个发现和预想不同:
| 项 | 实测结果 |
|---|---|
packages 表 | 80 行,is_test 全为 true、零条真实数据 |
| C端 商品列表 | 默认返回前 50 条,全是「测试套餐001 ¥288」「测试商品描述001」 |
| 首页文案槽位 | content_items 的 21 个 home.* 键都有真内容("阿里"、"冈仁波齐·阿里旅行服务") |
所以任务性质不是"加数量",而是"把假文案换成真内容"。
游客现在打开小程序看到的就是"测试套餐001"——这正是此前 P1 上报的泄漏面;
义父的裁决是填充而非删除(空列表同样不可用),这个判断我认同。
顺带确认:C端 免登录可见的只有 4 个数据源
(miniprogram-v2/services/dsl-sources.ts):
products / guides / recommendations(combo-cards) / weather。
其中 guides 已有 10 条真内容,真正空的就是商品。
backend/sql/096_demo_packages.sql转山朝圣 / 圣湖圣迹 / 古格土林 / 包车接送 / 住宿 / 向导陪同 / 深度摄影 / 在地体验
题材全部取自冈仁波齐与阿里的真实地名:卓玛拉山口、玛旁雍措、拉昂措、
古格王朝、扎达土林、托林寺、皮央东嘎、科迦寺、班公湖、纳木那尼峰
offline ⇒ 游客翻不到未准备的条目is_test 保持 true:这是模拟数据,将来由 A端 清理或真商户数据替换backend/sql/097_demo_components.sql096 只撑起了列表——点进详情页的"包含项"还是 seed_guide / seed_driver,
一戳就露馅。按 type 批量换成真实名称,用 WHERE name LIKE 'seed_%'
保证幂等,且不碰 id<7000 那几条已有真实内容的数据。
按纪律先 staging 验脚本、再上 prod。
staging: UPDATE 80 → NOTICE: 096 OK:可见 53 条,测试字样 0,下架条目未泄漏
prod: UPDATE 80 → NOTICE: 096 OK:可见 50 条,测试字样 0,下架条目未泄漏
(097 两侧均 UPDATE 80,seed_ 占位 0)
prod 实测接口:
冈仁波齐外转山·3天2晚经典线 2880.0 3天2晚 /images/kailash_hero_sunrise.jpg 转山朝圣
冈仁波齐外转山·2天1晚轻装版 1980.0 2天1晚 /images/kailash_hero_snow.jpg 转山朝圣
冈仁波齐外转山·4天3晚摄影深度 4680.0 4天3晚 /images/kailash_hero_night.jpg 深度摄影
「测试套餐 / 测试商品 / tag_」各出现 0 次;
首屏推荐位 combo-cards 自动跟上(与 products 同源)。
搜索"转山"命中 15 条。
校验最初写死「可见商品必须 = 50」⇒ staging 报 53。
查了才知道 staging 有 83 行,比 prod 多 3 条别人的数据
(id=1「转山朝圣之旅」是真内容;id=2/3 是 WIP060 测试数据且 is_test=false)。
写死条数只会换来"换个库就假失败"。 改成守三件事:
provider 显示英文 self / external miniapp_products.py 里 "provider": c.get("source") or "平台自营"
直接把枚举当中文用,缺映射。属小齐域,只记录不改代码。
guides 表封面指向 /images/content/,但该目录是空的 ⇒ 封面图 404。tag=test 的测试数据仍在露脸(prod 没有这几条,不受影响)。
b_locale_bo_ready/bo-dict 端点生效,覆盖层才算在 prod 可用