🎇 多盘支持

This commit is contained in:
微凉
2021-03-16 21:25:16 +08:00
parent 8e9ddcf81e
commit 4d0d892ce7
19 changed files with 177 additions and 173 deletions

View File

@@ -10,28 +10,24 @@ import (
func InitAliDrive() bool {
log.Infof("初始化阿里云盘...")
//首先token_login
if conf.Conf.AliDrive.RefreshToken == "" {
tokenLogin, err := alidrive.TokenLogin()
if err != nil {
log.Errorf("登录失败:%s", err.Error())
return false
}
//然后get_token
token, err := alidrive.GetToken(tokenLogin)
if err != nil {
return false
}
conf.Authorization = token.TokenType + "\t" + token.AccessToken
} else {
conf.Authorization = conf.Bearer + conf.Conf.AliDrive.AccessToken
res := alidrive.RefreshTokenAll()
if res != "" {
log.Errorf("盘[%s]refresh_token失效,请检查", res)
}
log.Debugf("token:%s", conf.Authorization)
user, err := alidrive.GetUserInfo()
if err != nil {
log.Errorf("初始化用户失败:%s", err.Error())
return false
log.Debugf("config:%+v", conf.Conf)
for i, _ := range conf.Conf.AliDrive.Drives {
InitDriveId(&conf.Conf.AliDrive.Drives[i])
}
log.Infof("当前用户信息:%+v", user)
alidrive.User = user
return true
}
func InitDriveId(drive *conf.Drive) bool {
user, err := alidrive.GetUserInfo(drive)
if err != nil {
log.Errorf("初始化盘[%s]失败:%s", drive.Name, err.Error())
return false
}
drive.DefaultDriveId = user.DefaultDriveId
log.Infof("初始化盘[%s]成功:%+v", drive.Name, user)
return true
}

View File

@@ -13,7 +13,7 @@ func init() {
flag.BoolVar(&conf.Debug, "debug", false, "use debug mode")
flag.BoolVar(&conf.Help, "help", false, "show usage help")
flag.BoolVar(&conf.Version, "version", false, "show version info")
flag.StringVar(&conf.Con, "conf", "conf.yml", "config file")
flag.StringVar(&conf.ConfigFile, "conf", "conf.yml", "config file")
flag.BoolVar(&conf.SkipUpdate, "skip-update", false, "skip update")
}
@@ -52,7 +52,7 @@ func start() {
if !conf.SkipUpdate {
CheckUpdate()
}
if !ReadConf(conf.Con) {
if !ReadConf(conf.ConfigFile) {
log.Errorf("读取配置文件时出现错误,启动失败.")
return
}

View File

@@ -27,6 +27,7 @@ func ReadConf(config string) bool {
return false
}
log.Debugf("config:%+v", conf.Conf)
conf.Conf.Info.Roots = utils.GetNames()
conf.Origins = strings.Split(conf.Conf.Server.SiteUrl, ",")
return true
}

View File

@@ -10,7 +10,7 @@ var Cron *cron.Cron
// refresh token func for cron
func refreshToken() {
alidrive.RefreshToken()
alidrive.RefreshTokenAll()
}
// init cron jobs

View File

@@ -33,9 +33,7 @@ func InitModel() bool {
log.Errorf("数据库迁移失败:%s", err.Error())
return false
}
if err := models.BuildTree(); err != nil {
log.Errorf("构建目录树失败:%s", err.Error())
}
models.BuildTreeAll()
}
return true
}