fix(mopan): client version is too low (#5987)
* fix(mopan): download err ` client version is too low` * feat(mopan):support sms login * refactor(quqi): upload use s3
This commit is contained in:
@ -43,23 +43,31 @@ func (d *MoPan) Init(ctx context.Context) error {
|
||||
if d.uploadThread < 1 || d.uploadThread > 32 {
|
||||
d.uploadThread, d.UploadThread = 3, "3"
|
||||
}
|
||||
login := func() error {
|
||||
data, err := d.client.Login(d.Phone, d.Password)
|
||||
|
||||
defer func() { d.SMSCode = "" }()
|
||||
|
||||
login := func() (err error) {
|
||||
var loginData *mopan.LoginResp
|
||||
if d.SMSCode != "" {
|
||||
loginData, err = d.client.LoginBySmsStep2(d.Phone, d.SMSCode)
|
||||
} else {
|
||||
loginData, err = d.client.Login(d.Phone, d.Password)
|
||||
}
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
d.client.SetAuthorization(data.Token)
|
||||
d.client.SetAuthorization(loginData.Token)
|
||||
|
||||
info, err := d.client.GetUserInfo()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
d.userID = info.UserID
|
||||
log.Debugf("[mopan] Phone: %s UserCloudStorageRelations: %+v", d.Phone, data.UserCloudStorageRelations)
|
||||
log.Debugf("[mopan] Phone: %s UserCloudStorageRelations: %+v", d.Phone, loginData.UserCloudStorageRelations)
|
||||
cloudCircleApp, _ := d.client.QueryAllCloudCircleApp()
|
||||
log.Debugf("[mopan] Phone: %s CloudCircleApp: %+v", d.Phone, cloudCircleApp)
|
||||
if d.RootFolderID == "" {
|
||||
for _, userCloudStorage := range data.UserCloudStorageRelations {
|
||||
for _, userCloudStorage := range loginData.UserCloudStorageRelations {
|
||||
if userCloudStorage.Path == "/文件" {
|
||||
d.RootFolderID = userCloudStorage.FolderID
|
||||
}
|
||||
@ -76,8 +84,20 @@ func (d *MoPan) Init(ctx context.Context) error {
|
||||
op.MustSaveDriverStorage(d)
|
||||
}
|
||||
return err
|
||||
}).SetDeviceInfo(d.DeviceInfo)
|
||||
d.DeviceInfo = d.client.GetDeviceInfo()
|
||||
})
|
||||
|
||||
var deviceInfo mopan.DeviceInfo
|
||||
if strings.TrimSpace(d.DeviceInfo) != "" && utils.Json.UnmarshalFromString(d.DeviceInfo, &deviceInfo) == nil {
|
||||
d.client.SetDeviceInfo(&deviceInfo)
|
||||
}
|
||||
d.DeviceInfo, _ = utils.Json.MarshalToString(d.client.GetDeviceInfo())
|
||||
|
||||
if strings.Contains(d.SMSCode, "send") {
|
||||
if _, err := d.client.LoginBySms(d.Phone); err != nil {
|
||||
return err
|
||||
}
|
||||
return errors.New("please enter the SMS code")
|
||||
}
|
||||
return login()
|
||||
}
|
||||
|
||||
|
@ -8,6 +8,7 @@ import (
|
||||
type Addition struct {
|
||||
Phone string `json:"phone" required:"true"`
|
||||
Password string `json:"password" required:"true"`
|
||||
SMSCode string `json:"sms_code" help:"input 'send' send sms "`
|
||||
|
||||
RootFolderID string `json:"root_folder_id" default:""`
|
||||
|
||||
|
Reference in New Issue
Block a user