abp core项目生成数据库、添加新表、添加种子数据、登录Token、获取用户信息、角色、权限、abp设置默认语言

必须要看的文档:https://www.cnblogs.com/meowv/p/12909558.html
https://docs.abp.io/zh-Hans/abp/latest/Tutorials/Part-1?UI=MVC&DB=EF
1、abp官网下载,我选的是ASP.NET Core,v5.x,Vue.js
2、下好之后需要用VS2019打开,我起的项目名字是Framework
3、找到Framework.Web.Host、Framework.Migrator这两个项目,把appsettings.json里面的连接字符串改掉,用本地的不改也行。
原来的是:Server=localhost; Database=FrameworkDb; Trusted_Connection=True;
刚开始学,我习惯改成这样的:Data Source=192.168.1.11;Initial Catalog=FrameworkDb;Persist Security Info=True;User ID=sa;Password=111111;
4、工具》NuGet包管理器》程序包管理器控制台》将默认项目选择为Framework.EntityFrameworkCore,哦还得把这个项目设置为启动项目,不然没法执行migration。
5、执行migration命令:Update-Database,好,数据库生成了。
6、然后设置Framework.Web.Host启动项目,运行结果http://localhost:21021/swagger/index.html
7、Framework.Migrator这个项目没啥用感觉,可以删了。
8、在Framework.Core这个项目中添加你的实体,类似这样:public class Article : FullAuditedEntity<long>, IMustHaveTenant, IPassivable{......}里面的字段自己随便写几个。
9、在Framework.EntityFrameworkCore这个项目里添加实体和数据库映射:FrameworkDbContext》添加属性:public virtual DbSet<Articles.Article> Articles { get; set; }
10、继续add-migration》update-database,打开数据库你就看到新增了Articles表。
11、播种Framework.EntityFrameworkCore》Seed》SeedHelper.cs参考这里面的来写就行了。注意,每次编译后重新运行程序会再次添加种子数据,所以运行一次之后把他注释掉。
12、登录要先获取token,在项目Framework.Web.Core》Controllers》TokenAuthController中,
请求URL:http://localhost:21021/api/TokenAuth/Authenticate 请求参数是:

{
  "userNameOrEmailAddress": "admin",
  "password": "123qwe",
  "rememberClient": true
}

会得到accessToken,然后再发送获取数据的请求的时候加到header里Authorization:Bearer accessToken,这样就可以了。在后台接口上面加上特性[DisableAuditing]描述,不需要登录也可以调用。
13、获取当前User信息:http://localhost:21021/api/services/app/Session/GetCurrentLoginInformations
14、获取当前User角色:http://localhost:21021/api/services/app/User/GetRoles
15、获取当前User权限:http://localhost:21021/api/services/app/Role/GetAllPermissions
16、获取当前User的一个角色和角色对应的权限,参数是角色id:http://localhost:21021/api/services/app/Role/GetRoleForEdit?id=1
17、在项目Framework.EntityFrameworkCore》EntityFrameworkCore》Seed》Host》DefaultSettingsCreator.cs中的Create()方法中,默认是en,改成zh-Hans就行了
// Languages
AddSettingIfNotExists(LocalizationSettingNames.DefaultLanguage, "zh-Hans", tenantId);

原文地址:https://www.cnblogs.com/xsj1989/p/14297425.html