From 543f33dad607543d6e9b3147eb62c4a8b34d5f12 Mon Sep 17 00:00:00 2001 From: nannanwu Date: Fri, 20 Feb 2026 13:39:03 +0800 Subject: [PATCH] =?UTF-8?q?docs(readme):=20=E8=A1=A5=E5=85=85=E5=AE=8C?= =?UTF-8?q?=E6=95=B4=E9=A1=B9=E7=9B=AE=20README=20=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 增加项目简介及基于 Gin 框架说明 - 详细描述项目目录结构及文件作用 - 提供技术栈信息及版本要求 - 添加快速开始指导,涵盖依赖安装与运行方式 - 说明前台、后台及API路由接口及访问路径 - 介绍控制器层继承关系及基础响应方法 - 说明模板系统使用及示例 - 描述静态资源目录及访问方式 - 详列配置项及开发规范要求 - 增加常见问题及解决方案帮助开发者快速上手 --- README.md | 168 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 166 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 0395ad8..2c1bb5b 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,167 @@ -# GoCode +# GoCode Web 项目 -Go语言学习 \ No newline at end of file +基于 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](https://github.com/gin-gonic/gin) v1.11.0 +- **语言**: Go 1.25+ +- **模板**: Go HTML Template + +## 快速开始 + +### 1. 安装依赖 + +```bash +go mod tidy +``` + +### 2. 运行项目 + +```bash +go run main.go +``` + +或编译后运行: + +```bash +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 模板,填充 `content` block + +示例: +```html +{{ 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` + +## 开发规范 + +1. **控制器**: 按功能模块分组,放在 `controller/` 下 +2. **路由**: 每个模块独立路由文件,统一在 `router/` 管理 +3. **模板**: 布局模板放 `layout/`,页面模板放 `pages/` +4. **静态资源**: CSS 放 `static/`,按功能分文件 + +## 常见问题 + +### 编译错误: missing go.sum entry + +```bash +go mod tidy +``` + +### 端口被占用 + +修改 `main.go` 中的端口号: +```go +r.Run(":8088") // 修改为其他端口 +```