基于java+springboot+vue多维分类的知识管理系统

该系统是一个包含管理员和用户角色的知识管理平台,管理员可管理用户、知识分类和信息,用户则能浏览、下载和评论。开发技术包括SpringBoot后端框架、Vue页面设计和MySQL数据库,确保了功能性和性能。系统实现了用户管理、知识分类管理、知识信息管理和用户交互等功能。
摘要由CSDN通过智能技术生成

项目介绍

随着国内市场经济这几十年来的蓬勃发展,突然遇到了从国外传入国内的互联网技术,互联网产业从开始的群众不信任,到现在的离不开,中间经历了很多挫折。本次开发的多维分类的知识管理系统有管理员和用户两个角色。管理员可以管理用户信息,知识分类,知识信息等,用户可以查看和下载管理员发布的各种知识信息,还可以进行评论操作。开发本程序后台用到了Spring Boot开发技术,页面设计采用VUE框架和layui样式。数据库采用关系数据库市场占有率最高的MySQL作为本程序使用的数据库,完全符合程序使用并且有丰富的拓展余地。程序从需求到设计,从开发到测试,都在功能上和性能上都不断的进行了调试,让开发的程序在使用上用户体验更美好。

在这里插入图片描述

开发环境

编程语言:Java
数据库 :Mysql
系统架构:B/S
后端框架:SpringBoot
编译工具:idea或者eclipse,jdk1.8,maven
支持定做:java/php/python/android/小程序vue/爬虫/c#/asp.net

系统实现

5.1 管理员功能实现
5.1.1 用户管理
管理员可以对用户信息进行添加,修改,删除,查询操作。
在这里插入图片描述

图5.1 用户管理页面

5.1.2 知识分类管理
管理员可以对知识分类信息进行添加,修改,删除,查询操作。
在这里插入图片描述

图5.2 知识分类管理页面

5.1.3 知识信息管理
管理员可以对知识信息进行添加,修改,删除,查询操作。
在这里插入图片描述

图5.3 知识信息管理页面

5.1.4 知识信息添加
管理员可以对知识信息进行添加操作。
在这里插入图片描述

图5.4 知识信息添加管理页面

5.2 用户功能实现
5.2.1 首页
用户可以在首页查看多维分类的知识管理系统所有信息,可以看到有导航栏,点击就可以跳转到导航的项目。
在这里插入图片描述

图5.5 首页页面

5.2.2 知识信息
用户可以查看知识信息,也可以下载,评论,收藏知识信息。
在这里插入图片描述

图5.6 知识信息管理页面

5.2.1 个人中心
用户可以在个人中心修改自己的个人信息。
在这里插入图片描述

图5.7 个人中心页面

5.2.2 我的收藏
用户可以在个人中心里面点击我的收藏,可以看到自己收藏过的知识信息,还可以进行取消收藏操作。
在这里插入图片描述

图5.8 我的收藏页面

核心代码

package com.controller;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;

import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;

import com.entity.ZhishifenleiEntity;
import com.entity.view.ZhishifenleiView;

import com.service.ZhishifenleiService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;


/**
 * 知识分类
 * 后端接口
 * @author 
 * @email 
 * @date 
 */
