项目各功能介绍

接口文档

一、内容管理模块

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(查找到的内容) 类型:数组 必有

java 复制代码
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);
		
		//设置后端给前端返回信息为json
		response.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:"删除成功"}

java 复制代码
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.修改数据,获取参数

java 复制代码
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() {
		    //设置编辑器的内容
			//复文本剪辑器的回显不能用val
		    ue.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.添加数据

java 复制代码
//实例化编辑器
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:"登录成功"}

java 复制代码
	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);
	}

}