jsonconf.go 3.09 KB
package jsonconf

import (
	"common/logger"
	"encoding/json"
	"io/ioutil"
	"os"
)

var (
	g_jsonconf = new(GameConfig)
)

type AchieveDesc struct {
	Type       int    `json:"type"`
	Id     int `json:"id"`
	Desc      string    `json:"desc"`
	Aim   int  `json:"aim"`
	Coin int    `json:"coin"`
	Is_video int    `json:"is_video"`
}

type TaskDesc struct {
	Id     int `json:"id"`
	Type       int    `json:"type"`
	Day_type       int    `json:"day_type"`
	Active       int    `json:"active"`
	Coin       int    `json:"coin"`
	Desc      string    `json:"desc"`
}



type TrunTableConfigDesc struct {
	Id    int `json:"id"`
	Name string `json:"name"`
	Type int `json:"type"`
	Desc int `json:"desc"`
	Rate int `json:"rate"`
}

type RmbConfigDesc struct {
	Id    int     `json:"id"`
	Rmb_num float32 `json:"rmb_num"`
	Time  int     `json:"time"`
	Login_day  int     `json:"login_day"`
}





type SignConfigDesc struct {
	Id   int        `json:"id"`
	Sign_coin  int        `json:"sign_coin"`
	Video_coin int `json:"video_coin"`
}

type GameConfig struct {
	AchieventConfig    []AchieveDesc
	TaskConfig         []TaskDesc
	SignConfig         []SignConfigDesc
	RmbConfig     []RmbConfigDesc
	TrunTableConfig []TrunTableConfigDesc
}

func GetJsonConf() *GameConfig {
	return g_jsonconf
}



func file_get_contents(path string) ([]byte, error) {
	f, err := os.Open(path)
	if err != nil {
		return nil, err
	}
	return ioutil.ReadAll(f)
}

func LoadJsonConf() error {
	//pconf := &GameConfig{}
	//加载第一个配置
	path := "../jsonconf/AchievementConfig.json"
	content, err := file_get_contents(path)
	if err != nil {
		logger.Info("loadJsonConf failed1,err=%v", err)
		return err
	}

	err = json.Unmarshal([]byte(content), &g_jsonconf.AchieventConfig)
	if err != nil {
		logger.Info("loadJsonConf failed1,err=%v", err)
		return err
	}

	path = "../jsonconf/TaskConfig.json"
	content, err = file_get_contents(path)
	if err != nil {
		logger.Info("loadJsonConf failed1,err=%v", err)
		return err
	}

	err = json.Unmarshal([]byte(content), &g_jsonconf.TaskConfig)
	if err != nil {
		logger.Info("loadJsonConf failed1,err=%v", err)
		return err
	}

	path = "../jsonconf/RmbConfig.json"
	content, err = file_get_contents(path)
	if err != nil {
		logger.Info("loadJsonConf failed1,err=%v", err)
		return err
	}

	err = json.Unmarshal([]byte(content), &g_jsonconf.RmbConfig)
	if err != nil {
		logger.Info("loadJsonConf failed1,err=%v", err)
		return err
	}

	path = "../jsonconf/SignConfig.json"
	content, err = file_get_contents(path)
	if err != nil {
		logger.Info("loadJsonConf failed1,err=%v", err)
		return err
	}

	err = json.Unmarshal([]byte(content), &g_jsonconf.SignConfig)
	if err != nil {
		logger.Info("loadJsonConf failed1,err=%v", err)
		return err
	}

	path = "../jsonconf/TurntableConfig.json"
	content, err = file_get_contents(path)
	if err != nil {
		logger.Info("loadJsonConf failed1,err=%v", err)
		return err
	}

	err = json.Unmarshal([]byte(content), &g_jsonconf.TrunTableConfig)
	if err != nil {
		logger.Info("loadJsonConf failed1,err=%v", err)
		return err
	}



	logger.Info("loadJsonConf success pconf=%+v,err=%v", *g_jsonconf, err)
	return err
}