forge-admin-blog-roadmap.md 22 KB

Forge Admin 技术与业务实现细节博客规划

目标:通过连续博客把 Forge Admin 从“后台管理框架”讲成“可落地的企业应用工程体系”,让读者理解项目的架构取舍、业务实现方式和二次开发价值,最终引导用户试用、收藏、加群、参与共建或落地使用。

1. 内容定位

1.1 核心叙事

Forge Admin 不只是在堆常见后台功能,而是在解决企业后台长期演进中的四类问题:

问题 Forge Admin 的讲法 对应能力
业务页面交付慢 从表单、CRUD、导入导出到菜单权限,尽量配置化和生成化 AiCrudPage、低代码 CRUD、AI 代码生成
企业权限复杂 认证、菜单、按钮、租户、数据权限分层处理 Sa-Token、RBAC、多租户、DataScope
系统能力难复用 技术能力沉到 Starter,业务能力做成 Plugin 微内核、插件化、Spring Boot 自动配置
数据和流程要闭环 业务数据、审批流、消息、报表和 AI 能串起来 Flowable、消息中心、AI 大屏、动态 API

博客不要写成“功能清单”,要多写“为什么这样设计”、“一个真实业务需求怎么落到代码里”、“这个坑在企业项目里为什么常见”。

1.2 目标读者

读者 他们关心什么 内容侧重点
后端开发 架构分层、权限、租户、SQL、可扩展性 Starter/Plugin、MyBatis XML、拦截器、注解、数据库迁移
前端开发 后台页面怎么快速搭、组件协议、权限菜单、文件图片 AiCrudPage、动态路由、Naive UI、UnoCSS、上传组件
技术负责人 能不能支撑团队长期二开,规范是否完整 模块边界、SDD 流程、代码生成、测试和发布
产品/业务负责人 能不能快速搭业务系统和审批流程 低代码 CRUD、工作流、报表大屏、消息通知
开源用户 怎么跑起来、怎么二开、坑多不多 快速体验、真实案例、踩坑总结、对比文章

2. 栏目设计

建议拆成 5 个系列,每个系列解决一类读者问题。发布时不要按源码模块顺序机械展开,而是按“从看见价值到理解实现”的路径推进。

系列 A:架构底座篇

定位:建立项目专业感,让读者知道 Forge Admin 的骨架为什么适合长期维护。

期数 标题建议 核心问题 重点素材
A01 从零搭一个企业后台,为什么我把能力拆成 Starter 和 Plugin? 微内核插件化到底解决什么问题 forge-framework/forge-starter-parentforge-plugin-parent、后端模块概览
A02 Spring Boot 3 后台框架的自动配置设计:少写配置,多做组合 Starter 如何做到引入即生效 AutoConfiguration.importscode-copilot/knowledge/tech-spring-boot-autoconfig.md
A03 Maven 多模块项目如何避免越写越乱?Forge Admin 的模块边界实践 多模块工程依赖如何分层 forge-dependencies、父子 POM、tech-maven-multimodule.md
A04 统一响应、异常处理和日志:后台系统最容易被低估的基础设施 为什么基础规范决定二开体验 forge-starter-coreforge-starter-web、全局异常文档
A05 从配置到运行时:Forge Admin 的动态 API 配置管理是怎么做的 API 行为如何集中管理和刷新 forge-starter-api-config

系列 B:权限、租户与安全篇

定位:这是企业后台最容易打动技术负责人的部分,适合做深度文章和对比文章。

期数 标题建议 核心问题 重点素材
B01 后台权限不只是菜单隐藏:Forge Admin 的 RBAC 权限链路拆解 登录、菜单、按钮、接口权限如何闭环 forge-starter-auth、系统管理插件、前端动态路由
B02 多租户后台怎么做数据隔离?从 tenant_id 到拦截器的完整链路 租户隔离如何避免业务代码散落判断 forge-starter-tenant、数据库规范
B03 数据权限为什么必须写在 Mapper XML?DataScope 拦截器的工程取舍 组织/角色数据范围如何改写 SQL forge-starter-datascope、XML SQL 规则
B04 后台接口加解密实践:什么时候该用 @ApiEncrypt@ApiDecrypt 敏感接口如何保护传输数据 forge-starter-crypto、前端 encrypt-request
B05 文件访问不能只返回 URL:Forge Admin 鉴权图片和文件存储设计 私有文件怎么在后台安全展示 forge-starter-fileAuthImagegetFileUrl
B06 分布式幂等怎么落地到业务接口?从 Token 到 Redisson 锁 重复提交、重复审批、重复支付类问题 forge-starter-idempotent、SpEL 知识库

