Skip to content

JasonMetal/submodule-support-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

support-go

运行环境

  • 开发语言: go1.18+
  • 开发框架: gin
  • RPC框架: grpc
  • 数据库: mysql, redis
  • 消息队列:
  • 代码管理工具:

github

地址

https://github.com/JasonMetal/submodule-support-go

分支说明

  • main:正式环境
  • test:测试环境, 主要提供给测试同学测试使用
  • bvt:预发环境, 正式环境数据库一致, 预发环境测试通过后才可以发布线上环境

目录结构

.
├── Dockerfile          
├── LICENSE
├── README.md
├── app                 # 应用代码
│   ├── entity            # 各种结构体定义
│   ├── grpc              # 提供GRPC服务
│   ├── http              # 提供HTTP服务
│   ├── logic             # 逻辑层
│   ├── models            # 数据模型层,数据表实体类
│   └── services          # 服务层
├── bootstrap          
│   ├── app.go
│   ├── config.go
│   ├── database.go
│   └── redis.go 
├── config              # 各个环境配置
│   ├── bvt
│   ├── local
│   ├── online
│   └── test
├── go-build.sh         # 用于ci构建
├── go.mod
├── go.sum
├── helpers             # 常用类库封装
│   ├── config
│   ├── env
│   ├── errors
│   ├── logger
│   └── strings
├── http-server
├── main.go             # 入口文件
└── routes              # 路由文件夹
    ├── base.go
    ├── other.go
    └── prize.go    
    

本地环境配置

  1. 拉取代码

    git clone git@github.com:JasonMetal/submodule-support-go.git
  2. 启动

    go run main.go -e=local # 本地可以省略local

git-子模块

gitlab地址

使用说明

顺序流程图

新模块路由配置:

  1. routes目录中新建: 新路由名(例如:brand.go)
package router

import (
	"fmt"
	"github.com/gin-gonic/gin"
	"support-go/app/http/controllers/brand"
)

func RegisterOther(router *gin.Engine) {
	fmt.Println("Registered brand router")
	v2 := router.Group("/v2")
	{
		// http://127.0.0.1:50069/v2/test1/detail
		v2.GET("/test1/detail", func(ctx *gin.Context) {
			testOne.NewTestOne(ctx).GetTest1()
		})
		
		// http://127.0.0.1:50069/v2/test1/update
		v2.POST("/test1/update", func(ctx *gin.Context) {
			testOne.NewTestOne(ctx).UpdateTest1()
		})
	}
}
  1. 控制器(app/http/controllers/brand)
package prize

import (
	"github.com/gin-gonic/gin"
	"support-go/app/http/controllers"
	"support-go/app/logic/prize"
	"strconv"
)

type PrizeController struct {
	controllers.BaseController
}

func NewPrizeController(ctx *gin.Context) *PrizeController {
	return &PrizeController{
		controllers.NewBaseBaseController(ctx),
	}
}

func (p *PrizeController) GetList() {
	prizeLogic := prize.NewPrizeLogic(p.GCtx)
	rid, err := strconv.ParseInt(p.GetQueryDefault("rid", "0").Val, 10, 32)
	if err != nil {
		rid = 0
	}

	ranking := prizeLogic.GetPrizeList(uint32(rid))
	p.Success(ranking)
}

相关文档

About

for gin-develop-template

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages