【097】基于SpringBoot+Vue实现的个人社区博客管理系统

系统介绍

演示视频

小白博客2.0(Springboot+Vue)源码+数据库+讲解视频+设计文档

基于SpringBoot+Vue实现的小白博客2.0系统设计了超级管理员、系统观察者、用户三种角色,超级管理员可对用户授权,具体实现的功能如下

  • 文章采用了比较火的Markdown编辑器。
  • 系统集成了邮件发送功能。
  • 系统可以自定义友情链接。
  • 系统主页推荐文章 / 热门文章(展示最近n天用户访问量最多的10篇文章)。
  • 集成了百度IP定位API,记录用户的登陆地址及IP归属地展示。
  • 用户发布博客附带文件实现了目录文件结构的树形展示。
  • 系统注册新用户实行邮箱绑定制、单个邮箱注册账号不得超过3个。
  • 系统实行积分制,下载资源需要扣除相应积分,同样被下载资源的用户会得到一定积分的奖励。
  • 用户可以通过每日签到获取免费积分,单日签到次数不超过1次。
  • 集成了支付宝支付功能,系统已经实现了支付宝沙箱环境的对接。
  • 系统尽可能实现可配置,前台信息管理端可自定义配置。
  • 系统实现了对博客的点赞、收藏、评论等功能,也可对自己心仪的博主进行打赏。
  • 系统实现了匿名预览功能,匿名账号拥有系统最高查看权限(除DMML操作,该账号止咳查看、无法进行增删改操作、不会对系统造成影响)
  • 前后端通过token进行交互,token30分钟内持续操作无感知续时(只要用户在操作,永不过期)

技术选型

开发工具:idea2020.3+Webstorm2020.3

运行环境:jdk1.8+maven3.6.0+MySQL5.7+nodejs14.21.3+Redis(此配置为小白调试所用,仅供参考)

服务端技术:Springboot+Mybatis-plus+SpringSecurity+邮件发送+支付宝支付

前端技术:html+css+Vue+axios+Element-UI+echarts+vue-element-admin

成果展示

前台系统

前台首页

image-20240226135518861

登录页

image-20240226140404481

文章详情页

image-20240226140843921

举报文章

image-20240226143348182

文章发布页

image-20240226141110887

个人中心->个人资料

image-20240226141620112

个人中心-个性化设置

image-20240226141942632

管理员登录页

image-20240226135704099

管理员首页

image-20241027235410660

用户管理

image-20240226142146256

image-20240226142446426

定时任务管理

image-20240226142534977

image-20240226142636360

关于本站

image-20240226142846975

首页管理

image-20240226143006448

博客审核

image-20240226143206712

举报管理

image-20240226143511693

image-20240226143758558

日志管理

image-20240226143857937

交易类型管理

image-20240226143938897

代码展示

package com.cxs.controller;import com.cxs.base.BaseResult;
import com.cxs.dto.UserLoginDTO;
import com.cxs.service.BaseService;
import com.cxs.service.UserService;
import com.google.code.kaptcha.Producer;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import javax.imageio.ImageIO;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.awt.image.BufferedImage;
import java.io.IOException;/** @Project:cxs-currency-sys-server* @Author:cxs* @Motto:放下杂念,只为迎接明天更好的自己* */
@RestController
@RequestMapping("/auth")
@Api(tags = "用户认证控制器")
public class AuthController {@Autowiredprivate UserService userService;@Autowiredprivate Producer captchaProducer;@Autowiredprivate BaseService baseService;@PostMapping("/login")@ApiOperation("用户登录认证处理器")public BaseResult login(@RequestBody @Validated UserLoginDTO dto, HttpServletRequest request, HttpServletResponse response){BaseResult result = BaseResult.ok();userService.login(dto, request, response, result);return result;}@PostMapping("/admin/login")@ApiOperation("管理员登录认证处理器")public BaseResult adminLogin(@RequestBody @Validated UserLoginDTO dto, HttpServletRequest request){BaseResult result = BaseResult.ok();userService.adminLogin(dto, request, result);return result;}@PostMapping("/checkToken")@ApiOperation("用户令牌检查处理器")public BaseResult checkToken(HttpServletRequest request){BaseResult result = BaseResult.ok();userService.checkToken(request, result);return result;}@GetMapping("/getValidateCode")@ApiOperation("获取验证码处理器")public BaseResult getValidateCode(HttpServletRequest request){BaseResult result = BaseResult.ok();baseService.getValidateCode(result);return result;}
}

