劲创营---任务项目
25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.
 
 
 

73 satır
1.6 KiB

  1. package cfg
  2. import (
  3. "flag"
  4. "io/ioutil"
  5. "gopkg.in/yaml.v2"
  6. )
  7. // 配置文件数据,全局变量
  8. var (
  9. Debug bool
  10. Prd bool
  11. CurlDebug bool
  12. SrvAddr string
  13. RedisAddr string
  14. DB *DBCfg
  15. MQ *MQCfg
  16. Log *LogCfg
  17. ArkID *ArkIDCfg
  18. Admin *AdminCfg
  19. ImBusinessRpc *ImBusinessRpcCfg
  20. ImLogicRpc *ImLogicRpcCfg
  21. App *AppCfg
  22. Official *OfficialCfg
  23. WxappletFilepath *WxappletFilepathCfg
  24. Local bool
  25. AppComm *AppCommCfg
  26. ZhiosPay *ZhiosPayCfg
  27. ZhimengDB *DBCfg
  28. )
  29. // 初始化配置文件,将cfg.yml读入到内存
  30. func InitCfg() {
  31. //用指定的名称、默认值、使用信息注册一个string类型flag。
  32. path := flag.String("c", "etc/cfg.yml", "config file")
  33. //解析命令行参数写入注册的flag里。
  34. //解析之后,flag的值可以直接使用。
  35. flag.Parse()
  36. var (
  37. c []byte
  38. err error
  39. conf *Config
  40. )
  41. if c, err = ioutil.ReadFile(*path); err != nil {
  42. panic(err)
  43. }
  44. //yaml.Unmarshal反序列化映射到Config
  45. if err = yaml.Unmarshal(c, &conf); err != nil {
  46. panic(err)
  47. }
  48. //数据读入内存
  49. Prd = conf.Prd
  50. Debug = conf.Debug
  51. Local = conf.Local
  52. CurlDebug = conf.CurlDebug
  53. DB = &conf.DB
  54. Log = &conf.Log
  55. ArkID = &conf.ArkID
  56. RedisAddr = conf.RedisAddr
  57. SrvAddr = conf.SrvAddr
  58. Admin = &conf.Admin
  59. ImBusinessRpc = &conf.ImBusinessRpc
  60. ImLogicRpc = &conf.ImLogicRpc
  61. App = &conf.App
  62. Official = &conf.Official
  63. WxappletFilepath = &conf.WxappletFilepath
  64. AppComm = &conf.AppComm
  65. ZhiosPay = &conf.ZhiosPay
  66. MQ = &conf.MQ
  67. ZhimengDB = &conf.ZhimengDB
  68. }