学成在线--6.CMS页面管理开发(删除页面)

文章目录

    • 0.删除用户逻辑
    • 1.删除页面接口定义
    • 2.后端开发--Dao
    • 3.后端开发--Service
    • 4.后端开发--controller
    • 5.前端开发--page_list.vue添加删除按钮
    • 6.前端开发--page_list.vue编写删除事件
    • 7.后端开发--Api方法定义Api方法

0.删除用户逻辑

1)前端逻辑

(1)用户在页面列表中,点击“删除”按钮;
(2)点击后,触发删除事件,然后调用src/module/cms/api/cms.js中的page_del接口,此接口向后端发送删除请求。

2)后端逻辑

(1)后端Dao层使用 Spring Data提供的deleteById方法完成删除操作

1.删除页面接口定义

文件位置:Api项目下的com/ xuecheng/ api/ cms/ CmsPageControllerApi

@ApiOperation("通过ID删除页面")
public ResponseResult delete(String id);

2.后端开发–Dao

文件位置:com/ xuecheng/ manage_cms/ dao/ CmsPageRepository

使用 Spring Data提供的deleteById方法完成删除操作

3.后端开发–Service

文件位置:com/ xuecheng/ manage_cms/ service/ PageService

    //根据id删除页面public ResponseResult delete(String id){//先查询一下Optional<CmsPage> optional = cmsPageRepository.findById(id);if(optional.isPresent()){cmsPageRepository.deleteById(id);return new ResponseResult(CommonCode.SUCCESS);}return new ResponseResult(CommonCode.FAIL);}

4.后端开发–controller

文件位置:com/ xuecheng/ manage_cms/ controller/ CmsPageController

    @Override@DeleteMapping("/del/{id}")public ResponseResult delete(@PathVariable("id") String id) {return pageService.delete(id);}

5.前端开发–page_list.vue添加删除按钮

文件位置:src/ module/ cms/ page/ page_list.vue

      <el-table-column label="操作" width="80"><template slot-scope="page"><el-buttonsize="small"type="text"@click="edit(page.row.pageId)">编辑</el-button><el-buttonsize="small"type="text"@click="del(page.row.pageId)">删除</el-button></template></el-table-column>

6.前端开发–page_list.vue编写删除事件

