2024-07-22 16:04:21 +08:00
|
|
|
// Package api_doc ...
|
|
|
|
//
|
|
|
|
// Description : api_doc ...
|
|
|
|
//
|
|
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
|
|
//
|
|
|
|
// Date : 2024-07-22 15:55
|
|
|
|
package api_doc
|
|
|
|
|
|
|
|
import (
|
|
|
|
"git.zhangdeman.cn/gateway/api-doc/define"
|
|
|
|
"git.zhangdeman.cn/zhangdeman/consts"
|
|
|
|
)
|
|
|
|
|
|
|
|
// NewOpenapiDoc ...
|
|
|
|
//
|
|
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
|
|
//
|
|
|
|
// Date : 15:56 2024/7/22
|
|
|
|
func NewOpenapiDoc() *Generate {
|
|
|
|
return &Generate{
|
|
|
|
docData: &define.OpenapiDoc{
|
|
|
|
Openapi: consts.SwaggerDocVersion3,
|
|
|
|
Info: &define.Info{
|
|
|
|
Description: "openapi接口文档",
|
|
|
|
Title: "openapi接口文档",
|
|
|
|
TermsOfService: "",
|
|
|
|
Contact: &define.Contact{
|
|
|
|
Name: "",
|
|
|
|
Url: "",
|
|
|
|
Email: "",
|
|
|
|
},
|
|
|
|
License: &define.License{
|
|
|
|
Name: "",
|
|
|
|
Url: "",
|
|
|
|
},
|
|
|
|
Version: "",
|
|
|
|
},
|
2024-08-14 14:24:30 +08:00
|
|
|
Servers: make([]*define.ServerItem, 0),
|
|
|
|
Components: &define.Components{Schemas: map[string]*define.Schema{}},
|
|
|
|
Tags: make([]*define.TagItem, 0),
|
|
|
|
Paths: make(map[string]*define.PathConfig),
|
2024-07-22 16:04:21 +08:00
|
|
|
},
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// Generate 文档生成实例
|
|
|
|
//
|
|
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
|
|
//
|
|
|
|
// Date : 15:57 2024/7/22
|
|
|
|
type Generate struct {
|
|
|
|
docData *define.OpenapiDoc
|
|
|
|
}
|
2024-08-14 14:24:30 +08:00
|
|
|
|
|
|
|
// AddTag 新增tag
|
|
|
|
//
|
|
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
|
|
//
|
|
|
|
// Date : 14:23 2024/8/14
|
|
|
|
func (g *Generate) AddTag(tagName string, tagDesc string) {
|
|
|
|
isHasTag := false
|
|
|
|
for _, item := range g.docData.Tags {
|
|
|
|
if item.Name == tagName {
|
|
|
|
if len(tagDesc) > 0 {
|
|
|
|
item.Description = tagDesc
|
|
|
|
}
|
|
|
|
isHasTag = true
|
|
|
|
break
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if !isHasTag {
|
|
|
|
g.docData.Tags = append(g.docData.Tags, &define.TagItem{
|
|
|
|
Name: tagName,
|
|
|
|
Description: tagDesc,
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (g *Generate) AddApi() {
|
|
|
|
|
|
|
|
}
|