系列 C:低代码与 AI 生成篇

定位:这是引流最强的系列,标题要更业务化,文章中再展开技术细节。

期数 标题建议 核心问题 重点素材
C01 一个 CRUD 页面从 2 天到 10 分钟:AiCrudPage 的协议化设计 表格、搜索、表单、接口如何用一份配置驱动 AiCrudPage 文档、前端组件源码
C02 低代码 CRUD 搭建器如何把“业务字段”变成“可运行页面”? 模型协议、页面协议、发布态配置如何衔接 lowcode-crud-builder.md、低代码组件
C03 在线建表为什么要克制?Forge Admin 低代码 DDL 安全边界 为什么只允许建表和追加字段 低代码 DDL 约束、Flyway 规则
C04 AI 代码生成不是生成一坨代码:Forge Admin 的模板和配置思路 AI 如何和模板、业务字段、下载代码包结合 forge-plugin-generator、AI 生成变更文档
C05 多 AI 供应商接入:如何让 OpenAI、DeepSeek、Ollama 等模型统一调用 AI 供应商抽象和配置管理 forge-plugin-ai、AI 供应商配置
C06 从自然语言到数据大屏:Forge Report Studio 的 AI 生成链路 大屏结构、组件、主题、数据源如何生成和调整 README AI 大屏、报表相关文章
C07 大屏动态数据接入:从静态 Mock 到真实业务 API 数据源、数据集、动态参数如何落地 report datasource/dataset 变更文档

系列 D:业务场景实现篇

定位:把技术能力放进具体业务。读者看到的是“我能拿它做什么”,而不是“里面有什么模块”。

期数 标题建议 核心问题 重点素材
D01 用户、角色、菜单、按钮权限:一个后台系统的权限业务闭环 系统管理模块如何支撑真实后台 forge-plugin-system、菜单管理截图
D02 字典系统为什么不能硬编码?从 DictSelect 到 DictTag 的前后端联动 状态、类型、标签如何统一维护 字典组件文档、useDict
D03 请假审批只是 Demo?用 Flowable 讲清业务流程接入方式 发起、审批、驳回、时间轴如何串起来 forge-plugin-flow、BPMN 组件、流程文档
D04 审批人动态计算:SPEL 表达式在工作流里的真实用法 节点审批人如何按业务变量计算 tech-spel-expression.md、流程踩坑记录
D05 消息中心怎么设计才不只是站内信?业务通知的统一入口 审批、系统通知、模板消息如何扩展 forge-plugin-message、消息管理截图
D06 Excel 导入导出不要到处写临时代码:可配置导出的后台实践 导出列、字典翻译、脱敏如何统一 forge-starter-excel、低代码导入导出
D07 定时任务、操作日志和服务监控:后台运维能力如何内置 业务运行后如何排查和治理 forge-plugin-jobforge-starter-log、监控截图

系列 E:工程规范与二开实战篇

定位:降低开源用户试用和二开门槛,把“能跑起来”和“能改得动”讲清楚。

期数 标题建议 核心问题 重点素材
E01 No Spec No Code:我在 Forge Admin 里如何做渐进式需求开发 为什么先写 spec/tasks 再编码 forge-docs/guide/sdd-workflow.mdcode-copilot/changes
E02 新增一个业务模块的标准姿势:从数据库脚本到菜单权限 二开用户最需要的完整路径 AGENTS 规范、Flyway、Controller/Service/Mapper
E03 Flyway 迁移脚本怎么写才不坑生产? 数据库变更如何可重复、可审查 forge/db/migration、数据库脚本规范
E04 Forge Admin 常见踩坑 10 条:分页、占位符、租户、加解密 把真实踩坑转成用户信任 .opencode/memory/pitfalls.md
E05 如何把 Forge Admin 裁剪成自己的业务中台? 哪些模块可选,哪些能力建议保留 Starter/Plugin 模块清单
E06 从本地启动到线上部署:Forge Admin 的环境配置和排查清单 新用户如何少踩环境坑 README、应用配置、前后端启动命令

