feat: 添加本地文件管理功能和图像处理配置优化
- 新增本地文件查看页面 (LocalFilesView.vue) 支持网格/列表视图 - 添加文件类型筛选、搜索和详情查看功能 - 完善路由配置和菜单导航 (archive-outline 图标) - 优化后端图像处理配置,添加默认缩略图尺寸设置 - 更新配置加载器支持新的图像处理参数 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
1 parent
ef79c61842
commit
ba1d8f100e
9 files changed
+656
-14
No files matched your search
@@ -17,4 +17,12 @@ logging:
|
||||
level: "debug"
|
||||
|
||||
database:
|
||||
type: "sqlite"
|
||||
type: "sqlite"
|
||||
|
||||
# 图像处理配置
|
||||
image:
|
||||
thumbnail_format: "jpg"
|
||||
thumbnail_size: [512, 720]
|
||||
default_thumbnail_size: 720 # 默认使用的缩略图尺寸
|
||||
thumbnail_quality: 80
|
||||
screen_size: 1080
|
||||
@@ -16,6 +16,8 @@ type ImageCompressionOptions struct {
|
||||
ThumbnailFormat consts.ImageFormat
|
||||
// 缩略图大小
|
||||
ThumbnailSize []int
|
||||
// 默认缩略图大小
|
||||
DefaultThumbnailSize int
|
||||
// 缩略图质量
|
||||
ThumbnailQuality int
|
||||
// 用户屏幕尺寸大小
|
||||
@@ -101,10 +103,11 @@ func InitConfig() *Config {
|
||||
|
||||
// 转换为原有的配置格式,保持向后兼容
|
||||
imageCompressionOptions := ImageCompressionOptions{
|
||||
ThumbnailFormat: convertToImageFormat(fileConfig.Image.ThumbnailFormat),
|
||||
ThumbnailSize: fileConfig.Image.ThumbnailSize,
|
||||
ThumbnailQuality: fileConfig.Image.ThumbnailQuality,
|
||||
ScreenSize: fileConfig.Image.ScreenSize,
|
||||
ThumbnailFormat: convertToImageFormat(fileConfig.Image.ThumbnailFormat),
|
||||
ThumbnailSize: fileConfig.Image.ThumbnailSize,
|
||||
DefaultThumbnailSize: fileConfig.Image.DefaultThumbnailSize,
|
||||
ThumbnailQuality: fileConfig.Image.ThumbnailQuality,
|
||||
ScreenSize: fileConfig.Image.ScreenSize,
|
||||
}
|
||||
|
||||
pathConfig := PathConfig{
|
||||
@@ -265,3 +268,12 @@ func GetTaskConfig() TaskConfig {
|
||||
|
||||
return taskConfig
|
||||
}
|
||||
|
||||
// GetDefaultThumbnailSize 获取默认缩略图尺寸
|
||||
func GetDefaultThumbnailSize() int {
|
||||
if CONFIG.ImageCompressionOption.DefaultThumbnailSize > 0 {
|
||||
return CONFIG.ImageCompressionOption.DefaultThumbnailSize
|
||||
}
|
||||
// 如果未设置或为0,返回默认值720
|
||||
return 720
|
||||
}
|
||||
@@ -52,11 +52,12 @@ type LoggingConfig struct {
|
||||
|
||||
// ImageConfig 图像处理配置
|
||||
type ImageConfig struct {
|
||||
ThumbnailFormat string `yaml:"thumbnail_format" json:"thumbnail_format"`
|
||||
ThumbnailSize []int `yaml:"thumbnail_size" json:"thumbnail_size"`
|
||||
ThumbnailQuality int `yaml:"thumbnail_quality" json:"thumbnail_quality"`
|
||||
ScreenSize int `yaml:"screen_size" json:"screen_size"`
|
||||
SupportedFormats struct {
|
||||
ThumbnailFormat string `yaml:"thumbnail_format" json:"thumbnail_format"`
|
||||
ThumbnailSize []int `yaml:"thumbnail_size" json:"thumbnail_size"`
|
||||
DefaultThumbnailSize int `yaml:"default_thumbnail_size" json:"default_thumbnail_size"`
|
||||
ThumbnailQuality int `yaml:"thumbnail_quality" json:"thumbnail_quality"`
|
||||
ScreenSize int `yaml:"screen_size" json:"screen_size"`
|
||||
SupportedFormats struct {
|
||||
Base []string `yaml:"base" json:"base"`
|
||||
Special []string `yaml:"special" json:"special"`
|
||||
Thumbnail []string `yaml:"thumbnail" json:"thumbnail"`
|
||||
@@ -155,10 +156,11 @@ func GetDefaultFileConfig() *FileConfig {
|
||||
MaxLifetime: 0,
|
||||
},
|
||||
Image: ImageConfig{
|
||||
ThumbnailFormat: "jpg",
|
||||
ThumbnailSize: []int{512, 720},
|
||||
ThumbnailQuality: 80,
|
||||
ScreenSize: 1080,
|
||||
ThumbnailFormat: "jpg",
|
||||
ThumbnailSize: []int{512, 720},
|
||||
DefaultThumbnailSize: 720,
|
||||
ThumbnailQuality: 80,
|
||||
ScreenSize: 1080,
|
||||
SupportedFormats: struct {
|
||||
Base []string `yaml:"base" json:"base"`
|
||||
Special []string `yaml:"special" json:"special"`
|
||||
@@ -287,6 +289,9 @@ func MergeWithDefaults(fileConfig *FileConfig) *FileConfig {
|
||||
if fileConfig.Image.ScreenSize == 0 {
|
||||
fileConfig.Image.ScreenSize = defaultConfig.Image.ScreenSize
|
||||
}
|
||||
if fileConfig.Image.DefaultThumbnailSize == 0 {
|
||||
fileConfig.Image.DefaultThumbnailSize = defaultConfig.Image.DefaultThumbnailSize
|
||||
}
|
||||
if len(fileConfig.Image.SupportedFormats.Base) == 0 {
|
||||
fileConfig.Image.SupportedFormats.Base = defaultConfig.Image.SupportedFormats.Base
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user