0
点赞
收藏
分享

微信扫一扫

第33章 第3方身份认证插件管理的定义实现

王小沫 2022-03-31 阅读 60

 

 

103 NopButtonClassDefaults、NopColumnClassDefaults、EditType、DataUrl、RenderBoolean、RenderButtonCustom、RenderButtonRemove、RenderButtonsInlineEdit、RenderButtonView、ARenderCheckBox、RenderChildCaret、RenderCustom、RenderDate、RenderLink、RenderPicture、IRender、ColumnProperty、FilterParameter、DataTablesModel

    NopButtonClassDefaults类,该类通及其属性成员实例,为当前程序后台页面中按钮控件指定样式的显示提供数据支撑(按钮控件的样式来自: https://adminlte.io/themes/AdminLTE/pages/UI/buttons.html)。

NopColumnClassDefaults类,该类通及其属性成员实例,对当前程序后台页面中的表格组件布局样式的显示提供数据支撑。

EditType类,该枚举定义了3种表格组件列中所绑定数据的类型,通过枚举实例选定其中的1种,确认列所绑定数据的类型,为表格组件的渲染提供数据支撑。

DataUrl类,通过该类及其属性成员,为获取指定页面的与网络地址字符串(URL)相关的数据提供支撑。

RenderBoolean类,继承于IRender接口,通过该类可以把表格组件中的布尔类型的数据,渲染成相应的『选择』控件(单选控件/复选框控件)。

RenderButtonCustom类,继承于IRender接口,通过该类及其属性成员,可以对表格组件中『自定义(通用)』按钮控件的布局及其样式进行渲染(该类特别针对通用(所有没有被特别定义)的按钮控件,提供渲染数据)。

RenderButtonEdit类,继承于IRender接口,通过该类及其属性成员,可以对表格组件中『编辑』按钮控件的布局及其样式进行渲染( 该类特别针对编辑按钮控件,提供渲染数据;同时该按钮被点击后将会打开另1个页面进行编辑操作)。   

RenderButtonRemove类,继承于IRender接口,通过该类及其属性成员,可以对表格组件中『删除』按钮控件的布局及其样式进行渲染( 该类特别针对删除按钮控件,提供渲染数据)。

RenderButtonsInlineEdit类,继承于IRender接口,通过该类及其属性成员,可以对表格组件中『内联编辑』按钮控件的布局及其样式进行渲染( 该类特别针对『内联编辑』按钮控件,提供渲染数据;同时该按钮被点击后将会在表格组件中进行编辑操作)。

RenderButtonView类,继承于IRender接口,通过该类及其属性成员,可以对表格组件中『查看』按钮控件的布局及其样式进行渲染。

RenderCheckBox类,继承于IRender接口,通过该类及其属性成员,可以对表格组件中『复选框』控件的布局及其样式进行渲染( 该类特别针对删除按钮控件,提供渲染数据)。

RenderChildCaret类,继承于IRender接口,通过该类在表格组件中,渲染出『子节点展开』控件。

RenderCustom类,继承于IRender接口,过该类及其属性成员,可以对表格组件中『自定义(通用)』控件的布局及其样式进行渲染(该类特别针对通用(所有没有被特别定义)的控件,提供渲染数据)。

RenderDate类,继承于IRender接口,通过该类及其属性成员,可以对表格组件中的日期数据进行格式化。

RenderLink类,继承于IRender接口,通过该类及其属性成员,可以对表格组件中『链接』控件的布局及其样式进行渲染( 该类特别针对删除按钮控件,提供渲染数据)。

RenderPicture类,继承于IRender接口,通过该类及其属性成员,可以对表格组件中『图片』控件的布局及其样式进行渲染。   

IRender接口,继承于该接口的具体实现类,为后台页面中表格组件的渲染和显示,提供数据支撑。   

ColumnProperty类,通过该类及其属性成员,可以对表格组件中列及列中每个单元格的布局及其样式进行渲染,提供相应的数据支撑。  

FilterParameter类,通过该类及其属性成员,为对表格组件中『首』列中字段值的过滤操作,提供初始化设置支撑。

DataTablesModel类,通过该类及其属性成员,整合了对表格组件进行渲染操作的所有数据和设置,为表格组件渲染操作提供整体性的数据和设置支撑。

104 NullJsonResult、ExternalAuthenticationMethodSearchModel、ExternalAuthenticationMethodListModel、ExternalAuthenticationMethodModel 、ExternalAuthenticationModelFactory、IExternalAuthenticationModelFactory、AuthenticationController

    NullJsonResult类,通过该类实例化1个没有任何JSON编码格式数据需要在指定页面中被渲染(呈现)出来;也可以这么理解显示页面时,不在页面中显示任何基于JSON编码格式的数据。 

ExternalAuthenticationMethodSearchModel类,可以通过该纪录,为在执行搜索操作后,对多个外部身份认证方式模型实例,进行分页操作提供数据支撑。

注意:

   该纪录没有任何的数据,所以相关的数据支撑来源于其基纪录。

ExternalAuthenticationMethodListModel类,通列表实例中所存储的多个外部身份认证方式模型实例进行分页操作,主要用于通过浏览器中的页面向服务器端提交数据。

注意:

   该纪录没有任何的数据,所以相关的数据支撑来源于其基纪录。

ExternalAuthenticationMethodModel类,可以通过该模型记录中的属性成员获取(Facebook)外部身份认证方式插件的本地化基本数据信息,从而为(Facebook)外部身份认证插件界面的本地化显示提供数据支撑。

    ExternalAuthenticationModelFactory类,继承于IExternalAuthenticationModelFactory接口,通过该类中的方法成员,为管理区域外部身份认证方式页面中的分页显示操作提供数据支撑;同时也为把页面中的数据转换后提交到服务器端提供支撑。

    IExternalAuthenticationModelFactory接口,通过继承于该接口的类中方法成员,为管理区域外部身份认证方式页面中的分页显示操作提供数据支撑;同时也为把页面中的数据转换后提交到服务器端提供支撑。

    AuthenticationController类,该类用来把与第3身份认证插件相关的数据,通过指定页面在客户端浏览器中进行显示;或指定页面中输入与第3身份认证插件的相关数据提交到服务端的服务器中。

    说明:

    在后台页面中的数据信息一般是通过nopCommerce程序自定义的表格组件进行显示(渲染),nopCommerce程序通过各种自定义种自定义的组件,来绑定数据后在页面进行显示(渲染),这是nopCommerce程序做为模板类程序,功能实现的必然选择,这种选择增加的程序对页面布局样式的控制的灵活性、易替换性和本地化的实现,但是在整体上大大增加了nopCommerce程序实现的复杂性,牺牲了nopCommerce程序的性能,直接表现就是nopCommerce程序的启动和显示(渲染)缓慢、卡顿等现象表现的十分明显。如果参考nopCommerce程序开发,如果对性能的需求大于对功能的需求,最好使用HTML标签取代这些组件,这能在整个实现上减少程序实现的复杂性,和在  一定程序上提升程序的性能解决启动和显示(渲染)缓慢、卡顿等现象。

  1. 重构Nop.Web.Infrastructure.DependencyRegistrar.Register方法,取消下列语句前的注释:

   services.AddScoped<IExternalAuthenticationMethodModelFactory,ExternalAuthenticationMethodModelFactory>();

  1. 取消Nop.Web.Framework.Controllers.BaseController.AccessDeniedDataTablesJson方法前的所有注释:
  2. 重构\Nop.Web\Areas\Admin\Views\_ViewImports.cshtml页面,取消下列语句前的注释:

@using Nop.Web.Areas.Admin.Models.ExternalAuthentication

       @using Nop.Web.Framework.Models.DataTables

4按F5执行程序,在数据库安装操作完成后,再次按F5执行程序,在执行了登录操作后,输入https://localhost:44319/Admin/Authentication/ExternalMethods,Facebook第3方身份认证登录插件的管理页面已经能够正常被执行。

对以上功能更为具体实现和注释22-03-13-033_Nop_4.40.4(第3方身份认证插件管理的定义实)。

举报

相关推荐

0 条评论