mirror of https://github.com/Xhofe/alist
✨ local sort for no sort param driver
parent
0f079827e5
commit
3331462229
|
@ -27,6 +27,18 @@ func (driver AliDrive) Config() base.DriverConfig {
|
||||||
|
|
||||||
func (driver AliDrive) Items() []base.Item {
|
func (driver AliDrive) Items() []base.Item {
|
||||||
return []base.Item{
|
return []base.Item{
|
||||||
|
{
|
||||||
|
Name: "refresh_token",
|
||||||
|
Label: "refresh token",
|
||||||
|
Type: base.TypeString,
|
||||||
|
Required: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Name: "root_folder",
|
||||||
|
Label: "root folder file_id",
|
||||||
|
Type: base.TypeString,
|
||||||
|
Required: false,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
Name: "order_by",
|
Name: "order_by",
|
||||||
Label: "order_by",
|
Label: "order_by",
|
||||||
|
@ -41,18 +53,6 @@ func (driver AliDrive) Items() []base.Item {
|
||||||
Values: "ASC,DESC",
|
Values: "ASC,DESC",
|
||||||
Required: false,
|
Required: false,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
Name: "refresh_token",
|
|
||||||
Label: "refresh token",
|
|
||||||
Type: base.TypeString,
|
|
||||||
Required: true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
Name: "root_folder",
|
|
||||||
Label: "root folder file_id",
|
|
||||||
Type: base.TypeString,
|
|
||||||
Required: false,
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
Name: "limit",
|
Name: "limit",
|
||||||
Label: "limit",
|
Label: "limit",
|
||||||
|
|
|
@ -16,6 +16,7 @@ type DriverConfig struct {
|
||||||
ApiProxy bool // 使用API中转的
|
ApiProxy bool // 使用API中转的
|
||||||
NoNeedSetLink bool // 不需要设置链接的
|
NoNeedSetLink bool // 不需要设置链接的
|
||||||
NoCors bool // 不可以跨域
|
NoCors bool // 不可以跨域
|
||||||
|
LocalSort bool // 本地排序
|
||||||
}
|
}
|
||||||
|
|
||||||
type Args struct {
|
type Args struct {
|
||||||
|
@ -133,6 +134,24 @@ func GetDrivers() map[string][]Item {
|
||||||
},
|
},
|
||||||
}, res[k]...)
|
}, res[k]...)
|
||||||
}
|
}
|
||||||
|
if v.Config().LocalSort {
|
||||||
|
res[k] = append(res[k], []Item{
|
||||||
|
{
|
||||||
|
Name: "order_by",
|
||||||
|
Label: "order_by",
|
||||||
|
Type: TypeSelect,
|
||||||
|
Values: "name,size,updated_at",
|
||||||
|
Required: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Name: "order_direction",
|
||||||
|
Label: "order_direction",
|
||||||
|
Type: TypeSelect,
|
||||||
|
Values: "ASC,DESC",
|
||||||
|
Required: false,
|
||||||
|
},
|
||||||
|
}...)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return res
|
return res
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,6 +20,7 @@ func (driver FTP) Config() base.DriverConfig {
|
||||||
OnlyProxy: true,
|
OnlyProxy: true,
|
||||||
NoLink: true,
|
NoLink: true,
|
||||||
NoNeedSetLink: true,
|
NoNeedSetLink: true,
|
||||||
|
LocalSort: true,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -49,20 +50,6 @@ func (driver FTP) Items() []base.Item {
|
||||||
Type: base.TypeString,
|
Type: base.TypeString,
|
||||||
Required: false,
|
Required: false,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
Name: "order_by",
|
|
||||||
Label: "order_by",
|
|
||||||
Type: base.TypeSelect,
|
|
||||||
Values: "name,size,updated_at",
|
|
||||||
Required: false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
Name: "order_direction",
|
|
||||||
Label: "order_direction",
|
|
||||||
Type: base.TypeSelect,
|
|
||||||
Values: "ASC,DESC",
|
|
||||||
Required: false,
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -187,7 +174,6 @@ func (driver FTP) Path(path string, account *model.Account) (*model.File, []mode
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, nil, err
|
return nil, nil, err
|
||||||
}
|
}
|
||||||
model.SortFiles(files, account)
|
|
||||||
return nil, files, nil
|
return nil, files, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -20,6 +20,7 @@ func (driver GoogleDrive) Config() base.DriverConfig {
|
||||||
OnlyProxy: true,
|
OnlyProxy: true,
|
||||||
ApiProxy: true,
|
ApiProxy: true,
|
||||||
NoNeedSetLink: true,
|
NoNeedSetLink: true,
|
||||||
|
LocalSort: true,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -23,6 +23,7 @@ func (driver Native) Config() base.DriverConfig {
|
||||||
OnlyProxy: true,
|
OnlyProxy: true,
|
||||||
NoLink: true,
|
NoLink: true,
|
||||||
NoNeedSetLink: true,
|
NoNeedSetLink: true,
|
||||||
|
LocalSort: true,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -34,20 +35,6 @@ func (driver Native) Items() []base.Item {
|
||||||
Type: base.TypeString,
|
Type: base.TypeString,
|
||||||
Required: true,
|
Required: true,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
Name: "order_by",
|
|
||||||
Label: "order_by",
|
|
||||||
Type: base.TypeSelect,
|
|
||||||
Values: "name,size,updated_at",
|
|
||||||
Required: false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
Name: "order_direction",
|
|
||||||
Label: "order_direction",
|
|
||||||
Type: base.TypeSelect,
|
|
||||||
Values: "ASC,DESC",
|
|
||||||
Required: false,
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -153,7 +140,7 @@ func (driver Native) Path(path string, account *model.Account) (*model.File, []m
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, nil, err
|
return nil, nil, err
|
||||||
}
|
}
|
||||||
model.SortFiles(files, account)
|
//model.SortFiles(files, account)
|
||||||
return nil, files, nil
|
return nil, files, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -17,6 +17,7 @@ func (driver PikPak) Config() base.DriverConfig {
|
||||||
return base.DriverConfig{
|
return base.DriverConfig{
|
||||||
Name: "PikPak",
|
Name: "PikPak",
|
||||||
ApiProxy: true,
|
ApiProxy: true,
|
||||||
|
LocalSort: true,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -18,6 +18,7 @@ func (driver Shandian) Config() base.DriverConfig {
|
||||||
return base.DriverConfig{
|
return base.DriverConfig{
|
||||||
Name: "ShandianPan",
|
Name: "ShandianPan",
|
||||||
NoNeedSetLink: true,
|
NoNeedSetLink: true,
|
||||||
|
LocalSort: true,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -77,6 +77,9 @@ func Path(c *gin.Context) {
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
files = Hide(files, req.Path)
|
files = Hide(files, req.Path)
|
||||||
|
if driver.Config().LocalSort {
|
||||||
|
model.SortFiles(files, account)
|
||||||
|
}
|
||||||
c.JSON(200, common.Resp{
|
c.JSON(200, common.Resp{
|
||||||
Code: 200,
|
Code: 200,
|
||||||
Message: "folder",
|
Message: "folder",
|
||||||
|
|
Loading…
Reference in New Issue