Beispiel #1
0
//	设置配置文件
func SetRootDir(root string) error {

	//	构造配置文件路径
	filePath := filepath.Join(root, configFile)
	_, err := os.Stat(filePath)
	if os.IsNotExist(err) {
		return err
	}

	//	读取文件
	buffer, err := io.ReadAllBytes(filePath)
	if err != nil {
		return err
	}

	//	解析配置项
	configValue = &Config{}
	err = json.Unmarshal(buffer, configValue)
	if err != nil {
		return err
	}

	if configValue == nil {
		return fmt.Errorf("配置文件错误")
	}

	return nil
}
Beispiel #2
0
//	设置配置文件
func ReadConfig() error {

	root, err := path.GetStartupDir()
	if err != nil {
		return fmt.Errorf("获取起始目录失败:%s", err.Error())
	}

	//	构造配置文件路径
	filePath := filepath.Join(root, configFile)
	if !io.IsExists(filePath) {
		return fmt.Errorf("配置文件%s不存在", filePath)
	}

	//	读取文件
	buffer, err := io.ReadAllBytes(filePath)
	if err != nil {
		return err
	}

	//	解析配置项
	configValue = &Config{}
	err = json.Unmarshal(buffer, configValue)
	if err != nil {
		return err
	}

	if configValue == nil {
		return fmt.Errorf("配置文件错误")
	}

	return nil
}
Beispiel #3
0
//	初始化配置文件
func Init() error {

	//	启动目录
	startupDir, err := path.GetStartupDir()
	if err != nil {
		return err
	}

	//	构造配置文件路径
	filePath := filepath.Join(startupDir, configFile)
	if !io.IsExists(filePath) {
		return fmt.Errorf("配置文件 %s 不存在", filePath)
	}

	//	读取文件
	buffer, err := io.ReadAllBytes(filePath)
	if err != nil {
		return err
	}

	//	解析配置项
	configValue = &Config{}
	err = json.Unmarshal(buffer, configValue)
	if err != nil {
		return err
	}

	if configValue == nil {
		return fmt.Errorf("配置文件错误")
	}

	//	数据目录不存在就创建
	_, err = os.Stat(configValue.DataDir)
	if os.IsNotExist(err) {
		err = os.Mkdir(configValue.DataDir, 0666)
		if err != nil {
			return err
		}
	}

	return nil
}
Beispiel #4
0
// parseConfig 解析配置
func parseConfig() (*Config, error) {

	configPath, err := getConfigFilePath()
	if err != nil {
		return nil, err
	}

	log.Printf("开始解析配置,配置文件路径: %s", configPath)

	//	读取文件
	buffer, err := io.ReadAllBytes(configPath)
	if err != nil {
		return nil, err
	}

	//	解析配置项
	config := new(Config)
	err = yaml.Unmarshal(buffer, config)

	return config, err
}