前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >适合构建个人IP的系统

适合构建个人IP的系统

作者头像
BUG弄潮儿
发布于 2025-04-26 12:24:21
发布于 2025-04-26 12:24:21
10300
代码可运行
举报
文章被收录于专栏:JAVA乐园JAVA乐园
运行总次数:0
代码可运行

今天分享一个博客系统,无论是想搭建自己的博客系统;还是想找一个骨架比较齐全的系统去学习,这个博客系统都非常不错。

项目特点

  • 采用Markdown编辑器,写法简单。
  • 评论支持表情输入回复等
  • 前后端分离部署,适应当前潮流。
  • 接入第三方登录,减少注册成本。
  • 留言采用弹幕墙,更加炫酷。
  • 支持代码高亮和复制,图片预览,深色模式等功能,提升用户体验。
  • 搜索文章支持高亮分词,响应速度快。
  • 新增文章目录、推荐文章等功能,优化用户体验。
  • 新增aop注解实现日志管理
  • 支持动态权限修改,采用RBAC模型,前端菜单和后台权限实时更新。
  • 后台管理支持修改背景图片,博客配置等信息,操作简单,支持上传相册。
  • 代码支持多种搜索模式(Elasticsearch或MYSQL),可支持配置。
  • 代码支持多种文件上传模式(七牛云oss或本地上传),可支持配置。
  • 代码遵循阿里巴巴开发规范,利于开发者学习。
  • 使用websocket技术实现博客群聊功能,支持发送表情、动图、文件、语音、图片

项目技术

  • 门户-前端:vue2.0 + Vuex + vue-router + axios + elementUi
  • 管理系统-前端:vue3.0 + pinia + vue-router + axios + element-plus + echarts
  • 后端:SpringBoot + nginx + docker + sa-token + Swagger2 + MyBatisPlus + Mysql + Redis + elasticsearch

项目部署

项目源码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://gitee.com/quequnlong/shiyi-blog

项目结构介绍

  • 前端项目

blog-web为前台

blog-admin为后台

  • 后端项目

blog

  • SQL脚本

mj-blog.sql

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
blog
├── mojian-admin    --  后台管理系统的controller模块
├── mojian-common        --  通用模块
├── mojian-auth        --  认证模块
├── mojian-file        --  文件模块
├── mojian-quartz        --  定时任务模块
├── mojian-server        --  博客启动类模块
├── mojian-api           --  门户接口模块

可直接导入该项目于本地,修改后端配置文件中的数据库等连接信息,项目中使用到的关于七牛云功能和第三方授权登录等需要自行开通。

