大米新闻微信小程序和Springboot新闻管理系统项目源码
介绍
本项目分为大米news小程序端
和springboot新闻管理系统后台
项目。小程序主要用来新闻展示,后台管理系统用于提供相关新闻API。
项目源码
系统功能演示
大米新闻小程序演示
大米news小程序
功能截图
知识点
- 如何创建并使用自定义组件?
- 如何编写好看的样式CSS?
- 如何对VIEW进行排版布局?
- 如何利用wxParse实现对html内容格式化?
- 如何使用不同类型路由携带参数跳转?
- 如何与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新闻管理系统项目源码的更多相关文章
- 检测微信小程序是否被反编译获取源码
众所周知,微信小程序的代码安全性很弱,很容易被别人反编译获取源码.我自己的小程序也被别人反编译拿到源码还上线了,非常无语. 既然客户端不好防范,服务端还是可以做点手脚的. 小程序的Referer是不可 ...
- 微信小程序自定义Tabber,附详细源码
目录 1,前言 2,说明 3,核心代码 1,前言 分享一个完整的微信小程序自定义Tabber,tabber按钮可以设置为跳转页面,也可以设置为功能按钮.懒得看文字的可以直接去底部,博主分享了小程序代码 ...
- 微信小程序 跳一跳 外挂 C# winform源码
昨天微信更新了,出现了一个小游戏“跳一跳”,玩了一下 赶紧还蛮有意思的 但纯粹是拼手感的,玩了好久,终于搞了个135分拿了个第一名,没想到过一会就被朋友刷下去了,最高的也就200来分把,于是就想着要是 ...
- 微信小程序初探(二):阅读官方demo源码
阅读demo有助于理解逻辑,而且demo源码中应该包含了框架开发人员想要表达的意思的精华,先从app.js着手来阅读. 附带贴下说明: https://mp.weixin.qq.com/debug/w ...
- 使用wepy开发微信小程序商城第一篇:项目初始化
使用wepy开发微信小程序商城 第一篇:项目初始化 前言: wepy小程序项目初始化的操作,官方文档看了好几遍,感觉写得不是很清楚. 这篇写得挺好的:小程序开发之wepy 1.初始化项目 (1)全局安 ...
- springboot+mybatis+bootstrap开发员工oa后台管理系统项目源码
java项目源码详情描述:S020<springboot+mybatis+bootstrap开发员工oa后台管理系统项目源码>jboa项目有请假以及报销单的申请和审核session共享加登 ...
- 微信小程序< 2 > ~ 微信小程序之头条新闻
简介 上一篇文章,主要是介绍下微信小程序的开发环境安装和微信组件什么的一些基础的开发内容,所以最近一直在业余找练手的机会.由于之前没有接触过JS,自己学习起来还算是比较的吃力,一点一点的来吧!要持久. ...
- 微信小程序后台springboot+mybatis+mysql“采坑”集锦
"采坑"错误集锦 1.service层 错误描述:2019-04-14 22:09:52.027 ERROR 8416 --- [nio-8082-exec-5] o.a.c.c. ...
- 微信小程序开发之普通链接二维码
本文主要介绍扫普通链接二维码打开小程序, 详情请看官方文档https://mp.weixin.qq.com/debug/wxadoc/introduction/qrcode.html 配置普通链接二维 ...
- 微信小程序开发(三)项目目录及文件结构
第二章我们已经创建了一个Hello WXapplet示例小程序.我们从文件目录结构来了解Hello WXapplet项目的构成. 目录结构显示,在小程序项目的根目录下面包含3个app开头的文件(app ...
随机推荐
- 远程连接-ssh
- [转帖]shell编程:变量知识进阶(三)
https://www.cnblogs.com/luoahong/articles/9154309.html 1 Shell特殊位置变量 范例1:$n的实践例子 1 2 3 4 5 6 7 8 9 1 ...
- [转帖]Megacli常用命令汇总
MegaCli 是一款管理维护硬件 RAID 软件,可以通过它来了解当前 raid 卡的所有信息,包括 raid 卡的型号,raid 的阵列类型,raid 上各磁盘状态,等 .通常,我们对硬盘当前的状 ...
- [转帖]kubelet 原理解析四:probeManager
https://segmentfault.com/a/1190000022163835 概述 在Kubernetes 中,系统和应用程序的健康检查任务是由 kubelet 来完成的,本文主要讨论kub ...
- 一个Redis dump文件的简要分析过程
摘要 遇到一个老大难的问题. 让帮忙分析一下一个Redis的dump文件. 虽然之前写过了rdb和rdr的文档 但是感觉大家都喜欢拿来主义. 没办法. 今天继续进行深入一点的分析. 原理其实还是基于r ...
- 火狐谷歌浏览器去掉input type=number时控件的方法
html 默认:<input type="number" /></br> 处理:<input type="number" clas ...
- linux如何配置ssh密钥登录
为什么要用ssh密钥登录 购买的服务器设置密码很容易被暴力破解,用密钥登录安全很多.root用户新建的用户也要用密钥登录更安全,如果一直su - 用户名登录 不方便 用xftp等服务上传文件到用户使用 ...
- P7036 [NWRRC2016] Folding
题目简述 有两个矩形,大小分别是 \(W \times Y\) 和 $ w \times y$.现在我们要通过折叠将两个矩阵变成一样. 思路 part1 已知一条边折叠一次会变成 \(\frac{x} ...
- FaceFusion:探索无限创意,创造独一无二的面孔融合艺术!
FaceFusion:探索无限创意,创造独一无二的面孔融合艺术! 它使用先进的图像处理技术,允许用户将不同的面部特征融合在一起,创造有趣和令人印象深刻的效果.这个项目的潜在应用包括娱乐.虚拟化妆和艺术 ...
- 2.1 Windows驱动开发:内核链表与结构体
在Windows内核中,为了实现高效的数据结构操作,通常会使用链表和结构体相结合的方式进行数据存储和操作.内核提供了一个专门用于链表操作的数据结构LIST_ENTRY,可以用来描述一个链表中的每一个节 ...