1、重构Nop.Core.Domain.Customers.NopCustomerDefaults类。
0086 ActivityLogType、ActivityLog
ActivityLogType类,通过该实体类及其属性成员实现当前程序与数据库中活动日志类型表之间的数据交互操作。
ActivityLog类,通过该实体类及其属性成员实现当前程序与数据库中活动日志表之间的数据交互操作。
0087 ActivityLogBuilder、ActivityLogTypeBuilder
Logging.ActivityLogBuilder类,该类通过对父类中同名方法进行覆写,对活动日志实体类、属性成员进行约束关系和规则进行相应的定义,并把这些约束有关系和规则的定义,映射到相应的数据库中新生成的一个活动日志表及其字段上。
Logging.ActivityLogTypeBuilder类,
该类通过对父类中同名方法进行覆写,对活动日志类型实体类、属性成员进行约束关系和规则进行相应的定义,并把这些约束有关系和规则的定义,映射到相应的数据库中新生成的一个活动日志类型表及其字段上。
2、重构Nop.Data.Migrations.SchemaMigration类,通过本次重构在指定的数据库软件的相应数据库中自动生成活动日志表和活动日志类型表。
0088 ICustomerActivityService、CustomerActivityService
CustomerActivityService类,继承于ICustomerActivityService接口,通过该类中的定义实现了,当前程序和指定数据库中活动日志类型表、活动日志表之间数据的交互操作。
3、重构Nop.Data.Migrations.SchemaMigration类,通过本次重构在指定的数据库软件的相应数据库中自动生成活动日志表和活动日志类型表。
4、重构Nop.Services.Customers.ICustomerService接口和Nop.Services.Customers.CustomerService类。
5、重构Nop.Services.Customers.ICustomerRegistrationService接口和Nop.Services.Customers.CustomerRegistrationService类。
注意:
为了简化操作与具体实现注销掉了Nop.Services.Customers.CustomerRegistrationService.ValidateCustomerAsync方法中与多身份认证方式(输入认证/手机短信认证/第三方帐户认证(QQ、微信、支付宝等))的下定义。
6、定义Nop.Services.Installation.InstallationService.InstallActivityLogTypesAsync方法,把一些默认数据持久化到动日志类型表中。
7、定义Nop.Services.Installation.InstallationService. InstallActivityLogAsync方法,把一些默认数据持久化到动日志表中。
8、重构Nop.Web.Framework.Infrastructure.DependencyRegistrar.Register方法添加语句:
//通过.NetCore框架依赖注入容器实例的指定API方法,对用户活到服务具体实现类进行依赖注入操作。
services.AddScoped<ICustomerActivityService, CustomerActivityService>();
0089 LoginModel、ICustomerModelFactory、CustomerModelFactory、CustomerController
LoginModel类,该类及其属性成员在程序执行时,实现了当前程序和登录页面之间数据的交互操作。
CustomerModelFactory类,继承于ICustomerModelFactory接口,该类用来初始化/实例化一些与用户相关的默认模型实例。
注意:
为了简化操作与具体实现在该类及其接口中只保留了Nop.Web.Factories.CustomerModelFactory.PrepareLoginModelAsync方法,其它的操作方法都被删除了。
CustomerController类,该类定义实现了与用户相关的数据信息在客户端浏览器指定页面中的显示,及其把客户端浏览器指定页面中数据信息提交到服务器端数据库的指定表中。
9、重构Nop.Web.Infrastructure.DependencyRegistrar.Register方法添加语句:
//通过.NetCore框架依赖注入容器实例的指定API方法,对用户模型工厂具体实现类进行依赖注入操作。
services.AddScoped<Factories.ICustomerModelFactory, Factories.CustomerModelFactory>();
10、定义Nop.Web\Views\Customer\Login.cshtml,Razor页面。
11、按F5执行程序:
<1>、把设活动日志实例、活动日志类型实例的一些默认数据值,自动持久化指定数据库的活动日志类型表和活动日志类型表中。
<2>、登录/注消操作页面正常执行。
对以上功能更为具体实现和注释见: 21-09-11_Nop_4.40.3(027_登录注销定义实现,所有页面正常显示)。