78 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			78 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
// Package router ...
 | 
						|
//
 | 
						|
// Description : router ...
 | 
						|
//
 | 
						|
// Author : go_developer@163.com<白茶清欢>
 | 
						|
//
 | 
						|
// Date : 2025-02-14 21:48
 | 
						|
package router
 | 
						|
 | 
						|
import (
 | 
						|
	"reflect"
 | 
						|
 | 
						|
	apiDoc "git.zhangdeman.cn/zhangdeman/api-doc"
 | 
						|
	"git.zhangdeman.cn/zhangdeman/api-doc/define"
 | 
						|
)
 | 
						|
 | 
						|
func NewDoc(info *define.Info, servers []*define.ServerItem) *Doc {
 | 
						|
	if nil == info {
 | 
						|
		info = &define.Info{
 | 
						|
			Description:    "",
 | 
						|
			Title:          "",
 | 
						|
			TermsOfService: "",
 | 
						|
			Contact: &define.Contact{
 | 
						|
				Name:  "",
 | 
						|
				Url:   "",
 | 
						|
				Email: "",
 | 
						|
			},
 | 
						|
			License: nil,
 | 
						|
			Version: "",
 | 
						|
		}
 | 
						|
	}
 | 
						|
	if nil == info.Contact {
 | 
						|
		info.Contact = &define.Contact{
 | 
						|
			Name:  "",
 | 
						|
			Url:   "",
 | 
						|
			Email: "",
 | 
						|
		}
 | 
						|
	}
 | 
						|
	if nil == info.License {
 | 
						|
		info.License = &define.License{
 | 
						|
			Name: "",
 | 
						|
			Url:  "",
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return &Doc{
 | 
						|
		instance: apiDoc.NewOpenapiDoc(
 | 
						|
			apiDoc.WithDocDescription(info.Description),
 | 
						|
			apiDoc.WithDocTitle(info.Title),
 | 
						|
			apiDoc.WithDocContactEmail(info.Contact.Email),
 | 
						|
			apiDoc.WithDocContactName(info.Contact.Name),
 | 
						|
			apiDoc.WithDocLicense(info.License.Name),
 | 
						|
			apiDoc.WithDocServers(servers),
 | 
						|
		),
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
type Doc struct {
 | 
						|
	instance *apiDoc.Generate
 | 
						|
}
 | 
						|
 | 
						|
// Add 增加接口文档测试
 | 
						|
//
 | 
						|
// Author : go_developer@163.com<白茶清欢>
 | 
						|
//
 | 
						|
// Date : 21:55 2025/2/14
 | 
						|
func (d *Doc) Add(routePrefix string, paramType reflect.Type, resultType reflect.Type) {
 | 
						|
	_ = d.instance.AddApiFromInAndOut(routePrefix, paramType, resultType)
 | 
						|
}
 | 
						|
 | 
						|
// Data 文档数据
 | 
						|
//
 | 
						|
// Author : go_developer@163.com<白茶清欢>
 | 
						|
//
 | 
						|
// Date : 21:59 2025/2/14
 | 
						|
func (d *Doc) Data() *define.OpenapiDoc {
 | 
						|
	return d.instance.Doc()
 | 
						|
}
 |