大米新闻微信小程序和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 ...
随机推荐
- 03-MySQL字段的数据类型
前言 MySQL 中的字段,主要有四种数据类型: 整型(整数) 小数 字符串类型 时间日期类型 下面来详细讲一讲. 整数类型 整数类型的分类 MySQL中,整型有五种: 迷你整型:tinyint,使用 ...
- [转帖]XCopy命令实现增量备份
https://www.cnblogs.com/pachongshangdexuebi/p/5051977.html xcopy XCOPY是COPY的扩展,可以把指定的目录连文件和目录结构一并拷贝, ...
- Docker与虚拟化技术浅析第一弹之docker与Kubernetes
1 前言 Docker是一个开源的引擎,可以轻松地为任何应用创建一个轻量级的. 可移植的.自给自足的容器.开发者在笔记本电脑上编译测试通过的容器可以批量地在生产环境中部署,包括VMs (虚拟机).ba ...
- rel分支合并进入dev分支有冲突怎么处理?
rel分支合并进入dev分支有冲突怎么处理? 切换到本地rel 拉取远端rel 切换本地dev 拉去远端dev git merge rel 会出现冲突 解决后 推送到远端就可以
- vue同步组件和异步组件的区别
异步组件 异步组件:只在组件需要渲染(组件第一次显示)的时候进行加载渲染并缓存,缓存是以备下次访问. Vue实现按需加载 在打包的时候,会打包成单独的js文件存储在static/js文件夹里面** 在 ...
- Redux和@reduxjs/toolkit的使用
1. 简介: Redux 是一种用于管理应用程序状态的 JavaScript 库.它是一个可预测的状态容器,可以用于编写 可维护和可扩展的应用程序. @reduxjs/toolkit 是一个官方提供的 ...
- .net web发布至阿里云服务器
1.发 布网站第一步:右键网站主项目,选择 发布网站.如下图 第二步 填写发布网站的相关配置,选择配置文件,新建配置文件 第三步 选择发布的文件存放的位置 第四步,选择Release 再点击下一步,点 ...
- BigDecimal详解和精度问题
JavaGuide :「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识. BigDecimal 是大厂 Java 面试常问的一个知识点. <阿里巴巴 Java 开发 ...
- 将Windows系统设置为NTP服务器之NetTime
之前写过一个将Windows系统设置NTP服务器的随笔,是通过修改Windows的注册表来实现NTP服务器,现在有个更简单的方式,安装一个小插件即可将Windows设置为NTP服务器. 插件 NetT ...
- Socket.D 协议的开发缘由
为什么搞个新协议? 2021年时,想为 Solon 生态 提供一种 MVC 体验的 Socket 和 WebSocket 开发方式.这个想法,要求消息"能路由"."有元信 ...