博客系统——VBLOG_项目工程框架搭建
VBLOG_项目工程框架搭建
一、架构设计
采用前后端分离架构设计:
api:后端接口服务
golang 开发的 restful 接口
使用 mysql 做数据存储
web:vue3 前端框架
前端框架: vue3,vue-router
ui组件:arco.design(头条开源组件库)
二、接口设计
### 功能接口
2.1、管理员
- 文章上传接口
- 标题
- 标签
- 内容(后期搞个oss做图床)
- 文章管理接口
- 创建文章(Create),需要认证后才能执行
- URI: http://localhost:/vblog/api/v1/blogs/:blog_id
- Method: POST
- Body: Blog创建对象
- 删除文章(Delete),需要认证后才能执行
- URI: http://localhost:/vblog/api/v1/blogs/:blog_id
- Method: DELETE
- 更新文章(Update),需要认证后才能执行
- URI: http://localhost:/vblog/api/v1/blogs/:blog_id
- Method: PUT(全量更新)/PATH(部分更新)
- 文章列表(List),无认证接口
- URI: http://localhost:/vblog/api/v1/blogs/
- Method: GET
- Params:
- page_size: 分页的大小,默认20个
- page_number: 页码,默认第一页
- status: 草稿(管理员才能查)/发布(管理员/浏览人员)
- keywords: 关键字搜索
- 文章详情(Get),无认证接口
- URI: http://localhost/vblog/api/v1/blogs/:blog_id
- Method: GET
- 文章发布:修改文章的状态发布
- URL: http://localhost:/vblog/api/v1/blogs/:blog_id/status
- Method: POST
- Body: 状态名称
- 标签管理接口
- 添加标签(Create),需要认证才能执行
- URI: http://localhost:/vblog/api/v1/tags/
- Method: POST
- 删除标签(Delete),需要认证才能执行
- URI: http://localhost:/vblog/api/v1/tags/
- Method: DELETE
- Params:
- blog_
- 添加标签(Create),需要认证才能执行
2.2、浏览用户
- 文章上传接口
- 标题
- 标签
- 内容(后期搞个oss做图床)
- 文章管理接口
- 创建文章(Create),需要认证后才能执行
- URI: http://localhost:/vblog/api/v1/blogs/:blog_id
- Method: POST
- Body: Blog创建对象
- 删除文章(Delete),需要认证后才能执行
- URI: http://localhost:/vblog/api/v1/blogs/:blog_id
- Method: DELETE
- 更新文章(Update),需要认证后才能执行
- URI: http://localhost:/vblog/api/v1/blogs/:blog_id
- Method: PUT(全量更新)/PATH(部分更新)
- 文章列表(List),无认证接口
- URI: http://localhost:/vblog/api/v1/blogs/
- Method: GET
- Params:
- page_size: 分页的大小,默认20个
- page_number: 页码,默认第一页
- keywords: 关键字搜索
- 文章详情(Get),无认证接口
- URI: http://localhost/vblog/api/v1/blogs/:blog_id
- Method: GET
- 文章发布:修改文章的状态发布
- URL: http://localhost:/vblog/api/v1/blogs/:blog_id/status
- Method: POST
- Body: 状态名称
- 标签管理接口
- 添加标签(Create),需要认证才能执行
- URI: http://localhost:/vblog/api/v1/tags/
- Method: POST
- 删除标签(Delete),需要认证才能执行
- URI: http://localhost:/vblog/api/v1/tags/
- Method: DELETE
- 添加标签(Create),需要认证才能执行
三、原型设计
四、后端API开发
五、数据库设计
共 2 张表
1 2 3 4 5 6 7 | mysql> show create database vblog; + ----------+-------------------------------------------------------------------+ | Database | Create Database | + ----------+-------------------------------------------------------------------+ | vblog | CREATE DATABASE `vblog` /*!40100 DEFAULT CHARACTER SET utf8mb4 */ | + ----------+-------------------------------------------------------------------+ 1 row in set (0.02 sec) |
----------------------------------------
表 blog: 用于存储文章
id: 博客ID
title_img: 文章的标题图片(oss的地址)
title_name: 文章的标题
sub_title: 子标签
content: 博客内容
sumary: 摘要
author: 文章的作者
creat_at: 创建时间
update_at: 更新时间
publish_at:发布时间
status: 草稿/发布
1 2 3 4 5 6 7 8 9 10 11 12 13 | | blog | CREATE TABLE `blog` ( `id` int (11) NOT NULL COMMENT '博客ID' , `title_img` text NOT NULL COMMENT '标题的图片' , `title_name` varchar (255) NOT NULL COMMENT '标题的名称' , `sub_title` text NOT NULL COMMENT '子标题' , `content` text NOT NULL COMMENT '文章的内容' , `author` varchar (255) NOT NULL COMMENT '文章作者' , `create_at` int (11) NOT NULL COMMENT '创建时间(时间戳)' , `update_at` int (11) NOT NULL COMMENT '更新时间' , `publish_at` int (11) NOT NULL COMMENT '发布时间' , `status` tinyint(1) NOT NULL COMMENT '0: 草稿 ; 1:发布' , PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 | |
表 tag: 用于存储文章标签
blog_id: 关联的博客ID
key: 标签的名称
value: 标签的value
color: 标签的颜色
create_at: 创建的时间
1 2 3 4 5 6 7 8 | | tag | CREATE TABLE `tag` ( ` key ` varchar (255) NOT NULL COMMENT '标签的名称' , `value` varchar (255) NOT NULL COMMENT '标签的值' , `blog_id` int (11) NOT NULL COMMENT '关联的文章' , `create_at` int (11) NOT NULL COMMENT '创建时间' , `color` varchar (255) NOT NULL COMMENT '标签的颜色' , UNIQUE KEY `idx_id` (` key `,`value`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 | |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具