一个基于 Go + Gin + GORM + SQLite 构建的轻量级博客系统,支持用户注册、登录、博文管理等功能。

用户认证
博文管理
管理员功能
模板渲染
myblog/ ├── config/ # 配置管理 ├── handler/ # 请求处理器 │ ├── admin/ # 管理员处理器 │ ├── auth/ # 认证处理器 │ ├── post/ # 博文处理器 │ └── user/ # 用户处理器 ├── middleware/ # 中间件 ├── pkg/ # 核心包 │ ├── auth/ # JWT 认证 │ └── model/ # 数据模型 ├── router/ # 路由配置 │ ├── admin/ # 管理员路由 │ ├── auth/ # 认证路由 │ ├── post/ # 博文路由 │ ├── templates/ # 模板路由 │ └── user/ # 用户路由 ├── static/ # 静态文件 ├── templates/ # HTML 模板 ├── .env # 环境配置 ├── go.mod # Go 模块依赖 └── main.go # 程序入口
git clone <repository-url>
cd myblog
go mod download
复制 .env 文件并根据需要修改配置:
# 服务相关配置 SERVER_PORT=8080 GIN_MODE=debug # JWT 相关配置 SECRET=123456 JWT_EXPIRE_HOURS=24 # 数据库相关配置 DB_NAME=myblog
go run main.go
服务将在 http://localhost:8080 启动。
go build -o myblog ./myblog
POST /api/register - 用户注册POST /api/login - 用户登录GET /api/posts - 获取博文列表GET /api/posts/:id - 获取博文详情POST /api/posts - 创建博文(需认证)PUT /api/posts/:id - 更新博文(需认证)DELETE /api/posts/:id - 删除博文(需认证)GET /api/admin - 管理员后台(需认证)GET /api/ping - 健康检查/ - 首页/login - 登录页面/register - 注册页面/posts/new - 新建博文/posts/:id - 博文详情/user/posts - 用户博文管理/dashboard - 用户仪表盘/admin - 管理员后台项目启动时会自动执行数据库迁移,创建必要的数据表。
在 .env 中设置 GIN_MODE=debug 启用调试模式。
在 .env 中设置 GIN_MODE=release 启用生产模式。
| 配置项 | 说明 | 默认值 |
|---|---|---|
| SERVER_PORT | 服务端口 | 8080 |
| GIN_MODE | Gin 运行模式 (debug/release) | debug |
| SECRET | JWT 密钥 | 123456 |
| JWT_EXPIRE_HOURS | JWT Token 过期时间(小时) | 24 |
| DB_NAME | 数据库名称 | myblog |
本项目采用 MIT 许可证。
欢迎提交 Issue 和 Pull Request。