介绍

本项目分为大米news小程序端springboot新闻管理系统后台项目。小程序主要用来新闻展示,后台管理系统用于提供相关新闻API。

项目源码

参考:https://www.bilibili.com/video/BV1TD4y1j7g3/?spm_id_from=333.337.search-card.all.click&vd_source=20f28d37cb33d3df70e94bebfe39fee8

系统功能演示

大米新闻小程序演示

大米news小程序

功能截图



知识点

  1. 如何创建并使用自定义组件?
  2. 如何编写好看的样式CSS?
  3. 如何对VIEW进行排版布局?
  4. 如何利用wxParse实现对html内容格式化?
  5. 如何使用不同类型路由携带参数跳转?
  6. 如何与springboot后台系统进行接口调用和数据交互?

新闻管理后台

功能截图



知识点

  • springboot通用框架
  • mybatis dao层设计
  • thymeleaf 格式化
  • mysql
  • bootstrap布局增删改查

后台API接口

@RestController
@RequestMapping("/openapi")
public class OpenApi extends BaseController { @Autowired
ISysUserService userService; @Autowired
IDmNewsService dmNewsService; @Autowired
IDmBannerService bannerService; @PostMapping("/doLogin")
public AjaxResult login(@RequestBody LoginForm loginForm){
SysUser entity = userService.selectUserByUsername(loginForm.getUsername());
String err = "";
// 未找到用户
if(entity == null){
err = "用户不存在!";
}else if(!loginForm.getPassword().equals(entity.getPassword())){
err = "密码错误!";
} if(StringUtils.isNotEmpty(err)){
return AjaxResult.error(err);
} return AjaxResult.success(entity);
} /**
* 查询资讯列表,支持根据新闻类型查找
*/
@PostMapping("/dmNews/list")
public AjaxResult listDmNews(@RequestBody DmNews news)
{
//startPage();
List<DmNews> list = dmNewsService.selectDmNewsList(news);
return AjaxResult.success(list);
} /**
* 获取热点新闻,根据阅读数+点赞数降序取top10
* @return
*/
@GetMapping("/dmNews/hotlist")
public AjaxResult getHotDmNews(){
List<DmNews> list = dmNewsService.selectHotDmNewsList();
return AjaxResult.success(list);
} @GetMapping("/dmNews/{id}")
public AjaxResult getById(@PathVariable("id") Integer id){
// 阅读数+1
DmNews dmNews = dmNewsService.selectDmNewsById(id);
dmNews.setReadCount(dmNews.getReadCount()+1);
dmNewsService.updateDmNews(dmNews); return AjaxResult.success(dmNews);
} @GetMapping("/dmNews/addLikeCount/{id}")
public AjaxResult like(@PathVariable("id") Integer id){
// 阅读数+1
DmNews dmNews = dmNewsService.selectDmNewsById(id);
dmNews.setLikeCount(dmNews.getLikeCount()+1);
dmNewsService.updateDmNews(dmNews); return AjaxResult.success();
}
/**
* 查询轮播图列表
*/
@GetMapping("/dmBanner/list")
public TableDataInfo listDmBanner()
{
startPage();
List<DmBanner> list = bannerService.selectDmBannerList(null);
return getDataTable(list);
} /**
* 修改密码
* @param param
* @return
*/
@PostMapping("/modifyPassword")
@ResponseBody
public AjaxResult modifyPassword(@RequestBody PasswordForm param){
// 从session中获取当前登录用户
String oldPassword = param.getPassword();
String newPassword = param.getNewpassword();
String newPassword2 = param.getNewpassword2(); if(StringUtils.isEmpty(oldPassword)){
return AjaxResult.error("原密码不能为空!");
} if(StringUtils.isEmpty(newPassword)){
return AjaxResult.error("新密码不能为空!");
} if(StringUtils.isEmpty(newPassword2)){
return AjaxResult.error("确认密码不能为空!");
} if(oldPassword.equals(newPassword)){
return AjaxResult.error("新密码不能和旧密码一致!");
} if(newPassword.length() > 10 || newPassword.length() < 3){
return AjaxResult.error("新密码长度必须为3-10之间!");
} // 根据用户名查询用户
SysUser user = userService.selectUserByUsername(param.getUsername());
String realPassword = user.getPassword();
if(!(oldPassword.equals(realPassword))){
return AjaxResult.error("原密码输入错误!");
} if(!(newPassword.equals(newPassword2))){
return AjaxResult.error("新密码输入不一致!");
} user.setPassword(newPassword); userService.updateSysUser(user); return AjaxResult.success();
} }

