一眼万年,用最基础的语言写出最通用的企业管理后台

📅 发布时间:2026/8/3 1:43:52
一眼万年,用最基础的语言写出最通用的企业管理后台
Scm.Net一个基于 .NET 10 Vue 3 的企业级快速开发框架纯 JavaScript没有花活。写在前面每年前端圈都会冒出新概念——新框架、新编译器、新元编程。追不完也没必要追。Scm.Net 做了一个无聊的选择用最基础的技术栈把企业管理后台做到最通用。.NET 10 写后端Vue 3 Element Plus 写前端全程纯 JavaScript一行 TypeScript 都没有。听起来不够先进但它能跑在从 2020 年至今的任何一台服务器上能被任何一个会写 Vue 的开发者接手能在三天内搭起一套带权限、工作流、代码生成器的完整系统。一眼万年不是技术万年不变而是基本功万年有效。技术栈只选够了的层选型为什么后端.NET 10性能强、生态稳、部署简单前端框架Vue 3.5渐进式上手成本最低构建工具Vite 8开发体验碾压一切UI 库Element Plus 2.14中后台组件最全没有之一状态管理Pinia 3Vue 官方推荐足够轻量HTTPAxios拦截器机制成熟签名加密好处理实时通信SignalR微软出品WebSocket 封装到位图表ECharts 6中文文档友好企业场景刚需没有用 Next.js没有用 Nuxt没有引入 SSR没有上微前端。企业后台不需要这些。用户要的是打开浏览器就能用、刷新不丢数据、权限管得住、表格能导出——这些 Scm.Net 全做到了。架构哲学约定优于配置1. API 自动导入——零注册// src/api/index.js —— 全部代码没有省略constmodules{};constfilesimport.meta.glob(./model/**/*.js,{eager:true});Object.keys(files).forEach((key){letkkey.replace(/^\.\/model\//,).replace(/\.js$/,);if(k.indexOf(/)-1){kk.split(/).pop();}modules[k]files[key].default;});exportdefaultmodules;新增一个接口模块在src/api/model/下丢一个.js文件就行。不需要注册不需要导入不需要改任何配置文件。这就是基础语言的力量——import.meta.glob是 Vite 提供的原生能力几行代码解决一个工程化痛点。2. 全局组件集中注册src/scui.js是整个前端的注册中心。40 多个业务组件scTable、scSearch、scUpload、scWorkflow……在这里一次性挂载到 Vue 实例上同时注入$CONFIG、$TOOL、$HTTP、$API、$AUTH等全局属性。app.config.globalProperties.$APIapi;// 所有接口app.config.globalProperties.$AUTHpermission;// 权限判断app.config.globalProperties.$TOOLtool;// 工具函数在任何组件里直接this.$API.user.getList()不用 import不用注入。对于一个有几百个页面的中后台系统这种省事是真的省事。3. 动态路由——菜单即代码路由不是前端写死的而是登录后从后端拉取菜单数据动态注入 Vue Router。这意味着新增一个功能页面后端配一条菜单即可前端不用改路由表权限控制天然集成——没有菜单权限的用户根本看不到路由支持三种布局自动切换工作台Console、云桌面Desktop、大屏Monitor靠route.meta.layout字段驱动4. 请求签名——安全不靠魔法每个 HTTP 请求自动携带appkey、timestamp、signature三件套。签名算法是 MD5——最基础、最通用的哈希任何语言的后端都能验签。没有用 JWT 之外的自定义协议没有引入 OAuth 中间件做内部签名就是 header 里放三个字段后端拿到一算便知真假。通用性一个框架三副面孔企业管理后台的通用不是功能堆砌而是同一套代码能适配完全不同的使用场景。工作台模式Console传统中后台左侧菜单 顶部导航 多标签页。ERP、CRM、OA 系统的标准形态。支持 default / header / menu / dock 四种布局变体。云桌面模式Desktop把业务功能装进窗口——壁纸、图标、任务栏、可拖拽窗口像操作系统一样使用后台。这不是玩具菜单同样从后端动态加载每个应用就是一个 Vue 组件通过import.meta.glob按需加载。内置 30 套主题从 Windows 95 到 Windows 11从 Mac OS 9 到 macOS Tahoe全部数据驱动换主题就是换一个 JSON 对象。大屏模式Monitor数据可视化大屏ECharts 驱动用于监控中心、运营看板。三种模式共享同一套 API、同一套权限体系、同一套组件库。切换布局只改一个 meta 字段。这就是架构设计的回报——前期把抽象做对了后期新增形态的边际成本趋近于零。权限体系六级管控指令直达Scm.Net 的权限不是简单的角色 菜单列表而是一套六级体系公司 → 部门 → 岗位 → 分组 → 用户 → 角色数据权限按组织架构隔离功能权限按角色分配。前端通过自定义指令在模板里直接控制元素可见性el-buttonv-authuser:add新增用户/el-buttonel-buttonv-roleadmin管理员操作/el-button不需要在 JS 里写if (hasPermission)不需要在组件里传 prop一个指令搞定。把复杂逻辑收敛成一行模板语法——这就是基础语言的优雅。代码生成器CRUD 不该手写企业管理后台 80% 的工作是 CRUD——列表、搜索、新增、编辑、删除。Scm.Net 内置代码生成器根据数据库表结构自动生成前后端代码后端Controller Service Entity Mapping前端列表页 表单页 API 模块 路由配置生成的代码是标准的 Vue 单文件组件结构清晰可以直接二次修改。把人从重复劳动中解放出来去做真正需要思考的事。纯 JavaScript 的底气很多人问2026 年了为什么不用 TypeScript答案很简单企业项目的生命周期是 5-10 年。今天用 TS 写的代码三年后框架升级、类型库断更维护成本反而更高。纯 JS 的代码只要能跑谁都能改。中后台系统的类型复杂度有限。表单、表格、接口返回值类型就那些。引入 TS 带来的类型体操收益远不抵成本。接手成本。会写 Vue 的开发者远比会写 Vue TS 的多。纯 JS 意味着任何一个前端都能立刻上手。这不是反对 TypeScript而是在特定场景下做出的务实选择。Scm.Net 面向的是中小企业、快速交付、长期维护——这个场景下简单就是最大的竞争力。一眼万年技术圈有句话“能让项目活十年的不是最新的框架而是最稳的基础。”Scm.Net 用的每一项技术——Vue、Vite、Element Plus、Axios、ECharts、.NET——都是经过千万项目验证的基础语言。它们不会明天就 deprecated不会因为某个核心维护者跑路而停滞不会有 Breaking Change 让你重写整个项目。用最基础的语言做出最通用的系统。这不是保守这是对工程本质的尊重。十年后回头看框架可能换了、版本可能升了但 Scm.Net 沉淀下来的架构思路——约定优于配置、动态路由驱动布局、权限指令化、代码生成消除重复——这些不会过时。这就是一眼万年。