1
0
mirror of https://github.com/Mrs4s/go-cqhttp.git synced 2025-05-04 19:17:37 +08:00

style: move internal/config to modules/config

config should not be internal, maybe some module need it.
This commit is contained in:
wdvxdr 2021-09-26 19:41:03 +08:00
parent ddd51e6ca3
commit 1337d3f1f3
No known key found for this signature in database
GPG Key ID: 703F8C071DE7A1B6
9 changed files with 101 additions and 121 deletions

View File

@ -25,7 +25,7 @@ import (
"github.com/Mrs4s/go-cqhttp/global"
"github.com/Mrs4s/go-cqhttp/internal/base"
"github.com/Mrs4s/go-cqhttp/internal/config"
"github.com/Mrs4s/go-cqhttp/modules/config"
)
// CQBot CQBot结构体,存储Bot实例相关配置

View File

@ -3,12 +3,14 @@ package base
import (
"flag"
"os"
"path"
"time"
log "github.com/sirupsen/logrus"
"gopkg.in/yaml.v3"
"github.com/Mrs4s/go-cqhttp/internal/config"
"github.com/Mrs4s/go-cqhttp/modules/config"
)
// command flags
@ -49,14 +51,15 @@ var (
// Parse parse flags
func Parse() {
flag.StringVar(&LittleC, "c", config.DefaultConfigFile, "configuration filename")
wd, _ := os.Getwd()
dc := path.Join(wd, "config.yml")
flag.StringVar(&LittleC, "c", dc, "configuration filename")
flag.BoolVar(&LittleD, "d", false, "running as a daemon")
flag.BoolVar(&LittleH, "h", false, "this help")
flag.StringVar(&LittleWD, "w", "", "cover the working directory")
d := flag.Bool("D", false, "debug mode")
flag.Parse()
config.DefaultConfigFile = LittleC // cover config file
if *d {
Debug = true
}
@ -64,7 +67,7 @@ func Parse() {
// Init read config from yml file
func Init() {
conf := config.Get()
conf := config.Parse(LittleC)
{ // bool config
if conf.Output.Debug {
Debug = true

View File

@ -30,8 +30,8 @@ import (
"github.com/Mrs4s/go-cqhttp/global"
"github.com/Mrs4s/go-cqhttp/global/terminal"
"github.com/Mrs4s/go-cqhttp/internal/base"
"github.com/Mrs4s/go-cqhttp/internal/config"
"github.com/Mrs4s/go-cqhttp/internal/selfupdate"
"github.com/Mrs4s/go-cqhttp/modules/config"
"github.com/Mrs4s/go-cqhttp/server"
)

View File

@ -6,10 +6,8 @@ import (
_ "embed" // embed the default config file
"fmt"
"os"
"path"
"strconv"
"strings"
"sync"
"github.com/Mrs4s/go-cqhttp/internal/param"
@ -21,11 +19,6 @@ import (
//go:embed default_config.yml
var defaultConfig string
var currentPath = getCurrentPath()
// DefaultConfigFile 默认配置文件路径
var DefaultConfigFile = path.Join(currentPath, "config.yml")
// Reconnect 重连配置
type Reconnect struct {
Disabled bool `yaml:"disabled"`
@ -144,28 +137,22 @@ type LevelDBConfig struct {
Enable bool `yaml:"enable"`
}
var (
config *Config
once sync.Once
)
// Parse 从默认配置文件路径中获取
func Parse(path string) *Config {
fromEnv := os.Getenv("GCQ_UIN") != ""
// Get 从默认配置文件路径中获取
func Get() *Config {
once.Do(func() {
hasEnvironmentConf := os.Getenv("GCQ_UIN") != ""
file, err := os.Open(DefaultConfigFile)
config = &Config{}
file, err := os.Open(path)
config := &Config{}
if err == nil {
defer func() { _ = file.Close() }()
if err = yaml.NewDecoder(file).Decode(config); err != nil && !hasEnvironmentConf {
if err = yaml.NewDecoder(file).Decode(config); err != nil && !fromEnv {
log.Fatal("配置文件不合法!", err)
}
} else if !hasEnvironmentConf {
} else if !fromEnv {
generateConfig()
os.Exit(0)
}
if hasEnvironmentConf {
if fromEnv {
// type convert tools
toInt64 := func(str string) int64 {
i, _ := strconv.ParseInt(str, 10, 64)
@ -240,19 +227,9 @@ func Get() *Config {
config.Servers = append(config.Servers, map[string]yaml.Node{"ws-reverse": *node})
}
}
})
return config
}
// getCurrentPath 获取当前文件的路径直接返回string
func getCurrentPath() string {
cwd, e := os.Getwd()
if e != nil {
panic(e)
}
return cwd
}
// generateConfig 生成配置文件
func generateConfig() {
fmt.Println("未找到配置文件,正在为您生成配置文件中!")

View File

@ -21,7 +21,7 @@ import (
"github.com/tidwall/gjson"
"github.com/Mrs4s/go-cqhttp/coolq"
"github.com/Mrs4s/go-cqhttp/internal/config"
"github.com/Mrs4s/go-cqhttp/modules/config"
)
type httpServer struct {

View File

@ -9,7 +9,7 @@ import (
log "github.com/sirupsen/logrus"
"github.com/Mrs4s/go-cqhttp/internal/config"
"github.com/Mrs4s/go-cqhttp/modules/config"
)
// RunPprofServer 启动 pprof 性能分析服务器

View File

@ -16,7 +16,7 @@ import (
"github.com/Mrs4s/go-cqhttp/coolq"
"github.com/Mrs4s/go-cqhttp/global"
"github.com/Mrs4s/go-cqhttp/internal/config"
"github.com/Mrs4s/go-cqhttp/modules/config"
)
type lambdaClient struct {

View File

@ -12,7 +12,7 @@ import (
"github.com/Mrs4s/go-cqhttp/coolq"
"github.com/Mrs4s/go-cqhttp/global"
"github.com/Mrs4s/go-cqhttp/internal/config"
"github.com/Mrs4s/go-cqhttp/modules/config"
"github.com/Mrs4s/MiraiGo/utils"
"github.com/gorilla/websocket"