Zhou Weidong
|
810d9fc2dc
|
docs(plans): 下发 K20 客户端视觉统一任务
|
2026-10-19 10:14:15 +08:00 |
|
Zhou Weidong
|
131f0c4e06
|
docs(plans): 记录 K19 网络文案修复
|
2026-10-19 10:01:18 +08:00 |
|
Zhou Weidong
|
28d2679b83
|
docs(plans): 记录 K19 账号中心交付回执
|
2026-10-19 09:56:22 +08:00 |
|
Zhou Weidong
|
6b5e70e554
|
docs(plans): 增加 K19 账号中心实施计划
|
2026-10-19 09:46:27 +08:00 |
|
Zhou Weidong
|
5c93ba9131
|
docs(plans): 下发 K19 账号中心接口对接任务
|
2026-10-19 09:44:41 +08:00 |
|
Zhou Weidong
|
d3b347aa09
|
fix(backend): 合并 K16 注册限流配置返工
|
2026-10-17 23:40:37 +08:00 |
|
Zhou Weidong
|
21e0d7f383
|
docs(plans): 记录 K16 返工与限流往返验证
|
2026-10-17 23:40:22 +08:00 |
|
Zhou Weidong
|
35d92c0148
|
fix(backend): 后台注册限流配置优先并保留注入兜底
|
2026-10-17 23:39:48 +08:00 |
|
Zhou Weidong
|
903e7db085
|
docs(api): 合并注册限流配置键名修正
|
2026-10-17 23:35:38 +08:00 |
|
Zhou Weidong
|
f68cd78f8b
|
docs(api): 修正注册限流配置键名
|
2026-10-17 23:35:31 +08:00 |
|
Zhou Weidong
|
575187a678
|
docs(plans): 合并 K16 注册限流后台配置回执
|
2026-10-17 23:33:39 +08:00 |
|
Zhou Weidong
|
c1c3c1ce9a
|
docs(plans): 记录 K16 注册限流后台配置回执
|
2026-10-17 23:33:28 +08:00 |
|
Zhou Weidong
|
1493fce319
|
merge: 同步 K16 最新测试到回执分支
|
2026-10-17 23:32:47 +08:00 |
|
Zhou Weidong
|
5b7be2e28c
|
merge: 合并注册限流缺省回退测试
|
2026-10-17 23:31:22 +08:00 |
|
Zhou Weidong
|
f4003edc58
|
test(backend): 覆盖注册限流缺省回退
|
2026-10-17 23:31:11 +08:00 |
|
Zhou Weidong
|
56300754b3
|
merge: 合并 K16 后台注册限流配置修正
|
2026-10-17 23:29:40 +08:00 |
|
Zhou Weidong
|
f1aaaee814
|
fix(backend): 改为后台配置注册限流阈值
|
2026-10-17 23:29:25 +08:00 |
|
Zhou Weidong
|
78fb99530d
|
merge: 合并 K16 注册限流配置化
|
2026-10-17 23:22:51 +08:00 |
|
Zhou Weidong
|
758eb69f55
|
feat(backend): 注册限流阈值改为可配置
|
2026-10-17 23:22:28 +08:00 |
|
Zhou Weidong
|
3403a521eb
|
docs(plans): 增加 K16 注册限流配置化计划
|
2026-10-17 23:16:51 +08:00 |
|
Zhou Weidong
|
461fb8ea15
|
docs(plans): K16 改为后台可配置口径
|
2026-10-17 23:16:31 +08:00 |
|
Zhou Weidong
|
6c966af5b2
|
docs(plans): 下发 K16 注册限流配置化任务
|
2026-10-17 23:15:24 +08:00 |
|
Zhou Weidong
|
81fcd9a817
|
docs(plans): 合并 K15 首页服务器修复回执
|
2026-10-17 23:14:08 +08:00 |
|
Zhou Weidong
|
8926f9b5f3
|
docs(plans): 记录 K15 首页服务器修复回执
|
2026-10-17 23:13:46 +08:00 |
|
Zhou Weidong
|
10794fa615
|
docs(plans): 合并 K14 客户端文档回执
|
2026-10-17 23:04:52 +08:00 |
|
Zhou Weidong
|
2490c78473
|
docs(plans): 记录 K14 客户端文档回执
|
2026-10-17 23:04:29 +08:00 |
|
Zhou Weidong
|
538a7df258
|
docs(plans): 下发 K14 客户端文档任务
|
2026-10-17 22:59:07 +08:00 |
|
Zhou Weidong
|
8b4e0ff5ca
|
docs(plans): 合并 K13 开发服务器地址回执
|
2026-10-17 22:55:30 +08:00 |
|
Zhou Weidong
|
70b9823d5b
|
docs(plans): 记录 K13 开发服务器地址回执
|
2026-10-17 22:55:10 +08:00 |
|
Zhou Weidong
|
6405dff7c5
|
docs(plans): 增加 K13 开发服务器地址实施计划
|
2026-10-17 22:49:58 +08:00 |
|
Zhou Weidong
|
1a5951ce98
|
docs(plans): 下发 K13 开发服务器地址设置
|
2026-10-17 22:48:10 +08:00 |
|
Zhou Weidong
|
cd1c2bc34d
|
docs(plans): 合并 K12 首页与空态视觉回执
|
2026-10-17 22:45:36 +08:00 |
|
Zhou Weidong
|
b70449b232
|
docs(plans): 记录 K12 首页与空态视觉回执
|
2026-10-17 22:45:20 +08:00 |
|
Zhou Weidong
|
e49664ce55
|
docs(plans): 增加 K12 首页与空态视觉修订计划
|
2026-10-17 22:40:28 +08:00 |
|
Zhou Weidong
|
87a37e987a
|
docs(plans): 下发 K12 首页与空态视觉修订
|
2026-10-17 22:39:37 +08:00 |
|
Zhou Weidong
|
fe2e179bdc
|
docs(plans): 合并 K11 首页三列网格回执
|
2026-10-17 22:35:38 +08:00 |
|
Zhou Weidong
|
73292ba74d
|
docs(plans): 记录 K11 首页三列网格实施回执
|
2026-10-17 22:35:19 +08:00 |
|
Zhou Weidong
|
f97574b57e
|
docs(plans): 增加 K11 首页三列网格实施计划
|
2026-10-17 22:30:39 +08:00 |
|
Zhou Weidong
|
2a06190cfe
|
docs(plans): 下发 K11 首页三列网格任务
|
2026-10-17 22:29:26 +08:00 |
|
Zhou Weidong
|
aa54e03d52
|
docs(plans): 合并 K10 统一空态回执
|
2026-10-17 21:56:48 +08:00 |
|
Zhou Weidong
|
3b2afc9f47
|
docs(plans): 记录 K10 统一空态实施回执
|
2026-10-17 21:56:35 +08:00 |
|
Zhou Weidong
|
f1d56b1040
|
docs(plans): 增加 K10 统一空态实施计划
|
2026-10-17 17:39:28 +08:00 |
|
Zhou Weidong
|
3f84bc6568
|
docs(plans): 下发 K10 统一空态任务
|
2026-10-17 17:38:25 +08:00 |
|
Zhou Weidong
|
deb6111419
|
docs(plans): 合并 iOS 依赖修复回执
|
2026-10-17 17:31:29 +08:00 |
|
Zhou Weidong
|
a1f88b6553
|
docs(plans): 记录 iOS 依赖编译修复回执
|
2026-10-17 17:31:19 +08:00 |
|
Zhou Weidong
|
b049db0162
|
docs(plans): 合并 K9 首页剧目网格回执
|
2026-10-17 17:25:48 +08:00 |
|
Zhou Weidong
|
a5dad549f8
|
docs(plans): 记录 K9 首页剧目网格实施回执
|
2026-10-17 17:25:36 +08:00 |
|
Zhou Weidong
|
496d27334a
|
docs(plans): 增加 K9 首页剧目网格实施计划
|
2026-10-17 17:21:33 +08:00 |
|
Zhou Weidong
|
b434f6594b
|
docs(plans): 下发 K9 首页剧目网格改造
|
2026-10-17 17:20:35 +08:00 |
|
Zhou Weidong
|
ad13692b5d
|
docs(plans): 合并 K8 登录页视觉回执
|
2026-10-17 17:15:53 +08:00 |
|
Zhou Weidong
|
b5aed111a0
|
docs(plans): 记录 K8 登录页视觉实施回执
|
2026-10-17 17:15:43 +08:00 |
|
Zhou Weidong
|
e7c11c3163
|
docs(plans): 增加 K8 登录页视觉实施计划
|
2026-10-17 17:09:29 +08:00 |
|
Zhou Weidong
|
c33e6cdc9d
|
docs(plans): 下发 K8 登录页视觉重设计
|
2026-10-17 17:07:56 +08:00 |
|
Zhou Weidong
|
d51167550f
|
docs(plans): 合并真机缺陷修复回执
|
2026-10-17 17:00:59 +08:00 |
|
Zhou Weidong
|
ea97c8bc1b
|
docs(plans): 记录首页轮播与观看历史真机修复回执
|
2026-10-17 17:00:47 +08:00 |
|
Zhou Weidong
|
9c6aaed645
|
docs(plans): 合并 K7 实施回执
|
2026-10-17 16:51:33 +08:00 |
|
Zhou Weidong
|
c43604d725
|
docs(plans): 记录 K7 轮播与通知实施回执
|
2026-10-17 16:51:22 +08:00 |
|
Zhou Weidong
|
f36fea083b
|
docs(plans): 下发 K7 轮播图与站内信任务
|
2026-10-17 16:45:08 +08:00 |
|
Zhou Weidong
|
3afd4c6709
|
docs(plans): 合并 K6 缺陷修复回执
|
2026-10-17 16:42:23 +08:00 |
|
Zhou Weidong
|
0aeb9086d6
|
docs(plans): 记录 K6 导航与观看历史修复
|
2026-10-17 16:42:10 +08:00 |
|
Zhou Weidong
|
c8c085b4e0
|
docs(plans): 合并 iOS SPM 修复回执
|
2026-10-17 16:33:11 +08:00 |
|
Zhou Weidong
|
7374045065
|
docs(plans): 记录 iOS SPM 构建修复与限制
|
2026-10-17 16:32:55 +08:00 |
|
Zhou Weidong
|
927d6ceab8
|
docs(plans): 合并 K6 实施回执
|
2026-10-17 16:17:28 +08:00 |
|
Zhou Weidong
|
ab0d69914f
|
docs(plans): 记录 K6 登录导航与震动回执
|
2026-10-17 16:17:16 +08:00 |
|
Zhou Weidong
|
93af19e548
|
docs(plans): K6 增加点击震动反馈要求
|
2026-10-17 16:07:05 +08:00 |
|
Zhou Weidong
|
79a1194257
|
docs(plans): 下发 K6 登录与底部导航 UI 任务
|
2026-10-17 16:04:11 +08:00 |
|
Zhou Weidong
|
61634415a9
|
docs(plans): 合并 K5 实施回执
|
2026-10-17 15:59:24 +08:00 |
|
Zhou Weidong
|
1bf0f654fb
|
docs(plans): 记录 K5 主题与印尼语实施回执
|
2026-10-17 15:59:14 +08:00 |
|
Zhou Weidong
|
f05476f6db
|
docs(plans): 下发 K5 克莱因蓝主题任务
|
2026-10-17 15:51:04 +08:00 |
|
Zhou Weidong
|
61e85ab501
|
docs(plans): 合并 K3 修复回执
|
2026-10-17 15:30:07 +08:00 |
|
Zhou Weidong
|
c2bd096ef3
|
docs(plans): 补记 K3 举报错误透传修复
|
2026-10-17 15:29:59 +08:00 |
|
Zhou Weidong
|
22f458606d
|
docs(plans): 合并 K3 互动任务回执
|
2026-10-17 15:27:53 +08:00 |
|
Zhou Weidong
|
969538e6c9
|
docs(plans): 记录 K3 互动实施与验收回执
|
2026-10-17 15:27:42 +08:00 |
|
Zhou Weidong
|
a0156ee946
|
docs(plans): 下发 K3 互动任务
|
2026-10-17 15:09:12 +08:00 |
|
Zhou Weidong
|
4a658fc67e
|
docs(plans): 补齐 K2 真机验收与门禁回执
|
2026-10-17 15:02:28 +08:00 |
|
Zhou Weidong
|
698bb78aeb
|
docs(plans): 记录 K2 实施与验收回执
|
2026-10-17 14:50:51 +08:00 |
|
Zhou Weidong
|
4c4f64323a
|
fix(worker): 补齐 prod 密钥与 CORS 映射以通过密钥校验
worker 的 application-prod.yml 没把 JWT_ADMIN_SECRET / JWT_APP_SECRET /
MEDIA_SIGNATURE_SECRET / CORS_ALLOWED_ORIGINS 映射成 fruitshorts.* 属性,
ProdSecretGuard 读到空值即拒绝启动,compose 里 worker 一直 Restarting。
按两个入口同一口径补齐映射:不写 dev 默认值,漏配仍 fail-fast;
并显式置 signature-required=true,与两个入口一致。
门禁:mvn test 全模块 BUILD SUCCESS(0 失败 0 错误,1 项 ffmpeg smoke 按用例设计跳过)。
|
2026-10-16 14:32:24 +08:00 |
|
Zhou Weidong
|
8b46e535c5
|
fix(deploy): 修正 PG18 数据卷挂载路径为 /var/lib/postgresql
docker-library/postgres 自 18 起把数据目录改成 /var/lib/postgresql/<major>/,
卷继续挂 /var/lib/postgresql/data 会被 entrypoint 判定为"残留数据"并拒绝启动;
表现为 db 容器反复 Restarting,依赖它的三个服务一起起不来。
改挂父目录后本地实测:docker compose up -d 正常,db 进入 healthy。
|
2026-10-16 14:32:24 +08:00 |
|
Zhou Weidong
|
db897d50d6
|
feat(commerce): Google Play 票据校验闭环(校验→建单→发权益 + 幂等/防重放)
为什么:风险清单 R-03 把支付票据校验列为上线阻塞项;/app/orders/verify 此前只有 disabled
占位,且 verifyAndDeliver 要求订单事先存在——而 IAP 没有下单接口,接了校验也走不通。
- 新增 GooglePlayStoreVerifier(校验 purchaseState/productId/orderId)+ StorePlatforms(平台归一化)
- 新增 GooglePlayPurchaseClient 端口与 HttpGooglePlayPurchaseClient:JDK HttpClient + 服务账号
RS256 JWT 换 token,不引入 Google SDK 依赖;token 按过期缓存
- StoreVerifier 实现由 fruitshorts.commerce.store.verifier 选择,默认 disabled,无凭据时对外行为不变
- OrderService 补齐闭环:校验通过后按 (platform, storeProductId) 找商品建单、写 store_receipt 审计、
发金币并推进到 DELIVERED;幂等键 (platform, storeTransactionId) 与唯一索引双保险
- 防重放:重复提交同用户返回既有订单且不再发币;票据已被他人使用返回 403;校验失败不写任何数据
- 凭据只走配置/环境变量(packageName + service account JSON),不入库不提交
- 契约同步 docs/api-phase1.md §1.8;金额微单位换算与回退价有单测覆盖
- 实测:mvn test 54 条全过(commerce 13 + app-api 41,M2 的 37 条未被打红);
两个入口 package 通过;默认 disabled 端到端返回 200003 且 orders 表零行
|
2026-10-16 11:03:33 +08:00 |
|
Zhou Weidong
|
27e689c771
|
fix(config): 修复合并后 app-api 重复的 springdoc 配置键
|
2026-10-16 10:52:17 +08:00 |
|
Zhou Weidong
|
efe8af6c9b
|
docs: 补全接口契约遗漏,逐条展开系统管理与内容接口并补充 watch-history/creators 账号/media 详情
|
2026-10-16 10:23:25 +08:00 |
|
Zhou Weidong
|
66e6fc1555
|
feat: app-api 启用 Swagger 在线接口文档 (springdoc /doc.html)
|
2026-10-16 10:13:47 +08:00 |
|
Zhou Weidong
|
35be37c193
|
style: 全量补充作者标识 // Author: fruit.com.cn
|
2026-10-16 00:01:53 +08:00 |
|