目录 前言 开始 审计(Audit) 本地化(Localization) 事件总线(Event Bus) 多租户(multi-tenancy technology) DDD分层 实体(Entity) 值对象(Value Object) 聚合根(Aggregate Root) 仓储(Repository) 应用服务(Application Services) 数据传输对象(DTO) 工作单元(Unit Of Work) 最后 前言 ABP vNext(以下简称ABP)的前身是asp.net boi…
目录 前言 开始 AbpHelper 模块安装 最后 前言 上一篇介绍了ABP的一些基础知识,本篇继续介绍ABP的启动模板.使用ABP CLI命令就可以得到这个启动模板,其中包含了一些基础功能模块,你可以基于这个模板来快速开发. 开始 首先ABP CLI的安装以及基本指令这些就不说了,官网上写的很清楚.目前ABP的前端部分只支持ASP.NET Core MVC / Razor Pages和Angular,移动端支持React Native. 初学者建议跟着官网https://docs.abp.i…
Tips:本篇已加入系列文章阅读目录,可点击查看更多相关文章. 目录 前言 开始 定义特征 应用特征 用户数量 社交登录 最后 前言 上一篇提到了ABP功能管理(特征管理),它来自ABP的FeatureManagement模块,ABP官方文档貌似还没有这个模块的相关说明,但是个人感觉这个模块非常实用,下面就简单介绍一个特征管理的基本应用. 开始 在租户管理中,有一个"管理功能"按钮,默认是没有数据的,界面上也没有地方维护. 特征管理简单来说就是在同一套系统中为不同的租户提供一些差异化的…
Tips:本篇已加入系列文章阅读目录,可点击查看更多相关文章. 目录 前言 开始 创建模块 模块开发 应用服务 运行模块 单元测试 模块使用 最后 前言 在之前的章节中介绍过ABP扩展实体,当时在用户表扩展了用户头像字段,用户头像就涉及到文件上传和文件存储.文件上传是很多系统都会涉及到的一个基础功能,在ABP的模块化思路下,文件管理可以做成一个通用的模块,便于以后在多个项目中复用.单纯实现一个文件上传的功能并不复杂,本文就借着这个简单的功能来介绍一下ABP模块化开发的最基本步骤. 开始 创建模块…
Tips:本篇已加入系列文章阅读目录,可点击查看更多相关文章. 目录 前言 开始 模块运行 动态 C# API 客户端 最后 前言 很久没更新这个系列...之前的章节中讲到ABP的模块是可以独立运行的,但是没有介绍具体怎么操作,本篇就来讨论一下模块如何独立运行,以及一些托管方式.本人也是处于摸索阶段,如有不对欢迎指出. 开始 模块运行 首先需要生成模块的数据库,修改HttpApi.Host和IdentityServer项目的appsettings.json数据库连接字符串配置. \modules…
目录 前言 开始 登录 权限 本地化 创建项目 ABP vue-element-admin 最后 前言 上一篇介绍了ABP的启动模板以及AbpHelper工具的基本使用,这一篇将进入项目实战部分.因为目前ABP的官方模板只支持MVC和Angular,MVC的话咱.NET开发人员来写还可以,专业前端估计很少会用这个...Angular我本人不熟,所以选择vue来做UI. 开始 我使用vue-element-admin来作为模板,这个项目貌似很多人用,选择他的i18n分支,因为我需要国际化功能.在开…
Tips:本篇已加入系列文章阅读目录,可点击查看更多相关文章. 目录 前言 开始 登录 菜单权限 运行测试 最后 前言 上一篇已经创建好了前后端项目,本篇开始编码部分. 开始 几乎所有的系统都绕不开登录功能,那么就从登录开始,完成用户登录以及用户菜单权限控制. 登录 首先用户输入账号密码点击登录,然后组合以下参数调用identityserver的/connect/token端点获取token: { grant_type: "password", scope: "HelloAb…
Tips:本篇已加入系列文章阅读目录,可点击查看更多相关文章. 目录 前言 开始 扩展实体 路由整理 最后 前言 上一篇实现了前端vue部分的用户登录和菜单权限控制,但是有一些问题需要解决,比如用户头像.用户介绍字段目前还没有,下面就来完善一下. 开始 因为用户实体是ABP模板自动生成的,其中的属性都预先定义好了,但是ABP是允许我们扩展模块实体的,我们可以通过扩展用户实体来增加用户头像和用户介绍字段. 扩展实体 ABP支持多种扩展实体的方式: 将所有扩展属性以json格式存储在同一个数据库字段…
Tips:本篇已加入系列文章阅读目录,可点击查看更多相关文章. 目录 前言 开始 语言选项 语言切换 注意 最后 前言 上一篇介绍了ABP扩展实体,并且在前端部分新增了身份认证管理和租户管理的菜单,在实现这两个功能模块前,先来解决一下界面文字国际化的问题. 开始 国际化(简称 I18N),本地化(简称 L10N):这两者的目的都是用于让你的应用程序支持多个国家和区域的语言,它们看起来很相似,但是有一些细微的区别,本文不对此进行深入探讨,有兴趣的可以自行搜索.ABP后端支持的是本地化,而vue-e…
Tips:本篇已加入系列文章阅读目录,可点击查看更多相关文章. 目录 前言 开始 按钮级权限 身份认证管理 R/U权限 权限刷新 租户管理 租户切换 效果 最后 前言 上一篇介绍了vue+ABP国际化的基本实现,本篇开始功能模块的开发,首先完成ABP模板自带的身份认证管理模块和租户管理模块.同样的,参考ABP的Angular版本来做. 开始 功能模块的开发往往是最容易的,但是要处理好每个细节就不容易了.就拿这里的身份认证管理模块来说,看似很简单,因为后端接口都是ABP模板里现成的,前端部分无非就…