cdc4b82931
HQ 指定一张活动图为勾选主合伙人合成 PNG/zip;城市合伙人页增加快链与单下/导出。 Co-authored-by: Cursor <cursoragent@cursor.com>
2.2 KiB
2.2 KiB
杜康好客 · v4.0.7 开发文档
2026-09-01 · ops / store / admin-web
主题:HQ 城市合伙人页活动图快链;指定一张活动图为单个或勾选的主合伙人合成关联码并下载(单张 PNG / zip)
需求事实源:杜康好客-v4-PRD.md §6
1. 版本目标
| # | 任务 | 类型 | 交付 |
|---|---|---|---|
| 1 | 快链 | 需求 | 城市合伙人列表/详情/顶栏跳转活动图页(?partnerId=) |
| 2 | 单个下载 | 需求 | 行操作、详情抽屉、活动图页「为该合伙人下载」;弹窗选已上架活动图 → PNG |
| 3 | 勾选导出 | 需求 | 列表勾选主合伙人 → 选活动图 → zip(仅已勾选,非隐式全量) |
不做:预生成每人缓存图;批量调微信补码;按每人当前所选活动图分别出图;BullMQ 异步包。
2. 规则
- 合入码 = 主合伙人已有 OSS 关联码。无码则单张报错、zip 写入
_skipped.txt。不在本路径调用getwxacodeunlimit。 - HQ 指定 一张 已上架活动图,贴进所有目标合伙人。
- zip 仅含请求体
partnerIds;测试号(isTest)跳过。 - 底图最长边 ≤ 2500 且宽×高 ≤ 4e6,超限报错。
- Sharp 合成并发 1;底图只下载一次;zip 流式写出。
3. 变更面
- HQ:
GET /admin/activity-posters/:id/image?partnerId=·POST /admin/activity-posters/:id/partner-pack{ partnerIds };权限activity_posters - admin-web:城市合伙人快链 / 勾选导出 / 弹窗选图;活动图页
?partnerId=上下文下载 - nginx:partner-pack 路径
proxy_buffering off+proxy_read_timeout 120s archiver依赖
无 Prisma 迁移。
4. 验收
- 城市合伙人「活动图」列、详情、顶栏快链进入活动图页;带
partnerId时可「为该合伙人下载」 - 行内/详情「下载活动图」弹窗选已上架图,得到该人合成 PNG;无关联码明确报错
- 勾选 N 人导出 zip,文件名含城市/公司或姓名/id;缺码与测试号进
_skipped.txt - 未勾选时导出按钮禁用;不做隐式全量
- 底图过大被拒绝;打包期间不调用微信补码