关键词管理页面用于新建、维护、删除、导入/导出系统CMS管理模块的关键词,关键词信息用于匹配CMS管理模块新建的文章内容中相同的信息,使其点击文章中的关键词时可以跳转到关键词关联的链接。关键词管理页面的后台控制器类KeywordController位于ShenNius.Admin.Mvc项目的Areas\Cms\Controllers内,页面文件位于同项目的Areas\Cms\Views\Keyword内,其中Index.cshtml页面为主页面,Modify.cshtml页面用于新建或编辑关键词信息,ImportKey.cshtml页面用于从本地模板导入关键词,三个页面中调用的后台WebApi接口位于ShenNius.Admin.API项目的KeywordController,主要用到GetListPages(分页获取关键词列表)、Delete、Modify、SoftDelete、GenerateImportTemplate、Import、Export等函数。
关键词管理主页面的布局如下所示,上方为工具栏,下方显示关键词数据表格。页面加载后,通过apiUtil.render函数调用WebApi函数GetListPages分页获取关键词数据。
分别定义事件处理函数处理工具栏按钮点击事件及数据行中的按钮点击事件,添加和编辑按钮调用的都是Modify.cshtml页面,而删除按钮的话,点击工具栏中的删除按钮,处理逻辑是将选中的记录软删除,后续还能在回收站中恢复,而点击数据行中的删除按钮,则是直接删除数据库中的数据,无法恢复。点击工具栏中的导入按钮,调用ImportKey.cshtml页面从本地导入excel关键词文件,点击工具栏中的导出函数,则直接调用WebApi接口Export函数使用Magicodes.IE.Excel生成excel发送到前端下载。
添加按钮和编辑按钮都是用的Modify.cshtml页面。点击确认保存按钮,根据编辑页面中是否存在Id字段判断是添加操作还是编辑操作,前者的话调用WebApi接口Add新建关键词,后者则调用Modify函数更新关键词信息。
从本地导入excel关键词用的ImportKey.cshtml页面。点击生成导入模板按钮,调用WebApi接口GenerateImportTemplate函数基于Magicodes.IE.Excel和excel模板ImportTemplate.xlsx生成关键词模板文件供前台下载。点击导入Excel数据按钮,调用layui的上传组件从本地选择excel文件,然后调用WebApi接口Import函数读取并保存关键词数据。
参考文献:
[1]https://gitee.com/shenniu_code_group/shen-nius.-modularity