• Stars
    star
    604
  • Rank 74,189 (Top 2 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created over 6 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Web快速开发平台,搭建管理后台,灵活可扩展!内部集成了用户权限管理、模板继承、SSO登录、OAuth服务端、数据导出与分享等多个功能模块,在真实项目中经历过单表100亿数据添删改查的考验。

魔方 NewLife.Cube

GitHub top language GitHub License Nuget Downloads Nuget Nuget (with prereleases)

魔方是一个快速Web开发平台,能够快速搭建系统原型,而又具有足够灵活的可扩展性!
内部集成了用户权限管理、模板继承、SSO登录、OAuth服务端、数据导出与分享等多个功能模块,默认模板在真实项目中经历过单表100亿数据添删改查的考验。

快速体验:

docker run newlifex/cube

演示站点:https://cube.newlifex.com CentOS7 + CDN
SSO中心:https://sso.newlifex.com OAuth服务端

魔方教程:https://newlifex.com/cube
XCode教程:https://newlifex.com/xcode
核心库教程:https://newlifex.com/core


第三代魔方

计划启动第三代魔方的设计,主要方向是借助前后端分离技术重构现代化用户界面,在3月份完成第一个最小可用版(vue)。
后端接口源码已合并到魔方代码库的master分支,各前端代码库独立,欢迎大家积极参与!

Vue版:https://vue.newlifex.com
Antd版:https://antd.newlifex.com
Swagger:https://cube3.newlifex.com/swagger/index.html

项目参与须知

  1. 参与者加入github上的NewLifeX团队,自由向魔方dev分支提交代码或修改文档。
  2. 用于前后端分离的WebApi版魔方后台是 NewLife.Cube,原 NewLife.CubeNC 保留MVC继续维护。
  3. 欢迎增加更多的前端项目,每一种前端新建独立代码库,如Antd则新建 NewLife.CubeAntd
  4. 大家在文档或代码处,标注负责人。
  5. 源码库使用github,以及新生命团队糖果库(可申请权限)
  6. 项目待办任务管理 https://github.com/orgs/NewLifeX/projects/1

目标蓝图

第三代魔方的远景目标,预计用2~3年时间完成。

  1. 重构为现代化用户界面,保留魔方默认视图以及视图定制的思想,让下游项目在迁移到第三代魔方时,尽可能少修改代码
  2. 前后端分离技术,支持Vue/React/Angular/Blazor等主流前端框架
  3. 魔方理念和用法保持不变,新建WebApi项目后从Nuget引入NewLife.Cube,加入模型生成实体类和Controller即可得到默认皮肤的界面,需要定制时才写前端代码
  4. 增强移动端支持,混合式手机APP、小程序
  5. 增强支持数据大屏

春雨计划

春雨计划,定于2023年3月完成第一个最小vue可用版,待办项如下(欢迎补充):

  1. [*] 在dev分支新建WebApi项目 NewLife.Cube,占用Asp.Net 4.5的坑位(已弃用),将来发布包也是 NewLife.Cube
  2. [*] 专属于NetCore版的代码,转移到 NewLife.CubeNC 目录,尽量保留代码提交历史,方便将来查找
  3. [*] 设计全新的 EntityControllerEntityReadonlyController,只为前端提供接口
  4. [*] 编写接口文档
  5. [*] 设计vue版主页(框架页),前端项目是 NewLife.CubeVue,vue项目调用后端 CubeDemo
  6. [*] 设计vue版登录页
  7. [] 设计vue版用户列表页和表单页
  8. [] 设计vue版角色列表页和表单页

Vue版前端代码库:
https://github.com/NewLifeX/NewLife.CubeVue http://git.newlifex.com/NewLife/NewLife.CubeVue

非主线任务

支持vue之外的前端框架,不限于3月份完成。

  1. [*] 新增Blazor,项目 NewLife.CubeBlazor。 @张善友 @张炳彬
  2. [*] 新建AntDesign,项目 NewLife.CubeAntd。 @Van

Antd版前端代码库:
https://github.com/NewLifeX/NewLife.CubeAntd http://git.newlifex.com/NewLife/NewLife.CubeAntd

Blazor版前端代码库:
https://github.com/NewLifeX/NewLife.CubeBlazor http://git.newlifex.com/NewLife/NewLife.CubeBlazor

WebApi接口说明

  1. 接口地址 https://cube3.newlifex.com/swagger/index.html
  2. 登录地址 /Admin/User/Login , 测试账号 admin/admintest/test
  3. JWT令牌传递方式:请求头 Authentication(推荐)、Cookie、Url参数token
  4. 首页框架获取菜单 /Admin/Index/GetMenuTree
  5. 每个控制器,都有一个 /{Area}/{Controller}/GetFields 接口,获取可用于展示的字段信息,如 https://cube3.newlifex.com/Cube/App/GetFields?kind=1,kind参数可选List/Detail/AddForm/EditForm
  6. 控制器主路由对应列表页数据获取接口,调用各控制器的Search查找数据,由于查询参数多变,接口入参没有固定模型,而是直接从请求字符串中获取参数。如 https://cube3.newlifex.com/Cube/Area?parentid=0&pageSize=7
  7. 列表页接口,返回数据中pager为分页信息
  8. 列表页接口,返回数据中state为统计行,如用户统计 https://cube3.newlifex.com/Admin/UserStat
  9. 详情接口 /{Area}/{Controller}/Detail,参数id固定为主键查询,如 https://cube3.newlifex.com/Cube/Area?id=450921
  10. 新增接口 /{Area}/{Controller}/Insert,Post需要新增的实体对象
  11. 修改接口 /{Area}/{Controller}/Update,Post需要修改的实体对象,务必带有主键
  12. 删除接口 /{Area}/{Controller}/Delete,Get删除参数id指定的数据

魔方特性

  • 通用权限管理,用户、角色、菜单、权限,支持控制器Action权限控制
  • 多数据库,支持 MySql / SQLite / Sql Server / Oracle / SqlCe / Access
  • 免部署,系统自动创建数据库表结构,以及初始化数据,无需人工干涉
  • 强大的视图引擎,支持子项目视图重写父项目相同位置视图,任意覆盖修改默认界面

ASP.NET Core 安装

  • Visual Studio 中新建ASP.NET Core Web项目
  • 通过 NuGet 引用NewLife.Cube.Core,或自己编译最新的魔方 NewLife.CubeNC源码
  • appsettings.jsonConnectionStrings段设置名为Membership的连接字符串,用户角色权限菜单等存储在该数据库
  • 系统自动识别数据库类型,默认Data Source=..\Data\Membership.db
  • 编译项目,项目上点击鼠标右键,查看在浏览器中查看,运行魔方平台
  • 系统为MySql/SQLite/Oracle/SqlCe数据库自动下载匹配(x86/x64)的数据库驱动文件,驱动下载地址可在Config\Core.config中修改PluginServer
  • 系统自动下载脚本样式表等资源文件,下载地址可在Config/Cube.config中修改PluginServer
  • 默认登录用户名是admin,密码是admin,也可以使用NewLife等第三方OAuth登录,首个进入系统的用户抢得管理员,原admin禁用
  • 项目发布时只需要拷贝*.dllappsettings.json*.deps.json*.runtimeconfig.json,以及其它自己添加的资源文件

ASP.NET MVC 安装

  • Visual Studio 中新建ASP.NET MVC项目
  • 通过 NuGet 引用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中修改PluginServer
  • 系统自动下载脚本样式表等资源文件,下载地址可在Config/Cube.config中修改PluginServer
  • 默认登录用户名是admin,密码是admin,也可以使用NewLife等第三方OAuth登录,首个进入系统的用户抢得管理员,原admin禁用
  • 推荐安装 Visual Studio 插件 Razor Generator,给.cshtml文件设置自定义工具RazorGenerator,可以把.cshtml编译生成到DLL里面
  • 项目发布时只需要拷贝Binweb.configGlobal.asax,以及其它自己添加的资源文件

新生命项目矩阵

各项目默认支持net7.0/netstandard2.1/netstandard2.0/net4.61,旧版(2022.1225)支持net4.5/net4.0/net2.0

项目 年份 说明
基础组件 支撑其它中间件以及产品项目
NewLife.Core 2002 核心库,日志、配置、缓存、网络、序列化、APM性能追踪
NewLife.XCode 2005 大数据中间件,单表百亿级,MySql/SQLite/SqlServer/Oracle/TDengine/达梦,自动分表
NewLife.Net 2005 网络库,单机千万级吞吐率(2266万tps),单机百万级连接(400万Tcp)
NewLife.Remoting 2011 RPC通信框架,内网高吞吐或物联网硬件设备场景
NewLife.Cube 2010 魔方快速开发平台,集成了用户权限、SSO登录、OAuth服务端等,单表100亿级项目验证
NewLife.Agent 2008 服务管理组件,把应用安装成为操作系统守护进程,Windows服务、Linux的Systemd
NewLife.Zero 2020 Zero零代脚手架,基于NewLife组件生态的项目模板,Web、WebApi、Service
中间件 对接知名中间件平台
NewLife.Redis 2017 Redis客户端,微秒级延迟,百万级吞吐,丰富的消息队列,百亿级数据量项目验证
NewLife.RocketMQ 2018 RocketMQ纯托管客户端,支持Apache RocketMQ和阿里云消息队列,十亿级项目验
NewLife.MQTT 2019 物联网消息协议,MqttClient/MqttServer,客户端支持阿里云物联网
NewLife.IoT 2022 IoT标准库,定义物联网领域的各种通信协议标准规范
NewLife.Modbus 2022 ModbusTcp/ModbusRTU/ModbusASCII,基于IoT标准库实现,支持IoT平台和IoTEdge
NewLife.Siemens 2022 西门子PLC协议,基于IoT标准库实现,支持IoT平台和IoTEdge
NewLife.Map 2022 地图组件库,封装百度地图、高德地图和腾讯地图
NewLife.IP 2022 IP地址库,IP地址转物理地址
产品平台 产品平台级,编译部署即用,个性化自定义
AntJob 2019 蚂蚁调度,分布式大数据计算平台(实时/离线),蚂蚁搬家分片思想,万亿级数据量项目验证
Stardust 2018 星尘,分布式服务平台,节点管理、APM监控中心、配置中心、注册中心、发布中心
NewLife.ERP 2021 企业ERP,产品管理、客户管理、销售管理、供应商管理
CrazyCoder 2006 码神工具,众多开发者工具,网络、串口、加解密、正则表达式、Modbus
XProxy 2005 产品级反向代理,NAT代理、Http代理
HttpMeter 2022 Http压力测试工具
GitCandy 2015 Git源代码管理系统
SmartOS 2014 嵌入式操作系统,完全独立自主,支持ARM Cortex-M芯片架构
SmartA2 2019 嵌入式工业计算机,物联网边缘网关,高性能.NET6主机,应用于工业、农业、交通、医疗
菲凡物联FIoT 2020 物联网整体解决方案,建筑、环保、农业,软硬件及大数据分析一体化,单机十万级点位项目验证
NewLife.UWB 2020 厘米级(10~20cm)高精度室内定位,软硬件一体化,与其它系统联动,大型展厅项目验证

新生命开发团队

XCode

新生命团队(NewLife)成立于2002年,是新时代物联网行业解决方案提供者,致力于提供软硬件应用方案咨询、系统架构规划与开发服务。
团队主导的开源NewLife系列组件已被广泛应用于各行业,Nuget累计下载量高达60余万次。
团队开发的大数据核心组件NewLife.XCode、蚂蚁调度计算平台AntJob、星尘分布式平台Stardust、缓存队列组件NewLife.Redis以及物联网平台NewLife.IoT,均成功应用于电力、高校、互联网、电信、交通、物流、工控、医疗、文博等行业,为客户提供了大量先进、可靠、安全、高质量、易扩展的产品和系统集成服务。

我们将不断通过服务的持续改进,成为客户长期信赖的合作伙伴,通过不断的创新和发展,成为国内优秀的IT服务供应商。

新生命团队始于2002年,部分开源项目具有20年以上漫长历史,源码库保留有2010年以来所有修改记录
网站:https://newlifex.com
开源:https://github.com/newlifex
QQ群:1600800/1600838
微信公众号:
智能大石头

More Repositories

1

X

Core basic components: log (file / network), configuration (XML / JSON / HTTP), cache (memory / redis), network (TCP / UDP / HTTP), RPC framework, serialization (binary / XML / JSON), APM performance tracking. 核心基础组件,日志(文件/网络)、配置(XML/Json/Http)、缓存(内存/Redis)、网络(Tcp/Udp/Http)、RPC框架、序列化(Binary/XML/Json)、APM性能追踪。
C#
1,707
star
2

NewLife.Redis

High performance redis client, support NETCore/. NET4. 0/. NET4. 5. It is specially optimized for big data and message queue. The average daily consumption of online single application is 10 billion. 高性能Redis客户端,支持.NETCore/.NET4.0/.NET4.5,为大数据与消息队列而特别优化,线上单应用日均100亿调用量
C#
799
star
3

AntJob

分布式任务调度系统,纯NET打造的重量级大数据实时计算平台,万亿级调度经验积累!面向中小企业大数据分析场景。
C#
390
star
4

NewLife.Net

单机吞吐2266万tps的网络通信框架
C#
296
star
5

Stardust

星尘,轻量级分布式服务框架。配置中心、集群管理、远程自动发布、服务治理。服务自动注册和发现,负载均衡,动态伸缩,故障转移,性能监控。
C#
292
star
6

XCoder

新生命码神工具,代码生成、网络工具、API工具、串口工具、正则工具、图标工具、加解密工具、地图接口。
C#
291
star
7

NewLife.RocketMQ

纯托管轻量级RocketMQ客户端,支持发布消息、消费消息、负载均衡等核心功能!
C#
205
star
8

NewLife.MQTT

最流行的物联网通信协议MQTT,包括客户端、服务端和Web管理平台
C#
126
star
9

XProxy

XProxy是一个代理服务器,内置有NAT、反向代理、直接代理、间接代理等。
C#
108
star
10

XScript

C#脚本引擎
C#
73
star
11

NewLife.Zero

零代,项目脚手架,包括Web应用、WebApi接口、微服务、控制台、定时调度任务、大数据计算、物联网等项目模板
C#
67
star
12

XLink

菲凡物联网云平台,提供物联网硬件设备接入和用户指令转发等核心功能
C#
62
star
13

NewLife.XCode

数据中间件,支持MySQL、SQLite、SqlServer、Oracle、Postgresql、TDengine、达梦,重点在缓存、性能、分表、自动建表。
C#
58
star
14

XDoc

新生命X组件 文档中心
JavaScript
51
star
15

LeafBrowser

叶子浏览器,基于Cef,访问网页时自动抓取结构化xhr数据
C#
50
star
16

BBX

ASP.Net 4.5 论坛源码,支持多数据库
C#
49
star
17

GitCandy

一个基于ASP.NET MVC的git服务端。QQ群:1600800/200319579
JavaScript
43
star
18

SmartOS

物联网嵌入式操作系统,完全基于C++11,协作式调度
C++
42
star
19

NoDb

百万级KV数据库,基于内存映射文件的持久化读写
C#
35
star
20

NewLife.CMX

新生命内容管理系统,基于魔方NewLife.Cube
JavaScript
34
star
21

NewLife.Cache

轻量级缓存服务器,定位于高吞吐(千万级)和低延迟(微秒级)
C#
34
star
22

NewLife.Agent

应用程序注册为系统服务,支持Windows/Linux
C#
32
star
23

comcms

COMCMS_Core 版本
JavaScript
30
star
24

NewLife.MQ

轻量级消息队列,无延迟分发,支持消费组和消息去重,不支持集群部署
C#
24
star
25

X_NET40

新生命X组件.Net4.0版本,数据中间件XCode、日志、网络、RPC、序列化、缓存、Windows服务、码神工具、魔方(Web权限系统)
C#
24
star
26

NewLife.OA

办公自动化,项目管理,任务管理,基于魔方NewLife.Cube
C#
22
star
27

NewLife.IoT

IoT standard library, which defines various communication protocol standards and specifications in the Internet of Things field, without specific implementation. Used for IoT platform construction and unifying various hardware driver protocols. IoT标准库,定义物联网领域的各种通信协议标准规范,不含具体实现。主要用于IoT平台建设,以及统一各种硬件驱动协议。
C#
22
star
28

XTemplate

C#模版引擎,代码生成,Web生成
C#
21
star
29

NewLife.LoRa

超低功耗的物联网通信协议LoRaWAN
C#
20
star
30

NewLife.Ftp

FTP组件,支持fx/mono/netcore
C#
20
star
31

NewLife.ERP

新生命ERP系统平台,全新开始
C#
19
star
32

XAgent

Windows服务代理
C#
19
star
33

NewLife.DNS

新生命DNS代理服务器
C#
18
star
34

NewLife.Modbus

MODBUS协议, ModbusRTU/ModbusTcp/ModbusUdp/ModbusASCII/ModbusRTUOverTcp/ModbusRTUOverUdp
C#
18
star
35

NewLife.MySql

轻量级高性能MySql驱动
C#
15
star
36

FeiXian

天外飞仙!数据库、网络性能测试。
C#
14
star
37

IDACSharp

IDA的C#脚本插件
C#
13
star
38

NewLife.Hive

纯托管读写Hive,通过Thrift实现协议
C#
12
star
39

XControl

WebForm控件库
C#
12
star
40

NewLife.IP

IP地址库,IP地址转物理地址
C#
11
star
41

NewLife.Yuque

语雀SDK,.NET版
HTML
10
star
42

EasyIO

EasyIO简单文件存储,在分布式系统架构中支持集中存储文件。只有几个webapi接口:put/get/geturl/delete/search。sdk只有一个 EasyClient。
C#
10
star
43

NewLife.Siemens

西门子PLC协议
C#
9
star
44

ZeroIoT

轻量级IoT解决方案,IoT网关通过HTTP/MQTT接入IoT平台,提供数据采集和远程控制功能。IoT平台仅包含必要接口,架构简单清晰,面向小型物联网项目。
C#
9
star
45

NewLife.Thrift

通过Thrift实现目标协议
C#
8
star
46

NewLife.Redis.Core

NewLife.Redis的封装,支持.NETCore3/.NET5/6/7/8
C#
8
star
47

CubeDemo

魔方示例站点
C#
8
star
48

NewLife.OPC

OPC协议驱动,用于过程控制和制造业自动化系统
C#
7
star
49

X_NET20

X组件的.Net 2.0版本源码
C#
7
star
50

NewLife.CubeBlazor

魔方Blazor版
C#
7
star
51

NewLife.QuickVue

Vue版魔方前端
Vue
6
star
52

NewLife.CubeVue

魔方Vue版
Vue
6
star
53

NewLife.Remoting

RPC远程过程调用,二进制封装,提供高吞吐低延迟的高性能RPC框架
C#
6
star
54

SmartA2

A2工控机驱动程序、用户示例程序
C#
5
star
55

SmartA4

A4工控机驱动程序、用户示例程序
C#
5
star
56

NewLife.Omron

欧姆龙PLC协议
C#
4
star
57

microCLib

面向单片机,微型C库函数。封装一些常用功能。最少依赖其他库函数。 与RTOS无关。
C
4
star
58

NewLife.Kafka

C#
4
star
59

NewLife.Map

地图组件库,封装百度地图、高德地图和腾讯地图
C#
4
star
60

NewLife.PC

符合IoT标准库的PC驱动,采集CPU、内存、网络等数据,提供语音播报和重启等服务。
C#
3
star
61

HttpMeter

Http压力测试工具套装
C#
3
star
62

newlifex.github.io

文档
HTML
3
star
63

NewLife.NetPing

IoT驱动,通过Ping探测到目标设备的网络情况,并收集延迟数据
C#
3
star
64

StarNet

星网计划,让众多星星节点连结到一起,形成一张统一对外的网络。
C#
3
star
65

NewLife.BACnet

BACnet楼宇自动化
C#
3
star
66

NewLife.Schneider

施耐德PLC
C#
2
star
67

NewLife.Panasonic

松下PLC协议
C#
2
star
68

GitSync

Git代码库同步,保持本地代码库到多个远程库之间的同步
C#
2
star
69

NewLife.Audio

音频编解码库,PCM/ADPCMA/G711A/G722U/WAV/AAC
C#
2
star
70

NewLife.Keyence

基恩士PLC协议
C#
1
star
71

NewLife.CubeAntd

Antd版魔方
TypeScript
1
star
72

LuckyClover

幸运四叶草,无依赖编译为linux-arm/linux-x86/windows,用于自动安装主流.NET运行时。
C++
1
star
73

NewLife.Fuji

富士PLC协议
C#
1
star