后端文档介绍
这套文档面向 art-design-pro-server 的本地运行、环境配置、接口联调、运维排查和扩展开发。它的目标是帮助你理解环境初始化、数据库迁移、默认数据准备、认证权限联调、业务模块扩展和生产部署,而不只是验证接口服务能够启动。
首次接手项目时,建议先建立以下认知:
- 它已经包含账号、权限、配置、文件、日志、监控、调度等后台服务基础能力。
- 它与商业版前端存在明确的登录、刷新令牌、菜单、权限和站点配置联动关系。
- 它适合作为业务项目的服务端底座,并支持后续模块化扩展和长期维护。
建议阅读顺序
第一次接手项目
准备开始扩展业务
准备部署上线
后端定位
art-design-pro-server 是一套具备项目化属性的 Node 服务端工程,当前已经覆盖:
- 认证、会话、JWT、Refresh Token Cookie
- 菜单权限、API 权限、数据权限
- 用户、角色、部门、岗位、菜单、字典、参数、站点配置
- 内容管理、通知中心、反馈中心
- 文件中心与对象存储
- 监控、在线用户、安全审计、健康检查
- 定时任务与执行日志
- 商城、工作流、AI 助手等模块
技术栈总览
| 分类 | 实际使用 |
|---|---|
| 服务框架 | NestJS 11 |
| 语言与运行时 | TypeScript、Node.js |
| 数据访问 | Prisma 7 |
| 数据库 | PostgreSQL 16 |
| 认证方式 | JWT + Refresh Token Cookie |
| 文档能力 | Swagger |
| 任务调度 | @nestjs/schedule |
| 校验能力 | class-validator、class-transformer、Joi |
| 测试 | Jest、Supertest |
| 工程工具 | ESLint、Prettier、Husky、Lint-staged、Commitizen |
这套技术栈的重点不是“追新”,而是围绕业务项目里的几个高频目标来选型:
- 服务结构清晰,适合模块化扩展
- 数据模型和类型一致,减少联调歧义
- 文档、测试和脚本链路完整,便于使用和维护
- 对认证、安全、文件、调度这类企业级需求有较好的承接能力
能力分层
1. 接口层
Controller、DTO、Swagger 标注、守卫、装饰器。
2. 业务层
Service、模块拆分、权限校验、业务流程编排。
3. 数据层
Prisma、迁移、初始化数据、数据库模型。
4. 运维层
日志、监控、健康检查、定时任务、部署配置。
文档重点回答的问题
- 新环境如何把服务完整跑起来
- 当前项目的关键环境变量是什么
- 登录和刷新令牌如何协同工作
- 权限体系分成哪几层
- 文件、任务、监控等能力已经做到什么程度
- 如果以后继续加业务模块,应该沿着什么方式扩展
代码规范与提交
商业版后端已经内置了工程规范链路,建议在开始开发前先阅读开源文档中的 规范。
当前后端项目实际可用的相关脚本包括:
bash
pnpm lint
pnpm lint:fix
pnpm lint:prettier
pnpm lint:lint-staged
pnpm test
pnpm test:e2e
pnpm commit日常推荐流程:
- 开发完成后先执行
pnpm lint - 需要自动修复时执行
pnpm lint:fix - 提交前确认测试至少覆盖本次改动主链路
- 使用
pnpm commit生成规范化提交信息
团队协作时,建议把“先 lint、再 test、最后 commit”作为固定流程,避免只在问题出现后补做检查。
阅读后你可以掌握
- 独立把后端在本地跑起来
- 知道前端通过哪些接口和配置接入后端
- 知道权限与菜单链路如何协同
- 知道如何排查登录、文件、部署相关问题
- 知道如何在现有基础上继续加业务模块