克隆项目到本地后可使用账号:`admin1,密码:11234561 进行登录

本地访问接口文档地址:http://127.0.0.1:8800/shiyi/doc.html

项目演示

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://admin.shiyit.com/#/login

账号: test

密码: 123456

项目欣赏

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-04-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 BUG弄潮儿 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
【C语言笔记】如何查看数据类型范围?
1. 知识点一:查看整数范围 当前的编译环境下,你可能不知道int的数据范围是多少,或者记不清无符号短整型的范围是0~65535还是0~65536?这时候就可以按照如下程序进行输出查看: #inclu
正念君
2019/06/26
2.6K0
【C语言笔记】如何查看数据类型范围?
【C语言笔记】分享一个C语言测试程序模板
平时需要测试一些比较模糊的知识点,或则想要验证一些函数时,我们常常会建一个test.c文件,然后在这个文件里写我们的测试代码,测试完毕后常常会删掉该文件。下次再遇到同样的问题的时候,可能又是记不清楚了,常常又需要测试一遍,这是件很浪费时间的事情。
正念君
2019/06/26
2.8K0
【C语言笔记】分享一个C语言测试程序模板
C/C++魔法宏
1. 魔法宏 _LINE_ : 代表该行代码的所在行号; _FILE_ : 代表源文件的文件名; _DATE_ : 代表该源文件被编译的(月 日 年)日期格式; _TIME_ : 代表该源文件被编译的(时:分:秒)时间格式; _FUNCTION_ : 代表该源代码中插入当前所在函数名称; _STDC_ : 当该程序严格遵循ANSI C标准时该标识被赋值为1; __cplusplus:当编写的C++程序时该标识符被定义。 2. 示例 1 #include <iostream> 2 3 int main(int
Qt君
2019/07/15
5920
嵌入式软件开发常用的关键字和运算符
volatile是一个特征修饰符,提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,告诉编译器对该变量不做优化,都会直接从变量内存地址中读取数据,从而可以提供对特殊地址的稳定访问。
不脱发的程序猿
2023/12/04
2540
C/C++代码调试:快速定位内存的申请和释放的位置
如果大型项目中出现类似于*** glibc detected *** logcacheinit: double free or corruption (fasttop): 0x00000000017db7f0 ***的错误。更糟糕的是项目既是多线程又是多个节点分布式运行的话,调试定位double free实在让人头痛。内核在程序崩溃的时候,这个信息只给出了被释放两次的内存地址,却没有给出程序出现两次内存释放的具体位置,这就需要我们自己动手排查。
恋喵大鲤鱼
2018/08/03
1.1K0
【C语言】预编译
main.c 6 Mar 15 2022 07:38:23 main 1
謓泽
2023/02/22
9990
【C语言】预编译
C语言打印程序行号、日期方便调试程序
平时开发C语言程序时,经常需要调试代码,C语言有一些宏,可以打印出当前的行号、文件名称、日期、时间,对程序的调试起到很大的帮助,可以快速定位问题。特别是开发单片机程序时,使用这些宏打印这些信息或者在LCD上显示程序的编译日期、时间,可以知道这个单片机上的固件是什么时候编译。帮助判断版本。
DS小龙哥
2022/06/17
2.2K0
C语言打印程序行号、日期方便调试程序
C语言从入门到实战——预处理详解
C语言预处理是C语言编译过程的一个阶段,它在编译之前对源代码进行一系列的处理操作,包括宏替换、文件包含、条件编译等,最终生成经过预处理的代码,然后再进行编译。
鲜于言悠
2024/03/20
7080
初识C语言·预处理详解
使用就是直接打印就好了,因为VS是不支持ANSI C标准的,支持的话返回值就是1
_lazy
2024/10/16
1180
初识C语言·预处理详解
编程这么久, 它们了解多少(一)
对于日志,一般情况下可以设置日志输出等级、输出到终端或文件、输出到每个文件的大小、日志被覆盖的策略,还有的可以在程序运行过程中更改日志的等级,或者将日志输出到远程服务器(至今没有接触到)等。
用户5908113
2020/11/09
4810
编程这么久, 它们了解多少(一)
一行代码就能写一个日志打印组件,你信吗?为你揭晓RTOS中日志打印组件的核心
在学习LiteOS日志打印组件使用的时候,我记录了一篇博客:atiny_log | LiteOS 物联网操作系统中的日志打印组件使用分享,关于实验的具体内容,请阅读这篇博客(点击阅读原文即可访问)。
Mculover666
2020/07/16
9460
一行代码就能写一个日志打印组件,你信吗?为你揭晓RTOS中日志打印组件的核心
c++/c 获取cpp文件行号跟文件名
编译器内置宏: 先介绍几个编译器内置的宏定义,这些宏定义不仅可以帮助我们完成跨平台的源码编写,灵活使用也可以巧妙地帮我们输出非常有用的调试信息。 ANSI C标准中有几个标准预定义宏(也是常用的): __LINE__:在源代码中插入当前源代码行号; __FILE__:在源文件中插入当前源文件名; __DATE__:在源文件中插入当前的编译日期 __TIME__:在源文件中插入当前编译时间; __STDC__:当要求程序严格遵循ANSI C标准时该标识被赋值为1; __cplusplus:当编写C++程序时该
hbbliyong
2018/03/06
1.9K0
C语言进阶(十五) - 预处理与程序编译初步解析
本节主要介绍程序运行前的预处理(预编译)阶段的相关知识。同时简单介绍一个程序是如何从一行行代码到开始运行并得到结果的。
怠惰的未禾
2023/04/27
4890
C语言进阶(十五) - 预处理与程序编译初步解析
预处理详解
我们知道switch 语句中,每一个case分支都需要在末尾加上break,才能真正实现分支,而我们有时候就很容易以往break,这时我们可以这样来写:
星辰与你
2024/10/17
1310
预处理详解
UIP协议栈移植到u-boot详解「建议收藏」
Author: 杨正 date:2014.11.5 Email:y2012ww@gmail.com QQ: 1209758756
全栈程序员站长
2022/11/03
1.3K0
C/C++总结
freopen("CONOUT$", "w", stdout);//重定向输出到控制台
用户7886150
2021/02/20
8530
预处理
这些宏定义不仅可以帮助我们完成跨平台的源码编写,灵活使用也可以巧妙地帮我们输出非常有用的调试信息
DeROy
2020/05/11
8260
C语言 第八章 函数、指针与宏
该文介绍了如何在C++中实现一个简单的链表,包括链表节点的定义、基本操作的定义和链表的基本操作。同时,还介绍了在C++中如何实现链表,以及链表的一些常见应用场景。
张果
2018/01/03
9500
C语言 第八章 函数、指针与宏
Tool之预定义的宏
编译器都会预定义一些宏,这些宏是不可取消的,来看看VxWorks中可能用到的这几个
Taishan3721
2019/11/11
7790
Tool之预定义的宏
程序环境和预处理
在一个工程中,我们需要协作,那必须创建多个源文件(test.c),那么每个源文件经过编译器编译变为test.obj,再由链接器加链接库把test.obj文件变为test.exe可执行文件。 
The sky
2023/04/12
3790
程序环境和预处理
相关推荐
【C语言笔记】如何查看数据类型范围?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档