refactor: 全面重构代码并加白话注释,移动全局并行,去掉去向/重复记录
- 重构后端与前端,全程大白话注释(不懂程序也能看懂) - 移动阶段改为全局并行(MoveAll,工人数=CPU核心数) - 去掉记录每个文件搬去哪了(删除去向回填,解决写库卡顿) - 去掉重复文件标记与统计:重复判定改为 MD5+路径都相同才算,重复则原地忽略不移动;MD5 相同但路径不同仍照常搬 - 媒体库去掉归类目录列,看板去掉重复/归类分布统计
This commit is contained in:
@@ -1,33 +1,41 @@
|
||||
// Package config 提供 Web 服务的基础配置加载(Spring Boot 风格 properties 文件)。
|
||||
// Package config 负责读程序的配置文件(application.properties)。
|
||||
//
|
||||
// 大白话理解:程序启动时先看看配置文件里写了啥,没写就用默认值。
|
||||
// 配置文件就在程序旁边,叫 application.properties,用记事本就能改。
|
||||
package config
|
||||
|
||||
import (
|
||||
"github.com/magiconair/properties"
|
||||
)
|
||||
|
||||
// Config 服务配置
|
||||
// Config 程序配置:
|
||||
// - Port:网页服务用哪个端口(默认 8080)
|
||||
// - Dsn:数据库文件叫什么(默认 media-info.db,放在程序目录下)
|
||||
// - AutoOpen:启动后要不要自动打开浏览器
|
||||
type Config struct {
|
||||
Port int // HTTP 监听端口
|
||||
Dsn string // 数据库路径(相对路径相对服务启动目录)
|
||||
AutoOpen bool // 启动后自动打开浏览器
|
||||
Port int
|
||||
Dsn string
|
||||
AutoOpen bool
|
||||
}
|
||||
|
||||
// appConfig 当前生效配置(供 api 层读取)
|
||||
// appConfig 当前生效的配置(程序运行期间一直不变)。
|
||||
var appConfig Config
|
||||
|
||||
// GetAppConfig 返回当前生效配置
|
||||
// GetAppConfig 返回当前生效的配置。
|
||||
func GetAppConfig() Config {
|
||||
return appConfig
|
||||
}
|
||||
|
||||
// LoadAppConfig 从 application.properties 读取配置;文件缺失时使用默认值
|
||||
// LoadAppConfig 从 application.properties 读配置;文件不存在就用默认值。
|
||||
func LoadAppConfig() {
|
||||
// 先给一套默认值
|
||||
appConfig = Config{Port: 8080, Dsn: "media-info.db", AutoOpen: true}
|
||||
|
||||
p, err := properties.LoadFile("application.properties", properties.UTF8)
|
||||
if err != nil {
|
||||
return
|
||||
return // 没有配置文件,就用默认值
|
||||
}
|
||||
// 配置文件里写了就覆盖默认值
|
||||
if port := p.GetInt("server.port", 0); port > 0 {
|
||||
appConfig.Port = port
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user