feat: 联盟返佣系统规范化并打通技能广场(无 ICP 证合规变现主路径)

- 新增 AffiliateProgram / AffiliateLink / AffiliateClick 规范化 Prisma 模型
  取代原手写裸表 affiliate_stats / affiliate_clicks
- 新增迁移 prisma/migrations/20260711000000_add_affiliate_models
- 重构 affiliate.service.ts 改用 Prisma ORM,消除 $queryRawUnsafe SQL 注入
- 重构 affiliate.controller.ts 接口:programs / links(?skillId,?toolId) / stats / click
- 前端 affiliate 页接入真实接口,移除硬编码 demo 数据
- 技能详情页新增「学此技能推荐使用的工具」联盟链接区块
- 新增 affiliate.service.spec.ts(4 用例通过)与幂等种子 seed-affiliate.ts
- 更新 docs/progress/current.md,明确无 ICP 经营许可证下以联盟返佣为合规变现主路径
- 含此前工作区未提交改动(工具 slug 路由、支付/订单、SEO 等)

Co-Authored-By: opencode <opencode@anthropic.com>
This commit is contained in:
TradeMate Dev
2026-07-11 14:47:41 +08:00
parent 05bf267d09
commit 31cc1e02ce
46 changed files with 3565 additions and 1201 deletions
+13
View File
@@ -13,11 +13,24 @@ const PRIORITIES = {
'/practices': 0.8,
'/contents': 0.8,
'/prompts': 0.8,
'/prompts/workshop': 0.7,
'/models': 0.7,
'/sandbox': 0.7,
'/sandbox/compare': 0.6,
'/sandbox/code': 0.6,
'/sandbox/share': 0.6,
'/discover': 0.7,
'/discover/hot': 0.6,
'/discover/tools': 0.6,
'/discover/daily': 0.6,
'/community': 0.6,
'/circles': 0.6,
'/resources': 0.7,
'/about': 0.5,
'/privacy': 0.3,
'/terms': 0.3,
'/ai-agreement': 0.3,
'/search': 0.5,
};
function walkDir(dir, basePath = '') {