# TeaGo **Repository Path**: eason4798_admin/tea-go ## Basic Information - **Project Name**: TeaGo - **Description**: gcourt@163.com - **Primary Language**: Go - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-12-26 - **Last Updated**: 2026-01-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🍵 TeaGo - 类似喜茶的线上点单系统(Go 后端) TeaGo 是一个基于 Go 语言开发的轻量级线上点单系统后端,适用于奶茶、果茶等饮品小程序。支持微信登录、商品浏览、门店查询、下单支付模拟等功能,适合作为毕业设计、全栈练习或创业原型。 🚀 **已实现核心功能:** - 微信小程序登录(code 换 session) - JWT 自动签发与认证 - 商品分类展示 + 门店信息 - 订单创建与订单详情 - 基于 GORM 的数据库操作 - RESTful API 设计 --- ## 🔧 技术栈 | 类别 | 技术 | |------|-------------------------------| | 后端语言 | Go 1.20+ | | Web 框架 | [Gin](https://gin-gonic.com/) | | ORM | [GORM v2](https://gorm.io/) | | 数据库 | MySQL | | 认证机制 | JWT(HS256) | | 部署环境 | Linux / Docker(可选) | --- ## 📦 功能模块 | 模块 | 说明 | |------|------| | ✅ 用户系统 | 微信登录自动注册用户 | | ✅ 商品管理 | 分类展示饮品列表 | | ✅ 门店信息 | 查询营业中的门店 | | ✅ 下单功能 | 创建订单 + 订单项 | | ✅ 订单管理 | 查看订单详情、我的订单 | | 🔐 权限控制 | 中间件验证 JWT Token | --- ## 🚀 快速启动 ### 1. 克隆项目 ```bash git clone https://gitee.com/yourname/teago.git cd teago ``` ### 2. 安装依赖 ``` go mod tidy ``` ### 3. 准备数据库 确保你已安装 MySQL,并导入初始化 SQL: - 登录 MySQL ``` mysql -u root -p ``` - 创建数据库并导入 ```azure CREATE DATABASE teago CHARACTER SET utf8mb4; USE teago; ``` - 执行 data/init.sql 中的内容 或使用命令行导入: ``` mysql -u root -p teago < data/init.sql ``` ### 4. 修改数据库配置(可选) ``` // config/db.go dsn := "root:your-password@tcp(127.0.0.1:3306)/teago?charset=utf8mb4&parseTime=True&loc=Local" ``` #### ⚠️ 生产环境建议使用 .env 文件管理敏感信息。 ### 5. 启动服务 ``` go run main.go ``` #### 服务将运行在:http://localhost:8080 ### 🌐 API 接口文档 🔑 微信登录(获取 Token) ``` GET /api/v1/auth/wxlogin?code=xxx ``` ### 🍂 获取商品列表 ``` GET /api/v1/products ``` ### 🏪 获取门店列表 ``` GET /api/v1/stores ``` ### 🛒 创建订单 ``` POST /api/v1/orders ``` Headers: Authorization: Bearer Body: ```http request { "store_id": 1, "items": [ { "product_id": 1, "quantity": 2, "notes": "少糖" } ], "order_type": 1 } ``` ### 📦 我的订单 GET /api/v1/orders Headers: Authorization: Bearer ### 🔍 订单详情 GET /api/v1/orders/:id Headers: Authorization: Bearer ### 🗂️ 项目结构 ```text teago/ ├── config/ # 数据库配置 ├── data/ # 初始化 SQL 脚本 ├── handlers/ # 控制器逻辑 ├── middleware/ # JWT 认证中间件 ├── models/ # 数据模型 ├── routes/ # 路由定义 ├── utils/ # 工具函数(JWT、订单号生成) ├── main.go # 入口文件 └── go.mod # Go 模块依赖 ``` ### 🤝 贡献指南 欢迎提交 Issue 和 Pull Request! #### 💡 提出新功能建议 #### 🐞 报告 Bug #### 📚 补全文档 #### 📝 TODO(未来计划) - 支持订单状态轮询(制作中 / 可取餐) - 添加购物车功能 - 管理后台接口(店员查看新订单) - 使用 Redis 缓存热门商品 - Docker 部署支持 ### 🎉 致谢 感谢 Gin、GORM 社区提供的优秀开源工具! ### 👉 如果你觉得这个项目有帮助,请点个 ⭐ Star 支持一下! 📬 联系我 - Email: gcourt@163.com - Gitee:https://gitee.com/eason4798_admin/tea-go.git - 日期:2025 年 12 月