metadata

package
v1.3.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 22, 2024 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package metadata 下载淘宝API文档metadata, 生成Golang SDK

Index

Constants

View Source
const (
	// DOC_CENTER_URL 档中心链接,用于获取_tb_token_ cookie
	DOC_CENTER_URL = "https://open.taobao.com/docCenter"

	// API_CATELOG_URL 文档类目地址
	API_CATELOG_URL = "https://open.taobao.com/handler/document/getApiCatelogConfig.json?scopeId=&treeId=&docId=285&docType=2&tag=&_tb_token_="
)

Variables

View Source
var ConflictModels []string

ConflictModels conflict_models 命名冲突struct

View Source
var PkgsConfig []PkgConfig

PkgsConfig SDK各分包配置

Functions

func AlignTplParams added in v1.2.2

func AlignTplParams(params []TplParam)
func DocLink(docID int64) string

DocLink API文档链接

func DocURL added in v1.2.8

func DocURL(docID int64, tbToken string) string

DocURL 单API文档地址

Types

type ApiCatelog

type ApiCatelog struct {
	Name    string `json:"name,omitempty"`    // API 方法名
	Tips    string `json:"tips,omitempty"`    // tips
	SubName string `json:"subName,omitempty"` // subname
	Id      int64  `json:"id,omitempty"`      // API ID
	DocId   int64  `json:"docId,omitempty"`   // API 文档ID
	DocType int    `json:"docType,omitempty"` // API 文档类型
}

ApiCatelog 淘宝API文档单API结构体

type ApiCatelogData

type ApiCatelogData struct {
	TreeCategories []ApiTreeCategory `json:"treeCategories,omitempty"` // 类目树列表
	Name           string            `json:"name,omitempty"`           // 名称
	Id             int64             `json:"id,omitempty"`             // ID
}

ApiCatelogData 淘宝API文档类目结果结构体

type ApiCatelogResponse

type ApiCatelogResponse struct {
	Data    ApiCatelogData `json:"data,omitempty"`    // 返回成功数据
	Code    string         `json:"code,omitempty"`    // 错误代码
	ErrMsg  string         `json:"errMsg,omitempty"`  // 错误信息
	Success bool           `json:"success,omitempty"` // 是否成功
}

ApiCatelogResponse 载淘宝API文档类目返回结果结构体

func (ApiCatelogResponse) Error

func (res ApiCatelogResponse) Error() string

Error implement Error interface

func (ApiCatelogResponse) IsError

func (res ApiCatelogResponse) IsError() bool

IsError 判断是否为错误

type ApiCatelogTree

type ApiCatelogTree struct {
	CatelogList []ApiCatelog `json:"catelogList,omitempty"` // API列表
	Name        string       `json:"name,omitempty"`        // 类目名
	Id          int64        `json:"id,omitempty"`          // 类目ID
}

ApiCatelogTree 淘宝API文档单类目结构体

type ApiDoc

type ApiDoc struct {
	RequestParams  []ApiParam `json:"requestParams,omitempty"`  // 请求参数
	ResponseParams []ApiParam `json:"responseParams,omitempty"` // 返回参数
	Name           string     `json:"name,omitempty"`           // API 方法名
	ChineseName    string     `json:"apiChineseName,omitempty"` // API 中文名
	Description    string     `json:"description,omitempty"`    // API 描述
	Id             int64      `json:"id,omitempty"`             // API ID
}

ApiDoc 淘宝API文档结构体

func (ApiDoc) ApiTpl

func (d ApiDoc) ApiTpl() ApiTpl

ApiTpl 淘宝API文档转golang API 模版结构体

func (ApiDoc) Filename

func (d ApiDoc) Filename() string

Filename 获取淘宝API文档保存文件名

func (ApiDoc) Title

func (d ApiDoc) Title() string

Title 获取淘宝API文档对应golang API名

type ApiDocResponse

type ApiDocResponse struct {
	Data    ApiDoc `json:"data,omitempty"`    // 成功数据
	Code    string `json:"code,omitempty"`    // 错误代码
	ErrMsg  string `json:"errMsg,omitempty"`  // 错误信息
	Success bool   `json:"success,omitempty"` // 是否成功
}

ApiDocResponse 下载淘宝API文档返回结果

func (ApiDocResponse) Error

func (res ApiDocResponse) Error() string

Error implement Error interface

func (ApiDocResponse) IsError

func (res ApiDocResponse) IsError() bool

IsError 判断是否为error

type ApiParam

type ApiParam struct {
	SubParams   []ApiParam   `json:"subParams,omitempty"`   // 对象包含参数
	Name        string       `json:"name,omitempty"`        // 参数名
	Type        ApiParamType `json:"type,omitempty"`        // 参数类型
	Description string       `json:"description,omitempty"` // 描述
	MaxLength   json.Number  `json:"maxLength,omitempty"`   // 最大长度
	MaxListSize json.Number  `json:"maxListSize,omitempty"` // 列表最大数量
	MaxValue    json.Number  `json:"maxValue,omitempty"`    // 最大值
	MinValue    json.Number  `json:"minValue,omitempty"`    // 最小值
	Required    bool         `json:"required,omitempty"`    // 是否必须
	UsePointer  bool         `json:"use_pointer,omitempty"` // 生成SDK是否使用指针
}

