项目各功能介绍
接口文档
一、内容管理模块
1.查找-只有后端
作用:用于查找内容信息
请求路径:SearchContent
请求方式:get
传输数据格式:json
请求入参:
Channelid (栏目id) 类型:字符串 非必传 注释:参数为0表示无效
Title(内容标题) 类型:字符串 非必传
Author(作者) 类型:字符串 非必传
Page(页码) 类型:字符串 非必传
PageSize(一页大小) 类型:字符串 非必传
Id(内容id) 类型:字符串 非必传
数据样本:
{ Channelid:1,
Title:”文章标题”,
Author:”文章作者”,
Page:1,
PageSize:5,
Id:5 }
响应的出参:
Code(状态) 类型:整数 必有
Msg(信息) 类型:整数 必有
Data(查找到的内容) 类型:数组 必有
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//接收参数String channelid = request.getParameter("channelid");String title = request.getParameter("title");String author = request.getParameter("author");String page = request.getParameter("page");String pageSize = request.getParameter("pageSize");String id = request.getParameter("id");String sql = "select content.*,channelname from content,channel where content.channelid = channel.id ";if(channelid!=null&&!channelid.equals("0")) {sql+=" and channelid = "+channelid;}if(title!=null&&!title.equals("")) {sql+=" and title like \"%"+title+"%\"";}if(author!=null&&!author.equals("")) {sql+=" and author=\""+author+"\"";}if(id!=null&&!id.equals("")) {sql+=" and content.id = "+id;}sql+=" order by createtime desc";if(page!=null&&pageSize!=null&&!page.equals("")&&!pageSize.equals("")) {sql+=" limit "+(Integer.parseInt(page)-1)*Integer.parseInt(pageSize)+","+pageSize;}String[] colums = {"id","title","createtime","author","imgurl","content","channelid","channelname"};String res = MysqlUtil.getJsonBySql(sql, colums);//设置后端给前端返回信息为jsonresponse.setContentType("text/json;charset=utf-8");//返回数据response.getWriter().write(res);}
2.删除-前端回收站+后端
作用:用于删除内容信息
①请求路径:DeleteContent
请求方式:post
传输数据格式:json
请求入参:
Id(内容id) 类型:字符串 必传
数据样本:
②单个删除:
{Id:”5”}
批量删除
{Id:”5,8,9”}
③响应的出参:
Code(状态) 类型:整数 必有
Msg(信息) 类型:整数 必有
④出参样本:
删除失败:
{Code:0,
Msg:”删除失败”}
删除成功:
{Code:1,
Msg:”删除成功”}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String id = request.getParameter("id");String sql = "delete from content where id in("+id+")";int num = MysqlUtil.del(sql);String res = "删除失败";if(num>0) {res="删除成功";}response.setCharacterEncoding("utf-8");response.getWriter().write(res);}}
3.修改update-html+js+后端
①前端html
需要加上加载编辑的容器和配置文件
页面展示:
②js页面
1.实例化编译器
2.有图片上传的--change值改变事件
3.返回原页面
4.加载栏目
5.回显
6.修改数据,获取参数
var id = $.cookie("id")
//实例化编辑器
var ue = UE.getEditor('container');//图片上传 change值改变事件
$(".file").change(function(){//表单数据序列化var msg = new FormData($(".imgbox")[0])if(msg.get("file").name){//图片上传$.ajax({url:"upload",type:"post",data:msg,contentType:false,processData:false,success:function(value){console.log(value)//缩略图$(".show").html("<img src='upload/"+value.imgurl+"' style='width:150px;height:100px;object-fit:cover'>")//隐藏域$(".imgurl").val(value.imgurl)}})}else{$(".show").html("")$(".imgurl").val("")}
})
//返回
$(".back").click(function(){location.href="content.html"
})//加载栏目
$.ajax({url:"SearchChannel",type:"get",async:false,success:function(value){var arr = value.data$(".channelid").empty()for(var i=0;i<arr.length;i++){$(".channelid").append('<option value="'+arr[i].id+'">'+arr[i].channelname+'</option>')}},error:function(){alert("出错啦")}
})
//回显
$.ajax({url:"SearchContent",type:"get",data:{id},success:function(value){var obj = value.data[0]$(".channelid").val(obj.channelid)$(".title").val(obj.title)$(".author").val(obj.author)$(".createtime").val(obj.createtime)//$(".content").val(obj.content)//缩略图$(".show").html("<img src='upload/"+obj.imgurl+"' style='width:150px;height:100px;object-fit:cover'>")//隐藏域$(".imgurl").val(obj.imgurl)ue.ready(function() {//设置编辑器的内容//复文本剪辑器的回显不能用value.setContent(obj.content);});}
})//修改
$(".update").click(function(){//获取参数var channelid = $(".channelid").val()var title = $(".title").val()var author = $(".author").val()var createtime = $(".createtime").val()//var content = $(".content").val()var content = ue.getContent()var imgurl = $(".imgurl").val()$.ajax({url:"UpdateServlet",type:"post",data:{channelid,title,author,createtime,content,id,imgurl},success:function(value){alert(value)location.href="content.html"}})
})
③后端页面
请求获取参数修改
4.添加add-html+js+后端
①html-同理,加一个配置容器
②js
1.实例化编译器
2.返回原页面
3.图片上传
4.加载栏目
5.添加数据
//实例化编辑器
var ue = UE.getEditor('container');//返回
$(".back").click(function(){location.href="content.html"
})//图片上传 change值改变事件
$(".file").change(function(){//表单数据序列化new FormData-把文件本身变成能够上传的数据,文本默认能传输,图片默认不能传输//表单用form标签var msg = new FormData($(".imgbox")[0])//get.file方法拿到序列化之后的值if(msg.get("file").name){//图片上传$.ajax({url:"upload",type:"post",data:msg,//直接把序列化之后的数据传走,图片上传需要加下面这两个默认都是否contentType:false,processData:false,success:function(value){console.log(value)//缩略图-html设置样式,$(".show").html("<img src='upload/"+value.imgurl+"' style='width:150px;height:100px;object-fit:cover'>")//隐藏域,获取值$(".imgurl").val(value.imgurl)}})}else{$(".show").html("")$(".imgurl").val("")}
})//加载栏目
$.ajax({url:"SearchChannel",type:"get",success:function(value){var arr = value.data$(".channelid").empty()for(var i=0;i<arr.length;i++){$(".channelid").append('<option value="'+arr[i].id+'">'+arr[i].channelname+'</option>')}},error:function(){alert("出错啦")}
})
//添加
$(".add").click(function(){//获取参数var channelid = $(".channelid").val()var title = $(".title").val()var author = $(".author").val()var createtime = $(".createtime").val()//var content = $(".content").val()var content = ue.getContent()//从隐藏域中获取值var imgurl = $(".imgurl").val()$.ajax({url:"AddContent",type:"post",data:{channelid,title,author,createtime,content,imgurl},success:function(value){alert(value)location.href="content.html"}})})
③后端
二、栏目管理模块
三、回收站
四、登录模块
1.登录
作用:用于登录
请求路径:Login
请求方式:get
传输数据格式:json
①请求入参:
Account(账号) 类型:字符串 必传
Password(密码) 类型:字符串 必传
Roleid(角色) 类型:字符串 必传 0表示管理员 1表示普通用户
②数据样本:
管理员登录:
{Account:”admin”,
Password:”123456”,
Roleid:1}
普通用户登录
{Account:”user1”,
Password:”789”,
Roleid:0}
③响应的出参:
Code(状态) 类型:整数 必有 0表示登录失败 1表示登录成功
Msg(信息) 类型:整数 必有
④出参样本:
登录失败:
{Code:0,
Msg:”登录失败”}
登录成功:
{Code:1,
Msg:”登录成功”}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String account = request.getParameter("account");String password = request.getParameter("password");String roleid = request.getParameter("roleid");String sql = "select * from house_login where account='"+account+"' and password = '"+password+"' and roleid = '"+roleid+"' ";System.out.println(sql);String[] colums = {"id","account","password","roleid"};String res = MysqlUtil.getJsonBySql(sql, colums);System.out.println("res="+res);response.setContentType("text/json;charset=utf-8");response.getWriter().write(res);}}