账号地址及其他说明

1、地址说明

前台首页:http://localhost:3000/

管理端登录页:http://localhost:9527

系统集成接口文档地址:http://localhost:2022/doc.html

2、账号说明

管理员:admin/123456

用户:user/1234567890!

3、目录结构展示

image-20241028000855019

视频讲解教程、以及配套10000+字设计文档(包含需求分析各种图、ER、模型、用例、活动…)

包含如下部分,

  • 目录结构介绍
  • 数据库介绍
  • 用户登录及认证流程讲解
  • 异步路由菜单流程的实现
  • 签到
  • AOP实现日志记录
  • Mybatis插件实现观察者功能
  • 支付宝支付
  • 二次开发流程
  • 网站信息自定义
  • 新手如何分析前后端数据交互
  • 一键部署到公网(一条命令)

image-20241027225226407

配套文档:

image-20241027225703444

4、项目结构展示

image-20241028000140283
5、运行步骤

见部署视频

源码获取

源码编号:097

添加下方名片回复:09

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/719.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

LM Head weights;ChatGPT-3词汇量:175,000;llama7b 词汇量,词嵌入维度:4096

目录 LM Head weights ChatGPT-3词汇量:175,000 llama7b 词汇量 词汇量:32000 max_position_embeddings: 4096 LM Head weights ChatGPT-3词汇量:175,000 ChatGPT-4 确切的词向量种类数量公开信息。但可以根据一些语言模型的相关知识进行推测分析。 一般来说,语言模…

ArcGIS005:ArcMap常用操作101-150例动图演示

摘要:本文涵盖了GIS软件操作的多方面内容,包括地图文档的新建、打开、保存及版本兼容性处理;错误与警告的查阅及帮助文档的使用技巧;地图打印比例尺的调整与地图信息的完善;图层操作的撤销与恢复,界面元素的…

Chrome和夸克谁更护眼

在当今数字化时代,我们每天长时间面对电脑和手机屏幕,眼睛的健康问题变得越来越重要。浏览器作为我们日常使用频率极高的工具,其护眼功能的优劣直接影响到我们的视觉舒适度。本文将对Chrome和夸克两款主流浏览器进行对比,探讨它们…

WPF+MVVM案例实战(十二)- 3D数字翻牌计时实现

文章目录 1、运行效果2、功能实现1、文件创建2、控件代码实现3、控件引用与菜单实现1.引用用户控件2.按钮菜单3、计时器界面实现4、源代码获取1、运行效果 3D数字翻牌计时 2、功能实现 1、文件创建 打开项目 Wpf_Examples ,在用户控件 UserControlLib 中创建 NumberFoldi…

一、计算机网络概述,《计算机网络(自顶向下方法 第7版,James F.Kurose,Keith W.Ross)》

文章目录 [toc]零、前言一、什么是Internet1.1 从具体构成角度1.2 什么是协议1.3 从服务角度1.4 网络结构 二、网络边缘2.1 通讯模式2.2 采用网络设施的面向连接服务2.3 采用基础设施的无连接服务 三、网络核心3.1 认识网络核心3.2 网络核心:电路交换3.2.1 基本原理…

闯关leetcode——234. Palindrome Linked List

大纲 题目地址内容 解题代码地址 题目 地址 https://leetcode.com/problems/palindrome-linked-list/description/ 内容 Given the head of a singly linked list, return true if it is a palindrome or false otherwise. Example 1: Input: head [1,2,2,1] Output: tru…

K8S自建企业私有云方案 单台起配 NVMe全闪存储性能

作为老牌存储硬件厂商,Infortrend这回开了一把大的。在一套设备系统里,将计算节点、存储与Kubernetes结合,打造出EonStor KS IEC(Infortrend企业云),将硬件与软件、前端与后端、上层与底层统一融合在一套系…

Rust 力扣 - 73. 矩阵置零

文章目录 题目描述题解思路题解代码题目链接 题目描述 题解思路 我们使用两个变量记录矩阵初始状态的第一行与第一列是否存在0 然后我们遍历矩阵(跳过第一行与第一列),如果矩阵中元素为0则将该元素映射到矩阵第一行与矩阵第一列的位置置为0…

