package config import ( "gitlink.org.cn/cloudream/common/pkgs/logger" "gitlink.org.cn/cloudream/common/utils/config" "gitlink.org.cn/cloudream/jcs-pub/client/internal/accesstoken" "gitlink.org.cn/cloudream/jcs-pub/client/internal/db" "gitlink.org.cn/cloudream/jcs-pub/client/internal/downloader" "gitlink.org.cn/cloudream/jcs-pub/client/internal/downloader/strategy" "gitlink.org.cn/cloudream/jcs-pub/client/internal/http" mntcfg "gitlink.org.cn/cloudream/jcs-pub/client/internal/mount/config" "gitlink.org.cn/cloudream/jcs-pub/client/internal/ticktock" stgglb "gitlink.org.cn/cloudream/jcs-pub/common/globals" "gitlink.org.cn/cloudream/jcs-pub/common/pkgs/connectivity" corrpc "gitlink.org.cn/cloudream/jcs-pub/common/pkgs/rpc/coordinator" hubrpc "gitlink.org.cn/cloudream/jcs-pub/common/pkgs/rpc/hub" "gitlink.org.cn/cloudream/jcs-pub/common/pkgs/sysevent" ) type Config struct { Local stgglb.LocalMachineInfo `json:"local"` HubRPC hubrpc.PoolConfigJSON `json:"hubRPC"` CoordinatorRPC corrpc.PoolConfigJSON `json:"coordinatorRPC"` Logger logger.Config `json:"logger"` DB db.Config `json:"db"` SysEvent sysevent.Config `json:"sysEvent"` Connectivity connectivity.Config `json:"connectivity"` Downloader downloader.Config `json:"downloader"` DownloadStrategy strategy.Config `json:"downloadStrategy"` TickTock ticktock.Config `json:"tickTock"` HTTP *http.ConfigJSON `json:"http"` Mount *mntcfg.Config `json:"mount"` AccessToken *accesstoken.Config `json:"accessToken"` } var cfg Config // Init 初始化client // TODO 这里的modeulName参数弄成可配置的更好 func Init(configPath string) error { if configPath == "" { return config.Load("config.json", &cfg) } return config.Load(configPath, &cfg) } func Cfg() *Config { return &cfg }