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
+37
View File
@@ -0,0 +1,37 @@
# ── 应用 ─────────────────────────────────────────────
NODE_ENV=development
APP_PORT=3000
# Swagger 文档路径,生产环境可置空以关闭
SWAGGER_PATH=docs
# ── 数据库 (PostgreSQL) ──────────────────────────────
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/wxmp?schema=public
# ── Redis ────────────────────────────────────────────
REDIS_URL=redis://localhost:6379
# ── JWT ──────────────────────────────────────────────
# 生产环境务必使用足够长的高熵随机串
JWT_SECRET=change-me-to-a-long-random-secret
# access token 有效期(秒),默认 2 小时
JWT_EXPIRES=7200
# ── 微信小程序 ───────────────────────────────────────
# 服务端持有,永不下发前端
WX_APPID=your-wx-appid
WX_SECRET=your-wx-secret
# 本地联调用:无真实 appid 时设为 1 可走通登录链路(mock openid),切勿生产开启
WX_MOCK_LOGIN=
# ── 微信支付(预留,暂未启用)────────────────────────
WX_MCH_ID=
WX_MCH_API_V3_KEY=
WX_MCH_SERIAL_NO=
WX_MCH_PRIVATE_KEY_PATH=
WX_PAY_NOTIFY_URL=
# ── 腾讯云 COS ───────────────────────────────────────
COS_SECRET_ID=
COS_SECRET_KEY=
COS_BUCKET=
COS_REGION=ap-guangzhou