大米新闻微信小程序和Springboot新闻管理系统项目源码

介绍

本项目分为大米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();
    }


}
posted @ 2022-12-28 16:49  一锤子技术员  阅读(19)  评论(0编辑  收藏  举报  来源