feat: identify required reauthentication

This commit is contained in:
2026-07-21 10:12:25 +08:00
parent 4ffd1b7eac
commit 503f7cd2b4
4 changed files with 69 additions and 3 deletions
+2 -2
View File
@@ -356,7 +356,7 @@ func (client *Client) getLocation(ctx context.Context) (url.Values, bool, error)
serviceTokenReceived := updateAuthDataFromCookies(&candidate, httpClient, response.Request.URL)
candidate.Ssecurity = data.Ssecurity
if !serviceTokenReceived || !candidate.complete() {
return nil, false, &LoginError{Code: -1, Message: "刷新Token响应认证信息不完整"}
return nil, false, fmt.Errorf("%w: %w", ErrReauthenticationRequired, &LoginError{Code: -1, Message: "刷新Token响应认证信息不完整"})
}
candidate.ExpireTime = time.Now().Add(30 * 24 * time.Hour).UnixMilli()
client.setAuthData(candidate)
@@ -544,7 +544,7 @@ func (client *Client) refreshToken(ctx context.Context) error {
return err
}
if !refreshed {
return &LoginError{Code: -1, Message: "刷新Token失败,请重新登录"}
return fmt.Errorf("%w: %w", ErrReauthenticationRequired, &LoginError{Code: -1, Message: "刷新Token失败,请重新登录"})
}
if err := client.saveAuthData(); err != nil {
return err