CMS Kit Pro:投票系统
您必须拥有 ABP Team 或更高级别许可 才能使用 CMS Kit Pro 模块的功能。
CMS Kit 提供投票系统,允许用户创建、编辑和删除投票。以下是投票小部件的截图:
启用投票系统
默认情况下,CMS Kit 功能处于禁用状态。因此,在使用前需要启用所需功能。您可以使用全局功能系统在开发时启用/禁用 CMS Kit 功能。或者,您可以使用 ABP 的功能系统在运行时禁用 CMS Kit 功能。
请查看 CMS Kit 模块文档的“如何安装”章节,了解如何在开发时启用/禁用 CMS Kit 功能。
用户界面
菜单项
CMS Kit 模块管理端在CMS菜单项下添加了以下项目:
投票:投票管理页面。
CmsKitProAdminMenus 类包含菜单项名称的常量定义。
页面
投票管理
您可以在解决方案的管理端对投票进行列表展示、创建、更新和删除操作。
投票小部件
投票系统提供投票小部件,供用户投票并显示结果。您可以将小部件放置在页面上,如下所示:
@await Component.InvokeAsync(
typeof(PollViewComponent),
new
{
widgetName = "my-poll-1"
})
配置选项
在使用投票系统前,您需要定义小部件。可以使用 CmsKitPollingOptions 进行配置。CmsKitPollingOptions 可在领域层的模块 ConfigureServices 方法中进行配置。
示例:
Configure<CmsKitPollingOptions>(options =>
{
options.AddWidget("my-poll-1");
});
CmsKitPollingOptions 属性:
WidgetNames:投票系统中已定义的小部件列表。options.AddWidget方法是向此列表添加新小部件的快捷方式。
内部结构
领域层
聚合
本模块遵循实体最佳实践与规范指南。
投票(Poll)
一个投票代表包含选项的已创建投票:
Poll(聚合根):代表系统中的投票,包含其选项。PollOption(实体):代表系统中与投票相关的已定义选项。
用户投票记录(PollUserVote)
用户投票记录代表用户对投票的选择:
PollUserVote(聚合根):代表系统中的用户投票记录。
仓储
本模块遵循仓储最佳实践与规范指南。
为这些功能定义了以下自定义仓储:
IPollRepositoryIPollUserVoteRepository
领域服务
本模块遵循领域服务最佳实践与规范指南。
投票管理器
PollManager 用于执行 Poll 聚合根的相关操作。
应用层
应用服务
PollAdminAppService(实现IPollAdminAppService):实现管理端投票管理的用例。PollPublicAppService(实现IPollPublicAppService):实现公共网站投票的用例。
数据库提供程序
通用配置
表/集合前缀与模式
所有表/集合默认使用 Cms 前缀。如需更改表前缀或设置模式名称(如果数据库提供程序支持),可设置 CmsKitDbProperties 类的静态属性。
连接字符串
本模块使用 CmsKit 作为连接字符串名称。如果未定义此名称的连接字符串,将回退到 Default 连接字符串。
详情请参阅连接字符串文档。
Entity Framework Core
数据表
- CmsPolls
- CmsPollOptions
- CmsPollUserVotes
MongoDB
集合
- CmsPolls
- CmsPollUserVotes
实体扩展
请查看 CMS Kit 模块文档的“实体扩展”章节,了解如何扩展 CMS Kit Pro 模块投票功能的实体。
抠丁客






