Skip to content

Commit 0726d16

Browse files
feat(189pc): implement AccessToken login (#2245)
Optimize the 189pc driver to implement AccessToken login
1 parent 7feec2b commit 0726d16

3 files changed

Lines changed: 10 additions & 1 deletion

File tree

drivers/189pc/driver.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,12 @@ func (y *Cloud189PC) Init(ctx context.Context) (err error) {
8787
}
8888

8989
// 先尝试用Token刷新,之后尝试登陆
90-
if y.Addition.RefreshToken != "" {
90+
if y.Addition.AccessToken != "" {
91+
y.tokenInfo = &AppSessionResp{AccessToken: y.Addition.AccessToken, RefreshToken: y.Addition.RefreshToken}
92+
if err = y.refreshSession(); err != nil {
93+
return err
94+
}
95+
} else if y.Addition.RefreshToken != "" {
9196
y.tokenInfo = &AppSessionResp{RefreshToken: y.Addition.RefreshToken}
9297
if err = y.refreshToken(); err != nil {
9398
return err

drivers/189pc/meta.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ type Addition struct {
1010
Username string `json:"username" required:"true"`
1111
Password string `json:"password" required:"true"`
1212
VCode string `json:"validate_code"`
13+
AccessToken string `json:"access_token" required:"false"`
1314
RefreshToken string `json:"refresh_token" help:"To switch accounts, please clear this field"`
1415
driver.RootID
1516
OrderBy string `json:"order_by" type:"select" options:"filename,filesize,lastOpTime" default:"filename"`

drivers/189pc/utils.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -356,6 +356,7 @@ func (y *Cloud189PC) loginByPassword() (err error) {
356356
err = fmt.Errorf(tokenInfo.ResMessage)
357357
return err
358358
}
359+
y.Addition.AccessToken = tokenInfo.AccessToken
359360
y.Addition.RefreshToken = tokenInfo.RefreshToken
360361
y.tokenInfo = &tokenInfo
361362
op.MustSaveDriverStorage(y)
@@ -414,6 +415,7 @@ func (y *Cloud189PC) loginByQRCode() error {
414415
if tokenInfo.ResCode != 0 {
415416
return fmt.Errorf(tokenInfo.ResMessage)
416417
}
418+
y.Addition.AccessToken = tokenInfo.AccessToken
417419
y.Addition.RefreshToken = tokenInfo.RefreshToken
418420
y.tokenInfo = &tokenInfo
419421
op.MustSaveDriverStorage(y)
@@ -661,6 +663,7 @@ func (y *Cloud189PC) refreshTokenWithRetry(retryCount int) (err error) {
661663
return y.login()
662664
}
663665

666+
y.Addition.AccessToken = tokenInfo.AccessToken
664667
y.Addition.RefreshToken = tokenInfo.RefreshToken
665668
y.tokenInfo = &tokenInfo
666669
op.MustSaveDriverStorage(y)

0 commit comments

Comments
 (0)