diff --git a/internal/command/album.go b/internal/command/album.go index 03325e3..07f20b5 100644 --- a/internal/command/album.go +++ b/internal/command/album.go @@ -78,6 +78,10 @@ func CmdAlbum() cli.Command { fmt.Println("未登录账号") return nil } + if config.Config.ActiveUser().PanClient().WebapiPanClient() == nil { + fmt.Println("WEB客户端未登录,请登录后再使用") + return nil + } RunAlbumList() return nil }, @@ -102,6 +106,10 @@ func CmdAlbum() cli.Command { fmt.Println("未登录账号") return nil } + if config.Config.ActiveUser().PanClient().WebapiPanClient() == nil { + fmt.Println("WEB客户端未登录,请登录后再使用") + return nil + } RunAlbumCreate(c.Args().Get(0), c.Args().Get(1)) return nil }, @@ -127,6 +135,10 @@ func CmdAlbum() cli.Command { fmt.Println("未登录账号") return nil } + if config.Config.ActiveUser().PanClient().WebapiPanClient() == nil { + fmt.Println("WEB客户端未登录,请登录后再使用") + return nil + } RunAlbumDelete(c.Args()) return nil }, @@ -149,6 +161,10 @@ func CmdAlbum() cli.Command { fmt.Println("未登录账号") return nil } + if config.Config.ActiveUser().PanClient().WebapiPanClient() == nil { + fmt.Println("WEB客户端未登录,请登录后再使用") + return nil + } RunAlbumRename(c.Args().Get(0), c.Args().Get(1)) return nil }, @@ -171,6 +187,10 @@ func CmdAlbum() cli.Command { fmt.Println("未登录账号") return nil } + if config.Config.ActiveUser().PanClient().WebapiPanClient() == nil { + fmt.Println("WEB客户端未登录,请登录后再使用") + return nil + } RunAlbumListFile(c.Args().Get(0)) return nil }, @@ -193,6 +213,10 @@ func CmdAlbum() cli.Command { fmt.Println("未登录账号") return nil } + if config.Config.ActiveUser().PanClient().WebapiPanClient() == nil { + fmt.Println("WEB客户端未登录,请登录后再使用") + return nil + } subArgs := c.Args() if len(subArgs) < 2 { fmt.Println("请指定移除的文件") @@ -223,6 +247,10 @@ func CmdAlbum() cli.Command { fmt.Println("未登录账号") return nil } + if config.Config.ActiveUser().PanClient().WebapiPanClient() == nil { + fmt.Println("WEB客户端未登录,请登录后再使用") + return nil + } subArgs := c.Args() if len(subArgs) < 2 { fmt.Println("请指定增加的文件") @@ -251,6 +279,10 @@ func CmdAlbum() cli.Command { fmt.Println("未登录账号") return nil } + if config.Config.ActiveUser().PanClient().WebapiPanClient() == nil { + fmt.Println("WEB客户端未登录,请登录后再使用") + return nil + } subArgs := c.Args() if len(subArgs) == 0 { fmt.Println("请指定下载的相簿名称") diff --git a/internal/command/recycle.go b/internal/command/recycle.go index 8dcd819..0ce8710 100644 --- a/internal/command/recycle.go +++ b/internal/command/recycle.go @@ -19,6 +19,7 @@ import ( "github.com/tickstep/aliyunpan-api/aliyunpan" "github.com/tickstep/aliyunpan/cmder" "github.com/tickstep/aliyunpan/cmder/cmdtable" + "github.com/tickstep/aliyunpan/internal/config" "github.com/tickstep/library-go/converter" "github.com/tickstep/library-go/logger" "github.com/urfave/cli" @@ -60,6 +61,14 @@ func CmdRecycle() cli.Command { Usage: "列出回收站文件列表", UsageText: cmder.App().Name + " recycle list", Action: func(c *cli.Context) error { + if config.Config.ActiveUser() == nil { + fmt.Println("未登录账号") + return nil + } + if config.Config.ActiveUser().PanClient().WebapiPanClient() == nil { + fmt.Println("WEB客户端未登录,请登录后再使用") + return nil + } RunRecycleList(parseDriveId(c)) return nil }, @@ -78,6 +87,14 @@ func CmdRecycle() cli.Command { UsageText: cmder.App().Name + " recycle restore ...", Description: `根据文件/目录的 fs_id, 还原回收站指定的文件或目录`, Action: func(c *cli.Context) error { + if config.Config.ActiveUser() == nil { + fmt.Println("未登录账号") + return nil + } + if config.Config.ActiveUser().PanClient().WebapiPanClient() == nil { + fmt.Println("WEB客户端未登录,请登录后再使用") + return nil + } if c.NArg() <= 0 { cli.ShowCommandHelp(c, c.Command.Name) return nil @@ -100,6 +117,14 @@ func CmdRecycle() cli.Command { UsageText: cmder.App().Name + " recycle delete [-all] ...", Description: `根据文件/目录的 file_id 或 -all 参数, 删除回收站指定的文件或目录或清空回收站`, Action: func(c *cli.Context) error { + if config.Config.ActiveUser() == nil { + fmt.Println("未登录账号") + return nil + } + if config.Config.ActiveUser().PanClient().WebapiPanClient() == nil { + fmt.Println("WEB客户端未登录,请登录后再使用") + return nil + } if c.Bool("all") { // 清空回收站 RunRecycleClear(parseDriveId(c)) diff --git a/internal/command/share.go b/internal/command/share.go index 9404d4f..d4477bc 100644 --- a/internal/command/share.go +++ b/internal/command/share.go @@ -73,6 +73,10 @@ func CmdShare() cli.Command { fmt.Println("未登录账号") return nil } + if config.Config.ActiveUser().PanClient().WebapiPanClient() == nil { + fmt.Println("WEB客户端未登录,请登录后再使用") + return nil + } et := "" timeFlag := "0" if c.IsSet("time") { @@ -143,6 +147,14 @@ func CmdShare() cli.Command { Usage: "列出已分享文件/目录", UsageText: cmder.App().Name + " share list", Action: func(c *cli.Context) error { + if config.Config.ActiveUser() == nil { + fmt.Println("未登录账号") + return nil + } + if config.Config.ActiveUser().PanClient().WebapiPanClient() == nil { + fmt.Println("WEB客户端未登录,请登录后再使用") + return nil + } RunShareList() return nil }, @@ -155,6 +167,14 @@ func CmdShare() cli.Command { UsageText: cmder.App().Name + " share cancel ...", Description: `目前只支持通过分享id (shareid) 来取消分享.`, Action: func(c *cli.Context) error { + if config.Config.ActiveUser() == nil { + fmt.Println("未登录账号") + return nil + } + if config.Config.ActiveUser().PanClient().WebapiPanClient() == nil { + fmt.Println("WEB客户端未登录,请登录后再使用") + return nil + } if c.NArg() < 1 { cli.ShowCommandHelp(c, c.Command.Name) return nil @@ -178,6 +198,14 @@ func CmdShare() cli.Command { aliyunpan share export -option 2 "d:\myfoler\share_list.csv" `, Action: func(c *cli.Context) error { + if config.Config.ActiveUser() == nil { + fmt.Println("未登录账号") + return nil + } + if config.Config.ActiveUser().PanClient().WebapiPanClient() == nil { + fmt.Println("WEB客户端未登录,请登录后再使用") + return nil + } if c.NArg() < 1 { cli.ShowCommandHelp(c, c.Command.Name) return nil @@ -198,51 +226,6 @@ func CmdShare() cli.Command { }, }, }, - // { - // Name: "mc", - // Aliases: []string{}, - // Usage: "创建秒传链接", - // UsageText: cmder.App().Name + " share mc <文件/目录1> <文件/目录2> ...", - // Description: ` - //创建文件秒传链接,秒传链接只能是文件,如果是文件夹则会创建文件夹包含的所有文件的秒传链接。秒传链接可以通过RapidUpload命令或者Import命令进行导入到自己的网盘。 - //示例: - // 创建文件 1.mp4 的秒传链接 - // aliyunpan share mc 1.mp4 - // - // 创建文件 1.mp4 的秒传链接,但链接隐藏相对路径 - // aliyunpan share mc -hp 1.mp4 - // - // 创建文件夹 share_folder 下面所有文件的秒传链接 - // aliyunpan share mc share_folder/ - //`, - // Action: func(c *cli.Context) error { - // if c.NArg() < 1 { - // cli.ShowCommandHelp(c, c.Command.Name) - // return nil - // } - // if config.Config.ActiveUser() == nil { - // fmt.Println("未登录账号") - // return nil - // } - // hp := false - // if c.IsSet("hp") { - // hp = c.Bool("hp") - // } - // RunShareMc(parseDriveId(c), hp, c.Args()) - // return nil - // }, - // Flags: []cli.Flag{ - // cli.StringFlag{ - // Name: "driveId", - // Usage: "网盘ID", - // Value: "", - // }, - // cli.BoolFlag{ - // Name: "hp", - // Usage: "hide path, 隐藏相对目录", - // }, - // }, - // }, }, } } diff --git a/internal/command/xcp.go b/internal/command/xcp.go index b8b1431..e65f713 100644 --- a/internal/command/xcp.go +++ b/internal/command/xcp.go @@ -55,6 +55,10 @@ func CmdXcp() cli.Command { fmt.Println("未登录账号") return nil } + if config.Config.ActiveUser().PanClient().WebapiPanClient() == nil { + fmt.Println("WEB客户端未登录,请登录后再使用") + return nil + } srcDriveId := parseDriveId(c) dstDriveId := "" driveList := config.Config.ActiveUser().DriveList