mirror of
https://github.com/wyx2685/V2bX.git
synced 2026-02-04 20:50:09 +00:00
refactor conf
This commit is contained in:
28
conf/core.go
28
conf/core.go
@@ -1,7 +1,29 @@
|
||||
package conf
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
)
|
||||
|
||||
type CoreConfig struct {
|
||||
Type string `yaml:"Type"`
|
||||
XrayConfig *XrayConfig `yaml:"XrayConfig"`
|
||||
SingConfig *SingConfig `yaml:"SingConfig"`
|
||||
Type string `json:"Type"`
|
||||
XrayConfig *XrayConfig `json:"-"`
|
||||
SingConfig *SingConfig `json:"-"`
|
||||
}
|
||||
|
||||
type _CoreConfig CoreConfig
|
||||
|
||||
func (c *CoreConfig) UnmarshalJSON(b []byte) error {
|
||||
err := json.Unmarshal(b, (*_CoreConfig)(c))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
switch c.Type {
|
||||
case "xray":
|
||||
c.XrayConfig = NewXrayConfig()
|
||||
return json.Unmarshal(b, c.XrayConfig)
|
||||
case "sing":
|
||||
c.SingConfig = NewSingConfig()
|
||||
return json.Unmarshal(b, c.SingConfig)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user