-
Notifications
You must be signed in to change notification settings - Fork 9
/
TaobaoKfcKeywordSearchAPIRequest.go
110 lines (93 loc) · 4.17 KB
/
TaobaoKfcKeywordSearchAPIRequest.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
package util
import (
"net/url"
"sync"
"github.com/bububa/opentaobao/model"
)
// TaobaoKfcKeywordSearchAPIRequest 关键词过滤匹配 API请求
// taobao.kfc.keyword.search
//
// 对输入的文本信息进行禁忌关键词匹配,返回匹配的结果
type TaobaoKfcKeywordSearchAPIRequest struct {
model.Params
// 发布信息的淘宝会员名,可以不传
_nick string
// 应用点,分为一级应用点、二级应用点。其中一级应用点通常是指某一个系统或产品,比如淘宝的商品应用(taobao_auction);二级应用点,是指一级应用点下的具体的分类,比如商品标题(title)、商品描述(content)。不同的二级应用可以设置不同关键词。<br/><br/>这里的apply参数是由一级应用点与二级应用点合起来的字符(一级应用点+"."+二级应用点),如taobao_auction.title。<br/><br/><br/>通常apply参数是不需要传递的。如有特殊需求(比如特殊的过滤需求,需要自己维护一套自己词库),需传递此参数。
_apply string
// 需要过滤的文本信息
_content string
}
// NewTaobaoKfcKeywordSearchRequest 初始化TaobaoKfcKeywordSearchAPIRequest对象
func NewTaobaoKfcKeywordSearchRequest() *TaobaoKfcKeywordSearchAPIRequest {
return &TaobaoKfcKeywordSearchAPIRequest{
Params: model.NewParams(3),
}
}
// Reset IRequest interface 方法, 清空结构体
func (r *TaobaoKfcKeywordSearchAPIRequest) Reset() {
r._nick = ""
r._apply = ""
r._content = ""
r.Params.ToZero()
}
// GetApiMethodName IRequest interface 方法, 获取Api method
func (r TaobaoKfcKeywordSearchAPIRequest) GetApiMethodName() string {
return "taobao.kfc.keyword.search"
}
// GetApiParams IRequest interface 方法, 获取API参数
func (r TaobaoKfcKeywordSearchAPIRequest) GetApiParams(params url.Values) {
for k, v := range r.Params {
params.Set(k, v.String())
}
}
// GetRawParams IRequest interface 方法, 获取API原始参数
func (r TaobaoKfcKeywordSearchAPIRequest) GetRawParams() model.Params {
return r.Params
}
// SetNick is Nick Setter
// 发布信息的淘宝会员名,可以不传
func (r *TaobaoKfcKeywordSearchAPIRequest) SetNick(_nick string) error {
r._nick = _nick
r.Set("nick", _nick)
return nil
}
// GetNick Nick Getter
func (r TaobaoKfcKeywordSearchAPIRequest) GetNick() string {
return r._nick
}
// SetApply is Apply Setter
// 应用点,分为一级应用点、二级应用点。其中一级应用点通常是指某一个系统或产品,比如淘宝的商品应用(taobao_auction);二级应用点,是指一级应用点下的具体的分类,比如商品标题(title)、商品描述(content)。不同的二级应用可以设置不同关键词。<br/><br/>这里的apply参数是由一级应用点与二级应用点合起来的字符(一级应用点+"."+二级应用点),如taobao_auction.title。<br/><br/><br/>通常apply参数是不需要传递的。如有特殊需求(比如特殊的过滤需求,需要自己维护一套自己词库),需传递此参数。
func (r *TaobaoKfcKeywordSearchAPIRequest) SetApply(_apply string) error {
r._apply = _apply
r.Set("apply", _apply)
return nil
}
// GetApply Apply Getter
func (r TaobaoKfcKeywordSearchAPIRequest) GetApply() string {
return r._apply
}
// SetContent is Content Setter
// 需要过滤的文本信息
func (r *TaobaoKfcKeywordSearchAPIRequest) SetContent(_content string) error {
r._content = _content
r.Set("content", _content)
return nil
}
// GetContent Content Getter
func (r TaobaoKfcKeywordSearchAPIRequest) GetContent() string {
return r._content
}
var poolTaobaoKfcKeywordSearchAPIRequest = sync.Pool{
New: func() any {
return NewTaobaoKfcKeywordSearchRequest()
},
}
// GetTaobaoKfcKeywordSearchRequest 从 sync.Pool 获取 TaobaoKfcKeywordSearchAPIRequest
func GetTaobaoKfcKeywordSearchAPIRequest() *TaobaoKfcKeywordSearchAPIRequest {
return poolTaobaoKfcKeywordSearchAPIRequest.Get().(*TaobaoKfcKeywordSearchAPIRequest)
}
// ReleaseTaobaoKfcKeywordSearchAPIRequest 将 TaobaoKfcKeywordSearchAPIRequest 放入 sync.Pool
func ReleaseTaobaoKfcKeywordSearchAPIRequest(v *TaobaoKfcKeywordSearchAPIRequest) {
v.Reset()
poolTaobaoKfcKeywordSearchAPIRequest.Put(v)
}