ee2e890c3932c289556d22ccc0aa4b14801384cb
- 增加项目简介及基于 Gin 框架说明 - 详细描述项目目录结构及文件作用 - 提供技术栈信息及版本要求 - 添加快速开始指导,涵盖依赖安装与运行方式 - 说明前台、后台及API路由接口及访问路径 - 介绍控制器层继承关系及基础响应方法 - 说明模板系统使用及示例 - 描述静态资源目录及访问方式 - 详列配置项及开发规范要求 - 增加常见问题及解决方案帮助开发者快速上手
GoCode Web 项目
基于 Gin 框架的 Go Web 应用程序。
项目结构
.
├── controller/ # 控制器层
│ ├── admin/ # 后台管理控制器
│ │ ├── articleController.go # 文章管理
│ │ ├── indexController.go # 后台首页
│ │ └── userController.go # 用户管理
│ ├── api/ # API 接口控制器
│ │ └── apiController.go # API 接口
│ └── nannanwu/ # 前台控制器
│ ├── baseController.go # 基础控制器
│ └── defaultController.go # 默认控制器
├── router/ # 路由配置
│ ├── adminRouter.go # 后台路由
│ ├── apiRouter.go # API 路由
│ └── defaultRouter.go # 默认路由
├── static/ # 静态资源
│ ├── footer.css # 底部样式
│ ├── navbar.css # 导航栏样式
│ └── style.css # 全局样式
├── templates/ # HTML 模板
│ ├── layout/ # 布局模板
│ │ ├── base.html # 基础布局
│ │ ├── footer.html # 底部模板
│ │ └── navbar.html # 导航栏模板
│ └── pages/ # 页面模板
│ ├── index.html # 首页
│ ├── test.html # 测试页
│ └── user.html # 用户页
├── main.go # 程序入口
├── go.mod # Go 模块配置
└── go.sum # Go 依赖校验
技术栈
- 框架: Gin v1.11.0
- 语言: Go 1.25+
- 模板: Go HTML Template
快速开始
1. 安装依赖
go mod tidy
2. 运行项目
go run main.go
或编译后运行:
go build -o app.exe .
./app.exe
3. 访问应用
- 前台首页: http://localhost:8088/
- 后台管理: http://localhost:8088/admin
- API 接口: http://localhost:8088/api
路由说明
前台路由 (/)
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | / |
首页 |
| GET | /article |
文章详情 |
| GET | /success |
成功页面 |
| GET | /error |
错误页面 |
后台路由 (/admin)
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /admin |
后台首页 |
| GET | /admin/login |
登录页面 |
| GET | /admin/plist |
列表页面 |
| GET | /admin/article |
文章列表 |
| GET | /admin/user |
用户列表 |
| GET | /admin/user/:id |
用户详情 |
API 路由 (/api)
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /api |
API 首页 |
| GET | /api/user |
用户信息 |
| GET | /api/plist |
用户列表 |
控制器说明
BaseController
提供基础的响应方法:
Success()- 返回成功响应Error()- 返回错误响应
继承关系
BaseController
└── DefaultController (继承 BaseController)
模板系统
使用 Go 的 html/template,支持模板继承:
- 基础模板:
layout/base.html - 页面模板: 继承 base 模板,填充
contentblock
示例:
{{ define "layout/base" }}
{{ block "content" . }}{{ end }}
{{ end }}
静态资源
静态文件位于 /static 目录,通过 /static/ 路径访问:
- CSS:
/static/style.css - 导航栏样式:
/static/navbar.css - 底部样式:
/static/footer.css
配置说明
- 端口: 8088 (在
main.go中修改) - 模板路径:
templates/**/* - 静态资源:
./static映射到/static
开发规范
- 控制器: 按功能模块分组,放在
controller/下 - 路由: 每个模块独立路由文件,统一在
router/管理 - 模板: 布局模板放
layout/,页面模板放pages/ - 静态资源: CSS 放
static/,按功能分文件
常见问题
编译错误: missing go.sum entry
go mod tidy
端口被占用
修改 main.go 中的端口号:
r.Run(":8088") // 修改为其他端口
Languages
Go
49.7%
HTML
27.2%
CSS
23.1%