# go_webApp
**Repository Path**: phonenix/go_web-app
## Basic Information
- **Project Name**: go_webApp
- **Description**: 通用web项目开发脚手架
- **Primary Language**: Go
- **License**: MIT
- **Default Branch**: master
- **Homepage**: https://gitee.com/phonenix/go_web-app
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2023-05-06
- **Last Updated**: 2023-05-29
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# goWebApp
English -
简体中文 -
繁體中文 (中國臺灣) -
Español -
日本語
## 项目介绍
[](https://codecov.io/gh/EDDYCJY/go-gin-example)
[](https://goreportcard.com/report/github.com/EDDYCJY/go-gin-example)
[](https://godoc.org/github.com/EDDYCJY/go-gin-example)
此项目用于快速开发通用脚手架,包含了常用的功能,如:日志、数据库、定时任务、接口限流、接口限速、接口鉴权、接口参数校验、接口文档等。
遵循 RESTful API 设计规范,结构清晰,非常适合学习和中小型项目使用。
如果对您有帮助,您可以点右上角 "Star" 支持一下 谢谢!
---
## 功能模块
项目提供了以下开箱即用的功能模块:
- [x] restful api 设计
- [x] gin web框架
- [x] jwt-go 身份认证
- [x] gorm 数据库orm工具
- [ ] cron 定时任务
- [x] zap 日志 日志分割
- [x] viper 配置文件
- [ ] 接口 限流 限速
- [ ] 接口参数校验
- [ ] swagger 文档
- [ ] 优雅重启或停止
---
## 项目结构:
```bash
├── api # 接口
│ ├── v1 # 接口版本1
│ │ ├── cronjob.go # 定时任务接口
├── conf # 配置文件
│ ├── config.go
│ └── config.ini
├── dao # 数据库操作
│ ├── cronjob.go # 定时任务数据库操作
│ ├── init.go # 数据库初始化
│ ├── migration # 数据库迁移
├── middlerware # 中间件
│ ├── JWT.go # JWT token 验证
│ ├── LoggerToFile.go # 日志中间件
├── model # 数据库模型
│ ├── base.go # 数据库基础模型
│ ├── cronjob.go # 定时任务数据库模型
│ ├── platformOrders.go # 平台订单模型
│ ├── reminder.go # 提醒模型
├── pkg #
│ ├── cronjob # 定时任务
│ │ ├── cronjob.go # 定时任务
│ │ ├── hcloud.go # 海典药事云审方
│ │ ├── hydeeOms.go # 海典omsB2C审单
│ │ ├── init.go # 初始化定时任务
│ │ ├── medicalInsuranceDataUpload.go # 威海医保采集数据上传
│ │ ├── oms.go # 海典oms库存比对
│ │ ├── saveMtEleSupportedCompensationOrder.go # 保存美团支持赔付订单
│ │ ├── saveO2oOrderRawInfo.go # 保存O2O订单原始信息
│ │ ├── struct.go # O2O订单原始数据结构体
│ ├── e # 错误码 常量
│ │ ├── code.go # 错误码
│ │ ├── eleStoreCode.go # 饿佰门店编码
│ │ ├── msg.go # 错误信息
│ │ ├── mtStoreCode.go # 美团门店编码
│ ├── util # 工具类
│ │ ├── callphone.go # 电话提醒
│ │ ├── clientOracle.go # oracle数据库链接
│ │ ├── eleClient.go # 饿佰接口
│ │ ├── enterpriseWeChatMessage.go # 企业微信消息提醒
│ │ ├── hydee.go # 获取海典token
│ │ ├── logger.go # 日志 日志分割
│ │ ├── log # 日志工具 测试
│ │ ├── mtClient.go # 美团接口
│ │ ├── mtCode.go # 美团门店编码
│ │ ├── omsStruct.go # oms接口
│ │ ├── request.go # 请求工具
│ │ ├── sm4.go # sm4加密解密工具
│ │ ├── sysServerMonitor.go # 系统运行状态监控
│ │ ├── wechat.go # 微信提醒 废弃,使用企业微信enterpriseWeChatMessage.go 代替
├── go.mod
├── go.sum
├── internal
│ ├── dao
│ │ ├── dao.go
│ │ └── dao_test.go
│ ├── model
│ │ ├── model.go
│ │ └── model_test.go
│ ├── router
├── README.md # 说明文档
```
## docker 操作
### 创建mysql数据库
```sql
CREATE
DATABASE test;
CREATE
USER 'test'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON test.* TO
'test'@'%';
```
## swagger
```bash
go install github.com/swaggo/swag/cmd/swag@latest
swag init
```