3. 首批 8 篇推荐排期

首批文章要同时兼顾“吸引点击”和“体现深度”。建议不要一开始就写太底层的自动配置,可以先用读者熟悉的场景开局。

周次 文章 目标
第 1 周 C01:一个 CRUD 页面从 2 天到 10 分钟:AiCrudPage 的协议化设计 用效率提升吸引前后端开发
第 1 周 B01:后台权限不只是菜单隐藏:Forge Admin 的 RBAC 权限链路拆解 建立企业后台专业感
第 2 周 C02:低代码 CRUD 搭建器如何把“业务字段”变成“可运行页面”? 展示项目差异化能力
第 2 周 D03:请假审批只是 Demo?用 Flowable 讲清业务流程接入方式 吸引有审批流需求的用户
第 3 周 A01:从零搭一个企业后台,为什么我把能力拆成 Starter 和 Plugin? 讲清架构底座
第 3 周 C06:从自然语言到数据大屏:Forge Report Studio 的 AI 生成链路 承接 AI 热点和产品截图
第 4 周 B03:数据权限为什么必须写在 Mapper XML?DataScope 拦截器的工程取舍 打技术深度和工程可信度
第 4 周 E04:Forge Admin 常见踩坑 10 条:分页、占位符、租户、加解密 用真实经验增强收藏和转发

发布频率建议:

  • 每周 2 篇:1 篇偏业务/产品价值,1 篇偏技术实现。
  • 每 4 周做一次合集文章:《Forge Admin 一个月技术文章索引:CRUD、权限、低代码、工作流》。
  • 每篇末尾都放统一入口:GitHub/Gitee、在线演示、默认账号、文档站、交流群或联系方式。

4. 单篇文章模板

每篇建议固定成 7 段,降低后续写作成本。

# 标题:用一个具体问题开头

## 1. 这个问题在企业后台里为什么常见

用业务场景开头,避免直接贴源码。

## 2. Forge Admin 是怎么解决的

先给整体链路图或模块表。

## 3. 核心数据结构 / 配置协议

展示关键 DTO、Schema、配置字段或数据库表。

## 4. 核心实现链路

按请求入口、服务编排、持久化、前端渲染讲清楚。

## 5. 关键取舍和坑

解释为什么这么做,以及常见错误。

## 6. 如何二开

给出“如果你要新增一个类似功能,应该改哪些文件”。

## 7. 体验入口和下一篇预告

引导读者访问演示、收藏项目、阅读下一篇。

5. 每篇必备素材清单

为了让文章更像真实工程复盘,每篇至少准备 4 类素材。

素材 用途 示例
业务截图 让非技术读者知道功能长什么样 菜单管理、流程设计、低代码搭建器、大屏编辑器
链路图 让技术读者快速建立结构 请求链路、权限链路、低代码发布链路
关键代码片段 证明不是概念文章 Controller、Service、Mapper XML、组件配置
踩坑提醒 增强可信度和收藏价值 :id 占位符、pageNumtenant_id=1、加解密注解

配图建议:

  • 架构篇:模块依赖图、请求链路图、目录结构截图。
  • 权限篇:登录到菜单加载链路、角色资源绑定截图、SQL 改写示意。
  • 低代码篇:搭建器页面、协议 JSON、发布后运行页对比。
  • 工作流篇:BPMN 设计器、节点配置、待办审批、流程时间轴。
  • 大屏篇:AI 生成入口、画布编辑器、数据源配置、发布预览。

6. 重点文章详细大纲

6.1 C01:AiCrudPage 的协议化设计

目标读者:前端开发、全栈开发、想快速做后台页面的用户。

开篇问题:后台 CRUD 页面大量重复,搜索区、表格、弹窗表单、删除、分页、导入导出都类似,但每个页面又有少量差异。

核心大纲:

  1. 传统写法的问题:复制页面、复制接口、复制校验、复制字典渲染。
  2. AiCrudPage 的抽象:columnssearchSchemaeditSchemaapiConfig
  3. 请求协议:get@/api/user/page 这类 METHOD@URL 格式如何统一解析。
  4. RESTful 默认约定:分页、新增、修改、删除、详情。
  5. 插槽和钩子:如何保留复杂业务扩展点。
  6. 常见坑:分页参数必须是 pageNum/pageSize,URL 占位符必须是 :id
  7. 二开建议:什么时候用 AiCrudPage,什么时候手写复杂页面。

