imagesearch-20200212/client/client.go (920 lines of code) (raw):
// This file is auto-generated, don't edit it. Thanks.
package client
import (
endpointutil "github.com/alibabacloud-go/endpoint-util/service"
openplatform "github.com/alibabacloud-go/openplatform-20191219/client"
fileform "github.com/alibabacloud-go/tea-fileform/service"
oss "github.com/alibabacloud-go/tea-oss-sdk/client"
ossutil "github.com/alibabacloud-go/tea-oss-utils/service"
rpcutil "github.com/alibabacloud-go/tea-rpc-utils/service"
rpc "github.com/alibabacloud-go/tea-rpc/client"
util "github.com/alibabacloud-go/tea-utils/service"
"github.com/alibabacloud-go/tea/tea"
"io"
)
type SearchImageByNameRequest struct {
CategoryId *int `json:"CategoryId,omitempty" xml:"CategoryId,omitempty"`
InstanceName *string `json:"InstanceName,omitempty" xml:"InstanceName,omitempty" require:"true"`
ProductId *string `json:"ProductId,omitempty" xml:"ProductId,omitempty" require:"true"`
PicName *string `json:"PicName,omitempty" xml:"PicName,omitempty" require:"true"`
Num *int `json:"Num,omitempty" xml:"Num,omitempty"`
Start *int `json:"Start,omitempty" xml:"Start,omitempty"`
Filter *string `json:"Filter,omitempty" xml:"Filter,omitempty"`
}
func (s SearchImageByNameRequest) String() string {
return tea.Prettify(s)
}
func (s SearchImageByNameRequest) GoString() string {
return s.String()
}
func (s *SearchImageByNameRequest) SetCategoryId(v int) *SearchImageByNameRequest {
s.CategoryId = &v
return s
}
func (s *SearchImageByNameRequest) SetInstanceName(v string) *SearchImageByNameRequest {
s.InstanceName = &v
return s
}
func (s *SearchImageByNameRequest) SetProductId(v string) *SearchImageByNameRequest {
s.ProductId = &v
return s
}
func (s *SearchImageByNameRequest) SetPicName(v string) *SearchImageByNameRequest {
s.PicName = &v
return s
}
func (s *SearchImageByNameRequest) SetNum(v int) *SearchImageByNameRequest {
s.Num = &v
return s
}
func (s *SearchImageByNameRequest) SetStart(v int) *SearchImageByNameRequest {
s.Start = &v
return s
}
func (s *SearchImageByNameRequest) SetFilter(v string) *SearchImageByNameRequest {
s.Filter = &v
return s
}
type SearchImageByNameResponse struct {
RequestId *string `json:"RequestId,omitempty" xml:"RequestId,omitempty" require:"true"`
Success *bool `json:"Success,omitempty" xml:"Success,omitempty" require:"true"`
Code *int `json:"Code,omitempty" xml:"Code,omitempty" require:"true"`
Msg *string `json:"Msg,omitempty" xml:"Msg,omitempty" require:"true"`
Auctions []*SearchImageByNameResponseAuctions `json:"Auctions,omitempty" xml:"Auctions,omitempty" require:"true" type:"Repeated"`
Head *SearchImageByNameResponseHead `json:"Head,omitempty" xml:"Head,omitempty" require:"true" type:"Struct"`
PicInfo *SearchImageByNameResponsePicInfo `json:"PicInfo,omitempty" xml:"PicInfo,omitempty" require:"true" type:"Struct"`
}
func (s SearchImageByNameResponse) String() string {
return tea.Prettify(s)
}
func (s SearchImageByNameResponse) GoString() string {
return s.String()
}
func (s *SearchImageByNameResponse) SetRequestId(v string) *SearchImageByNameResponse {
s.RequestId = &v
return s
}
func (s *SearchImageByNameResponse) SetSuccess(v bool) *SearchImageByNameResponse {
s.Success = &v
return s
}
func (s *SearchImageByNameResponse) SetCode(v int) *SearchImageByNameResponse {
s.Code = &v
return s
}
func (s *SearchImageByNameResponse) SetMsg(v string) *SearchImageByNameResponse {
s.Msg = &v
return s
}
func (s *SearchImageByNameResponse) SetAuctions(v []*SearchImageByNameResponseAuctions) *SearchImageByNameResponse {
s.Auctions = v
return s
}
func (s *SearchImageByNameResponse) SetHead(v *SearchImageByNameResponseHead) *SearchImageByNameResponse {
s.Head = v
return s
}
func (s *SearchImageByNameResponse) SetPicInfo(v *SearchImageByNameResponsePicInfo) *SearchImageByNameResponse {
s.PicInfo = v
return s
}
type SearchImageByNameResponseAuctions struct {
CategoryId *int `json:"CategoryId,omitempty" xml:"CategoryId,omitempty" require:"true"`
ProductId *string `json:"ProductId,omitempty" xml:"ProductId,omitempty" require:"true"`
PicName *string `json:"PicName,omitempty" xml:"PicName,omitempty" require:"true"`
CustomContent *string `json:"CustomContent,omitempty" xml:"CustomContent,omitempty" require:"true"`
SortExprValues *string `json:"SortExprValues,omitempty" xml:"SortExprValues,omitempty" require:"true"`
IntAttr *int `json:"IntAttr,omitempty" xml:"IntAttr,omitempty" require:"true"`
StrAttr *string `json:"StrAttr,omitempty" xml:"StrAttr,omitempty" require:"true"`
}
func (s SearchImageByNameResponseAuctions) String() string {
return tea.Prettify(s)
}
func (s SearchImageByNameResponseAuctions) GoString() string {
return s.String()
}
func (s *SearchImageByNameResponseAuctions) SetCategoryId(v int) *SearchImageByNameResponseAuctions {
s.CategoryId = &v
return s
}
func (s *SearchImageByNameResponseAuctions) SetProductId(v string) *SearchImageByNameResponseAuctions {
s.ProductId = &v
return s
}
func (s *SearchImageByNameResponseAuctions) SetPicName(v string) *SearchImageByNameResponseAuctions {
s.PicName = &v
return s
}
func (s *SearchImageByNameResponseAuctions) SetCustomContent(v string) *SearchImageByNameResponseAuctions {
s.CustomContent = &v
return s
}
func (s *SearchImageByNameResponseAuctions) SetSortExprValues(v string) *SearchImageByNameResponseAuctions {
s.SortExprValues = &v
return s
}
func (s *SearchImageByNameResponseAuctions) SetIntAttr(v int) *SearchImageByNameResponseAuctions {
s.IntAttr = &v
return s
}
func (s *SearchImageByNameResponseAuctions) SetStrAttr(v string) *SearchImageByNameResponseAuctions {
s.StrAttr = &v
return s
}
type SearchImageByNameResponseHead struct {
DocsReturn *int `json:"DocsReturn,omitempty" xml:"DocsReturn,omitempty" require:"true"`
DocsFound *int `json:"DocsFound,omitempty" xml:"DocsFound,omitempty" require:"true"`
SearchTime *int `json:"SearchTime,omitempty" xml:"SearchTime,omitempty" require:"true"`
}
func (s SearchImageByNameResponseHead) String() string {
return tea.Prettify(s)
}
func (s SearchImageByNameResponseHead) GoString() string {
return s.String()
}
func (s *SearchImageByNameResponseHead) SetDocsReturn(v int) *SearchImageByNameResponseHead {
s.DocsReturn = &v
return s
}
func (s *SearchImageByNameResponseHead) SetDocsFound(v int) *SearchImageByNameResponseHead {
s.DocsFound = &v
return s
}
func (s *SearchImageByNameResponseHead) SetSearchTime(v int) *SearchImageByNameResponseHead {
s.SearchTime = &v
return s
}
type SearchImageByNameResponsePicInfo struct {
CategoryId *int `json:"CategoryId,omitempty" xml:"CategoryId,omitempty" require:"true"`
Region *string `json:"Region,omitempty" xml:"Region,omitempty" require:"true"`
AllCategories []*SearchImageByNameResponsePicInfoAllCategories `json:"AllCategories,omitempty" xml:"AllCategories,omitempty" require:"true" type:"Repeated"`
}
func (s SearchImageByNameResponsePicInfo) String() string {
return tea.Prettify(s)
}
func (s SearchImageByNameResponsePicInfo) GoString() string {
return s.String()
}
func (s *SearchImageByNameResponsePicInfo) SetCategoryId(v int) *SearchImageByNameResponsePicInfo {
s.CategoryId = &v
return s
}
func (s *SearchImageByNameResponsePicInfo) SetRegion(v string) *SearchImageByNameResponsePicInfo {
s.Region = &v
return s
}
func (s *SearchImageByNameResponsePicInfo) SetAllCategories(v []*SearchImageByNameResponsePicInfoAllCategories) *SearchImageByNameResponsePicInfo {
s.AllCategories = v
return s
}
type SearchImageByNameResponsePicInfoAllCategories struct {
Id *int `json:"Id,omitempty" xml:"Id,omitempty" require:"true"`
Name *string `json:"Name,omitempty" xml:"Name,omitempty" require:"true"`
}
func (s SearchImageByNameResponsePicInfoAllCategories) String() string {
return tea.Prettify(s)
}
func (s SearchImageByNameResponsePicInfoAllCategories) GoString() string {
return s.String()
}
func (s *SearchImageByNameResponsePicInfoAllCategories) SetId(v int) *SearchImageByNameResponsePicInfoAllCategories {
s.Id = &v
return s
}
func (s *SearchImageByNameResponsePicInfoAllCategories) SetName(v string) *SearchImageByNameResponsePicInfoAllCategories {
s.Name = &v
return s
}
type SearchImageByPicRequest struct {
CategoryId *int `json:"CategoryId,omitempty" xml:"CategoryId,omitempty"`
InstanceName *string `json:"InstanceName,omitempty" xml:"InstanceName,omitempty" require:"true"`
PicContent *string `json:"PicContent,omitempty" xml:"PicContent,omitempty" require:"true"`
Crop *bool `json:"Crop,omitempty" xml:"Crop,omitempty"`
Region *string `json:"Region,omitempty" xml:"Region,omitempty"`
Num *int `json:"Num,omitempty" xml:"Num,omitempty"`
Start *int `json:"Start,omitempty" xml:"Start,omitempty"`
Filter *string `json:"Filter,omitempty" xml:"Filter,omitempty"`
}
func (s SearchImageByPicRequest) String() string {
return tea.Prettify(s)
}
func (s SearchImageByPicRequest) GoString() string {
return s.String()
}
func (s *SearchImageByPicRequest) SetCategoryId(v int) *SearchImageByPicRequest {
s.CategoryId = &v
return s
}
func (s *SearchImageByPicRequest) SetInstanceName(v string) *SearchImageByPicRequest {
s.InstanceName = &v
return s
}
func (s *SearchImageByPicRequest) SetPicContent(v string) *SearchImageByPicRequest {
s.PicContent = &v
return s
}
func (s *SearchImageByPicRequest) SetCrop(v bool) *SearchImageByPicRequest {
s.Crop = &v
return s
}
func (s *SearchImageByPicRequest) SetRegion(v string) *SearchImageByPicRequest {
s.Region = &v
return s
}
func (s *SearchImageByPicRequest) SetNum(v int) *SearchImageByPicRequest {
s.Num = &v
return s
}
func (s *SearchImageByPicRequest) SetStart(v int) *SearchImageByPicRequest {
s.Start = &v
return s
}
func (s *SearchImageByPicRequest) SetFilter(v string) *SearchImageByPicRequest {
s.Filter = &v
return s
}
type SearchImageByPicResponse struct {
RequestId *string `json:"RequestId,omitempty" xml:"RequestId,omitempty" require:"true"`
Success *bool `json:"Success,omitempty" xml:"Success,omitempty" require:"true"`
Code *int `json:"Code,omitempty" xml:"Code,omitempty" require:"true"`
Msg *string `json:"Msg,omitempty" xml:"Msg,omitempty" require:"true"`
Auctions []*SearchImageByPicResponseAuctions `json:"Auctions,omitempty" xml:"Auctions,omitempty" require:"true" type:"Repeated"`
Head *SearchImageByPicResponseHead `json:"Head,omitempty" xml:"Head,omitempty" require:"true" type:"Struct"`
PicInfo *SearchImageByPicResponsePicInfo `json:"PicInfo,omitempty" xml:"PicInfo,omitempty" require:"true" type:"Struct"`
}
func (s SearchImageByPicResponse) String() string {
return tea.Prettify(s)
}
func (s SearchImageByPicResponse) GoString() string {
return s.String()
}
func (s *SearchImageByPicResponse) SetRequestId(v string) *SearchImageByPicResponse {
s.RequestId = &v
return s
}
func (s *SearchImageByPicResponse) SetSuccess(v bool) *SearchImageByPicResponse {
s.Success = &v
return s
}
func (s *SearchImageByPicResponse) SetCode(v int) *SearchImageByPicResponse {
s.Code = &v
return s
}
func (s *SearchImageByPicResponse) SetMsg(v string) *SearchImageByPicResponse {
s.Msg = &v
return s
}
func (s *SearchImageByPicResponse) SetAuctions(v []*SearchImageByPicResponseAuctions) *SearchImageByPicResponse {
s.Auctions = v
return s
}
func (s *SearchImageByPicResponse) SetHead(v *SearchImageByPicResponseHead) *SearchImageByPicResponse {
s.Head = v
return s
}
func (s *SearchImageByPicResponse) SetPicInfo(v *SearchImageByPicResponsePicInfo) *SearchImageByPicResponse {
s.PicInfo = v
return s
}
type SearchImageByPicResponseAuctions struct {
CategoryId *int `json:"CategoryId,omitempty" xml:"CategoryId,omitempty" require:"true"`
ProductId *string `json:"ProductId,omitempty" xml:"ProductId,omitempty" require:"true"`
PicName *string `json:"PicName,omitempty" xml:"PicName,omitempty" require:"true"`
CustomContent *string `json:"CustomContent,omitempty" xml:"CustomContent,omitempty" require:"true"`
SortExprValues *string `json:"SortExprValues,omitempty" xml:"SortExprValues,omitempty" require:"true"`
IntAttr *int `json:"IntAttr,omitempty" xml:"IntAttr,omitempty" require:"true"`
StrAttr *string `json:"StrAttr,omitempty" xml:"StrAttr,omitempty" require:"true"`
}
func (s SearchImageByPicResponseAuctions) String() string {
return tea.Prettify(s)
}
func (s SearchImageByPicResponseAuctions) GoString() string {
return s.String()
}
func (s *SearchImageByPicResponseAuctions) SetCategoryId(v int) *SearchImageByPicResponseAuctions {
s.CategoryId = &v
return s
}
func (s *SearchImageByPicResponseAuctions) SetProductId(v string) *SearchImageByPicResponseAuctions {
s.ProductId = &v
return s
}
func (s *SearchImageByPicResponseAuctions) SetPicName(v string) *SearchImageByPicResponseAuctions {
s.PicName = &v
return s
}
func (s *SearchImageByPicResponseAuctions) SetCustomContent(v string) *SearchImageByPicResponseAuctions {
s.CustomContent = &v
return s
}
func (s *SearchImageByPicResponseAuctions) SetSortExprValues(v string) *SearchImageByPicResponseAuctions {
s.SortExprValues = &v
return s
}
func (s *SearchImageByPicResponseAuctions) SetIntAttr(v int) *SearchImageByPicResponseAuctions {
s.IntAttr = &v
return s
}
func (s *SearchImageByPicResponseAuctions) SetStrAttr(v string) *SearchImageByPicResponseAuctions {
s.StrAttr = &v
return s
}
type SearchImageByPicResponseHead struct {
DocsReturn *int `json:"DocsReturn,omitempty" xml:"DocsReturn,omitempty" require:"true"`
DocsFound *int `json:"DocsFound,omitempty" xml:"DocsFound,omitempty" require:"true"`
SearchTime *int `json:"SearchTime,omitempty" xml:"SearchTime,omitempty" require:"true"`
}
func (s SearchImageByPicResponseHead) String() string {
return tea.Prettify(s)
}
func (s SearchImageByPicResponseHead) GoString() string {
return s.String()
}
func (s *SearchImageByPicResponseHead) SetDocsReturn(v int) *SearchImageByPicResponseHead {
s.DocsReturn = &v
return s
}
func (s *SearchImageByPicResponseHead) SetDocsFound(v int) *SearchImageByPicResponseHead {
s.DocsFound = &v
return s
}
func (s *SearchImageByPicResponseHead) SetSearchTime(v int) *SearchImageByPicResponseHead {
s.SearchTime = &v
return s
}
type SearchImageByPicResponsePicInfo struct {
CategoryId *int `json:"CategoryId,omitempty" xml:"CategoryId,omitempty" require:"true"`
Region *string `json:"Region,omitempty" xml:"Region,omitempty" require:"true"`
AllCategories []*SearchImageByPicResponsePicInfoAllCategories `json:"AllCategories,omitempty" xml:"AllCategories,omitempty" require:"true" type:"Repeated"`
}
func (s SearchImageByPicResponsePicInfo) String() string {
return tea.Prettify(s)
}
func (s SearchImageByPicResponsePicInfo) GoString() string {
return s.String()
}
func (s *SearchImageByPicResponsePicInfo) SetCategoryId(v int) *SearchImageByPicResponsePicInfo {
s.CategoryId = &v
return s
}
func (s *SearchImageByPicResponsePicInfo) SetRegion(v string) *SearchImageByPicResponsePicInfo {
s.Region = &v
return s
}
func (s *SearchImageByPicResponsePicInfo) SetAllCategories(v []*SearchImageByPicResponsePicInfoAllCategories) *SearchImageByPicResponsePicInfo {
s.AllCategories = v
return s
}
type SearchImageByPicResponsePicInfoAllCategories struct {
Id *int `json:"Id,omitempty" xml:"Id,omitempty" require:"true"`
Name *string `json:"Name,omitempty" xml:"Name,omitempty" require:"true"`
}
func (s SearchImageByPicResponsePicInfoAllCategories) String() string {
return tea.Prettify(s)
}
func (s SearchImageByPicResponsePicInfoAllCategories) GoString() string {
return s.String()
}
func (s *SearchImageByPicResponsePicInfoAllCategories) SetId(v int) *SearchImageByPicResponsePicInfoAllCategories {
s.Id = &v
return s
}
func (s *SearchImageByPicResponsePicInfoAllCategories) SetName(v string) *SearchImageByPicResponsePicInfoAllCategories {
s.Name = &v
return s
}
type SearchImageByPicAdvanceRequest struct {
PicContentObject io.Reader `json:"PicContentObject,omitempty" xml:"PicContentObject,omitempty" require:"true"`
CategoryId *int `json:"CategoryId,omitempty" xml:"CategoryId,omitempty"`
InstanceName *string `json:"InstanceName,omitempty" xml:"InstanceName,omitempty" require:"true"`
Crop *bool `json:"Crop,omitempty" xml:"Crop,omitempty"`
Region *string `json:"Region,omitempty" xml:"Region,omitempty"`
Num *int `json:"Num,omitempty" xml:"Num,omitempty"`
Start *int `json:"Start,omitempty" xml:"Start,omitempty"`
Filter *string `json:"Filter,omitempty" xml:"Filter,omitempty"`
}
func (s SearchImageByPicAdvanceRequest) String() string {
return tea.Prettify(s)
}
func (s SearchImageByPicAdvanceRequest) GoString() string {
return s.String()
}
func (s *SearchImageByPicAdvanceRequest) SetPicContentObject(v io.Reader) *SearchImageByPicAdvanceRequest {
s.PicContentObject = v
return s
}
func (s *SearchImageByPicAdvanceRequest) SetCategoryId(v int) *SearchImageByPicAdvanceRequest {
s.CategoryId = &v
return s
}
func (s *SearchImageByPicAdvanceRequest) SetInstanceName(v string) *SearchImageByPicAdvanceRequest {
s.InstanceName = &v
return s
}
func (s *SearchImageByPicAdvanceRequest) SetCrop(v bool) *SearchImageByPicAdvanceRequest {
s.Crop = &v
return s
}
func (s *SearchImageByPicAdvanceRequest) SetRegion(v string) *SearchImageByPicAdvanceRequest {
s.Region = &v
return s
}
func (s *SearchImageByPicAdvanceRequest) SetNum(v int) *SearchImageByPicAdvanceRequest {
s.Num = &v
return s
}
func (s *SearchImageByPicAdvanceRequest) SetStart(v int) *SearchImageByPicAdvanceRequest {
s.Start = &v
return s
}
func (s *SearchImageByPicAdvanceRequest) SetFilter(v string) *SearchImageByPicAdvanceRequest {
s.Filter = &v
return s
}
type DeleteImageRequest struct {
InstanceName *string `json:"InstanceName,omitempty" xml:"InstanceName,omitempty" require:"true"`
ProductId *string `json:"ProductId,omitempty" xml:"ProductId,omitempty" require:"true"`
PicName *string `json:"PicName,omitempty" xml:"PicName,omitempty"`
}
func (s DeleteImageRequest) String() string {
return tea.Prettify(s)
}
func (s DeleteImageRequest) GoString() string {
return s.String()
}
func (s *DeleteImageRequest) SetInstanceName(v string) *DeleteImageRequest {
s.InstanceName = &v
return s
}
func (s *DeleteImageRequest) SetProductId(v string) *DeleteImageRequest {
s.ProductId = &v
return s
}
func (s *DeleteImageRequest) SetPicName(v string) *DeleteImageRequest {
s.PicName = &v
return s
}
type DeleteImageResponse struct {
RequestId *string `json:"RequestId,omitempty" xml:"RequestId,omitempty" require:"true"`
Success *bool `json:"Success,omitempty" xml:"Success,omitempty" require:"true"`
Message *string `json:"Message,omitempty" xml:"Message,omitempty" require:"true"`
Code *int `json:"Code,omitempty" xml:"Code,omitempty" require:"true"`
}
func (s DeleteImageResponse) String() string {
return tea.Prettify(s)
}
func (s DeleteImageResponse) GoString() string {
return s.String()
}
func (s *DeleteImageResponse) SetRequestId(v string) *DeleteImageResponse {
s.RequestId = &v
return s
}
func (s *DeleteImageResponse) SetSuccess(v bool) *DeleteImageResponse {
s.Success = &v
return s
}
func (s *DeleteImageResponse) SetMessage(v string) *DeleteImageResponse {
s.Message = &v
return s
}
func (s *DeleteImageResponse) SetCode(v int) *DeleteImageResponse {
s.Code = &v
return s
}
type AddImageRequest struct {
InstanceName *string `json:"InstanceName,omitempty" xml:"InstanceName,omitempty" require:"true"`
CategoryId *int `json:"CategoryId,omitempty" xml:"CategoryId,omitempty"`
ProductId *string `json:"ProductId,omitempty" xml:"ProductId,omitempty" require:"true"`
PicName *string `json:"PicName,omitempty" xml:"PicName,omitempty" require:"true"`
PicContent *string `json:"PicContent,omitempty" xml:"PicContent,omitempty" require:"true"`
Crop *bool `json:"Crop,omitempty" xml:"Crop,omitempty"`
Region *string `json:"Region,omitempty" xml:"Region,omitempty"`
CustomContent *string `json:"CustomContent,omitempty" xml:"CustomContent,omitempty"`
IntAttr *int `json:"IntAttr,omitempty" xml:"IntAttr,omitempty"`
StrAttr *string `json:"StrAttr,omitempty" xml:"StrAttr,omitempty"`
}
func (s AddImageRequest) String() string {
return tea.Prettify(s)
}
func (s AddImageRequest) GoString() string {
return s.String()
}
func (s *AddImageRequest) SetInstanceName(v string) *AddImageRequest {
s.InstanceName = &v
return s
}
func (s *AddImageRequest) SetCategoryId(v int) *AddImageRequest {
s.CategoryId = &v
return s
}
func (s *AddImageRequest) SetProductId(v string) *AddImageRequest {
s.ProductId = &v
return s
}
func (s *AddImageRequest) SetPicName(v string) *AddImageRequest {
s.PicName = &v
return s
}
func (s *AddImageRequest) SetPicContent(v string) *AddImageRequest {
s.PicContent = &v
return s
}
func (s *AddImageRequest) SetCrop(v bool) *AddImageRequest {
s.Crop = &v
return s
}
func (s *AddImageRequest) SetRegion(v string) *AddImageRequest {
s.Region = &v
return s
}
func (s *AddImageRequest) SetCustomContent(v string) *AddImageRequest {
s.CustomContent = &v
return s
}
func (s *AddImageRequest) SetIntAttr(v int) *AddImageRequest {
s.IntAttr = &v
return s
}
func (s *AddImageRequest) SetStrAttr(v string) *AddImageRequest {
s.StrAttr = &v
return s
}
type AddImageResponse struct {
RequestId *string `json:"RequestId,omitempty" xml:"RequestId,omitempty" require:"true"`
Success *bool `json:"Success,omitempty" xml:"Success,omitempty" require:"true"`
Message *string `json:"Message,omitempty" xml:"Message,omitempty" require:"true"`
Code *int `json:"Code,omitempty" xml:"Code,omitempty" require:"true"`
PicInfo *AddImageResponsePicInfo `json:"PicInfo,omitempty" xml:"PicInfo,omitempty" require:"true" type:"Struct"`
}
func (s AddImageResponse) String() string {
return tea.Prettify(s)
}
func (s AddImageResponse) GoString() string {
return s.String()
}
func (s *AddImageResponse) SetRequestId(v string) *AddImageResponse {
s.RequestId = &v
return s
}
func (s *AddImageResponse) SetSuccess(v bool) *AddImageResponse {
s.Success = &v
return s
}
func (s *AddImageResponse) SetMessage(v string) *AddImageResponse {
s.Message = &v
return s
}
func (s *AddImageResponse) SetCode(v int) *AddImageResponse {
s.Code = &v
return s
}
func (s *AddImageResponse) SetPicInfo(v *AddImageResponsePicInfo) *AddImageResponse {
s.PicInfo = v
return s
}
type AddImageResponsePicInfo struct {
CategoryId *int `json:"CategoryId,omitempty" xml:"CategoryId,omitempty" require:"true"`
Region *string `json:"Region,omitempty" xml:"Region,omitempty" require:"true"`
}
func (s AddImageResponsePicInfo) String() string {
return tea.Prettify(s)
}
func (s AddImageResponsePicInfo) GoString() string {
return s.String()
}
func (s *AddImageResponsePicInfo) SetCategoryId(v int) *AddImageResponsePicInfo {
s.CategoryId = &v
return s
}
func (s *AddImageResponsePicInfo) SetRegion(v string) *AddImageResponsePicInfo {
s.Region = &v
return s
}
type AddImageAdvanceRequest struct {
PicContentObject io.Reader `json:"PicContentObject,omitempty" xml:"PicContentObject,omitempty" require:"true"`
InstanceName *string `json:"InstanceName,omitempty" xml:"InstanceName,omitempty" require:"true"`
CategoryId *int `json:"CategoryId,omitempty" xml:"CategoryId,omitempty"`
ProductId *string `json:"ProductId,omitempty" xml:"ProductId,omitempty" require:"true"`
PicName *string `json:"PicName,omitempty" xml:"PicName,omitempty" require:"true"`
Crop *bool `json:"Crop,omitempty" xml:"Crop,omitempty"`
Region *string `json:"Region,omitempty" xml:"Region,omitempty"`
CustomContent *string `json:"CustomContent,omitempty" xml:"CustomContent,omitempty"`
IntAttr *int `json:"IntAttr,omitempty" xml:"IntAttr,omitempty"`
StrAttr *string `json:"StrAttr,omitempty" xml:"StrAttr,omitempty"`
}
func (s AddImageAdvanceRequest) String() string {
return tea.Prettify(s)
}
func (s AddImageAdvanceRequest) GoString() string {
return s.String()
}
func (s *AddImageAdvanceRequest) SetPicContentObject(v io.Reader) *AddImageAdvanceRequest {
s.PicContentObject = v
return s
}
func (s *AddImageAdvanceRequest) SetInstanceName(v string) *AddImageAdvanceRequest {
s.InstanceName = &v
return s
}
func (s *AddImageAdvanceRequest) SetCategoryId(v int) *AddImageAdvanceRequest {
s.CategoryId = &v
return s
}
func (s *AddImageAdvanceRequest) SetProductId(v string) *AddImageAdvanceRequest {
s.ProductId = &v
return s
}
func (s *AddImageAdvanceRequest) SetPicName(v string) *AddImageAdvanceRequest {
s.PicName = &v
return s
}
func (s *AddImageAdvanceRequest) SetCrop(v bool) *AddImageAdvanceRequest {
s.Crop = &v
return s
}
func (s *AddImageAdvanceRequest) SetRegion(v string) *AddImageAdvanceRequest {
s.Region = &v
return s
}
func (s *AddImageAdvanceRequest) SetCustomContent(v string) *AddImageAdvanceRequest {
s.CustomContent = &v
return s
}
func (s *AddImageAdvanceRequest) SetIntAttr(v int) *AddImageAdvanceRequest {
s.IntAttr = &v
return s
}
func (s *AddImageAdvanceRequest) SetStrAttr(v string) *AddImageAdvanceRequest {
s.StrAttr = &v
return s
}
type Client struct {
rpc.Client
}
func NewClient(config *rpc.Config) (*Client, error) {
client := new(Client)
err := client.Init(config)
return client, err
}
func (client *Client) Init(config *rpc.Config) (_err error) {
_err = client.Client.Init(config)
if _err != nil {
return _err
}
client.EndpointRule = tea.String("")
_err = client.CheckConfig(config)
if _err != nil {
return _err
}
client.Endpoint, _err = client.GetEndpoint(tea.String("imagesearch"), client.RegionId, client.EndpointRule, client.Network, client.Suffix, client.EndpointMap, client.Endpoint)
if _err != nil {
return _err
}
return nil
}
func (client *Client) SearchImageByName(request *SearchImageByNameRequest, runtime *util.RuntimeOptions) (_result *SearchImageByNameResponse, _err error) {
_err = util.ValidateModel(request)
if _err != nil {
return _result, _err
}
_result = &SearchImageByNameResponse{}
_body, _err := client.DoRequest(tea.String("SearchImageByName"), tea.String("HTTPS"), tea.String("POST"), tea.String("2020-02-12"), tea.String("AK"), nil, tea.ToMap(request), runtime)
if _err != nil {
return _result, _err
}
_err = tea.Convert(_body, &_result)
return _result, _err
}
func (client *Client) SearchImageByPic(request *SearchImageByPicRequest, runtime *util.RuntimeOptions) (_result *SearchImageByPicResponse, _err error) {
_err = util.ValidateModel(request)
if _err != nil {
return _result, _err
}
_result = &SearchImageByPicResponse{}
_body, _err := client.DoRequest(tea.String("SearchImageByPic"), tea.String("HTTPS"), tea.String("POST"), tea.String("2020-02-12"), tea.String("AK"), nil, tea.ToMap(request), runtime)
if _err != nil {
return _result, _err
}
_err = tea.Convert(_body, &_result)
return _result, _err
}
func (client *Client) SearchImageByPicAdvance(request *SearchImageByPicAdvanceRequest, runtime *util.RuntimeOptions) (_result *SearchImageByPicResponse, _err error) {
// Step 0: init client
accessKeyId, _err := client.Credential.GetAccessKeyId()
if _err != nil {
return _result, _err
}
accessKeySecret, _err := client.Credential.GetAccessKeySecret()
if _err != nil {
return _result, _err
}
authConfig := &rpc.Config{
AccessKeyId: accessKeyId,
AccessKeySecret: accessKeySecret,
Type: tea.String("access_key"),
Endpoint: tea.String("openplatform.aliyuncs.com"),
Protocol: client.Protocol,
RegionId: client.RegionId,
}
authClient, _err := openplatform.NewClient(authConfig)
if _err != nil {
return _result, _err
}
authRequest := &openplatform.AuthorizeFileUploadRequest{
Product: tea.String("ImageSearch"),
RegionId: client.RegionId,
}
authResponse := &openplatform.AuthorizeFileUploadResponse{}
ossConfig := &oss.Config{
AccessKeySecret: accessKeySecret,
Type: tea.String("access_key"),
Protocol: client.Protocol,
RegionId: client.RegionId,
}
var ossClient *oss.Client
fileObj := &fileform.FileField{}
ossHeader := &oss.PostObjectRequestHeader{}
uploadRequest := &oss.PostObjectRequest{}
ossRuntime := &ossutil.RuntimeOptions{}
rpcutil.Convert(runtime, ossRuntime)
searchImageByPicreq := &SearchImageByPicRequest{}
rpcutil.Convert(request, searchImageByPicreq)
authResponse, _err = authClient.AuthorizeFileUploadWithOptions(authRequest, runtime)
if _err != nil {
return _result, _err
}
ossConfig.AccessKeyId = authResponse.AccessKeyId
ossConfig.Endpoint = rpcutil.GetEndpoint(authResponse.Endpoint, authResponse.UseAccelerate, client.EndpointType)
ossClient, _err = oss.NewClient(ossConfig)
if _err != nil {
return _result, _err
}
fileObj = &fileform.FileField{
Filename: authResponse.ObjectKey,
Content: request.PicContentObject,
ContentType: tea.String(""),
}
ossHeader = &oss.PostObjectRequestHeader{
AccessKeyId: authResponse.AccessKeyId,
Policy: authResponse.EncodedPolicy,
Signature: authResponse.Signature,
Key: authResponse.ObjectKey,
File: fileObj,
SuccessActionStatus: tea.String("201"),
}
uploadRequest = &oss.PostObjectRequest{
BucketName: authResponse.Bucket,
Header: ossHeader,
}
_, _err = ossClient.PostObject(uploadRequest, ossRuntime)
if _err != nil {
return _result, _err
}
searchImageByPicreq.PicContent = tea.String("http://" + tea.StringValue(authResponse.Bucket) + "." + tea.StringValue(authResponse.Endpoint) + "/" + tea.StringValue(authResponse.ObjectKey))
searchImageByPicResp, _err := client.SearchImageByPic(searchImageByPicreq, runtime)
if _err != nil {
return _result, _err
}
_result = searchImageByPicResp
return _result, _err
}
func (client *Client) DeleteImage(request *DeleteImageRequest, runtime *util.RuntimeOptions) (_result *DeleteImageResponse, _err error) {
_err = util.ValidateModel(request)
if _err != nil {
return _result, _err
}
_result = &DeleteImageResponse{}
_body, _err := client.DoRequest(tea.String("DeleteImage"), tea.String("HTTPS"), tea.String("POST"), tea.String("2020-02-12"), tea.String("AK"), nil, tea.ToMap(request), runtime)
if _err != nil {
return _result, _err
}
_err = tea.Convert(_body, &_result)
return _result, _err
}
func (client *Client) AddImage(request *AddImageRequest, runtime *util.RuntimeOptions) (_result *AddImageResponse, _err error) {
_err = util.ValidateModel(request)
if _err != nil {
return _result, _err
}
_result = &AddImageResponse{}
_body, _err := client.DoRequest(tea.String("AddImage"), tea.String("HTTPS"), tea.String("POST"), tea.String("2020-02-12"), tea.String("AK"), nil, tea.ToMap(request), runtime)
if _err != nil {
return _result, _err
}
_err = tea.Convert(_body, &_result)
return _result, _err
}
func (client *Client) AddImageAdvance(request *AddImageAdvanceRequest, runtime *util.RuntimeOptions) (_result *AddImageResponse, _err error) {
// Step 0: init client
accessKeyId, _err := client.Credential.GetAccessKeyId()
if _err != nil {
return _result, _err
}
accessKeySecret, _err := client.Credential.GetAccessKeySecret()
if _err != nil {
return _result, _err
}
authConfig := &rpc.Config{
AccessKeyId: accessKeyId,
AccessKeySecret: accessKeySecret,
Type: tea.String("access_key"),
Endpoint: tea.String("openplatform.aliyuncs.com"),
Protocol: client.Protocol,
RegionId: client.RegionId,
}
authClient, _err := openplatform.NewClient(authConfig)
if _err != nil {
return _result, _err
}
authRequest := &openplatform.AuthorizeFileUploadRequest{
Product: tea.String("ImageSearch"),
RegionId: client.RegionId,
}
authResponse := &openplatform.AuthorizeFileUploadResponse{}
ossConfig := &oss.Config{
AccessKeySecret: accessKeySecret,
Type: tea.String("access_key"),
Protocol: client.Protocol,
RegionId: client.RegionId,
}
var ossClient *oss.Client
fileObj := &fileform.FileField{}
ossHeader := &oss.PostObjectRequestHeader{}
uploadRequest := &oss.PostObjectRequest{}
ossRuntime := &ossutil.RuntimeOptions{}
rpcutil.Convert(runtime, ossRuntime)
addImagereq := &AddImageRequest{}
rpcutil.Convert(request, addImagereq)
authResponse, _err = authClient.AuthorizeFileUploadWithOptions(authRequest, runtime)
if _err != nil {
return _result, _err
}
ossConfig.AccessKeyId = authResponse.AccessKeyId
ossConfig.Endpoint = rpcutil.GetEndpoint(authResponse.Endpoint, authResponse.UseAccelerate, client.EndpointType)
ossClient, _err = oss.NewClient(ossConfig)
if _err != nil {
return _result, _err
}
fileObj = &fileform.FileField{
Filename: authResponse.ObjectKey,
Content: request.PicContentObject,
ContentType: tea.String(""),
}
ossHeader = &oss.PostObjectRequestHeader{
AccessKeyId: authResponse.AccessKeyId,
Policy: authResponse.EncodedPolicy,
Signature: authResponse.Signature,
Key: authResponse.ObjectKey,
File: fileObj,
SuccessActionStatus: tea.String("201"),
}
uploadRequest = &oss.PostObjectRequest{
BucketName: authResponse.Bucket,
Header: ossHeader,
}
_, _err = ossClient.PostObject(uploadRequest, ossRuntime)
if _err != nil {
return _result, _err
}
addImagereq.PicContent = tea.String("http://" + tea.StringValue(authResponse.Bucket) + "." + tea.StringValue(authResponse.Endpoint) + "/" + tea.StringValue(authResponse.ObjectKey))
addImageResp, _err := client.AddImage(addImagereq, runtime)
if _err != nil {
return _result, _err
}
_result = addImageResp
return _result, _err
}
func (client *Client) GetEndpoint(productId *string, regionId *string, endpointRule *string, network *string, suffix *string, endpointMap map[string]*string, endpoint *string) (_result *string, _err error) {
if !tea.BoolValue(util.Empty(endpoint)) {
_result = endpoint
return _result, _err
}
if !tea.BoolValue(util.IsUnset(endpointMap)) && !tea.BoolValue(util.Empty(endpointMap[tea.StringValue(regionId)])) {
_result = endpointMap[tea.StringValue(regionId)]
return _result, _err
}
_body, _err := endpointutil.GetEndpointRules(productId, regionId, endpointRule, network, suffix)
if _err != nil {
return _result, _err
}
_result = _body
return _result, _err
}