gigibox
2023-06-15 ff3cadba4a63cd1b63cd0e36358f49ccedb88bef
config/config.go
@@ -9,24 +9,38 @@
)
type Config struct {
   WebPort     string `json:"web_port"`
   SqlAddr     string `json:"sql_addr"`
   SqlDBName   string `json:"sql_db_name"`
   SqlUsername string `json:"sql_username"`
   SqlPassword string `json:"sql_password"`
   WebPort        string `json:"web_port"`        // 本地web服务绑定接口
   SqlAddr        string `json:"sql_addr"`        // 数据库ip地址, 不加端口号, 默认使用1433端口
   SqlDBName      string `json:"sql_db_name"`     // 数据库名称
   SqlUsername    string `json:"sql_username"`    // 数据库用户
   SqlPassword    string `json:"sql_password"`    // 数据库密码
   NsqServer      string `json:"nsq_server"`      // nsq TCP服务端地址
   NsqWebApi      string `json:"nsq_server"`      // nsq HTTP接口地址
   OrderTopic     string `json:"order_topic"`     // 订单上报的topic
   InventoryTopic string `json:"inventory_topic"` // 库存上报的topic
   SyncInterval   int    `json:"interval"`        // 同步的时间间隔, 单位/秒
}
const configPath = "config.json"
var Options Config
// Init is an exported method that takes the environment starts the viper
// (external lib) and returns the configuration struct.
func init() {
func DefaultConfig() {
   Options.WebPort = "10210"
   Options.SqlAddr = "127.0.0.1"
   Options.SqlDBName = "dbname"
   Options.SqlUsername = "sa"
   Options.SqlPassword = "123456"
   Options.NsqServer = "fai365.com:4150"
   Options.NsqWebApi = "http://121.31.232.83:9080/api/nsq/pub?topic=your_topic"
   Options.OrderTopic = "/province/city/factoryNo/kingdee_seOrder"
   Options.InventoryTopic = "/province/city/factoryNo/kingdee_inventory"
   Options.SyncInterval = 60
}
func Load() {
   if !pathExists(configPath) {
      DefaultConfig()
      SaveConfig()
   } else {
      file, _ := os.Open(configPath)
@@ -44,8 +58,11 @@
   b, err := json.Marshal(Options)
   if err == nil {
      var out bytes.Buffer
      err = json.Indent(&out, b, "", "    ")
      ioutil.WriteFile(configPath, out.Bytes(), 0644)
      if err == nil {
         err = ioutil.WriteFile(configPath, out.Bytes(), 0644)
      }
   }
   return err