当前位置: 首页 > ops >正文

ShenNiusModularity项目源码学习(33:ShenNius.Admin.Mvc项目分析-18)

  文章管理页面用于搜索、新建、维护及删除CMS管理模块的文章信息,包括栏目名称、文章标题、作者等数据。文章管理页面的后台控制器类ArticleController位于ShenNius.Admin.Mvc项目的Areas\Cms\Controllers内,页面文件位于同项目的Areas\Cms\Views\Article内,其中Index.cshtml页面为主页面,Modify.cshtml页面用于新建和编辑文章信息,页面调用的后台WebApi接口位于ShenNius.Admin.API项目的ArticleController,主要用到GetListPages(分页获取文章列表)、ChangeState、Deletes、Modify、SoftDelete、Export等函数。
在这里插入图片描述

  文章管理主页面的布局如下所示,最上方为搜索栏,中间为工具栏(工具栏中的导入按钮只是个摆设,没看到事件处理函数),下方显示文章数据表格。
在这里插入图片描述
  页面加载后,通过apiUtil.render函数调用WebApi函数GetListPages分页获取文章数据,搜索框的检索事件其实也是触发表格的重载操作(table.reload),并将检索条件传递给后台获取检索结果。专门设置文章标题列,点击该列可以触发编辑事件,同时设置审状态、是否置顶、是否评论、是否热点等四列的事件处理函数,点击这几列时调用WebApi接口ChangeState修改文章状态。
在这里插入图片描述
  定义事件处理函数处理工具栏按钮点击事件及数据行中的按钮点击事件,添加和编辑按钮调用Modify.cshtml页面,而删除按钮的话,点击工具栏中的删除按钮,处理逻辑是将选中的记录软删除,后续还能在回收站中恢复,而点击数据行中的删除按钮,则是直接删除数据库中的数据,无法恢复。点击导出按钮,调用WebApi接口Export导出文章列表excel文件。
在这里插入图片描述
  添加和编辑文章用的都是Modify.cshtml页面,该页面使用开源富文本编辑器tinymce维护文章内容(设置调用WebApi接口ArticleController.QiniuFile函数上传图片)。页面加载时调用common.js内的BindParentColumn函数,调用WebApi接口ColumnController.GetAllParentColumn获取多级栏目列表填充下拉列表,通过在名称前加空格+"|–"表达栏目层级;点击一键匹配内链按钮,调用WebApi接口KeywordController.ContentReplace函数给文章内容中的关键词添加链接。点击确认保存按钮,根据编辑页面中是否存在Id字段判断是添加操作还是编辑操作,前者的话调用WebApi接口Add新建文章,后者则调用Modify函数更新文章信息。
在这里插入图片描述

参考文献:
[1]https://gitee.com/shenniu_code_group/shen-nius.-modularity

http://www.xdnf.cn/news/10518.html

相关文章:

  • 【看到哪里写到哪里】C的指针-3(函数指针)
  • P1115 最大子段和
  • 打卡第43天
  • 【Ragflow】24.Ragflow-plus开发日志:增加分词逻辑,修复关键词检索失效问题
  • 从 AMQP 到 RabbitMQ:核心组件设计与工作原理(一)
  • [Java恶补day13] 53. 最大子数组和
  • 判断使用什么技术来爬取数据详细讲解
  • 【Redis】笔记|第5节|Redisson实现高并发分布式锁核心源码
  • 个人总结八股文之-基础篇(持续更新)
  • 汽车软件 OTA 升级技术发展现状与趋势
  • 设计模式——中介者设计模式(行为型)
  • 【Qt开发】对话框
  • 深入理解 Linux 文件系统与日志文件分析
  • NodeJS全栈WEB3面试题——P8项目实战类问题(偏全栈)
  • 安全态势感知中的告警误报思考
  • 多群组部署
  • X浏览器APP:轻巧快捷,畅享极速浏览
  • TomSolver 库 | config详解及其测试
  • ANN与SNN的那些事
  • 动态规划(10):状态压缩
  • 力扣LeetBook数组和字符串--数组简介
  • Spring Security入门:创建第一个安全REST端点项目
  • [RoarCTF 2019]Easy Calc
  • SQL 逻辑处理顺序详解
  • 第二章支线五 ·CSS炼金续章:变量与暗黑主题术
  • 放弃 tsc+nodemon 使用 tsx 构建Node 环境下 TypeScript + ESM 开发环境搭建指南
  • SpringMVC的注解
  • StarRocks物化视图
  • 可视化大屏通用模板Axure原型设计案例
  • 代码随想录60期day54