Skip to content

Commit 8188fb2

Browse files
authored
fix(123open): get direct link (#1185)
* fix(123open): correct query parameter name from 'fileId' to 'fileID' in getDirectLink function Signed-off-by: MadDogOwner <[email protected]> * fix(123open): change SpaceTempExpr type from 'string' to 'int64' in UserInfoResp struct Signed-off-by: MadDogOwner <[email protected]> * fix(123open): comment out unused fields in UserInfoResp struct Signed-off-by: MadDogOwner <[email protected]> * fix(123open): add getUID method and cache UID Signed-off-by: MadDogOwner <[email protected]> --------- Signed-off-by: MadDogOwner <[email protected]>
1 parent 87cf95f commit 8188fb2

File tree

3 files changed

+29
-16
lines changed

3 files changed

+29
-16
lines changed

drivers/123_open/driver.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import (
1717
type Open123 struct {
1818
model.Storage
1919
Addition
20+
UID uint64
2021
}
2122

2223
func (d *Open123) Config() driver.Config {
@@ -83,15 +84,15 @@ func (d *Open123) Link(ctx context.Context, file model.Obj, args model.LinkArgs)
8384
}, nil
8485
}
8586

86-
u, err := d.getUserInfo()
87+
uid, err := d.getUID()
8788
if err != nil {
8889
return nil, err
8990
}
9091

9192
duration := time.Duration(d.DirectLinkValidDuration) * time.Minute
9293

9394
newURL, err := d.SignURL(res.Data.URL, d.DirectLinkPrivateKey,
94-
u.Data.UID, duration)
95+
uid, duration)
9596
if err != nil {
9697
return nil, err
9798
}

drivers/123_open/types.go

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -127,19 +127,19 @@ type RefreshTokenResp struct {
127127
type UserInfoResp struct {
128128
BaseResp
129129
Data struct {
130-
UID uint64 `json:"uid"`
131-
Username string `json:"username"`
132-
DisplayName string `json:"displayName"`
133-
HeadImage string `json:"headImage"`
134-
Passport string `json:"passport"`
135-
Mail string `json:"mail"`
136-
SpaceUsed int64 `json:"spaceUsed"`
137-
SpacePermanent int64 `json:"spacePermanent"`
138-
SpaceTemp int64 `json:"spaceTemp"`
139-
SpaceTempExpr string `json:"spaceTempExpr"`
140-
Vip bool `json:"vip"`
141-
DirectTraffic int64 `json:"directTraffic"`
142-
IsHideUID bool `json:"isHideUID"`
130+
UID uint64 `json:"uid"`
131+
// Username string `json:"username"`
132+
// DisplayName string `json:"displayName"`
133+
// HeadImage string `json:"headImage"`
134+
// Passport string `json:"passport"`
135+
// Mail string `json:"mail"`
136+
// SpaceUsed int64 `json:"spaceUsed"`
137+
// SpacePermanent int64 `json:"spacePermanent"`
138+
// SpaceTemp int64 `json:"spaceTemp"`
139+
// SpaceTempExpr int64 `json:"spaceTempExpr"`
140+
// Vip bool `json:"vip"`
141+
// DirectTraffic int64 `json:"directTraffic"`
142+
// IsHideUID bool `json:"isHideUID"`
143143
} `json:"data"`
144144
}
145145

drivers/123_open/util.go

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,18 @@ func (d *Open123) getUserInfo() (*UserInfoResp, error) {
158158
return &resp, nil
159159
}
160160

161+
func (d *Open123) getUID() (uint64, error) {
162+
if d.UID != 0 {
163+
return d.UID, nil
164+
}
165+
resp, err := d.getUserInfo()
166+
if err != nil {
167+
return 0, err
168+
}
169+
d.UID = resp.Data.UID
170+
return resp.Data.UID, nil
171+
}
172+
161173
func (d *Open123) getFiles(parentFileId int64, limit int, lastFileId int64) (*FileListResp, error) {
162174
var resp FileListResp
163175

@@ -200,7 +212,7 @@ func (d *Open123) getDirectLink(fileId int64) (*DirectLinkResp, error) {
200212

201213
_, err := d.Request(DirectLink, http.MethodGet, func(req *resty.Request) {
202214
req.SetQueryParams(map[string]string{
203-
"fileId": strconv.FormatInt(fileId, 10),
215+
"fileID": strconv.FormatInt(fileId, 10),
204216
})
205217
}, &resp)
206218
if err != nil {

0 commit comments

Comments
 (0)