Ionic 如何自动填充abp实体?(删除者ID\创建者ID\最后修改者ID)

fwzugrvs  于 2022-12-28  发布在  Ionic
关注(0)|答案(2)|浏览(260)

我用c#和ionic\angular构建了一个应用程序,并达到了需要实现身份验证的地步。
我已经开发了几个API,我从我的前端接触,但我希望字段(DeleterId\CreatorId\LastModifierId)是自动填充,而不必挖掘到个别的API。我知道abp有一个过程,应该适合我。我的目标是从前端发送的id,我不知道如何把它放在api的url。目前我生成的url,然后在发送到后端之前,我拦截它添加数据。我应该怎样填写资料才能把身份证交给他?
我希望有一种方法,通过网址发送到后端的身份证。

c2e8gylq

c2e8gylq1#

要在ABP框架中实现这一点,您可以使用审计功能。
以下是为实体启用审计的方法:

  • 安装Volo.Abp.Auditing NuGet软件包。
  • 将IAuditedObject接口添加到实体类中并实现它:
using Volo.Abp.Auditing;
public class MyEntity : Entity, IAuditedObject {
public Guid DeleterId { get; set; }
public Guid CreatorId { get; set; }
public Guid LastModifierId { get; set; }
public DateTime CreationTime { get; set; }
public DateTime? LastModificationTime { get; set; }
public DateTime? DeletionTime { get; set; }
public bool IsDeleted { get; set; } }
  • 在模块中启用审计功能:
using Volo.Abp.Auditing; using Volo.Abp.Modularity;
 
[DependsOn(typeof(AbpAuditingModule))] public class MyModule :
 AbpModule {
     // ...

}
通过这些步骤,每当使用存储库创建、修改或删除实体时,将自动设置DeleterId、CreatorId和LastModifierId字段。CreationTime、LastModificationTime和DeletionTime字段也将自动设置。
请注意,审计功能的工作方式是拦截存储库方法调用,并在实体保存到数据库之前对其进行修改。如果不使用存储库而是直接访问数据库,则审计功能将不起作用。

izj3ouym

izj3ouym2#

我希望有一种方法,通过网址发送到后端的身份证。
您可以创建一个常规的MVC控制器,并使用标准的Route属性将URLMap到动作参数。
如果您想使用ABP的自动控制器(它将应用服务公开为REST API),您可以使用Guid id(或任何主键)参数作为方法的第一个参数,ABP将使用path参数。

相关问题