Skip to content

Commit 8b0db0c

Browse files
author
彭博
committed
简化 Request 的 API 名称以及增加更详细的注释
1 parent c49c638 commit 8b0db0c

File tree

3 files changed

+26
-37
lines changed

3 files changed

+26
-37
lines changed

cmd/login.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,8 @@ import (
2828
)
2929

3030
const (
31-
// loginURL = "/api/v2/account/login"
3231
loginURI = "/api/v2/account/login"
3332
minAccountSize = 6
34-
cookieFile = ".cookie"
3533
)
3634

3735
var account string
@@ -99,7 +97,7 @@ func login(account string, sha1Password string) error {
9997
form := url.Values{}
10098
form.Set("account", account)
10199
form.Set("password", sha1Password)
102-
req := request.NewPostRequest(loginURI, &form)
100+
req := request.NewPost(loginURI, &form)
103101
req.On2fa = get2faCode
104102
_, err := req.Send()
105103
if err != nil {

cmd/release.go

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,10 @@ var releaseCmd = &cobra.Command{
121121
}
122122

123123
// release 主要包含以下五个部分
124-
// 1. 变更记录(Changelog) 2. 版本对比(Diff) 3.发布服务列表 4.服务配置更新
124+
// 1. 变更记录(Changelog)
125+
// 2. 版本对比(Diff)
126+
// 3. 发布服务列表
127+
// 4. 服务配置更新
125128
func release(src string, target string) (err error) {
126129
// Ref to Commit ID
127130
s := src
@@ -140,17 +143,17 @@ func release(src string, target string) (err error) {
140143
}
141144
fmt.Printf("compare: %s(%s)...%s(%s)\n\n", s, src, t, target)
142145

143-
// Changlog
146+
// Changelog
144147
d, err := diff(s, t)
145148
if err != nil {
146149
return err
147150
}
148-
changelogs, err := changelog(d.Commits)
151+
changes, err := changelog(d.Commits)
149152
if err != nil {
150153
return err
151154
}
152-
size := len(changelogs)
153-
for i, c := range changelogs {
155+
size := len(changes)
156+
for i, c := range changes {
154157
fmt.Printf("changelog %d/%d: %s #%d\n", i+1, size, c.Title, c.MergeID)
155158
}
156159

@@ -276,7 +279,7 @@ func commitID(ref string) (id string, err error) {
276279
if ref == "" {
277280
return "", fmt.Errorf("ref 不能为空")
278281
}
279-
req := request.NewGetRequest(fmt.Sprintf(commitDetailURI, ref))
282+
req := request.NewGet(fmt.Sprintf(commitDetailURI, ref))
280283
commit := model.ComplexCommit{}
281284
err = req.SendAndUnmarshal(&commit)
282285
if err != nil {
@@ -286,7 +289,7 @@ func commitID(ref string) (id string, err error) {
286289
}
287290

288291
func diff(src string, target string) (d *model.Diff, err error) {
289-
req := request.NewGetRequest(fmt.Sprintf(diffURI, src, target))
292+
req := request.NewGet(fmt.Sprintf(diffURI, src, target))
290293
b := model.Diff{}
291294
err = req.SendAndUnmarshal(&b)
292295
if err != nil {
@@ -296,7 +299,7 @@ func diff(src string, target string) (d *model.Diff, err error) {
296299
}
297300

298301
func defaultBranchCommitID() (branch string, err error) {
299-
req := request.NewGetRequest(defaultBranchURI)
302+
req := request.NewGet(defaultBranchURI)
300303
b := model.Branch{}
301304
err = req.SendAndUnmarshal(&b)
302305
if err != nil {
@@ -308,13 +311,4 @@ func defaultBranchCommitID() (branch string, err error) {
308311

309312
func init() {
310313
rootCmd.AddCommand(releaseCmd)
311-
// Here you will define your flags and configuration settings.
312-
313-
// Cobra supports Persistent Flags which will work for this command
314-
// and all subcommands, e.g.:
315-
// releaseCmd.PersistentFlags().String("foo", "", "A help for foo")
316-
317-
// Cobra supports local flags which will only run when this command
318-
// is called directly, e.g.:
319-
// releaseCmd.Flags().BoolP("toggle", "t", false, "Help message for toggle")
320314
}

pkg/request/request.go

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -24,34 +24,31 @@ const (
2424

2525
// Request 包含了 HTTP 请求需要的基本参数
2626
type Request struct {
27-
// URL 请求地址
28-
URL string
29-
// POST 提交的表单数据
30-
Form *url.Values
31-
// 请求方法 GET/POST/DELETE 等
32-
Method string
33-
// On2fa 需要两步验证验证时调用
34-
On2fa func() (string, error)
27+
URL string // URL 请求地址
28+
Form *url.Values // POST 提交的表单数据
29+
Method string // 请求方法 GET/POST/DELETE 等
30+
On2fa func() (string, error) // On2fa 需要两步验证验证时调用
3531
}
3632

37-
// NewGetRequest 创建 GET 请求
38-
func NewGetRequest(url string) *Request {
33+
// NewGet 创建 GET 请求
34+
func NewGet(url string) *Request {
3935
return &Request{
4036
URL: Host + url,
4137
Method: http.MethodGet,
4238
}
4339
}
4440

45-
// NewPostRequest 创建 POST 请求
46-
func NewPostRequest(url string, form *url.Values) *Request {
41+
// NewPost 创建 POST 请求
42+
func NewPost(url string, form *url.Values) *Request {
4743
return &Request{
4844
URL: Host + url,
4945
Method: http.MethodPost,
5046
Form: form,
5147
}
5248
}
5349

54-
// Send 将发送请求并解析 JSON 结果
50+
// Send 将发送请求并解析 JSON 结果,返回结果 Result 中如果包含 Code > 0 的情况,将视作意外出错情况
51+
// 只有当 Result 返回 Code 为 0 时,请求才会被当做成功
5552
func (r *Request) Send() (*model.Result, error) {
5653
u, err := url.Parse(r.URL)
5754
if err != nil {
@@ -117,21 +114,21 @@ func (r *Request) Send() (*model.Result, error) {
117114
if require2faCode(&result) {
118115
return r.send2faCode()
119116
}
120-
return nil, fmt.Errorf("请求失败, %v", msgs(&result))
117+
return nil, fmt.Errorf("请求失败, %v", errorMsg(&result))
121118
}
122119

123120
return &result, nil
124121
}
125122

126-
func msgs(r *model.Result) string {
123+
func errorMsg(r *model.Result) string {
127124
msg := make([]string, 0)
128125
for _, v := range r.Msg {
129126
msg = append(msg, v)
130127
}
131128
return strings.Join(msg, ", ")
132129
}
133130

134-
// SendAndUnmarshal 将发送请求并反序列化 JSON 中的 Data 结果
131+
// SendAndUnmarshal 将发送请求并反序列化 JSON 中的 model.Result.Data 结果
135132
func (r *Request) SendAndUnmarshal(v interface{}) error {
136133
result, err := r.Send()
137134
if err != nil {
@@ -154,7 +151,7 @@ func (r *Request) send2faCode() (*model.Result, error) {
154151
}
155152
form := url.Values{}
156153
form.Set("code", code)
157-
req := NewPostRequest("/api/check_two_factor_auth_code", &form)
154+
req := NewPost("/api/check_two_factor_auth_code", &form)
158155
result, err := req.Send()
159156
if err != nil {
160157
return nil, err

0 commit comments

Comments
 (0)