ApiParam is 淘宝API文档字段结构体

func (ApiParam) TplParam

func (p ApiParam) TplParam(apiName string) TplParam

TplParam 转化为API模版参数结构体

type ApiParamType

type ApiParamType = string

ApiParamType 淘宝API文档字段类型

const (
	// STRING_PARAM_TYPE 字符串类型
	STRING_PARAM_TYPE ApiParamType = "String"

	// NUMBER_PARAM_TYPE 数值类型
	NUMBER_PARAM_TYPE ApiParamType = "Number"

	// DATE_PARAM_TYPE 日期类型
	DATE_PARAM_TYPE ApiParamType = "Date"

	// FIELD_LIST_PARAM_TYPE 列表类型
	FIELD_LIST_PARAM_TYPE ApiParamType = "Field List"

	// BOOLEAN_PARAM_TYPE 布尔类型
	BOOLEAN_PARAM_TYPE ApiParamType = "Boolean"

	// PRICE_PARAM_TYPE 价格类型
	PRICE_PARAM_TYPE ApiParamType = "Price"

	// BIG_DECIMAL_PARAM_TYPE Decimal类型
	BIG_DECIMAL_PARAM_TYPE ApiParamType = "BigDecimal"

	// BYTE_PARAM_TYPE byte 类型
	BYTE_PARAM_TYPE ApiParamType = "byte"

	// BYTES_PARAM_TYPE bytes 类型
	BYTES_PARAM_TYPE ApiParamType = "byte[]"

	// JSON_PARAM_TYPE json 类型
	JSON_PARAM_TYPE ApiParamType = "Json"

	// RESULT_PARAM_TYPE Result 类型
	RESULT_PARAM_TYPE ApiParamType = "Result"

	// UNKNOWN_PARAM_TYPE 未知类型
	UNKNOWN_PARAM_TYPE ApiParamType = ""
)

type ApiTpl

type ApiTpl struct {
	RequestParams  []TplParam // 请求参数
	ResponseParams []TplParam // 返回参数
	Pkg            string     // 包名
	ApiName        string     // Api方法名
	Name           string     // Api结构体名
	ResponseKey    string     // ***_response
	SnakeName      string     // snake 化方法名
	ChineseName    string     // 中文名
	Desc           string     // 描述
	IsMultipart    bool       // 是否使用multipart/form
	HasRequestId   bool       // 返回参数中是否已包含RequestId
}

ApiTpl SDK API模版结构体

type ApiTreeCategory

type ApiTreeCategory struct {
	CatelogTrees []ApiCatelogTree `json:"catelogTrees,omitempty"` // 类目列表
	Name         string           `json:"name,omitempty"`         // api catelog tree name
	Id           int64            `json:"id,omitempty"`           // api catelog tree id
}

ApiTreeCategory 淘宝API文档类目树结构体

type PkgConfig

type PkgConfig struct {
	Name string `json:"name,omitempty"` // api catelog name
	Pkg  string `json:"pkg,omitempty"`  // go package name
	Id   int64  `json:"id,omitempty"`   // api catelog id
}

PkgConfig SDK分包配置结构体

type PkgConfigSlice added in v1.1.3

type PkgConfigSlice []PkgConfig

PkgConfigSlice SDK分包配置按Id排序

func (PkgConfigSlice) Len added in v1.1.3

func (p PkgConfigSlice) Len() int

func (PkgConfigSlice) Less added in v1.1.3

func (p PkgConfigSlice) Less(i, j int) bool

func (PkgConfigSlice) Swap added in v1.1.3

func (p PkgConfigSlice) Swap(i, j int)

type TplModel

type TplModel struct {
	Params      []TplParam // struct 成员
	Pkg         string     // 包名
	Name        string     // struct 名
	ImportModel bool       // 是否import github.com/bububa/opentaobao/model
}

TplModel SDK model模版结构体

func ExtractModels

func ExtractModels(params []TplParam) []TplModel

ExtractModels 提取包内包含的结构体

func MergeModels

func MergeModels(models []TplModel) []TplModel

MergeModels 合并包内命名相同结构体

func (TplModel) NeedImportModel added in v1.2.0

func (t TplModel) NeedImportModel() bool

NeedImportModel 判断SDK model模版是否需要引用github.com/bububa/opentaobao/model包

type TplParam

type TplParam struct {
	Obj       []TplParam // 对象类型结构体参数
	Name      string     // 结构体成员名
	Label     string     // 第一个字母小写的
	ParamKey  string     // api 参数的key(json/xml)
	Type      string     // 参数类型
	ObjType   string     // 对象类型的对象名
	SnakeType string     // 对象类型名snake化
	Desc      string     // 描述
	IsObject  bool       // 是否是对象
	IsList    bool       // 是否是数组
	IsNumber  bool       // 是否是说字
	IsBool    bool       // 是否是布尔
	Required  bool       // 是否必须
}

TplParam SDK API模版字段参数结构体

func (TplParam) Align added in v1.2.2

func (p TplParam) Align() int

func (TplParam) IsMultipart

func (p TplParam) IsMultipart() bool

IsMultipart 判断SDK API是否需要使用multipart/form post

func (TplParam) Size added in v1.2.2

func (p TplParam) Size() int

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL