diff --git a/52AbpFramework.assets/image-20220105133014262.png b/52AbpFramework.assets/image-20220105133014262.png new file mode 100644 index 0000000..9e327aa Binary files /dev/null and b/52AbpFramework.assets/image-20220105133014262.png differ diff --git a/52AbpFramework.assets/image-20220105142035572.png b/52AbpFramework.assets/image-20220105142035572.png new file mode 100644 index 0000000..d9c8e12 Binary files /dev/null and b/52AbpFramework.assets/image-20220105142035572.png differ diff --git a/52AbpFramework.assets/image-20220105142343134.png b/52AbpFramework.assets/image-20220105142343134.png new file mode 100644 index 0000000..353e9a1 Binary files /dev/null and b/52AbpFramework.assets/image-20220105142343134.png differ diff --git a/52AbpFramework.assets/image-20220105142446857.png b/52AbpFramework.assets/image-20220105142446857.png new file mode 100644 index 0000000..0da00c6 Binary files /dev/null and b/52AbpFramework.assets/image-20220105142446857.png differ diff --git a/52AbpFramework.assets/image-20220105142510212.png b/52AbpFramework.assets/image-20220105142510212.png new file mode 100644 index 0000000..0b09c87 Binary files /dev/null and b/52AbpFramework.assets/image-20220105142510212.png differ diff --git a/52AbpFramework.assets/image-20220105142543776.png b/52AbpFramework.assets/image-20220105142543776.png new file mode 100644 index 0000000..49678e1 Binary files /dev/null and b/52AbpFramework.assets/image-20220105142543776.png differ diff --git a/52AbpFramework.assets/image-20220105142734187.png b/52AbpFramework.assets/image-20220105142734187.png new file mode 100644 index 0000000..24e4afc Binary files /dev/null and b/52AbpFramework.assets/image-20220105142734187.png differ diff --git a/52AbpFramework.assets/image-20220105142924029.png b/52AbpFramework.assets/image-20220105142924029.png new file mode 100644 index 0000000..13da31a Binary files /dev/null and b/52AbpFramework.assets/image-20220105142924029.png differ diff --git a/52AbpFramework.assets/image-20220105143036601.png b/52AbpFramework.assets/image-20220105143036601.png new file mode 100644 index 0000000..960694d Binary files /dev/null and b/52AbpFramework.assets/image-20220105143036601.png differ diff --git a/52AbpFramework.assets/image-20220105143205040.png b/52AbpFramework.assets/image-20220105143205040.png new file mode 100644 index 0000000..057a514 Binary files /dev/null and b/52AbpFramework.assets/image-20220105143205040.png differ diff --git a/52AbpFramework.assets/image-20220105143304854.png b/52AbpFramework.assets/image-20220105143304854.png new file mode 100644 index 0000000..d6d5e97 Binary files /dev/null and b/52AbpFramework.assets/image-20220105143304854.png differ diff --git a/README.md b/README.md index 39841d1..db9d2c1 100644 --- a/README.md +++ b/README.md @@ -1,105 +1,156 @@ -# 介绍 +![img](https://pro.52abp.com/assets/images/img-big/bg-3.jpg) -本模板是基于ASP.NET Core 和Angular 提供给52ABP进行下载的模板项目。 -- 快速启动教程: [ABP框架入门教程](https://52abp.ke.qq.com) +

企业级应用开发框架(52Abp)

+

支持模块化、多租户、用户角色权限、工作流等功能的现代企业级应用开发框架