文件位置:src/ module/ cms/ page/ page_list.vue

      del:function (pageId) {this.$confirm('您确认删除吗?', '提示', { }).then(() => {//调用服务端接口cmsApi.page_del(pageId).then(res=>{if(res.success){this.$message.success("删除成功")//刷新页面this.query()}else{this.$message.error("删除失败")}})})}

7.后端开发–Api方法定义Api方法

文件位置:src/ module/ cms/ api/ cms.js

//删除页面
export const page_del= (id) =>{return http.requestDelete(apiUrl+'/cms/page/del/'+id)
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/452262.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

诺基亚是“不跟随”还是跟不上?

在Android和iPhone为主流的环境下&#xff0c;诺基亚用“不跟随”的口号表明自己欲保持个性&#xff0c;但是否也意味着其固步自封&#xff0c;跟不上时代&#xff1f; 5年市值缩水超900亿欧元&#xff0c;全球业绩连续4个季度亏损&#xff0c;更为可怕的是&#xff0c;被视为…

HTTP 协议(详解)

HTTP协议简介&#xff1a;HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写&#xff0c;是用于万维网&#xff08;www.world wide web&#xff09;服务器与本地浏览器之间传输文本的传输协议。 http请求协议与相应协议HTTP协议包含浏览器发送数据到服务器需要遵循…

对象的特点

对象有如下一些基本特点。(1) 以数据为中心。操作围绕对其数据所需要做的处理来设置&#xff0c;不设置与这些数据无关的操作&#xff0c;而且操作的结果往往与当时所处的状态 (数据的值)有关。 (2) 对象是主动的。它是进行处理的主体。不能从外部直接加工它的私有数据&a…

React Native集成Redux框架讲解与应用

学过React Native的都知道&#xff0c;RN的UI是根据相应组件的state进行render的&#xff0c;而页面又是由大大小小的组件构成&#xff0c;导致每个组件都必须维护自身的一套状态&#xff0c;因此当页面复杂化的时候&#xff0c;管理state会相当吃力的。而redux提供了一套机制来…

【笔试记录】2021/3/10阿里

阿里20210310春招笔试记录-Python解题 第一题 问题描述&#xff1a; 小偷从出发点按指定方向出发&#xff0c;除非遇到墙或超出城市必须转方向&#xff0c;不然只能直走。城市大小m*n。输入描述&#xff1a; 1. 第1行&#xff0c;三个数字m n k&#xff1b;m*n表示城市大小&…

Spring mvc中@RequestMapping 6个基本用法小结

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 小结下spring mvc中的RequestMapping的用法。 1&#xff09;最基本的&#xff0c;方法级别上应用&#xff0c;例如&#xff1a; …

学成在线--7.CMS页面管理开发(异常处理)

文章目录1.异常处理的问题分析2.异常处理流程3.可预知异常处理1.自定义异常类2.异常抛出类3.异常捕获类4.异常处理测试1&#xff09;定义错误代码2&#xff09;异常处理测试4.不可预知异常处理1.定义异常捕获方法1&#xff09;异常抛出测试2&#xff09;异常捕获方法1.异常处理…

函数重载与运算符重载

有两种重载&#xff1a;函数重载是指在同一作用域内的若干个参数特征不同的函数可以使用相同的函数名字&#xff1b;运算符重载是指同一个运算符可以施加于不同类型的操作数上面。就是对已有的运算符重新进行定义&#xff0c;赋予其另一种功能&#xff0c;以适应不同的数据类型…

Django(6)

为什么不用_set related_name和related_query_name的区别related_name将成为相关对象的属性&#xff0c;允许您使用外键对模型进行“倒退”。例如&#xff0c;如果ModelA有像下面这样的字段&#xff0c;那么model_b ForeignKeyField(ModelB, related_namemodel_as)这将使您能够…

P5 RV1126编码测试Demo

目录 前言 01 测试Demo大致流程图 02 代码分析 2.1 VI设备初始化 2.2 使能通道 —— RK_MPI_VI_EnableChn 2.3 VI 和 VENC绑定 2.4 创建 编码线程 前言 从本章开始我们将要学习嵌入式音视频的学习了 &#xff0c;使用的瑞芯微的开发板 &#x1f3ac; 个人主页&#xff1a…

MP算法和OMP算法及其思想

主要介绍MP(Matching Pursuits)算法和OMP(Orthogonal Matching Pursuit)算法[1]&#xff0c;这两个算法虽然在90年代初就提出来了&#xff0c;但作为经典的算法&#xff0c;国内文献(可能有我没有搜索到)都仅描述了算法步骤和简单的应用&#xff0c;并未对其进行详尽的分析&…

【牛客刷题记录】2021-03-10

牛客代码刷题记录1 问题一 给定一个数组序列, 需要求选出一个区间, 使得该区间是所有区间中经过如下计算的值最大的一个&#xff1a; 区间中的最小数 * 区间所有数的和最后程序输出经过计算后的最大值即可&#xff0c;不需要输出具体的区间。如给定序列 [6 2 1]则根据上述公式…

SpringMVC详细示例实战教程

一、SpringMVC基础入门&#xff0c;创建一个HelloWorld程序 1.首先&#xff0c;导入SpringMVC需要的jar包。 2.添加Web.xml配置文件中关于SpringMVC的配置 123456789101112131415<!--configure the setting of springmvcDispatcherServlet and configure the mapping-->&…

学成在线--8.Freemarker入门教程

文章目录1.FreeMarker介绍1&#xff09;常用的java模板引擎还有哪些&#xff1f;2&#xff09;freemarker是一个用Java开发的模板引擎3&#xff09;模板数据模型输出2.FreeMarker快速入门1&#xff09;创建测试工程2&#xff09;配置文件3&#xff09;创建模型类4&#xff09;创…

面向对象建模

用面向对象方法开发软件&#xff0c;通常需要建立3种形式的模型&#xff0c;它们分别是 描述系统数据结构的对象模型 &#xff0c; 描述系统控制结构的动态模型 和 描述系统功能的功能模型 。一个典型的软件系统使用数据结构(对象模型)&#xff0c;执行操作(动态模型)&#xff…

if...elif...else...fi和case...esac的脚本条件判断式

注意1&#xff1a; if 表达式和case 表达式的区别及什么时候使用哪个要有明确的区分&#xff1f; 『 if .... then .... fi 』对于变量的判断是以『比对』的方式来分辨的&#xff0c; 如果符合状态就进行某些行为&#xff0c;并且透过较多层次 (就是elif ) 的方式来进行多个变量…

安卓自定义View进阶-分类与流程

自定义View绘制流程函数调用链(简化版) 一.自定义View分类 我将自定义View分为了两类(sloop个人分类法&#xff0c;非官方)&#xff1a; 1.自定义ViewGroup 自定义ViewGroup一般是利用现有的组件根据特定的布局方式来组成新的组件&#xff0c;大多继承自ViewGroup或各种Layout&…

【笔试记录】2021/3/13美团

2021/3/13美团笔试 1.旋转二维数组 m, n map(int, input().split()) a [] for _ in range(m):a.append(list(map(int, input().split()))) for j in range(n):for k in range(m):print(a[k][j], end )print(end\n)输入输出 2.找出输入字符串中的所有数字 s input() n …

Ubuntu品牌机批量涌入世界市场,中国不会例外

根据种种信息来源&#xff0c;我们可以预见&#xff1a; Ubuntu 品牌机不久即将涌入世界市场&#xff0c;中国也不会例外。对此现象&#xff0c;我们必须有一定的思想准备。 2004年4月&#xff0c;在澳大利亚一次学术会议上萌发了Ubuntu发行版的念头&#xff0c;至今已经有8个年…

学成在线--9.页面静态化

文章目录一.页面静态化流程二.数据模型1.轮播图DataUrl接口1&#xff09;需求分析2&#xff09;接口定义3&#xff09;Dao4&#xff09;Service5&#xff09;Controller6&#xff09;测试2.远程请求接口1&#xff09;添加依赖2&#xff09;配置RestTemplate3&#xff09;测试Re…