Skip to content

Commit 57b01dd

Browse files
author
syd
committed
doc: rewrite comments
1 parent 5de8080 commit 57b01dd

File tree

10 files changed

+349
-146
lines changed

10 files changed

+349
-146
lines changed

.github/workflows/go.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
- name: Set up Go
2525
uses: actions/setup-go@v4
2626
with:
27-
go-version: '1.18'
27+
go-version: '1.20'
2828
cache-dependency-path: |
2929
${{ env.GOPATH }}/${{ env.package }}/go.mod
3030
${{ env.GOPATH }}/${{ env.package }}/go.sum

.github/workflows/goreleaser.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
- name: Set up Go
1919
uses: actions/setup-go@v4
2020
with:
21-
go-version: '1.18'
21+
go-version: '1.20'
2222
cache-dependency-path: ${{ env.cache }}
2323
- name: Run GoReleaser
2424
uses: goreleaser/goreleaser-action@v4

.goreleaser.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# This is an example .goreleaser.yml file with some sane defaults.
22
# Make sure to check the documentation at http://goreleaser.com
3-
project_name: "oceanengine"
3+
project_name: "wxworkfinancesdk"
44
before:
55
hooks:
66
# You may remove this if you don't use go modules.
@@ -10,7 +10,7 @@ before:
1010
builds:
1111
- skip: true
1212
archives:
13-
- id: oceanengine
13+
- id: wxworkfinancesdk
1414
name_template: >-
1515
{{ .ProjectName }}_
1616
{{- title .Os }}_

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ func main() {
2929
if err != nil {
3030
log.Fatalln(err)
3131
}
32-
defer clt.Free()
32+
defer clt.Destroy()
3333
var (
3434
seq uint64
3535
limit uint64 = 1000
@@ -59,7 +59,7 @@ func main() {
5959
if msg.MessageType() == sdk.IMG_MSG {
6060
var (
6161
w = new(bytes.Buffer)
62-
sdkField = msg.(sdk.ImageMessage).SdkFieldId
62+
sdkField = msg.(sdk.ImageMessage).SdkFileId
6363
)
6464
err := clt.DownloadMedia(w, sdkField, proxy, passwd, timeout)
6565
if err != nil {

chatdata.go

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,14 @@ func (r ChatDataResponse) IsError() bool {
1313

1414
// ChatData 加密消息数据
1515
type ChatData struct {
16-
Seq uint64 `json:"seq,omitempty"` // 消息的seq值,标识消息的序号。再次拉取需要带上上次回包中最大的seq。Uint64类型,范围0-pow(2,64)-1
17-
MsgId string `json:"msgid,omitempty"` // 消息id,消息的唯一标识,企业可以使用此字段进行消息去重。
18-
PublickeyVer uint32 `json:"publickey_ver,omitempty"` // 加密此条消息使用的公钥版本号。
19-
EncryptRandomKey string `json:"encrypt_random_key,omitempty"` // 使用publickey_ver指定版本的公钥进行非对称加密后base64加密的内容,需要业务方先base64 decode处理后,再使用指定版本的私钥进行解密,得出内容。
20-
EncryptChatMsg string `json:"encrypt_chat_msg,omitempty"` // 消息密文。需要业务方使用将encrypt_random_key解密得到的内容,与encrypt_chat_msg,传入sdk接口DecryptData,得到消息明文。
16+
// Seq 消息的seq值,标识消息的序号。再次拉取需要带上上次回包中最大的seq。Uint64类型,范围0-pow(2,64)-1
17+
Seq uint64 `json:"seq,omitempty"`
18+
// MsgId 消息id,消息的唯一标识,企业可以使用此字段进行消息去重。
19+
MsgId string `json:"msgid,omitempty"`
20+
// PublickeyVer 加密此条消息使用的公钥版本号。
21+
PublickeyVer uint32 `json:"publickey_ver,omitempty"`
22+
// EncryptRandomKey 使用publickey_ver指定版本的公钥进行非对称加密后base64加密的内容,需要业务方先base64 decode处理后,再使用指定版本的私钥进行解密,得出内容。
23+
EncryptRandomKey string `json:"encrypt_random_key,omitempty"`
24+
// EncryptChatMsg 消息密文。需要业务方使用将encrypt_random_key解密得到的内容,与encrypt_chat_msg,传入sdk接口DecryptData,得到消息明文。
25+
EncryptChatMsg string `json:"encrypt_chat_msg,omitempty"`
2126
}

client.go

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ func NewClient(corpId string, corpSecret string) (*Client, error) {
4040
}, nil
4141
}
4242

43-
// Free 释放sdk,和NewClient成对使用
44-
func (c *Client) Free() {
43+
// Destroy 释放sdk,和NewClient成对使用
44+
func (c *Client) Destroy() {
4545
C.DestroySdk(c.ptr)
4646
}
4747

@@ -103,7 +103,16 @@ func (c *Client) DecryptData(encryptKey string, encryptMsg string) (Message, err
103103
buf := BufferPool()
104104
defer BufferPoolRelease(buf)
105105
c.GetContentFromSlice(msgSlice, buf)
106-
r := ReaderPool(buf.Bytes())
106+
bs := buf.Bytes()
107+
// handle illegal escape character in text
108+
for i := 0; i < len(bs); {
109+
if bs[i] < 0x20 {
110+
bs = append(bs[:i], bs[i+1:]...)
111+
continue
112+
}
113+
i++
114+
}
115+
r := ReaderPool(bs)
107116
defer ReaderPoolRelease(r)
108117
var baseMessage BaseMessage
109118
decoder := json.NewDecoder(r)

error.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,11 @@ const (
1818

1919
// Error SDK Error结构体
2020
type Error struct {
21-
ErrCode int `json:"errcode,omitempty"` // 错误代码
22-
ErrMsg string `json:"errmsg,omitempty"` // 错误说明
23-
Hint string `json:"hint,omitempty"`
21+
// ErrCode 错误代码
22+
ErrCode int `json:"errcode,omitempty"`
23+
// ErrMsg 错误说明
24+
ErrMsg string `json:"errmsg,omitempty"`
25+
Hint string `json:"hint,omitempty"`
2426
}
2527

2628
// Error implement error interface

example/main.go

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
package main
2+
3+
import (
4+
"bytes"
5+
"fmt"
6+
"log"
7+
8+
sdk "github.com/bububa/WeWorkFinanceSDK"
9+
)
10+
11+
func main() {
12+
// CorpId 企业ID
13+
corpId := "wwd08c8e7c775ab44d"
14+
corpSecret := "zJ6k0naVVQ--gt9PUSSEvs03zW_nlDVmjLCTOTAfrew"
15+
clt, err := sdk.NewClient(corpId, corpSecret)
16+
if err != nil {
17+
log.Fatalln(err)
18+
}
19+
defer clt.Destroy()
20+
var (
21+
seq uint64
22+
limit uint64 = 1000
23+
proxy = ""
24+
passwd = ""
25+
timeout = 300
26+
)
27+
for {
28+
chatsData, err := clt.GetChatData(seq, limit, proxy, passwd, timeout)
29+
if err != nil {
30+
log.Fatalln(err)
31+
}
32+
if len(chatsData) == 0 {
33+
break
34+
}
35+
// iterate chatsData
36+
for _, data := range chatsData {
37+
// update seq with chatdata.Seq for next loop
38+
seq = data.Seq
39+
// decrypt chat data
40+
msg, err := clt.DecryptData(data.EncryptRandomKey, data.EncryptChatMsg)
41+
if err != nil {
42+
log.Fatalln(err)
43+
continue
44+
}
45+
fmt.Printf("msg: %+v\n", msg)
46+
if msg.MessageType() == sdk.IMG_MSG {
47+
var (
48+
w = new(bytes.Buffer)
49+
sdkField = msg.(sdk.ImageMessage).SdkFileId
50+
)
51+
err := clt.DownloadMedia(w, sdkField, proxy, passwd, timeout)
52+
if err != nil {
53+
log.Fatalln(err)
54+
continue
55+
}
56+
log.Printf("download mediadata, len:%d bytes\n", w.Len())
57+
}
58+
}
59+
}
60+
}

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
module github.com/bububa/WeWorkFinanceSDK
22

3-
go 1.18
3+
go 1.20

0 commit comments

Comments
 (0)