fix: Fix the issue of abnormal token refreshing on alipan (#8747)

This commit is contained in:
ssongliu 2025-05-20 13:42:01 +08:00 committed by GitHub
parent 658db55d91
commit 9822427de8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
12 changed files with 28 additions and 21 deletions

View file

@ -281,7 +281,7 @@ func (u *BackupService) RefreshToken(req dto.OperateByID) error {
}
varMap := make(map[string]interface{})
if err := json.Unmarshal([]byte(backup.Vars), &varMap); err != nil {
return fmt.Errorf("Failed to refresh %s - %s token, please retry, err: %v", backup.Type, backup.Name, err)
return fmt.Errorf("failed to refresh %s - %s token, please retry, err: %v", backup.Type, backup.Name, err)
}
var (
refreshToken string
@ -298,7 +298,7 @@ func (u *BackupService) RefreshToken(req dto.OperateByID) error {
if err != nil {
varMap["refresh_status"] = constant.StatusFailed
varMap["refresh_msg"] = err.Error()
return fmt.Errorf("Failed to refresh %s-%s token, please retry, err: %v", backup.Type, backup.Name, err)
return fmt.Errorf("failed to refresh %s-%s token, please retry, err: %v", backup.Type, backup.Name, err)
}
varMap["refresh_status"] = constant.StatusSuccess
varMap["refresh_time"] = time.Now().Format(constant.DateTimeLayout)

View file

@ -29,7 +29,7 @@ func (b *backup) Run() {
global.LOG.Infof("Start to refresh %s-%s access_token ...", backupItem.Type, backupItem.Name)
varMap := make(map[string]interface{})
if err := json.Unmarshal([]byte(backupItem.Vars), &varMap); err != nil {
global.LOG.Errorf("Failed to refresh %s - %s token, please retry, err: %v", backupItem.Type, backupItem.Name, err)
global.LOG.Errorf("failed to refresh %s - %s token, please retry, err: %v", backupItem.Type, backupItem.Name, err)
continue
}
var (
@ -47,7 +47,7 @@ func (b *backup) Run() {
if err != nil {
varMap["refresh_status"] = constant.StatusFailed
varMap["refresh_msg"] = err.Error()
global.LOG.Errorf("Failed to refresh OneDrive token, please retry, err: %v", err)
global.LOG.Errorf("failed to refresh OneDrive token, please retry, err: %v", err)
continue
}
varMap["refresh_status"] = constant.StatusSuccess

View file

@ -477,7 +477,7 @@ func (a *aliClient) completeUpload(uploadID, fileID string) error {
}
type tokenResp struct {
AccessToken string `json:"access_token"`
RefreshToken string `json:"refresh_token"`
}
func loadToken(refresh_token string) (string, error) {
@ -502,7 +502,7 @@ func loadToken(refresh_token string) (string, error) {
if err := json.Unmarshal(resp.Body(), &respItem); err != nil {
return "", err
}
return respItem.AccessToken, nil
return respItem.RefreshToken, nil
}
func RefreshALIToken(varMap map[string]interface{}) (string, error) {
@ -531,5 +531,5 @@ func RefreshALIToken(varMap map[string]interface{}) (string, error) {
if err := json.Unmarshal(resp.Body(), &respItem); err != nil {
return "", err
}
return respItem.AccessToken, nil
return respItem.RefreshToken, nil
}

View file

@ -259,7 +259,7 @@ func (u *BackupService) RefreshToken(req dto.OperateByName) error {
}
varMap := make(map[string]interface{})
if err := json.Unmarshal([]byte(backup.Vars), &varMap); err != nil {
return fmt.Errorf("Failed to refresh %s - %s token, please retry, err: %v", backup.Type, backup.Name, err)
return fmt.Errorf("failed to refresh %s - %s token, please retry, err: %v", backup.Type, backup.Name, err)
}
var (
refreshToken string
@ -276,7 +276,7 @@ func (u *BackupService) RefreshToken(req dto.OperateByName) error {
if err != nil {
varMap["refresh_status"] = constant.StatusFailed
varMap["refresh_msg"] = err.Error()
return fmt.Errorf("Failed to refresh %s-%s token, please retry, err: %v", backup.Type, backup.Name, err)
return fmt.Errorf("failed to refresh %s-%s token, please retry, err: %v", backup.Type, backup.Name, err)
}
varMap["refresh_status"] = constant.StatusSuccess
varMap["refresh_time"] = time.Now().Format(constant.DateTimeLayout)

View file

@ -30,7 +30,7 @@ func (b *backup) Run() {
global.LOG.Infof("Start to refresh %s-%s access_token ...", backupItem.Type, backupItem.Name)
varMap := make(map[string]interface{})
if err := json.Unmarshal([]byte(backupItem.Vars), &varMap); err != nil {
global.LOG.Errorf("Failed to refresh %s - %s token, please retry, err: %v", backupItem.Type, backupItem.Name, err)
global.LOG.Errorf("failed to refresh %s - %s token, please retry, err: %v", backupItem.Type, backupItem.Name, err)
continue
}
var (
@ -48,7 +48,7 @@ func (b *backup) Run() {
if err != nil {
varMap["refresh_status"] = constant.StatusFailed
varMap["refresh_msg"] = err.Error()
global.LOG.Errorf("Failed to refresh %s-%s token, please retry, err: %v", backupItem.Type, backupItem.Name, err)
global.LOG.Errorf("failed to refresh %s-%s token, please retry, err: %v", backupItem.Type, backupItem.Name, err)
continue
}
varMap["refresh_status"] = constant.StatusSuccess

View file

@ -338,7 +338,7 @@ func (a *aliClient) completeUpload(uploadID, fileID string) error {
}
type tokenResp struct {
AccessToken string `json:"access_token"`
RefreshToken string `json:"refresh_token"`
}
func RefreshALIToken(varMap map[string]interface{}) (string, error) {
@ -367,5 +367,5 @@ func RefreshALIToken(varMap map[string]interface{}) (string, error) {
if err := json.Unmarshal(resp.Body(), &respItem); err != nil {
return "", err
}
return respItem.AccessToken, nil
return respItem.RefreshToken, nil
}

View file

@ -154,7 +154,7 @@ const message = {
createSuccess: 'Create Success',
updateSuccess: 'Update Success',
uploadSuccess: 'Update Success',
operateConfirm: 'If you are sure about the operation, please input it manually',
operateConfirm: 'If you are sure about the operation, please input it manually ',
inputOrSelect: 'Please select or enter',
copyFailed: 'Copy failed',
operatorHelper: 'Would you like to continue performing {1} operation on {0}?',

View file

@ -146,7 +146,7 @@ const message = {
createSuccess: 'Berjaya dicipta',
updateSuccess: 'Berjaya dikemas kini',
uploadSuccess: 'Berjaya dimuat naik',
operateConfirm: 'Jika anda pasti dengan operasi ini, sila masukkan secara manual:',
operateConfirm: 'Jika anda pasti dengan operasi ini, sila masukkan secara manual: ',
inputOrSelect: 'Sila pilih atau masukkan',
copyFailed: 'Gagal disalin',
operatorHelper:

View file

@ -146,7 +146,7 @@ const message = {
createSuccess: 'Criado com sucesso',
updateSuccess: 'Atualizado com sucesso',
uploadSuccess: 'Enviado com sucesso',
operateConfirm: 'Se você tem certeza da operação, insira-a manualmente:',
operateConfirm: 'Se você tem certeza da operação, insira-a manualmente: ',
inputOrSelect: 'Por favor, selecione ou insira',
copyFailed: 'Falha ao copiar',
operatorHelper: 'A operação "{1}" será realizada em "{0}" e não poderá ser desfeita. Deseja continuar?',

View file

@ -151,7 +151,7 @@ const message = {
createSuccess: '創建成功',
updateSuccess: '更新成功',
uploadSuccess: '上傳成功',
operateConfirm: '如果確認操作請手動輸入',
operateConfirm: '如果確認操作請手動輸入 ',
inputOrSelect: '請選擇或輸入',
copyFailed: '復製失敗',
operatorHelper: '將對以下{0}進行{1}操作是否繼續',

View file

@ -151,7 +151,7 @@ const message = {
createSuccess: '创建成功',
updateSuccess: '更新成功',
uploadSuccess: '上传成功',
operateConfirm: '如果确认操作请手动输入',
operateConfirm: '如果确认操作请手动输入 ',
inputOrSelect: '请选择或输入',
copyFailed: '复制失败',
operatorHelper: '将对以下{0}进行 {1} 操作是否继续',

View file

@ -277,9 +277,16 @@ const onInspect = (row: any) => {
};
const refreshItemToken = async (row: any) => {
await refreshToken({ id: row.id, name: row.name, isPublic: row.isPublic });
MsgSuccess(i18n.global.t('commons.msg.operationSuccess'));
search();
loading.value = true;
await refreshToken({ id: row.id, name: row.name, isPublic: row.isPublic })
.then(() => {
loading.value = false;
MsgSuccess(i18n.global.t('commons.msg.operationSuccess'));
search();
})
.catch(() => {
loading.value = false;
});
};
const buttons = [