6款IntelliJ IDEA插件,让Spring和Java开发如虎添翼

文章目录 1、SonarLint2、JRebel for IntelliJ3、SwaggerHub插件4、Lombok插件5、RestfulTool插件6、 Json2Pojo插件7、结论 对于任何Spring Boot开发者来说,两个首要的目标是最大限度地提高工作效率和确保高质量代码。IntelliJ IDEA 是目前最广泛使用的集成开发环境…

Node.js:ES6 模块化 Promise

Node.js:ES6 模块化 & Promise ES6 模块化默认导入导出按需导入导出 Promise构造状态thencacheallraceasyncawait ES6 模块化 在Node.js中,遵循的是CommonJS的模块化规范,使用require方法导入模块,使用moudule.exports导出模…

利用STM32控制3D打印机时优化打印精度的教学

引言 在3D打印的过程中,打印精度直接影响到最终产品的质量与性能。STM32作为一种强大的微控制器,广泛应用于3D打印机的控制系统中。本文将介绍如何利用STM32控制3D打印机,并提供优化打印精度的具体方法,包括环境准备、代码示例、常…

基于 MATLAB的混沌序列图像加密算法的研究

一、设计目的及意义 3 二、研究现状 3 三、设计内容 3 四、开发环境 3 五、分析设计 3 1、设计要求 3 2、设计原理 3 3、涉及到的程序代码 ........................................... 4 4、主要思想 6 六、 果及分析 6 1、运行示例 6 2、 果 估 8 七、参考文献 9 八 、 研 究…

了解密钥推导函数KDF-HMAC-SHA-256

引言 在现代密码学中,密钥推导函数(KDF,Key Derivation Functions)扮演着至关重要的角色。它们允许从主密钥或密码生成一个或多个固定长度的密钥,用于各种加密操作。KDF的设计目标是确保从同一主密钥生成的多个密钥在统…

什么是数字签名技术?

信息安全五要素 名称说明机密性机密性是指网络信息不泄露给非授权的用户、实体或程序,能够防止非授权者获取信息完整性完整性是指网络信息或系统未经授权不能进行更改的特性可用性可用性是指合法许可的用户能够及时获取网络信息或服务的特性可控性可控性是指可以控…

clickhouse运维篇(三):生产环境一键生成配置并快速部署ck集群

前提条件:先了解集群搭建流程是什么样,需要改哪些配置,有哪些环境,这个文章目的是简化部署。 clickhouse运维篇(一):docker-compose 快速部署clickhouse集群 clickhouse运维篇(二&am…

Hms?: 1渗透测试

靶机:Hms?: 1 Hms?: 1 ~ VulnHub 攻击机:kail linux 2024 主机扫描阶段发现不了靶机,所以需要按DriftingBlues2一样手动配置网卡 1,将两台虚拟机网络连接都改为NAT模式,并查看靶机的MAC地址 2,攻击机上做主机扫描发现…

论文阅读- --DeepI2P:通过深度分类进行图像到点云配准

目前存在的问题: 单模态配准具有局限性,多模态研究很少跨模态图像到点云配准问题是求解相机坐标系与点云之间的旋转矩阵R ∈ SO(3)和平移向量t ∈ R3。 这个问题很困难,因为由于缺乏点到像素的对应关系,无法使用 ICP、PnP 和捆绑调…

R语言贝叶斯分层、层次(Hierarchical Bayesian)模型房价数据空间分析

原文链接:https://tecdat.cn/?p38077 本文主要探讨了贝叶斯分层模型在分析区域数据方面的应用,以房价数据为例,详细阐述了如何帮助客户利用R进行模型拟合、分析及结果解读,展示了该方法在处理空间相关数据时的灵活性和有效性。&a…

警务辅助人员管理系统小程序ssm+论文源码调试讲解

2系统关键技术 2.1 微信小程序 微信小程序,简称小程序,英文名Mini Program,是一种全新的连接用户与服务的方式,可以快速访问、快速传播,并具有良好的使用体验。 小程序的主要开发语言是JavaScript,它与普…

Webserver(2.7)内存映射

目录 内存映射内存映射相关系统调用内存映射的注意事项如果对mmap的返回值(ptr)做操作,释放内存(munmap)是否能够成功?如果open时O_RDONLY,mmap时prot参数指定PROT_READ | PROT_WRITE会怎样?如果文件偏移量…