基于springboot+vue的IT技术交流和分享平台系统(前后端分离)
博主主页:
博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战
主要内容:毕业设计(|等)、、学习资料、面试题库、技术咨询
文末联系获取
研究背景:
一个行业发展起来,自然会诞生相关的交流和分享网站,随着计算机技术的发展,IT技术学习的人越来越多,人们在进行IT技术交流和分享的时候,都是基于线下好友间的沟通交流、互相分享,有时间地点的限制,在当今社会已经无法满足用户的需求,针对这一情况,结合目前计算机技术的发展,特开发了本基于Spring Boot的IT技术交流和分享平台。IT技术交流和分享平台与传统的交流和分享方式相比,有着无法比拟的优点,网络共享、传播速度快的特点,用户可以随时随地进行IT技术交流和分享,同时管理员通过计算机对系统信息进行管理,大大提高了IT技术交流和分享效率。
功能介绍:
系统包含技术:
后端:springboot,mybatis 前端:element-ui、js、css等 开发工具:idea/vscode 数据库:mysql 5.7 JDK版本:jdk1.8
部分截图说明:
用户在系统前台可查看系统信息,系统前台主界面展示如图所示。
没有账号的用户可进行注册操作,用户注册界面展示如图所示。
用户在登录界面可输入登录信息,点击登录按钮进行登录系统,用户登录界面展示如图所示。
用户可选择笔记分享查看详情信息,笔记分享详情界面展示如图所示。
管理员要想进入系统后台对系统进行管理操作,必须登录系统后台,管理员登录界面展示如图所示。
管理员在用户管理界面可查看所有用户信息,并可对其进行编辑和删除操作,用户管理界面展示如图所示。
管理员可增删改查笔记类型信息,笔记类型管理界面展示如图所示。
管理员可增删改查笔记分享信息,笔记分享管理界面展示如图所示。
部分代码:
/**
* 笔记分享
* 后端接口
* @author
* @email
* @date 2021-04-02 22:11:50
*/
@RestController
@RequestMapping("/bijifenxiang")
public class BijifenxiangController {
@Autowired
private BijifenxiangService bijifenxiangService;
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,BijifenxiangEntity bijifenxiang,
HttpServletRequest request){
EntityWrapper<BijifenxiangEntity> ew = new EntityWrapper<BijifenxiangEntity>();
PageUtils page = bijifenxiangService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, bijifenxiang), params), params));
return R.ok().put("data", page);
}
/**
* 前端列表
*/
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params,BijifenxiangEntity bijifenxiang, HttpServletRequest request){
EntityWrapper<BijifenxiangEntity> ew = new EntityWrapper<BijifenxiangEntity>();
PageUtils page = bijifenxiangService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, bijifenxiang), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/lists")
public R list( BijifenxiangEntity bijifenxiang){
EntityWrapper<BijifenxiangEntity> ew = new EntityWrapper<BijifenxiangEntity>();
ew.allEq(MPUtil.allEQMapPre( bijifenxiang, "bijifenxiang"));
return R.ok().put("data", bijifenxiangService.selectListView(ew));
}
/**
* 查询
*/
@RequestMapping("/query")
public R query(BijifenxiangEntity bijifenxiang){
EntityWrapper< BijifenxiangEntity> ew = new EntityWrapper< BijifenxiangEntity>();
ew.allEq(MPUtil.allEQMapPre( bijifenxiang, "bijifenxiang"));
BijifenxiangView bijifenxiangView = bijifenxiangService.selectView(ew);
return R.ok("查询笔记分享成功").put("data", bijifenxiangView);
}
/**
* 后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id){
BijifenxiangEntity bijifenxiang = bijifenxiangService.selectById(id);
bijifenxiang.setClicknum(bijifenxiang.getClicknum()+1);
bijifenxiang.setClicktime(new Date());
bijifenxiangService.updateById(bijifenxiang);
return R.ok().put("data", bijifenxiang);
}
/**
* 前端详情
*/
@RequestMapping("/detail/{id}")
public R detail(@PathVariable("id") Long id){
BijifenxiangEntity bijifenxiang = bijifenxiangService.selectById(id);
bijifenxiang.setClicknum(bijifenxiang.getClicknum()+1);
bijifenxiang.setClicktime(new Date());
bijifenxiangService.updateById(bijifenxiang);
return R.ok().put("data", bijifenxiang);
}
/**
* 赞或踩
*/
@RequestMapping("/thumbsup/{id}")
public R vote(@PathVariable("id") String id,String type){
BijifenxiangEntity bijifenxiang = bijifenxiangService.selectById(id);
if(type.equals("1")) {
bijifenxiang.setThumbsupnum(bijifenxiang.getThumbsupnum()+1);
} else {
bijifenxiang.setCrazilynum(bijifenxiang.getCrazilynum()+1);
}
bijifenxiangService.updateById(bijifenxiang);
return R.ok("投票成功");
}
/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody BijifenxiangEntity bijifenxiang, HttpServletRequest request){
bijifenxiang.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(bijifenxiang);
bijifenxiangService.insert(bijifenxiang);
return R.ok();
}
/**
* 前端保存
*/
@RequestMapping("/add")
public R add(@RequestBody BijifenxiangEntity bijifenxiang, HttpServletRequest request){
bijifenxiang.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(bijifenxiang);
bijifenxiangService.insert(bijifenxiang);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody BijifenxiangEntity bijifenxiang, HttpServletRequest request){
//ValidatorUtils.validateEntity(bijifenxiang);
bijifenxiangService.updateById(bijifenxiang);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
bijifenxiangService.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<BijifenxiangEntity> wrapper = new EntityWrapper<BijifenxiangEntity>();
if(map.get("remindstart")!=null) {
wrapper.ge(columnName, map.get("remindstart"));
}
if(map.get("remindend")!=null) {
wrapper.le(columnName, map.get("remindend"));
}
int count = bijifenxiangService.selectCount(wrapper);
return R.ok().put("count", count);
}
/**
* 前端智能排序
*/
@IgnoreAuth
@RequestMapping("/autoSort")
public R autoSort(@RequestParam Map<String, Object> params,BijifenxiangEntity bijifenxiang, HttpServletRequest request,String pre){
EntityWrapper<BijifenxiangEntity> ew = new EntityWrapper<BijifenxiangEntity>();
Map<String, Object> newMap = new HashMap<String, Object>();
Map<String, Object> param = new HashMap<String, Object>();
Iterator<Map.Entry<String, Object>> it = param.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<String, Object> entry = it.next();
String key = entry.getKey();
String newKey = entry.getKey();
if (pre.endsWith(".")) {
newMap.put(pre + newKey, entry.getValue());
} else if (StringUtils.isEmpty(pre)) {
newMap.put(newKey, entry.getValue());
} else {
newMap.put(pre + "." + newKey, entry.getValue());
}
}
params.put("sort", "clicknum");
params.put("order", "desc");
PageUtils page = bijifenxiangService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, bijifenxiang), params), params));
return R.ok().put("data", page);
}
以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,代码工整,清晰,适合学习使用。好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~~
原文链接:https://www.mtycode.com/935.html,转载请注明出处,更多项目请进入官网:www.maotouyingcc.com。
请先
!