版本以仓库 asone-server/pom.xml 的 <properties> 与 asone-front/package.json 为准。升级依赖或替换 API 后必须跑通后端 mvn compile 与前端 pnpm lint,不以「本地没报错」代替编译与类型检查。
图 1 · 技术栈全景| 层次 | 主要技术 | 版本 |
|---|
| 后端运行时 | Java | 25 |
| 后端框架 | Spring Boot(父 POM 直接继承 spring-boot-starter-parent) | 4.1.2 |
| 数据访问 | MyBatis-Plus、Druid、MySQL Connector/J | 3.5.18 / 1.2.28 / 26.x |
| 缓存与分布式 | Redis + Redisson | 4.8.x |
| 工作流 | Flowable | 8.0.0 |
| 定时任务 | XXL-JOB(xxl-job-core) | 3.5.0 |
| 接口文档 | springdoc-openapi | 3.2.0 |
| 表格导入导出 | Apache Fesod Sheet | 2.1.0-incubating |
| 离线 IP 归属 | ip2region | 3.3.7 |
| 异常上报 | Sentry(logback appender) | 8.62.0 |
| 样板代码 | Lombok | 由 Spring Boot BOM 管理 |
| 构建工具 | Maven | 3.9+ |
| 前端框架 | React + UmiJS Max | 19.3 / 4.7 |
| UI 组件 | Ant Design + ProComponents | 6.7 / 3.1 |
| 样式 | Tailwind CSS | 4.3 |
| 语言与检查 | TypeScript + Biome | 7.0 / 2.6 |
| 日期 | dayjs | 1.11 |
| Node / 包管理 | Node.js ≥ 26.7.0,pnpm | 见 asone-front/.nvmrc |
| 工具 | 用途 |
|---|
| Spring Boot / Spring Security / Spring MVC | 应用框架、鉴权、Web 层 |
MyBatis-Plus(mybatis-plus-spring-boot4-starter + mybatis-plus-jsqlparser) | ORM、分页、防全表更新 |
| Druid | 数据库连接池与监控 |
| Redisson | Redis 客户端、分布式锁、限流支撑 |
| Flowable | 审批工作流引擎(ACT_* 表由引擎启动时自动创建) |
XXL-JOB xxl-job-core | 分布式定时任务执行器 |
| springdoc-openapi | Swagger / OpenAPI 文档 |
| Fesod Sheet | Excel 导入导出 |
| p6spy | 本地 SQL 日志 |
| Lombok | 样板代码生成 |
| FreeMarker | 邮件 / 通知模板 |
| Sentry Logback | 异常上报 |
| 阿里云 OSS / Captcha / Dypnsapi SDK | 文件存储、人机验证、短信 |
| Google Ad Manager SDK、Apache HttpClient | Ad Manager 等渠道数据对接 |
| Thumbnailator | 图片压缩处理 |
| ip2region | IP 归属地离线查询 |
图 2 · 依赖版本从哪里来- Spring Boot 依赖由
spring-boot-starter-parent 管理,MyBatis-Plus 依赖由父 POM dependencyManagement 中 import 的 mybatis-plus-bom 管理,不在子模块手写 <version> 覆盖。 - 确需 pin 版本(
xxl-job-core、flowable-spring-boot-starter、ip2region)时在父 POM 的 <properties> 集中声明。 - 新增依赖先看维护状态:只选官方出品且持续发布的库;已归档或标注 EOL 的一律不引入(如
springfox、moment、node-fetch 2.x)。 - 项目已有能力(dayjs、
RestClient、springdoc、MyBatis-Plus 分页等)不再引入功能重叠的第三方库。
| 工具 | 用途 |
|---|
| UmiJS Max | 路由、构建、请求、插件体系(request、reactQuery、model、initialState、access、locale、antd、openAPI、exportStatic、utoopack、tailwindcss) |
| React 19 | UI 运行时;ref 直接作为 props,函数组件不再需要 forwardRef |
| Ant Design 6 / ProComponents | 组件库与中后台页面骨架(PageContainer + ProTable) |
| Tailwind CSS 4 | 原子化样式 |
| TypeScript 7 | 类型检查(pnpm tsc) |
| Biome 2 | 格式化与 Lint |
| dayjs | 日期处理 |
| @ant-design/charts、@antv/g6 | 图表与关系图 |
| bpmn-js | 审批流程图渲染 |
| @file-viewer | Office / PDF 文件预览 |
| @dnd-kit | 拖拽排序 |
| Husky、lint-staged、commitlint | 提交前检查与提交信息规范 |
| 平台 | 用途 | 缺失时的影响 |
|---|
| 阿里云 OSS | 文件上传与预览 | 附件类功能不可用 |
| 阿里云验证码 / 号码认证 | 登录人机校验、短信验证码 | 登录流程无法在浏览器外完成 |
| SMTP(QQ 邮箱) | 邮件验证码、审批通知 | 邮件类通知不可用 |
| 飞书 / 钉钉 / 企业微信 / OIDC / SAML | 第三方身份登录 | 对应企业登录入口不可用 |
| 各广告渠道开放 API | 渠道报表同步 | 对应渠道报表不可同步 |
| XXL-JOB Admin | 定时任务调度中心 | 本地默认不注册,线上任务不执行 |
| Sentry / GlitchTip | 前后端异常上报 | 仅影响监控,本地默认关闭 |
| 阿里云云效 Flow | CI/CD 流水线 | 影响发布,不影响本地开发 |
| 工程 | 位置 | 用途 |
|---|
| 平台文档站(VuePress) | docs/docs | 面向使用者的简介、第三方登录配置、开放 API 文档 |
| 开发者文档站(本站,VuePress) | docs/developer-docs | 架构、技术栈、目录结构、开发指南、部署 |
| 接口文档工程(Vite + Scalar) | docs/api | 在线 OpenAPI 渲染 |
本站的图形能力由两部分组成:Mermaid 12.3(动态加载,流程图 / 泳道图 / 时序图 / 状态图 / ER 图 / 思维导图 / 饼图 / 象限图 / 甘特图)与自研 pyramid 围栏(分层金字塔),语法与写作约定见图表语法。
两个 VuePress 站点版本保持一致:vuepress 与 @vuepress/bundler-vite 固定 2.0.0-rc.31,@vuepress/theme-default 固定 2.0.0-rc.134,Node 版本由各自 .nvmrc 约束。升级 VuePress 需同时升级两个站点;Mermaid 目前只装在开发者文档站,升级时确认围栏渲染与主题联动仍正常。