-## 下载地址 -通过52ABP来创建属于你自己的独立项目信息: https://www.52abp.com/Download/Index +------------------------------------------------------------------------ +官方网站:https://www.52abp.com/ +微信群(扫码关注公众号回复 **加群**):![image-20220105133014262](./52AbpFramework.assets/image-20220105133014262.png) +[![](https://img.shields.io/badge/点击访问官方网站-52abp.com-brightgreen)](https://www.52abp.com/) -## 启动项目 +```shell +如果对您有帮助,您可以点右上角 “Star” 收藏一下 ,获取第一时间更新,谢谢! +``` -我们推荐你从[https://www.52abp.com](https://www.52abp.com/Download/Index) 创建您自己的项目模板,本项目模板为统一的启动模板,您可以像我们贡献您的代码信息。 +------------------------------------------------------------------------ -更多详细的启动教程: -[52ABP-开发者中心](https://www.52abp.com/Wiki/52abp/master/docs/Introduction) +#### 💐 52Abp企业级应用开发框架介绍 +> 52Abp企业级开发框架是对Abp框架进行扩展,核心技术栈为 .NET5、EntityFrameworkCore、Automapper、Angular、NG-ZORRO、NG-ALAIN、Ionic、WorkflowCore 的一套企业级应用开发框架;前后端分离,分布式部署,集群部署,跨平台运行,容器支持,DevOps适配;拥有模块化、多租户、版本管理、多语言、用户、角色、权限、组织架构、审计日志、工作流、表单设计器、后台任务、审计日志、系统设置、事件总线、消息通知、即时聊天等众多特性和功能。 -### 备注: -``` -默认用户名:admin +> 模块化的设计让 52Abp 框架易于扩展,天然对多租户的支持更是让开发 SASS 场景应用得心应手。搭配代码生成器与模块化生成器可实现规范高效率开发。 + +#### 🍔 功能介绍 + +- 多租户:开启多租户可管理租户,并对每个租户做到业务功能的开放和限制 +- 认证管理:经典的RBAC模型设计,基于 ASP.NET Core Identity 开发,功能强大且易于扩展 +- 审计日志:记录每一次对外接口访问,精确到输入输出字段级别 +- 系统设置:管理应用系统的配置,按需可实现到用户级细粒度 +- 工作流:基于 WrokflowCore 开发,配合自研表单设计器,满足大部分对工作流场景的需求 +- 后台任务:内置后台任务,支持 Hangfire 等第三方后台任务组件 +- 消息通知:基于 SignalR 开发,实时推送消息到浏览器、客户端,并支持微信通知、短信通知、企业微信、钉钉等应用 +- 多语言:多语言模块,助力业务系统走向全球 +- 模块化:模块化是整个框架的灵魂的重要部分,它使52Abp成为一个扩展性极佳、编码标准化的框架 + +#### 🎃 前端介绍 + +使用 Google Angular 框架,移动端使用 Angular 搭配 Ionic,结合 NG-Zorro / NG-Alain,丰富的组件和生态可实现更多的交互细节,我们倾尽全力提供更加流畅、舒适的产品体验,前后端分离的架构实现一个后台,可管理多个前端,不论是 Web、小程序、APP、桌面程序 都可快速接入后台框架。 + +#### 🎏 后端截图 +| 后端 | 截图 | +|---------------------|---------------------| +| ![image-20220105142035572](./52AbpFramework.assets/image-20220105142035572.png) |![image-20220105142343134](./52AbpFramework.assets/image-20220105142343134.png)| +|![image-20220105142446857](./52AbpFramework.assets/image-20220105142446857.png)|![image-20220105142510212](./52AbpFramework.assets/image-20220105142510212.png)| +|![image-20220105142543776](./52AbpFramework.assets/image-20220105142543776.png)|![image-20220105142734187](./52AbpFramework.assets/image-20220105142734187.png)| +|![image-20220105142924029](./52AbpFramework.assets/image-20220105142924029.png)|![image-20220105143036601](./52AbpFramework.assets/image-20220105143036601.png)| +|![image-20220105143205040](./52AbpFramework.assets/image-20220105143205040.png)|![image-20220105143304854](./52AbpFramework.assets/image-20220105143304854.png)| + +#### 🎨 系统演示 + +后端管理演示地址:http://pro.52abp.com + +> 注意!请注册一个租户进行体验 + +### 🌈 技术选型 + +#### 🏢 后端框架结构说明 -默认密码:bb123456 -``` -## 关于 52ABP +| 技术 | 名称 | 版本 | +| --------------------------- | -------------------- | ------------------------------------------------------------ | +| Asp.Net Core | 基础框架 | [![nuget](https://img.shields.io/nuget/v/Microsoft.AspNetCore?cacheSeconds=10800)](https://www.nuget.org/packages/Microsoft.AspNetCore/) [![nuget](https://img.shields.io/nuget/dt/Microsoft.AspNetCore)](https://www.nuget.org/packages/Microsoft.AspNetCore/) | +| Asp.Net Core WebApi | Web Api框架 | [![nuget](https://img.shields.io/nuget/v/Microsoft.AspNet.WebApi.Core?cacheSeconds=10800)](https://www.nuget.org/packages/Microsoft.AspNet.WebApi.Core/) [![nuget](https://img.shields.io/nuget/dt/Microsoft.AspNet.WebApi.Core)](https://www.nuget.org/packages/Microsoft.AspNet.WebApi.Core/) | +| Swagger | Open API标准文档框架 | [![nuget](https://img.shields.io/nuget/v/Swashbuckle.AspNetCore?cacheSeconds=10800)](https://www.nuget.org/packages/Swashbuckle.AspNetCore/) [![nuget](https://img.shields.io/nuget/dt/Swashbuckle.AspNetCore)](https://www.nuget.org/packages/Swashbuckle.AspNetCore/) | +| Castle.Windsor | IOC框架 | [![nuget](https://img.shields.io/nuget/v/Autofac.Extensions.DependencyInjection?cacheSeconds=10800)](https://www.nuget.org/packages/Autofac.Extensions.DependencyInjection/) [![nuget](https://img.shields.io/nuget/dt/Castle.Windsor.MsDependencyInjection)](https://www.nuget.org/packages/Castle.Windsor.MsDependencyInjection/) | +| EntityFrameworkCore | ORM框架 | [![nuget](https://img.shields.io/nuget/v/Microsoft.EntityFrameworkCore?cacheSeconds=10800)](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/) [![nuget](https://img.shields.io/nuget/dt/Microsoft.EntityFrameworkCore)](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/) | +| AutoMapper | 实体映射 | [![nuget](https://img.shields.io/nuget/v/AutoMapper?cacheSeconds=10800)](https://www.nuget.org/packages/AutoMapper/) [![nuget](https://img.shields.io/nuget/dt/AutoMapper)](https://www.nuget.org/packages/AutoMapper/) | +| Redis | 数据缓存 | [![nuget](https://img.shields.io/nuget/v/StackExchange.Redis?cacheSeconds=10800)](https://www.nuget.org/packages/StackExchange.Redis/) [![nuget](https://img.shields.io/nuget/dt/StackExchange.Redis)](https://www.nuget.org/packages/StackExchange.Redis/) | +| Asp.Net Core Identity | 授权认证 | [![nuget](https://img.shields.io/nuget/v/Microsoft.Extensions.Identity.Core?cacheSeconds=10800)](https://www.nuget.org/packages/Microsoft.Extensions.Identity.Core/) [![nuget](https://img.shields.io/nuget/dt/Microsoft.Extensions.Identity.Core)](https://www.nuget.org/packages/Microsoft.Extensions.Identity.Core/) | +| HangFire | 定时任务 | [![nuget](https://img.shields.io/nuget/v/HangFire?cacheSeconds=10800)](https://www.nuget.org/packages/HangFire/) [![nuget](https://img.shields.io/nuget/dt/HangFire)](https://www.nuget.org/packages/HangFire/) | +| Senparc.Weixin | 微信SDK | [![nuget](https://img.shields.io/nuget/v/Senparc.Weixin?cacheSeconds=10800)](https://www.nuget.org/packages/Senparc.Weixin/) [![nuget](https://img.shields.io/nuget/dt/Senparc.Weixin)](https://www.nuget.org/packages/Senparc.Weixin/) | +| NG-ZORRO | 后端管理UI框架 | [![npm](https://img.shields.io/npm/v/ng-zorro-antd.svg?sanitize=true)](https://ng.ant.design/docs/introduce/zh) [![github](https://img.shields.io/github/stars/NG-ZORRO/ng-zorro-antd.svg?style=social)](https://ng.ant.design/docs/introduce/zh) | -52ABP是一个整合了前后端的强力框架, -后端是对.NET Core和ABP框架进行了二次的封装和整合 -前端是在Angular的基础上整合了Ng-Zorro、Ng-alain等组件 -架构层面也是一个基于DDD(领域驱动设计)的经典分层架构 目的是成为一个强大的基础设施符合国人开发习惯的框架现代WEB应用框架。 +#### 🍭 后端技术看点 +- 前后端完全分离,接口与管理端为独立项目 (互不依赖、互不影响、开发效率高) +- 采用跨平台的 Asp.Net Core 5.0 框架 +- 采用 RBAC 基于角色的权限控制管理,可颗粒化配置用户、角色可访问的数据权限 +- 采用 NG-ZORRO(企业级中后台产品UI组件库)作为后端UI框架 +- 使用 Swagger,并以 OpenApi 标准生成 api 文档 +- 使用 Automapper 处理对象映射 +- 使用 Castle.Windsor 做依赖注入容器,并提供接口实现服务自动注册 +- 支持 Redis 做缓存和消息队列的处理 +- 支持 CORS 跨域和HTTPS,保证接口安全 +- 使用Asp.Net Core Identity实现JWT认证,支持集成IdentityServer4,实现基于OAuth2的登录体系 +- 使用 Log4Net 日志框架,可配合官方日志库 Microsoft.Extensions.Logging 提供的 ILogger 接口做日志记录 +- 除内置后台任务以外,支持使用 HangFire 做定时任务处理 +- 已支持 SqlServer、MySql、Oracle、PostgreSQL 数据库,理论上支持所有数据库,并支持读写分离和多库操作 +- 使用 Senparc.Weixin 作为微信公众号及小程序对接组件 +#### 👒 前端框架 -## 教程 - -- 网易课程地址:[ASP.NET Core与Angular6快速开发](https://study.163.com/provider/400000000309007/index.htm?share=2&shareId=400000000309007) - -- 文档: [52ABP开发者中心](https://www.52abp.com/Wiki/52abp/latest/Getting-Started) +| 技术 | 官网 | 版本 | 描述 | +| -------- | ------------------------- | ------ | ------------------ | +| Angular | https://angular.io/ | 12.x | 企业级大型前端开发平台 | +| NG-ZORRO | https://ng.ant.design/docs/introduce/zh | 12.X | 组件功能强丰富 | +| NG-ALAIN | https://ng-alain.com/zh | 12.X | 提供更多通用性业务模块,让开发者更加专注于业务 | -[52ABP模板 ASP.Net Core 与 Angular的开源实例项目 -](https://www.cnblogs.com/wer-ltm/p/9358478.html) +### 📀 开发环境 -## 前端模板-Stream - Bootstrap 4 Dashboard UI Kit +- Visual Studio 2019 16.8 + +- .NET 5 SDK + +- Visual Studio Code +- SQL Server Management Studio +- Redis Desktop Manager +- Docker Desktop +- Powershell 7 +- NodeJS v16.13.1+ -* 开源地址:[github](https://github.com/htmlstreamofficial/stream-dashboard-ui-kit) -* 预览地址:[htmlstream](https://htmlstream.com/preview/stream-dashboard-ui-kit/index.html) -## 截图 +### 💝 运维环境 +- [x] (必选).NET 5 Runtime +- [x] (必选)Windows IIS7.5+ / Docker / k8s 等支持环境 +- [x] (必选)SQLServer 2012R2+ / MySQL 5.7+ / Oracle11g+ / PostgreSQL 10+ +- [ ] (可选)Redis 3.0+ +- [ ] (可选)支持https协议的域名 +- [ ] (可选)阿里云OSS/腾讯云COS - ![Jiaoluodebaibanbao Wechat](docs/demo-1.gif) +### ⛵ 安装及说明文档 +- 由于文档内容较多且目前我们人手有限,请加微信群后在群文件获取,或访问官网 [https://www.52abp.com](https://www.52abp.com) 在线浏览。 +- 已经支持 linux 下 docker-compose 部署,可配合 gitlab + gitrunner 实现持续集成,具体请查看代码中 【.gitlab-ci.yml】和【docker-compose.yaml】文件 - ![Jiaoluodebaibanbao Wechat](docs/demo-2.gif) - +### 🎏 版权须知 -#### 代码相关镜像仓库: -码云:[国内镜像](https://gitee.com/yoyocms/LTMCompanyNameFree.YoyoCmsTemplate) +### 👏 贡献代码 -Github:[主仓库](https://github.com/52ABP/LTMCompanyNameFree.YoyoCmsTemplate) -# 联系我们 -**欢迎关注角落的白板报** - ![Jiaoluodebaibanbao Wechat](docs/jiaoluodebaibanbao_wechat.png) - +### 💘 支持 +- 希望 52Abp 框架对您有用,您的支持也是让 52Abp 持续进步的动力,52Abp 有您更精彩! +- 感谢以下小伙伴对我们的支持,捐赠列表将不定期更新;如有疏漏或错误请联系我们更正,捐赠人员将免费获得我们后期推出的商业咨询服务;捐赠金额将用于演示服务器,redis,mysql等硬件资源开支。 -# 前端项目的说明 +| 序列 | 昵称 | 捐赠金额(元) | 日期 | +| ---- | -------------------------- | -------------- | ---------- | -**如何阅读文档** -在开始之前有一些文档描述约定说明,这有助于更好的阅读: +### ☀️ 组织 -- API 相关 - - `[]` 表示属性 - - `()` 表示事件 - - `[()]` 表示双向绑定 - - `ng-content` 表示组件内容占位符 - - `#tpl` 开头表示 `` -- 对象相关,一般在类描述时 - - `[]` 表示属性 - - `()` 结尾表示方法 -## 前端常用的命令 -生成指定路径的 组件 -` - ng generate component persons/create-or-edit-person-modal -` -# 关于贡献 +### 🎉 鸣谢 -以上就是项目的简单说明,以后有时间,再继续给大家交流。也欢迎大家来完善内容。 -[更多内容...](https://github.com/52ABP/Documents/blob/master/52ABP%E5%BC%80%E5%8F%91%E4%BA%BA%E5%91%98%E4%B8%AD%E5%BF%83/52ABP%E5%9B%A2%E9%98%9F%E6%AC%A2%E8%BF%8E%E6%82%A8%E7%9A%84%E5%88%B0%E6%9D%A5.md) diff --git a/src/angular-zorro-free/src/app/roles/edit-role/edit-role.component.html b/src/angular-zorro-free/src/app/roles/edit-role/edit-role.component.html index c767e7e..fcfcdf1 100644 --- a/src/angular-zorro-free/src/app/roles/edit-role/edit-role.component.html +++ b/src/angular-zorro-free/src/app/roles/edit-role/edit-role.component.html @@ -4,30 +4,31 @@ {{ l('EditRole') }} ( - static + {{l('SystemStatic')}} ) -
+ - + required /> {{ l('CanNotNull') - }} + }} @@ -35,20 +36,16 @@ - - + required /> + {{ l('CanNotNull') - }} + }} @@ -56,35 +53,32 @@ - + [placeholder]="l('RoleDescription')" /> - + *ngIf="permissionList.length != 0"> diff --git a/src/angular-zorro-free/src/app/tenants/create-tenant/create-tenant.component.html b/src/angular-zorro-free/src/app/tenants/create-tenant/create-tenant.component.html index c28ffba..22ebc5a 100644 --- a/src/angular-zorro-free/src/app/tenants/create-tenant/create-tenant.component.html +++ b/src/angular-zorro-free/src/app/tenants/create-tenant/create-tenant.component.html @@ -3,24 +3,23 @@ - + - - + required /> + {{ l('CanNotNull') - }} + }} @@ -28,18 +27,16 @@ - + required /> {{ l('CanNotNull') - }} + }} @@ -47,50 +44,43 @@ - + [placeholder]="l('DatabaseConnectionString') + '('+l('Optional')+')'" /> - - - {{ l('CanNotNull') }} + "> + {{ l('CanNotNull') }} {{ l('NotEmail') - }} + }} - @@ -100,15 +90,16 @@ diff --git a/src/angular-zorro-free/src/app/users/create-user/create-user.component.html b/src/angular-zorro-free/src/app/users/create-user/create-user.component.html index 1d555c2..3bd3ca4 100644 --- a/src/angular-zorro-free/src/app/users/create-user/create-user.component.html +++ b/src/angular-zorro-free/src/app/users/create-user/create-user.component.html @@ -6,13 +6,20 @@ - + - + {{l('CanNotNull')}} @@ -23,8 +30,13 @@ - + {{l('CanNotNull')}} @@ -32,7 +44,11 @@ - {{l('CanNotNull')}} @@ -44,8 +60,14 @@ - + {{l('CanNotNull')}} {{l('NotEmail')}} @@ -56,9 +78,18 @@ - + {{l('CanNotNull')}} {{l('MinLength')}} @@ -70,25 +101,36 @@ - + {{l('CanNotNull')}} - {{l('PasswordInconsistent')}} + {{l('PasswordInconsistent')}} + - + - + @@ -98,13 +140,19 @@ - \ No newline at end of file + diff --git a/src/angular-zorro-free/src/app/users/edit-user/edit-user.component.html b/src/angular-zorro-free/src/app/users/edit-user/edit-user.component.html index 932cacf..638c978 100644 --- a/src/angular-zorro-free/src/app/users/edit-user/edit-user.component.html +++ b/src/angular-zorro-free/src/app/users/edit-user/edit-user.component.html @@ -5,13 +5,20 @@ -
+ - {{l('CanNotNull')}} @@ -23,8 +30,13 @@ - + {{l('CanNotNull')}} @@ -32,7 +44,11 @@ - {{l('CanNotNull')}} @@ -44,8 +60,14 @@ - + {{l('CanNotNull')}} {{l('NotEmail')}} @@ -55,13 +77,16 @@ - + - + @@ -69,13 +94,19 @@
- \ No newline at end of file + diff --git a/src/aspnet-core/LTMCompanyNameFree.YoyoCmsTemplate.sln b/src/aspnet-core/LTMCompanyNameFree.YoyoCmsTemplate.sln index fd8f0ee..20942e5 100644 --- a/src/aspnet-core/LTMCompanyNameFree.YoyoCmsTemplate.sln +++ b/src/aspnet-core/LTMCompanyNameFree.YoyoCmsTemplate.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.31105.61 +# Visual Studio Version 17 +VisualStudioVersion = 17.0.31919.166 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{AFAA0841-BD93-466F-B8F4-FB4EEC86F1FC}" EndProject diff --git a/src/aspnet-core/src/LTMCompanyNameFree.YoyoCmsTemplate.Core/Localization/SourceFiles/YoyoCmsTemplate-zh-Hans.xml b/src/aspnet-core/src/LTMCompanyNameFree.YoyoCmsTemplate.Core/Localization/SourceFiles/YoyoCmsTemplate-zh-Hans.xml index 38eb758..a6ceb90 100644 --- a/src/aspnet-core/src/LTMCompanyNameFree.YoyoCmsTemplate.Core/Localization/SourceFiles/YoyoCmsTemplate-zh-Hans.xml +++ b/src/aspnet-core/src/LTMCompanyNameFree.YoyoCmsTemplate.Core/Localization/SourceFiles/YoyoCmsTemplate-zh-Hans.xml @@ -1,248 +1,255 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +