2024-05-20 01:00:09 +08:00
|
|
|
|
package option
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"gopkg.in/yaml.v2"
|
|
|
|
|
"io"
|
|
|
|
|
"log"
|
|
|
|
|
"os"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
//自定义选项
|
|
|
|
|
|
|
|
|
|
type Option struct {
|
|
|
|
|
UDesk struct {
|
|
|
|
|
Filters []struct {
|
|
|
|
|
Filter7D string `yaml:"filter7d,omitempty"`
|
|
|
|
|
Filter14D string `yaml:"filter14d,omitempty"`
|
|
|
|
|
} `yaml:"filters"`
|
|
|
|
|
Macros []string `yaml:"macros"`
|
|
|
|
|
} `yaml:"uDesk"`
|
|
|
|
|
VolumePath string `yaml:"volumePath"`
|
|
|
|
|
FileServer struct {
|
2024-06-01 23:48:00 +08:00
|
|
|
|
Address string `yaml:"address"`
|
|
|
|
|
Preservation int `yaml:"preservation"`
|
2024-05-20 01:00:09 +08:00
|
|
|
|
} `yaml:"fileServer"`
|
|
|
|
|
ModelConf struct {
|
|
|
|
|
API string `yaml:"api"`
|
|
|
|
|
Token string `yaml:"token"`
|
|
|
|
|
} `yaml:"modelConf"`
|
|
|
|
|
Wechat struct {
|
|
|
|
|
Webhook string `yaml:"webhook"`
|
|
|
|
|
} `yaml:"wechat"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 新选项对象
|
|
|
|
|
func newOptionObj() *Option {
|
|
|
|
|
return &Option{}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (o *Option) readYaml(yamlFile string) *Option {
|
|
|
|
|
file, err := os.Open(yamlFile)
|
|
|
|
|
if err != nil {
|
|
|
|
|
log.Printf("打开yaml文件错误,错误是:%v", err)
|
|
|
|
|
return nil
|
|
|
|
|
}
|
|
|
|
|
defer file.Close()
|
|
|
|
|
|
|
|
|
|
data, err := io.ReadAll(file)
|
|
|
|
|
if err != nil {
|
|
|
|
|
log.Printf("读取yaml文件错误,错误是:%v", err)
|
|
|
|
|
return nil
|
|
|
|
|
}
|
|
|
|
|
var option Option
|
|
|
|
|
|
|
|
|
|
err = yaml.Unmarshal(data, &option)
|
|
|
|
|
|
|
|
|
|
if err != nil {
|
|
|
|
|
log.Printf("yaml文件内容反序列化失败,错误是:%v", err)
|
|
|
|
|
return nil
|
|
|
|
|
}
|
|
|
|
|
return &option
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func loadALLOption() *Option {
|
|
|
|
|
option := newOptionObj()
|
2024-05-20 01:50:16 +08:00
|
|
|
|
option = option.readYaml("/conf/option.yaml")
|
2024-05-20 01:00:09 +08:00
|
|
|
|
return option
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var (
|
|
|
|
|
UDESK_FILTER7D = loadALLOption().UDesk.Filters[0].Filter7D
|
|
|
|
|
UDSK_FILTER14D = loadALLOption().UDesk.Filters[1].Filter14D
|
|
|
|
|
UDESK_MACROS = loadALLOption().UDesk.Macros
|
|
|
|
|
FILESERVER_ADDRESS = loadALLOption().FileServer.Address
|
2024-06-01 23:48:00 +08:00
|
|
|
|
PRESERVATION = loadALLOption().FileServer.Preservation
|
2024-05-20 01:00:09 +08:00
|
|
|
|
VOLUMEPATH = loadALLOption().VolumePath
|
|
|
|
|
MODEL_API = loadALLOption().ModelConf.API
|
|
|
|
|
MODEL_TOKEN = loadALLOption().ModelConf.Token
|
|
|
|
|
WECHAT_WEBHOOK = loadALLOption().Wechat.Webhook
|
|
|
|
|
)
|