feat: 初始化微信小程序后端骨架

- NestJS + TypeScript + Prisma + PostgreSQL 工程骨架
- 微信登录安全流程:服务端 code2Session 换 openid 后签发 JWT,
  session_key 缓存于 Redis,不信任前端 openid
- 统一响应/异常处理、JWT 全局鉴权(@Public 豁免)、Swagger 文档
- Prisma 全量核心 schema(用户/分类/商品/设计清单/地址/订单/支付/上传/定制任务)+ seed
- 业务模块空壳(商品/分类/设计清单/地址/订单/支付/上传/BullMQ 队列)
- Docker 多阶段镜像 + 本地/生产 docker-compose
- docs:密钥获取指南、COS SDK 移除记录

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-05 17:33:50 +08:00
co-authored by Claude Fable 5
commit deaa0c9ce4
73 changed files with 9533 additions and 0 deletions
+42
View File
@@ -0,0 +1,42 @@
# COS SDK 移除记录
**日期**2026-08-05
## 背景
初次搭建骨架时,在 `package.json``dependencies` 中加入了 `cos-nodejs-sdk-v5`^2.14.0),
计划用于后续的腾讯云对象存储(COS)直传功能。
## 移除原因
`npm audit` 检出 12 个安全漏洞(3 critical / 2 high / 7 moderate),**全部来自**
`cos-nodejs-sdk-v5` 及其传递依赖:
- `fast-xml-parser`(critical)— 多个实体展开绕过 / DoS 漏洞
- `form-data`(critical)— 不安全随机边界、CRLF 注入
- `request`(已废弃)— 含已知漏洞的旧库
- `ajv` / `conf`moderate
COS 功能本轮仅为**占位**`src/upload/` 仅提供服务方法签名,代码中**并未真正 import**
该 SDK),因此移除后不影响现有代码与功能。
## 变更内容
-`package.json` `dependencies` 移除 `cos-nodejs-sdk-v5@^2.14.0`
- 执行 `npm uninstall cos-nodejs-sdk-v5` 清理 `node_modules``package-lock.json`
- 审计结果:critical/moderate 漏洞清零,仅剩 2 个 high(来自 `js-yaml`
`ts-node-dev` 的**开发期**传递依赖,不进入生产镜像)
## 当前状态
`npm audit fix --force` 可自动升级到 `cos-nodejs-sdk-v5@3.0.0`(破坏性大版本),
但本轮不需要 COS,故**不升级、保持移除**。
## 后续恢复 COS 时的注意事项
实现 COS 直传 / 预签名时,重新引入 SDK 请:
1. 使用 **v3.x**`cos-nodejs-sdk-v5@^3.0.0`),避免 2.x 的旧依赖链漏洞;
2. 引入后立即执行 `npm audit` 复核漏洞情况;
3. 若仍报 criticale.g. `fast-xml-parser` 传递依赖),考虑用「先直传后回调」的
最小化接入,或改用官方推荐的 **COS STS / 临时密钥** 方案,减少客户端 SDK 依赖。