# MyciliBlog
**Repository Path**: coder-msc/mycili-blog
## Basic Information
- **Project Name**: MyciliBlog
- **Description**: 开源的个人博客源代码仓库
- **Primary Language**: Java
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2022-05-25
- **Last Updated**: 2025-07-18
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
## 代码说明
- vueblog 这为后端代码
- blog-view 是前端代码
核心框架:
- Vue框架:Vue2.6.11、Vue Router、Vuex、vue/cli4.5.12
- UI框架:Element UI框架
- 异步请求:Axios
markdown:
- 编辑器:mavon-editor
- 解析渲染:markdown-it
- 样式:github-markdown-c
## 后端
- 核心框架:Spring Boot
- 安全框架:shiro
- Token 认证:jwt
- 持久层框架:MyBatisPlus
- java版本:JDK8
### 首页
- 最新文章: 按照发布时间来进行倒序排序展示
- 导航栏:首页、分类、归档、友链、关于我
- 网站公告
- 博主介绍展示
### 后台管理页面
- 登录功能
- 文章管理:
- 文章发布
- 文章编辑
- 文章删除
###未来需增加的功能
- 手机端适配
- 评论功能--(已经实现)
- 游客统计-- (已经实现)
- 样式美化
- 主题可换
- 后端优化
- 文章详情,新增滚动条,目录导航---(已经实现)
- 新增留言墙功能-参考-恶魔的世界的样式,可拖拽--(已经实现)
- 2022-10-31设想-新增工具条 展示各种在线工具 (已经实现)
- 2022-11-20设想-新增八卦条 展示各种八卦大瓜
##项目快速开始
1. 执行console.sql创建数据库
2. 开启redis
3. idea中修改yml配置,然后运行后端项目
4. 安装npm 在idea中启动前端页面
## 项目线上部署js/backend-bundl
1. 使用docker-compose来编排
2. 需要nginx、redis、后端项目、mysql
3. 配置证书,可申请腾讯、阿里的一年免费证书
4. nginx反向代理,将https请求通过http转给后端容器,避免接口暴露和http的不安全性
### (也可以简单部署,直接运行jar包)
nohup java -jar 项目名.jar &
nohup java -jar vueblog-0.0.1-SNAPSHOT.jar & 复制拿去用吧
前端nginx映射路径
/mydata/nginx
## QQ登录
参考改装后的项目地址:springboot的
https://pan.baidu.com/s/1m0z3NlzvTz0GT-_ZaMezYw?pwd=3872 提取码: 3872
## 留言墙
## 补充脚本
```$xslt
ALTER TABLE `user` ADD qq_openid VARCHAR(20) DEFAULT NULL COMMENT 'QQ的openid' AFTER nickname
-- 订阅内容
CREATE TABLE `subscribe` (
`id` BIGINT(20) NOT NULL AUTO_INCREMENT,
`title` VARCHAR(255) NOT NULL COMMENT '标题',
`grade` INT(10) DEFAULT '1' COMMENT '推荐优先度,分值越大越推荐',
`first_picture` VARCHAR(255) DEFAULT NULL COMMENT '首图',
`description` LONGTEXT NOT NULL COMMENT '简要介绍',
`content` LONGTEXT NOT NULL COMMENT '详细介绍,可带图',
`secret` VARCHAR(255) DEFAULT NULL COMMENT '验证码',
`price` DECIMAL(10) NOT NULL COMMENT '订阅价格',
`create_time` DATETIME NOT NULL COMMENT '创建时间',
`update_time` DATETIME NOT NULL COMMENT '更新时间',
`sub_times` INT(11) NOT NULL COMMENT '订阅次数',
`words` INT(11) NOT NULL COMMENT '文章字数',
`type_id` BIGINT(20) NOT NULL COMMENT '所属分类id',
`user_id` BIGINT(20) DEFAULT NULL COMMENT '文章作者id',
`status` TINYINT(4) DEFAULT NULL COMMENT '状态1、已发布,2编辑中,3下架中',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=INNODB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
-- 订阅记录
CREATE TABLE `sub_record` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`title` varchar(255) NOT NULL COMMENT '标题',
`user_id` int(10) DEFAULT '1' COMMENT '推荐优先度,分值越大越推荐',
`nickname` varchar(255) DEFAULT NULL COMMENT '订阅者昵称',
`username` varchar(255) NOT NULL COMMENT '订阅者名',
`subscribe_id` int(11) NOT NULL COMMENT '订阅内容id',
`first_picture` varchar(255) DEFAULT NULL COMMENT '首图',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
`cost_cc` decimal(10,0) NOT NULL COMMENT '订阅花费',
`status` tinyint(4) DEFAULT NULL COMMENT '状态1、已成功',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
ALTER TABLE TYPE ADD COLUMN type_form INT(1) DEFAULT 0 COMMENT '类型所属,1博客类型,2资源类型'
ALTER TABLE subscribe CHANGE `status` `status` TINYINT(4) DEFAULT NULL COMMENT '状态1、可见,2不可见,3已删除';
ALTER TABLE `user` ADD COLUMN cc DECIMAL(10) DEFAULT 0 COMMENT 'cilicili币' AFTER nickname;
-- 留言墙
CREATE TABLE `guest_message` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL COMMENT '留言者签名',
`name_color` varchar(50) NOT NULL COMMENT '留言者签名颜色',
`ip` varchar(255) DEFAULT NULL COMMENT 'ip',
`ip_source` varchar(255) DEFAULT NULL COMMENT 'ip来源',
`os` varchar(255) DEFAULT NULL COMMENT '操作系统',
`browser` varchar(255) DEFAULT NULL COMMENT '浏览器',
`user_agent` varchar(2000) DEFAULT NULL COMMENT 'user-agent用户代理',
`content` varchar(500) DEFAULT NULL COMMENT '留言内容',
`content_color` varchar(50) DEFAULT NULL COMMENT '留言内容颜色',
`email` varchar(255) DEFAULT NULL COMMENT '留言者邮箱',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
`status` tinyint(4) DEFAULT NULL COMMENT '状态1展示,0不展示',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC
```
### 服务新增访问名,方便后续使用nginx做转发
server:
port: 8083
servlet:
context-path: /server
### nginx配置 见附件
### 额外工具,图床、CDN
```$xslt
java实体类生成工具--在线
https://java.bejson.com/generator/
Java对应xml映射文件生成工具--在线
http://www.javacoder.top/
图床工具
https://github.com/Molunerfinn/PicGo/tags
-- github图床访问不了是真没法了
https://www.jianshu.com/p/51decd726dd1
https://purge.jsdelivr.net/ 这个可以实时刷新
https://cdn.jsdelivr.net/gh/github用户名/仓库名@版本号/文件路径
```
#### 注册中心
```$xslt
#spring.profiles.active=dev
#spring.cloud.nacos.config.namespace=cili
#spring.cloud.nacos.config.prefix=cili
#spring.cloud.nacos.config.file-extension=yml
#spring.cloud.nacos.config.server-addr=129.211.132.143:8848
#spring.cloud.nacos.config.refresh=true
```
#### swagger引入
```aidl
http://127.0.0.1:8083/server/swagger-ui.html#/
http://127.0.0.1:8083/server/doc.html#/home
```
#### 配音
```aidl
https://azure.microsoft.com/zh-cn/services/cognitive-services/text-to-speech/#overview
Englis(lreland)
Connor
```
感谢大佬的开源代码
https://skymo.top/
### Tips
```
出现错误: error: failed to push some refsto‘远程仓库地址
git pull --rebase origin master
git push -u origin master
```