wanwu 5f3b6f93b5 feat: Sprint1 完成 — NestJS特性补全+WebSocket+Docker+安全加固
3个并行智能体开发 + 审计智能体审查:

B1.1 ClassSerializerInterceptor:
- AppSerializerInterceptor 深度递归序列化
- @ExposeGroups() 分组控制字段暴露
- SysUser/Member password @Exclude()
- Member openid @Expose(groups:['owner'])

B1.2 自研限流增强:
- @Throttle() 装饰器支持路由级差异化配置
- X-RateLimit-Limit/Remaining/Reset 标准响应头
- skipIf 回调支持条件跳过
- 内存泄漏修复(60s定期清理)
- IP解析修复(取x-forwarded-for首个IP)
- 真正滑动窗口(时间戳队列)

B1.3 WebSocket Gateway:
- @WebSocketGateway /notifications 命名空间
- JWT认证握手 + userId→socketId映射
- WsNotificationEmitter 事件推送
- WsPushNotificationListener 事件桥接

安全加固(审计S7):
- CORS收紧(环境变量WS_ALLOWED_ORIGINS)
- WebSocket IP连接限流(MAX=10)
- Token仅通过auth传递(移除query)
- Member.idCard/MemberCashOutAccount.accountNo/Verify.code @Exclude()

Docker:
- 多阶段Dockerfile(deps→builder→runner)
- docker-compose.yml(app+mysql+redis+kafka+zk)
- E2E测试脚本 + 压力测试脚本(autocannon)

质量: tsc 0 error / eslint 0 error / any 0 / build ok
2026-04-15 16:40:31 +08:00
2026-04-02 21:25:02 +08:00
2026-04-02 21:25:02 +08:00
2026-04-02 21:25:02 +08:00
2025-11-16 22:13:57 +08:00
2025-10-26 20:40:23 +08:00
2026-04-02 21:25:02 +08:00
2026-04-02 21:25:02 +08:00
2025-11-16 22:13:57 +08:00
2025-10-14 23:56:20 +08:00
2025-10-14 23:56:20 +08:00

WWJCloud-Nest 🚀

基于NestJS v11的企业级全栈框架对标Java Spring Boot和PHP ThinkPHP。

🏗️ 架构设计

WWJCloud NestJS企业级架构

├── Config层     ✅ 框架配置中心 (NuCloud Config)
├── Common层     ✅ 基础设施层 (缓存/日志/监控/异常)
├── Vendor层     ✅ 第三方服务集成 (支付/短信/上传/通知)
├── Core层       🔄 通用业务逻辑 (会员/装修/字典)
└── App层        🔄 具体业务实现 (前台/管理端)

核心特性

  • 🎯 企业级框架:完整的企业应用开发基础设施
  • 🔧 配置中心:动态配置、热更新、多租户支持
  • 💰 支付集成:微信支付、支付宝、线下支付
  • 📱 多渠道支持微信、小程序、H5、APP
  • 🔐 多租户架构SaaS/独立版混合部署
  • 📊 监控告警:日志、指标、链路追踪
  • 🛠️ 开发工具:代码生成器、插件系统

🚀 快速开始

环境要求

  • Node.js 18+
  • MySQL 8.0+
  • Redis 6.0+

安装运行

# 1. 克隆项目
git clone <repository-url>
cd wwjcloud-nest

# 2. 安装依赖
npm install

# 3. 启动数据库 (Docker)
docker-compose up -d mysql redis

# 4. 启动应用
npm run start

# 5. 访问应用
http://localhost:3001

API测试

# 健康检查
curl http://localhost:3001/

# 配置状态
curl http://localhost:3001/config/status

# 查询配置
curl http://localhost:3001/config/value/WECHAT

📁 项目结构

src/
├── config/          # 配置中心
├── common/          # 基础设施
│   ├── cache/       # 缓存服务
│   ├── logging/     # 日志服务
│   ├── monitoring/  # 监控服务
│   ├── queue/       # 队列服务
│   ├── utils/       # 工具类
│   └── ...
├── vendor/          # 第三方集成
│   ├── pay/         # 支付服务
│   ├── sms/         # 短信服务
│   ├── upload/      # 上传服务
│   └── ...
├── core/            # 通用业务
└── main.ts          # 应用入口

🏪 技术栈

后端技术

  • 框架: NestJS 11 + TypeScript
  • 数据库: MySQL 8.0 + TypeORM
  • 缓存: Redis + BullMQ队列
  • 文档: Swagger API文档
  • 监控: Prometheus + OpenTelemetry

开发工具

  • 构建: Nest CLI + Webpack
  • 代码质量: ESLint + Prettier
  • 测试: Jest + Supertest
  • 容器: Docker + Docker Compose

🌟 对标说明

特性 Java Spring Boot PHP ThinkPHP WWJCloud NestJS
依赖注入 Spring IoC Container NestJS DI
配置管理 Application.yml Config ConfigCenter
数据库ORM JPA/MyBatis Model TypeORM
缓存支持 Redisson Cache Redis
队列系统 Rabbit/Active Queue BullMQ
监控告警 Micrometer Monitor Prometheus

📖 开发文档

🤝 贡献指南

  1. Fork 项目
  2. 创建特性分支 (git checkout -b feature/amazing-feature)
  3. 提交更改 (git commit -m 'Add amazing feature')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 创建 Pull Request

📄 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。

👥 团队

  • 架构师: WWJCloud团队
  • 开发者: NestJS企业级开发团队
  • 产品经理: SaaS平台产品团队

如果这个项目对你有帮助,请给它一个星星!

Description
No description provided
Readme 96 MiB
Languages
Vue 42.9%
TypeScript 26.8%
JavaScript 26.5%
CSS 2%
HTML 0.9%
Other 0.9%