转化动作:引导读者打开在线演示里的系统管理页面,再查看 AiCrudPage 文档。

6.2 B01:RBAC 权限链路拆解

目标读者:后端开发、技术负责人。

开篇问题:很多后台只做了“菜单隐藏”,但真实系统需要登录态、菜单、按钮、接口、数据范围一起闭环。

核心大纲:

  1. 权限模型:用户、角色、菜单、按钮、资源。
  2. 登录认证:Sa-Token 如何维护登录状态。
  3. 菜单权限:后端资源如何变成前端动态路由。
  4. 按钮权限:前端控制展示,后端接口继续兜底。
  5. 接口权限:@SaCheckPermission 的使用边界。
  6. 数据权限和租户权限为什么要单独拆出来讲。
  7. 二开建议:新增菜单、按钮权限和接口权限的步骤。

转化动作:引导读者体验菜单管理、角色授权、按钮权限。

6.3 C02:低代码 CRUD 发布链路

目标读者:产品/业务负责人、低代码平台开发者、全栈开发。

开篇问题:低代码如果只能画页面,最后还要开发手工接接口,就不能真正降本。

核心大纲:

  1. 搭建流程:数据模型、页面搭建、实时预览、发布上线。
  2. modelSchema:字段、表名、业务名称、组件类型。
  3. pageSchema:搜索区、列表区、表单区、详情区。
  4. 发布态配置:草稿不会影响线上,发布后写入版本快照。
  5. 动态 CRUD 运行时:白名单字段读写,避免任意字段操作。
  6. DDL 安全边界:只允许创建表和追加字段。
  7. 菜单和权限:发布后如何进入后台菜单体系。

转化动作:引导读者用一个“合同管理”或“客户管理”示例试搭。

6.4 D03:Flowable 工作流接入

目标读者:需要审批流、工单流、合同流的开发者。

开篇问题:审批流难点不是画 BPMN,而是业务表单、审批人、待办、时间轴和业务状态联动。

核心大纲:

  1. 工作流涉及的对象:模型、定义、实例、任务、审批记录。
  2. 前端 BPMN 设计器如何承载流程建模。
  3. 业务发起:业务数据和流程实例如何绑定。
  4. 节点配置:审批人、表单、按钮动作。
  5. 待办审批:通过、驳回、转办等动作如何进入流程引擎。
  6. 时间轴:为什么审批记录是业务用户最关心的部分。
  7. 踩坑:BPMN 属性 trim、SPEL 日志、流程定义不存在时的排查。

转化动作:引导读者体验“流程管理”和“我的待办”。

6.5 B03:DataScope 数据权限

目标读者:后端开发、架构师。

开篇问题:同一个列表接口,不同角色能看到的数据不同,最怕把权限条件散落在业务 Service 里。

核心大纲:

  1. 数据权限和菜单权限的区别。
  2. 为什么选择 MyBatis XML SQL 作为改写目标。
  3. mapperMethod 精确匹配的好处。
  4. 组织、角色、区域等数据范围如何表达。
  5. 行政区划 ALL 规则的 SQL 写法。
  6. 为什么查询类 SQL 不建议写在 Service 的 LambdaQueryWrapper
  7. 二开建议:新增业务列表时如何预留数据权限能力。

转化动作:引导技术读者阅读数据权限模块文档和编码规范。

6.6 C06:AI 数据大屏生成链路

目标读者:产品、数据可视化开发者、企业内部工具负责人。

开篇问题:很多大屏工具只能拖组件,真正耗时的是从业务目标到布局、图表、数据源和发布的完整链路。

核心大纲:

  1. AI 生成大屏的输入:自然语言业务目标。
  2. 生成结果:画布、组件、布局、主题、静态数据。
  3. 人工编辑:拖拽、属性面板、素材库、多画布、弹窗。
  4. 数据接入:静态数据到动态 HTTP API。
  5. 发布预览:从编辑态到可访问页面。
  6. 多 AI 供应商:为什么要支持 OpenAI 兼容、自定义服务和本地模型。
  7. 二开建议:如何接入自己的业务接口和组件。

转化动作:放大屏设计器在线体验链接,建议读者用一个行业场景生成大屏。

7. 平台分发策略

不同平台的读者耐心不同,同一篇文章需要改标题和结构。

