跳过导航,直达内容
IMS

IMS 管理系统框架

把登录认证、管理后台壳、权限治理与接口代码生成沉淀成底座,业务能力按插件挂载 —— 复制一份起手模板、挂上插件清单,就是一个新的管理系统。

Why

一套底座,装出第 N 个管理系统

后台做多了会发现:每个项目都在重复写同一批和业务无关的东西。IMS 就是把这些重复的部分一次性做进底座。

每开一个后台,登录与权限再写一遍

登录页、令牌刷新、路由守卫、角色分配——这些和业务无关,却占掉每个项目开头一大块时间。

权限散在四个地方,改一处要动四处

菜单写一遍、路由写一遍、按钮上再判一次、接口里还要校验一次,版本一多就对不上。

现场没有外网,界面却要去公网取资源

内网或离线环境交付时,字体、图标、CDN 依赖会一个个变成现场问题。

客户已有业务系统,只缺一个管理界面

业务逻辑都在老系统里,没必要为了一个后台把整套重写一遍。

IMS 的取向是「能力等于所挂载插件之和」——插件越积越多,能力越强,而壳尽量保持小。 加一个能力,就是清单里多注册一个插件。

How It Works

装一个系统,就是挂一份插件清单

插件是唯一的技术概念:一个能力就是一个插件包,前端路由与菜单、后端接口与建表都写在包里,清单里显式注册即可——不扫描 node_modules。

插件清单 plugins: [ … ]

用户角色消息报表表单操作日志你自己的业务插件

基座

起手模板(壳 + 通用能力)

登录认证管理后台壳权限治理接口与建表代码生成

第 N 个管理系统

同一套基座,换一份插件清单就是另一个系统;不需要的能力把插件摘掉即可

Interface

界面预览

登录页和管理后台壳都在同一套基座里。应用名、主题色、Logo 三级回落,私有化现场改品牌不用重新构建。

登录页
IMS 管理系统的登录页:左侧是产品能力轮播,右侧是账号登录卡片
账号 / 短信 / 扫码三种登录方式,密码用 scrypt 加盐哈希、带基础限流与滑块验证; 左侧轮播位放的是产品能力,可按客户换成自己的内容。
Architecture

技术架构

两张图分别是整体的分层与一次请求的路径。图比较密,点开可以放大看。

总体架构

生态层(框架仓 → 分发 → 下游应用仓)与运行时层(装配面 → 能力面 / 请求面 → 服务端 → 数据层),以及上游优先的演进循环。

运行时分层

一次装配、一次请求分别经过哪几层:客户端与宿主装配 → 能力面 / 请求面 → Nitro 运行时与 API → 数据层 → 发布。

Capabilities

核心能力

下面这些能力在框架里都有对应实现;插件体系仍在持续演进,新提案按版本滚动进来。

插件化装配

一个能力就是一个插件包:前端的路由、菜单、权限码与后端的声明、建表都写在包里,清单里显式注册即可。不扫描 node_modules,带依赖校验与命名冲突检测。

权限一处声明

权限节点的真值写在代码里,菜单、路由、按钮和接口都只是引用它,数据库只是幂等副本。调整权限后短缓存内生效,不需要等用户重新登录。

管理后台壳

侧边栏折叠、多标签页、明暗主题与多套预设配色、偏好设置、中英双语——新系统直接继承,不从零搭一遍。

双模式与多方言数据层

同一套代码:mock 模式走内存数据,零配置就能跑起来看界面;real 模式走 Drizzle。一份 schema 生成 SQLite / MySQL / PostgreSQL / Cloudflare D1。

表单工作流

模板 → 拖拽设计器 → 运行时渲染 → 提交落库,是一条完整闭环。采集类需求不用再单独开发一遍,模板带版本与草稿/发布状态。

对外对接与实时通道

第三方接口按「通道」声明式接入,由宿主统一注入凭据;也可以把既有系统的接口当主 API 接进来。往来消息支持 SSE 与 WebSocket。

Fit

适合什么,边界在哪

管理系统的需求差别很大,先把边界对齐比做完再返工省事。

适合

  • 一套机制要连续交付多个管理后台的团队,第二个系统开始省时间
  • 已有业务系统、只需要补一个管理界面的项目
  • 要私有化、内网或离线环境交付的客户
  • 需要按钮级与接口级用同一套权限定义的组织

当前不做

  • 需要审批流或工作流引擎的:框架里没有 BPM,表单工作流是「设计 → 渲染 → 提交」这条链路
  • 要国产数据库适配或等保测评材料的:数据层目前是 SQLite / MySQL / PostgreSQL / Cloudflare D1 四种方言
  • 要多租户 SaaS 与在线计费的:目前是每个项目独立部署,租户与计费面不在框架里
Stack

技术栈

全栈 TypeScript,前端与后端一套语言、一套类型。

前端
Vue 3 + TypeScript + Vite,配套自研组件库
服务端
Nitro + Drizzle ORM,接口与建表由构建期生成,不手写
数据
SQLite / MySQL / PostgreSQL / Cloudflare D1
部署
自托管 node-server,或 Cloudflare Workers
认证
JWT 双令牌(access / refresh)+ 路由守卫 + 401 静默刷新
离线
图标构建期本地注册,运行时零公网请求;品牌色与名称运行时改,不重新构建

框架的变化来自真实项目:交付里踩到的坑回流进底座,带着回归测试再发版,而不是先设计一套完整的框架再去猜需求。

想看看它装出来是什么样?

把你手上要做的管理后台说一遍,我们用 IMS 装一个能点的版本给你看,再谈要不要往下做。