标签:dir 商城 特性 add bsp 静态文件 阅读 pap creating
在上一节五分钟完成 ABP vNext 通讯录 App 开发 中,我们用完成了通讯录 App 的基础开发。
这本章节,我们会给通讯录 App 安装私信模块,使不同用户能够通过相互发送消息,并接收新私信的通知。在章节的最后,笔者将演示模块的“改装”,实现禁止用户发私信给自己的定制化需求。
使用 Abp 框架,你可以提前制作一些功能模块,例如微信登录、私信、博客、论坛等模块,将它们打包备用。在开发具体的 App 应用时,你可以轻松将模块安装到你的工程中,节省了大量的重复性工作。除了自己造轮子,你还可以在 NuGet 上安装由开源社区维护的模块,当然,社区也在等待你的贡献。
笔者用到的私信应用模块(EasyAbp.PrivateMessaging)由 EasyAbp 组织开发并持续维护,你甚至可以在商业项目中免费使用它。现在,笔者将带你一步步给通讯录 App 安装此模块。
EasyAbp.PrivateMessaging.Application
,安装到 AddressBook.Application
项目。EasyAbp.PrivateMessaging.Application.Contracts
,安装到 AddressBook.Application.Contracts
项目。EasyAbp.PrivateMessaging.Domain
,安装到 AddressBook.Domain
项目。EasyAbp.PrivateMessaging.Domain.Shared
,安装到 AddressBook.Domain.Shared
项目。EasyAbp.PrivateMessaging.EntityFrameworkCore
,安装到 AddressBook.EntityFrameworkCore
项目。EasyAbp.PrivateMessaging.HttpApi
,安装到 AddressBook.HttpApi
项目。EasyAbp.PrivateMessaging.HttpApi.Client
,安装到 AddressBook.HttpApi.Client
项目。EasyAbp.PrivateMessaging.MongoDB
,安装到 AddressBook.MongoDB
项目。EasyAbp.PrivateMessaging.Web
,安装到 AddressBook.Web
项目。(如果你不需要 UI,可以跳过这一步)分别在以上项目的 Module 类中添加私信模块的依赖,例如:在 AddressBookApplicationModule.cs 中添加特性 [DependsOn(PrivateMessagingApplicationModule)]
,以此类推。
在 AddressBookApplicationModule.cs 中找到 Configure<AbpAspNetCoreMvcOptions>(options => { ... });
,在里面加一行配置 options.ConventionalControllers.Create(typeof(PrivateMessagingApplicationModule).Assembly);
,这一步是为了私信模块 WebAPI 的自动生成。
在 AddressBookMigrationsDbContext.cs 中找到 OnModelCreating 方法,在里面加一行 builder.ConfigurePrivateMessaging();
,使私信模块的 EF Core 迁移能够进行。
不熟悉这块操作的同学可以参考 Abp 官方手册的介绍。
启动 AddressBook.Web 项目,可以看到私信模块已经安装成功了。
进一步了解 EasyAbp 私信模块:https://github.com/EasyAbp/PrivateMessaging
Abp vNext 框架支持应用对模块代码的重写,在 AddressBook.Application 项目中新建 MyPrivateMessageAppService.cs
效果展示
基于 Abp 的高可扩展性,甚至 JS 和 CSS 等静态文件也能够被重写,请阅读官方文档以了解更多用法:Customizing the Existing Modules
等到不久的将来 Abp 官方模块商城 market.abp.io 上线,文中手动安装模块的方式将成为历史,你只需要按一个键,模块就自动安装好了。在此之前,AbpHelper 可能会先开发一个简易的模块安装器,如果你有需要,请关注我们的进展:https://github.com/EasyAbp/EasyAbpGuide
在下一节中,笔者将会介绍,如何通过一个改动,让我们的通讯录 App 升级为多租户 SaaS 系统。
标签:dir 商城 特性 add bsp 静态文件 阅读 pap creating
原文地址:https://www.cnblogs.com/shanyou/p/12536988.html