大米新闻微信小程序和Springboot新闻管理系统项目源码的更多相关文章

  1. 检测微信小程序是否被反编译获取源码

    众所周知,微信小程序的代码安全性很弱,很容易被别人反编译获取源码.我自己的小程序也被别人反编译拿到源码还上线了,非常无语. 既然客户端不好防范,服务端还是可以做点手脚的. 小程序的Referer是不可 ...

  2. 微信小程序自定义Tabber,附详细源码

    目录 1,前言 2,说明 3,核心代码 1,前言 分享一个完整的微信小程序自定义Tabber,tabber按钮可以设置为跳转页面,也可以设置为功能按钮.懒得看文字的可以直接去底部,博主分享了小程序代码 ...

  3. 微信小程序 跳一跳 外挂 C# winform源码

    昨天微信更新了,出现了一个小游戏“跳一跳”,玩了一下 赶紧还蛮有意思的 但纯粹是拼手感的,玩了好久,终于搞了个135分拿了个第一名,没想到过一会就被朋友刷下去了,最高的也就200来分把,于是就想着要是 ...

  4. 微信小程序初探(二):阅读官方demo源码

    阅读demo有助于理解逻辑,而且demo源码中应该包含了框架开发人员想要表达的意思的精华,先从app.js着手来阅读. 附带贴下说明: https://mp.weixin.qq.com/debug/w ...

  5. 使用wepy开发微信小程序商城第一篇:项目初始化

    使用wepy开发微信小程序商城 第一篇:项目初始化 前言: wepy小程序项目初始化的操作,官方文档看了好几遍,感觉写得不是很清楚. 这篇写得挺好的:小程序开发之wepy 1.初始化项目 (1)全局安 ...

  6. springboot+mybatis+bootstrap开发员工oa后台管理系统项目源码

    java项目源码详情描述:S020<springboot+mybatis+bootstrap开发员工oa后台管理系统项目源码>jboa项目有请假以及报销单的申请和审核session共享加登 ...

  7. 微信小程序< 2 > ~ 微信小程序之头条新闻

    简介 上一篇文章,主要是介绍下微信小程序的开发环境安装和微信组件什么的一些基础的开发内容,所以最近一直在业余找练手的机会.由于之前没有接触过JS,自己学习起来还算是比较的吃力,一点一点的来吧!要持久. ...

  8. 微信小程序后台springboot+mybatis+mysql“采坑”集锦

    "采坑"错误集锦 1.service层 错误描述:2019-04-14 22:09:52.027 ERROR 8416 --- [nio-8082-exec-5] o.a.c.c. ...

  9. 微信小程序开发之普通链接二维码

    本文主要介绍扫普通链接二维码打开小程序, 详情请看官方文档https://mp.weixin.qq.com/debug/wxadoc/introduction/qrcode.html 配置普通链接二维 ...

  10. 微信小程序开发(三)项目目录及文件结构

    第二章我们已经创建了一个Hello WXapplet示例小程序.我们从文件目录结构来了解Hello WXapplet项目的构成. 目录结构显示,在小程序项目的根目录下面包含3个app开头的文件(app ...

随机推荐

  1. [转帖]shell编程:shell变量的核心基础知识与实战(二)

    shell编程:shell变量的核心基础知识与实战(二) https://www.cnblogs.com/luoahong/articles/9152039.html Shell 变量类型 变量可以分 ...

  2. [转帖] 记一次使用gdb诊断gc问题全过程

    记一次使用gdb诊断gc问题全过程   原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处. 简介# 上次解决了GC长耗时问题后,系统果然平稳了许多,这是之前的文章<G ...

  3. java浅拷贝BeanUtils.copyProperties引发的RPC异常 | 京东物流技术团队

    背景 近期参与了一个攻坚项目,前期因为其他流程原因,测试时间已经耽搁了好几天了,本以为已经解决了卡点,后续流程应该顺顺利利的,没想到 人在地铁上,bug从咚咚来~ 没有任何修改的服务接口,抛出异常: ...

  4. ElementUI实现表格(table) 行上下移动的效果

    参考地址 https://blog.csdn.net/sunshine0508/article/details/88390155 看大佬的地址 <div id="app"&g ...

  5. KubeSphere2.1踩坑记

    至少两台机器.推荐4X16.(完全安装KubeSphere会吃掉10G+内存) k8s安装(略1.14.8)可参考我上一篇文章或者基于kubeadmin快速安装 KubeSphere2.1前置条件 1 ...

  6. MacBook m2 笔记本 + k8s容器环境开发笔记

    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 为最近两周在 MacBook m2 + k8s 容器环境的 ...

  7. 【验证码逆向专栏】某验深知 V2 业务风控逆向分析

    声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容.敏感网址.数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 本文章未经许 ...

  8. 从python3到python2的踩坑

    为什么要从py3到py2 背景:之前自学写过一些py3,而且我写的工具是基于python3来写的,但是公司项目是使用python2版本,希望已有工具或者新写的工具能同时在py2和py3上执行,所以记录 ...

  9. Vue双向数据绑定原理-下

    Vue双向数据绑定原理-下这一篇文章主要讲解Vue双向数据绑定的原理,主要是通过Object.defineProperty()来实现的,这里我们手写Vue双向数据绑定的原理. 首先我提出一个需求,我的 ...

  10. 微信小程序-behaviors

    什么是 behaviors behaviors 是用于组件间代码共享的特性,类似于一些编程语言中的 "mixins" 每个 behavior 可以包含一组属性,数据,生命周期函数和 ...