@RestController
@RequestMapping("/zhishifenlei")
public class ZhishifenleiController {
    @Autowired
    private ZhishifenleiService zhishifenleiService;
    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,ZhishifenleiEntity zhishifenlei,
		HttpServletRequest request){
        EntityWrapper<ZhishifenleiEntity> ew = new EntityWrapper<ZhishifenleiEntity>();
		PageUtils page = zhishifenleiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, zhishifenlei), params), params));

        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,ZhishifenleiEntity zhishifenlei, 
		HttpServletRequest request){
        EntityWrapper<ZhishifenleiEntity> ew = new EntityWrapper<ZhishifenleiEntity>();
		PageUtils page = zhishifenleiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, zhishifenlei), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( ZhishifenleiEntity zhishifenlei){
       	EntityWrapper<ZhishifenleiEntity> ew = new EntityWrapper<ZhishifenleiEntity>();
      	ew.allEq(MPUtil.allEQMapPre( zhishifenlei, "zhishifenlei")); 
        return R.ok().put("data", zhishifenleiService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(ZhishifenleiEntity zhishifenlei){
        EntityWrapper< ZhishifenleiEntity> ew = new EntityWrapper< ZhishifenleiEntity>();
 		ew.allEq(MPUtil.allEQMapPre( zhishifenlei, "zhishifenlei")); 
		ZhishifenleiView zhishifenleiView =  zhishifenleiService.selectView(ew);
		return R.ok("查询知识分类成功").put("data", zhishifenleiView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        ZhishifenleiEntity zhishifenlei = zhishifenleiService.selectById(id);
        return R.ok().put("data", zhishifenlei);
    }

    /**
     * 前端详情
     */
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        ZhishifenleiEntity zhishifenlei = zhishifenleiService.selectById(id);
        return R.ok().put("data", zhishifenlei);
    }
    



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody ZhishifenleiEntity zhishifenlei, HttpServletRequest request){
    	zhishifenlei.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(zhishifenlei);
        zhishifenleiService.insert(zhishifenlei);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody ZhishifenleiEntity zhishifenlei, HttpServletRequest request){
    	zhishifenlei.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(zhishifenlei);
        zhishifenleiService.insert(zhishifenlei);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody ZhishifenleiEntity zhishifenlei, HttpServletRequest request){
        //ValidatorUtils.validateEntity(zhishifenlei);
        zhishifenleiService.updateById(zhishifenlei);//全部更新
        return R.ok();
    }
    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        zhishifenleiService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
    
    /**
     * 提醒接口
     */
	@RequestMapping("/remind/{columnName}/{type}")
	public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, 
						 @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
		map.put("column", columnName);
		map.put("type", type);
		
		if(type.equals("2")) {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			Calendar c = Calendar.getInstance();
			Date remindStartDate = null;
			Date remindEndDate = null;
			if(map.get("remindstart")!=null) {
				Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
				c.setTime(new Date()); 
				c.add(Calendar.DAY_OF_MONTH,remindStart);
				remindStartDate = c.getTime();
				map.put("remindstart", sdf.format(remindStartDate));
			}
			if(map.get("remindend")!=null) {
				Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
				c.setTime(new Date());
				c.add(Calendar.DAY_OF_MONTH,remindEnd);
				remindEndDate = c.getTime();
				map.put("remindend", sdf.format(remindEndDate));
			}
		}
		
		Wrapper<ZhishifenleiEntity> wrapper = new EntityWrapper<ZhishifenleiEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}


		int count = zhishifenleiService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	


}

论文参考

在这里插入图片描述

目 录
1 绪论 1
1.1 研究背景 1
1.2 研究意义 1
1.3 研究内容 1
2 开发技术 3
2.1 VUE框架 3
2.2 Mysql数据库 3
2.3 Spring Boot框架 3
2.4 layui介绍 4
3 系统分析 5
3.1可行性研究 5
3.2系统性能分析 6
3.3 系统流程分析 6
3.3.1 系统开发流程 6
3.3.2 系统注册流程 7
3.3.3 系统登录流程 8
4 系统设计 10
4.1 系统结构设计 10
4.2系统功能模块设计 11
4.3数据库设计 11
4.3.1数据库E-R图 11
4.3.2 数据库表结构 14
5 系统实现 17
5.1 管理员功能实现 17
5.1.1 用户管理 17
5.1.2 知识分类管理 17
5.1.3 知识信息管理 18
5.1.4 知识信息添加 18
5.2 用户功能实现 19
5.2.1 首页 19
5.2.2 知识信息 19
5.2.1 个人中心 20
5.2.2 我的收藏 20
6系统测试 22
6.1 测试的基本概念 22
6.2 测试的任务和目的  22
6.2.1测试的任务  22
6.2.2测试的目的  23
6.3 测试结果分析 23
结 论 24
参考文献 25
致 谢 26

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_3306428634

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值