平台 内容形态 标题风格 重点
公众号 深度文章,2500-4000 字 场景化、结果导向 业务价值 + 架构解释 + 截图
掘金 技术拆解,2000-3500 字 技术关键词明确 源码链路、代码片段、坑
CSDN 教程型,1500-3000 字 搜索友好 快速上手、配置、问题解决
Gitee/GitHub README 精简入口 项目能力概览 引导 star、demo、文档
视频号/B 站 3-8 分钟演示 功能结果先行 录屏演示 + 关键架构图

同一选题可以拆成三种版本:

  • 引流版:讲业务痛点和效果,少贴源码。
  • 技术版:讲源码链路、模块边界和扩展点。
  • 教程版:讲从 0 到 1 操作步骤。

8. 转化路径设计

每篇文章结尾建议固定放 5 个入口,形成稳定转化。

## 体验 Forge Admin

- 在线演示:后台管理 / 大屏设计器
- 默认账号:admin / 123456
- Gitee:ForgeLab/forge-admin
- GitHub:yaomindong1996/forge-admin
- 文档站:Forge Admin Docs

下一篇预告:xxx

转化目标分层:

用户行为 目标
点开文章 被具体场景吸引
看完文章 知道 Forge Admin 解决什么问题
访问演示 形成产品感知
收藏/star 进入长期关注池
加群/咨询 转成潜在用户或贡献者
按教程二开 转成真实使用者

9. 内容生产流程

建议每篇文章按这个流程生产,避免写成散文。

  1. 选题确认:明确这篇给谁看,想让读者做什么。
  2. 素材收集:截图、代码路径、已有文档、踩坑记录。
  3. 大纲编写:先写 7 段模板,不急着展开。
  4. 代码核对:确认文章里的类名、接口、参数和当前代码一致。
  5. 截图补齐:每篇至少 2 张业务截图或链路图。
  6. 发布适配:公众号/掘金/CSDN 标题和开头分别调整。
  7. 数据复盘:记录阅读量、收藏、star 增量、演示访问量、咨询数。

10. 文章质量标准

一篇合格的 Forge Admin 博客至少满足:

  • 有明确业务场景,不从“本模块提供”开头。
  • 有一张链路图或表格,让读者 30 秒理解结构。
  • 有 1-3 个真实代码/配置片段,但不堆大段源码。
  • 有“为什么这样设计”的解释。
  • 有“二开时怎么做”的落地步骤。
  • 有“常见坑/边界”的提醒。
  • 有项目入口和下一篇预告。

需要避免:

  • 只罗列功能,没有实现细节。
  • 只贴源码,没有业务场景。
  • 标题过大,正文落不到 Forge Admin。
  • 文章里暴露真实密钥、数据库密码、Token、生产地址敏感信息。
  • 把还不稳定或暂未开放的能力写成已完整支持。

11. 可直接进入写作的选题池

优先级 P0:最适合近期引流。

优先级 选题
P0 AiCrudPage 协议化 CRUD
P0 低代码 CRUD 搭建器
P0 RBAC 权限链路
P0 Flowable 审批流接入
P0 AI 数据大屏生成
P0 Forge Admin 常见踩坑

优先级 P1:适合做技术深度和收藏。

优先级 选题
P1 Starter/Plugin 插件化架构
P1 DataScope 数据权限
P1 多租户隔离
P1 分布式幂等
P1 文件存储和鉴权图片
P1 Excel 导入导出

优先级 P2:适合后续完善内容矩阵。

优先级 选题
P2 API 加解密
P2 动态配置
P2 消息中心
P2 定时任务
P2 操作日志
P2 WebSocket
P2 社交登录

12. 建议的第一篇文章

第一篇建议写:

《一个 CRUD 页面从 2 天到 10 分钟:Forge Admin 的 AiCrudPage 是怎么设计的?》

原因:

  • 读者感知强,所有后台开发都写过重复 CRUD。
  • 能自然带出 Forge Admin 的前端组件、RESTful API、字典、导入导出、权限和低代码能力。
  • 文章难度适中,适合作为系列入口。
  • 后续可以顺接低代码 CRUD、AI 代码生成和数据权限。

第一篇末尾预告:

下一篇我们继续拆:低代码 CRUD 搭建器如何把业务字段、页面配置、动态接口和菜单权限串成一个可发布的后台应用。