通过 NuGet 引入 NewLife.Cube.Core。MIT 协议,可私有化替换字符串“NewLife”。支持 VS 与 CLI。newlife.snk 已公开便于强命名一致性。
命令行体验:
dotnet new install NewLife.Templates
dotnet new cube --name CubeWeb
dotnet new xcode --name Zero.Data
cd CubeWeb
dotnet build
start http://localhost:6080
dotnet run
最小示例(.NET 8/9 Minimal Hosting)
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddCube(); // 注册权限、菜单、实体控制器扫描
var app = builder.Build();
app.UseMetronic(app.Environment); // or UseAdminLTE / UseTabler ...
app.UseCube(app.Environment); // 路由 & 静态资源 & 中间件
app.Run();
魔方 NewLife.Cube
魔方是一个快速 Web 开发平台,面向“数据驱动 + 快速迭代 + 可深度定制”场景。几分钟内即可把实体 / 数据库表转为带权限、列表、详情、增删改、导出、统计的完整后台界面,并开放标准 API 给 Vue / Blazor / Antd / 移动端或第三方系统调用。默认模板已在真实项目中经历单表 100 亿数据增删改查考验。
演示站点:https://cube.newlifex.com
CentOS7 + CDNSSO中心:https://sso.newlifex.com
OAuth 服务端Swagger:https://cube3.newlifex.com/swagger/index.html
魔方教程:https://newlifex.com/cube
XCode教程:https://newlifex.com/xcode
核心库教程:https://newlifex.com/core
目录索引
核心价值
总体架构
项目结构与子工程说明
核心概念
GetFields?kind=List|Detail|AddForm|EditForm驱动动态前端生成。/Admin/Index/GetMenuTree根据权限生成多级菜单。admin被禁用。快速拥有
通过 NuGet 引入
NewLife.Cube.Core。MIT 协议,可私有化替换字符串“NewLife”。支持 VS 与 CLI。newlife.snk已公开便于强命名一致性。命令行体验:
最小示例(.NET 8/9 Minimal Hosting)
访问
/登录后台;Swagger 查看接口;前端可调用标准 CRUD API。字段与界面定制示例
前端:
/Cube/App/GetFields?kind=1获取列表字段定义,无需硬编码。API 与前后端分离
/Admin/User/Login-> JWT Token(Header/Cookie/Query)。/Admin/Index/GetMenuTree。/{Area}/{Controller}/GetFields?kind=1..4。Detail/Insert/Update/Delete。stat;分页信息:page。权限与安全
admin禁用。主题 / 皮肤 / UI 扩展
CubeEmbeddedFileProvider。AddTheme/AddSkin。MetronicModule实现 IModule 并在 Use 阶段挂载。.cshtml覆盖父级。多数据库与大数据支持
性能特性
部署方式
dotnet publish后拷贝 dll + 配置即可。NewLife.Agent安装为 Windows Service 或 systemd。StarAgent拉起守护,或通过星尘平台发布。快速部署用户中心
(下方为原始详尽步骤,保持一致)
快速部署用户中心
拉取源码并编译CubeSSO项目,切换到输出目录Bin/SSO,按需修改appsettings.json配置,打包exe/dll/appsettings.json/CubeSSO.runtimeconfig.json等文件,并发布到服务器。
启动并访问SSO系统,首次登录可以用admin/admin进去,也可以使用第三方登录(新生命用户中心),第一个用户将会作为系统管理员,同时禁用admin。
作为用户中心正式部署时,需要关闭SSO的第三方登录,魔方设置->OAuth设置->禁用所有。
修改系统名称为新生命用户中心,魔方设置->系统设置->显示名称。
第三代魔方
第三代聚焦“前后端分离 + 多前端生态 + 最小侵入”。后端接口合并在 master,前端仓库独立(Vue / QuickVue / Antd / Blazor)。
Vue版:https://vue.newlifex.com, https://quickvue.newlifex.com
Antd版:https://antd.newlifex.com
Swagger:https://cube3.newlifex.com/swagger/index.html
项目参与须知
NewLife.Cube;MVC 保留在NewLife.CubeNC。NewLife.CubeAntd)。目标蓝图
春雨计划(里程碑摘录)
NewLife.CubeNewLife.CubeNCEntityController/EntityReadonlyController前端仓库:
https://github.com/NewLifeX/NewLife.CubeVue
https://github.com/NewLifeX/NewLife.QuickVue
https://github.com/NewLifeX/NewLife.CubeAntd
https://github.com/NewLifeX/NewLife.CubeBlazor
WebApi 接口说明(节选)
/Admin/User/Login测试账号admin/admintest/test/Admin/Index/GetMenuTree/{Area}/{Controller}/GetFields?kind=1(1=List 2=Detail 3=AddForm 4=EditForm)page:分页信息stat:统计行Detail| 新增Insert| 修改Update| 删除Delete常见使用场景
贡献指南
.github/copilot-instructions.md。FAQ 速览
Q: 隐藏字段?
A: 控制器静态构造:
ListFields.RemoveField("字段")。Q: 自定义统计?
A: 重写搜索逻辑,填充返回集合的
stat。Q: 切换主题?
A: 引入主题包并
app.UseXXX(env),后台可配置默认。Q: 数据库驱动来源?
A: 首次运行自动从
PluginServer下载,可自定义。Q: 集成自定义前端?
A: 依靠字段元数据 + 标准 CRUD/JWT 登录。
魔方特性
MySql / SQLite / Sql Server / Oracle / PostgreSql / SqlCe / AccessASP.NET Core 安装
ASP.NET Core Web项目NewLife.Cube.Core,或自己编译最新的魔方 NewLife.CubeNC源码appsettings.json的ConnectionStrings段设置名为Membership的连接字符串,用户角色权限菜单等存储在该数据库Data Source=..\Data\Membership.db查看,在浏览器中查看,运行魔方平台MySql/SQLite/Oracle/SqlCe数据库自动下载匹配(x86/x64)的数据库驱动文件,驱动下载地址可在Config\Core.config中修改PluginServerConfig/Cube.config中修改PluginServeradmin,密码是admin,也可以使用NewLife等第三方OAuth登录,首个进入系统的用户抢得管理员,原admin禁用*.dll、appsettings.json、*.deps.json、*.runtimeconfig.json,以及其它自己添加的资源文件ASP.NET MVC 安装
ASP.NET MVC项目NewLife.Cube,或自己编译最新的魔方 NewLife.Cube源码Web.config的<connectionStrings>段设置名为Membership的连接字符串,用户角色权限菜单等存储在该数据库<add name="Membership" connectionString="Data Source=..\Data\Membership.db" providerName="Sqlite"/>查看,在浏览器中查看,运行魔方平台MySql/SQLite/Oracle/SqlCe数据库自动下载匹配(x86/x64)的数据库驱动文件,驱动下载地址可在Config\Core.config中修改PluginServerConfig/Cube.config中修改PluginServeradmin,密码是admin,也可以使用NewLife等第三方OAuth登录,首个进入系统的用户抢得管理员,原admin禁用.cshtml文件设置自定义工具为RazorGenerator,可以把.cshtml编译生成到DLL里面Bin、web.config、Global.asax,以及其它自己添加的资源文件新生命项目矩阵
各项目默认支持net9.0/netstandard2.1/netstandard2.0/net4.62/net4.5,旧版(2024.0801)支持net4.0/net2.0
新生命开发团队
新生命团队(NewLife)成立于2002年,是新时代物联网行业解决方案提供者,致力于提供软硬件应用方案咨询、系统架构规划与开发服务。
团队主导的80多个开源项目已被广泛应用于各行业,Nuget累计下载量高达400余万次。
团队开发的大数据中间件NewLife.XCode、蚂蚁调度计算平台AntJob、星尘分布式平台Stardust、缓存队列组件NewLife.Redis以及物联网平台FIoT,均成功应用于电力、高校、互联网、电信、交通、物流、工控、医疗、文博等行业,为客户提供了大量先进、可靠、安全、高质量、易扩展的产品和系统集成服务。
我们将不断通过服务的持续改进,成为客户长期信赖的合作伙伴,通过不断的创新和发展,成为国内优秀的IoT服务供应商。
新生命团队始于2002年,部分开源项目具有20年以上漫长历史,源码库保留有2010年以来所有修改记录网站:https://newlifex.com
开源:https://github.com/newlifex
QQ群:1600800/1600838
微信公众号: