Generic.Abp.Application

该模块只要是为了适应Sencha Ext JS开发而更改了Configuration相关接口以及Settings接口,可通过演示程序的swagger查看。

该模块只有一个项目,在Abp应用程序的HttpApi引用并添加依赖。

Generic.Abp.BusinessException

用于封装一些常见的商业意外,在Domain.Shared引用并添加依赖。

Generic.Abp.DDD

对Abp原有的领域类和接口做了一些扩充,如增加ITreeITranslationTranslation等接口和实体类。

Generic.Abp.Enumeration

为应用程序添加枚举类并通过/api/configuration/enums接口将枚举类返回客户端。

要定义枚举类,需要在Domain.Shared项目中引用Generic.Abp.Enumeration.Domain.Shared项目,然后通过继承Enumeration来创建自己的枚举类:

    class MyEnum:  Generic.Abp.Enumeration.Enumeration<MyEnum>{public static readonly MyEnum MyEnum1 = new MyEnum(1, "MyEnum1", isDefault: true);public static readonly MyEnum MyEnum2 = new MyEnum(2, "MyEnum2");protected MyEnum(byte value, string name, string[] permission = null, bool isDefault = false,bool isPrivate = false) : base(value, name, permission, isDefault, isPrivate){}}

在枚举类中,包含以下5个属性:

  • value: 枚举值
  • name:枚举名
  • permission: 权限,如果不是私有,会根据权限选择哪些枚举项可返回客户端
  • isDefault: 是否默认值
  • isPrivate:私有,不会返回客户端

完成枚举定义后,如果希望枚举通过接口返回客户端,需要在模块初始化服务ConfigureServices中将枚举添加到枚举资源中:

        public override void ConfigureServices(ServiceConfigurationContext context){Configure<EnumerationOptions>(options =>{options.Resources.Add(typeof(MyEnum));});}

Generic.Abp.ExtResource.Application

封装了Sencha Ext JS的本地化资源以实现动态本地化。

为Sencha Ext JS菜单提供了接口。未来会将菜单独立为一个模块,通过数据库来管理菜单。

Generic.Abp.FileManagement

封装了文件上传的相关功能(FileManager):

  • CheckAsync: 通过文件的散列值验证文件是否已存在,或是否存在已上传部分
  • UploadChunkAsync: 上传文件块
  • MergeAsync: 合并文件块并保存
  • GetFileAsync: 获取整个文件或某一块文件
  • GetThumbnailAsync: 获取文件预览图片

Generic.Abp.Helper

一些诸如字符串增长、文件类型检测等辅助功能。

Generic.Abp.IdentityServer

为ABP Framework添加Identity Server 4管理功能.

Generic.Abp.W2Ui

为ABP Framework添加W2Ui.

Generic.Abp.OpenIddict

为ABP Framework添加OpenIddict管理功能.


源代码:https://github.com/tianxiaode/GenericAbp

我实现的一些Abp模块相关推荐

  1. 基于DDD的.NET开发框架 - ABP模块设计

    返回ABP系列 ABP是"ASP.NET Boilerplate Project (ASP.NET样板项目)"的简称. ASP.NET Boilerplate是一个用最佳实践和流行 ...

  2. abp模块生命周期设计思路剖析

    abp中将生命周期事件抽象为4个接口: //预初始化 public interface IOnPreApplicationInitialization {void OnPreApplicationIn ...

  3. Magicodes.Pay,打造开箱即用的统一支付库,已提供ABP模块封装

    Magicodes.Pay,打造开箱即用的统一支付库,已提供ABP模块封装 简介 Magicodes.Pay,是心莱科技团队提供的统一支付库,相关库均使用.NET标准库编写,支持.NET Framew ...

  4. ABP模块系统学习及使用

    ABP模块系统简介 参考: ABP中配置的注册和初始化 ABP模块系统 ABP 源码解析 一. ABP启动 ABP框架提供了创建和组装模块的基础,一个模块能够依赖于另一个模块.在通常情况下,一个程序集 ...

  5. ABP模块系统插件机制

    从官网下载ABP项目后,发现一般是有6个程序集,程序集之间是怎么相互关联的呢?这有关ABP的模块系统. 官网上模块的定义如下,模块定义有一个类,该类派生自ABP包中的AbpModule.假设我们正在开 ...

  6. 精简ABP的模块依赖

    ABP的模块非常方便我们扩展自己的或使用ABP提供的模块功能,对于ABP自身提供的模块间的依赖关系想一探究竟,并且试着把不必要的模块拆掉,找到那部分核心模块.本次使用的是AspNetBoilerpla ...

  7. ABP入门系列(15)——创建微信公众号模块

    1. 引言 现在的互联网已不在仅仅局限于网页应用,IOS.Android.平板.智能家居等平台正如火如荼的迅速发展,移动应用的需求也空前旺盛.所有的互联网公司都不想错过这一次移动浪潮,布局移动市场分一 ...

  8. ABP官方文档(三)【模块系统】

    1.3 ABP总体介绍 - 模块系统 1.3.1 ABP模块系统简介 ABP框架提供了创建和组装模块的基础,一个模块能够依赖于另一个模块.在通常情况下,一个程序集就可以看成是一个模块.在ABP框架中, ...

  9. 【ABP框架系列学习】模块系统之插件示例开发

    0.引言 上一篇博文主要介绍了ABP模块及插件的相关知识,本章节主要开发一个插件示例来学习如何创建一个插件,并在应用程序中使用.这个命名为FirstABPPlugin的插件主要在指定的时间段内删除审计 ...

最新文章

  1. 多继承中虚基类构造函数的一种调用规则
  2. 机器学习进阶-图像形态学操作-腐蚀操作 1.cv2.erode(进行腐蚀操作)
  3. 带你用4行代码训练RNN生成文本(附资源)
  4. document怎么取得日期选择框的值_一次性取得跨年度的租金收入如何进行财税处理?...
  5. 【Linux 内核】调度器 ② ( sched_class 调度类结构体源码 | 源码路径 linux-5.6.18\kernel\sched\sched.h )
  6. stm32之ADC应用实例(单通道、多通道、基于DMA)
  7. 深入浅出 JavaScript 中的 this
  8. Android Studio 2.1.2 升级到 2.2之后,gradle 编译版本更新为2.2.0,databinding报错
  9. Vue.js 3.0 响应式 API 比 2.x 好在哪儿?
  10. QQ空间小秘书 V1.70 Beta1 ~~ 天空原创软件
  11. UVA 12169 Disgruntled Judge
  12. ffmpeg编译的静态链接库问题
  13. Java新职篇:类型提升的约定
  14. 「洛谷P3469」[POI2008]BLO-Blockade 解题报告
  15. java 局部内部类
  16. S3C2440PWM 定时器
  17. 用计算机算标准曲线,标准曲线计算器官方版
  18. C语言函数的定义和声明
  19. 技术总监需要做些什么?
  20. 当yum安装包时显示系统空间不足,求指教

热门文章

  1. 完美解决composer提示输入用户名和密码
  2. Andriod Studio虚拟机启动失败解决方案
  3. 交换最大数与最小数java编程_善知教育笔记之JavaSE_Java编程基础
  4. 【多媒体编解码】Openmax IL (一)官方文档概述
  5. Button 英文大写问题
  6. 电脑桌面显示白色图标无法删除
  7. 如何查mysql里有多少条数据_mysql快速查询数据库中有多少条数据
  8. 吴恩达 - 卷积神经网络 学习笔记(一)
  9. [HTML5点滴]客户端存储那些事
  10. 常见登录密码加密方式