github.com/lianghucheng/zrddz@v0.0.0-20200923083010-c71f680932e2/src/conf/json.go (about) 1 package conf 2 3 import ( 4 "common" 5 "strings" 6 "time" 7 8 "github.com/BurntSushi/toml" 9 "github.com/name5566/leaf/log" 10 ) 11 12 type Config struct { 13 CfgLeafSvr LeafSvr 14 CfgMatchs []CfgMatch 15 CfgTimeout CfgTimeout 16 CfgDDZ CfgDDZ 17 CfgRank CfgRank 18 CfgActivityTimes []CfgActivityTime 19 CfgRedpacketCode CfgRedpacketCode 20 CfgCard CfgCard 21 CfgRedPacketItems map[string]RedPacketItem 22 CfgLink CfgLink 23 CfgOneRedpacketInfo CfgOneRedpacketInfo 24 CfgTenRedpacketInfo CfgTenRedpacketInfo 25 CfgHundredRedpacketInfo CfgHundredRedpacketInfo 26 CfgDailySign []CfgDailySign 27 } 28 type LeafSvr struct { 29 LogLevel string 30 LogPath string 31 WSAddr string 32 CertFile string 33 KeyFile string 34 TCPAddr string 35 MaxConnNum int 36 DBUrl string 37 DBMaxConnNum int 38 ConsolePort int 39 ProfilePath string 40 HTTPAddr string 41 DBName string 42 TaskFreeChange int64 43 Level int 44 Chips int 45 RebateRate float64 46 FamilyActivity bool 47 RoomCard int 48 FirstLogin int 49 Model bool //false :表示测试环境 true:表示正式环境 50 SubsidyTotal int //补助次数 51 SubsidyChip int //破产补助金额 52 SubsidyLine int //资产低于多少给予破产补助 53 GameHttpAddress string 54 } 55 type CfgDDZ struct { 56 DefaultAndroidDownloadUrl string 57 DefaultIOSDownloadUrl string 58 DefaultSougouDownloadUrl string 59 DefaultGoogleDownloadUrl string 60 Gamename string 61 AndroidVersion int 62 IOSVersion int 63 SougouVersion int 64 GoogleVersion int 65 AndroidGuestLogin bool 66 IOSGuestLogin bool 67 SougouGuestLogin bool 68 GoogleGuestLogin bool 69 Notice string 70 Radio string 71 WeChatNumber string 72 EnterAddress bool 73 CardCodeDesc string 74 } 75 type CfgRank struct { 76 ShowRankLen int 77 UpdateRankTime int 78 } 79 type CfgMatch struct { 80 BaseScore int 81 MinScore int 82 MaxScore int 83 Tickets int 84 } 85 86 type CfgTimeout struct { 87 ConnectTimeout int 88 HeartTimeout int 89 LandlordBid int 90 LandlordGrab int 91 LandlordDouble int 92 LandlordShowCards int 93 LandlordDiscard int 94 LandlordDiscardNothing int 95 } 96 97 type CfgActivityTime struct { 98 TaskID int // 任务id 99 Start string // 开始时间 100 End string // 结束时间 101 Deadline string // 截至时间 102 } 103 type ActivityTime struct { 104 TaskID int // 任务id 105 Start int64 // 开始时间 106 End int64 // 结束时间 107 Deadline int64 // 截至时间 108 } 109 type CfgRedpacketCode struct { 110 Url string 111 PartnerKey string 112 SecretKey string 113 Method string 114 } 115 type CfgCard struct { 116 PlayTimes int 117 } 118 type RedPacketItem struct { 119 Chips int 120 Desc string 121 RedPacketType int 122 IsPrivate bool 123 Clock []string 124 } 125 type CfgLink struct { 126 CircleLink string 127 } 128 129 //一元红包场的配置信息 130 type CfgOneRedpacketInfo struct { 131 Chips int64 //入场金币数 132 Start int //入场开始时间 133 End int //入场结束时间 134 } 135 136 //10元红包场的配置信息 137 type CfgTenRedpacketInfo struct { 138 Chips int64 //入场金币数 139 Start int //入场开始时间 140 End int //入场结束时间 141 } 142 143 //100元红包场的配置信息 144 type CfgHundredRedpacketInfo struct { 145 Chips int64 //入场金币数 146 Start int //入场开始时间 147 End int // 入场结束时间 148 } 149 150 type CfgDailySign struct { 151 Chips int64 152 } 153 154 var Server LeafSvr 155 var ServerConfig Config 156 157 func init() { 158 ReadConfigure() 159 RedpacketTaskCfgInit() 160 ShareCfgInit() 161 } 162 func ReadConfigure() { 163 cfg := Config{} 164 _, err := toml.DecodeFile("conf/ddz-server.toml", &cfg) 165 if err != nil { 166 log.Error("读取server.toml失败,error:%v", err) 167 } 168 ServerConfig = cfg 169 Server = cfg.CfgLeafSvr 170 log.Release("*****************:%v", ServerConfig) 171 172 } 173 174 func GetCfgTimeout() CfgTimeout { 175 return ServerConfig.CfgTimeout 176 } 177 178 func GetCfgMatchs() []CfgMatch { 179 return ServerConfig.CfgMatchs 180 } 181 func GetCfgDDZ() CfgDDZ { 182 return ServerConfig.CfgDDZ 183 } 184 func GetCfgRank() CfgRank { 185 return ServerConfig.CfgRank 186 } 187 func GetCfgActivityTimes() []*ActivityTime { 188 activityTime := []*ActivityTime{} 189 for _, v := range ServerConfig.CfgActivityTimes { 190 start := strings.Split(v.Start, "-") 191 end := strings.Split(v.End, "-") 192 deadline := strings.Split(v.Deadline, "-") 193 activityTime = append(activityTime, &ActivityTime{ 194 TaskID: v.TaskID, 195 Start: time.Date(common.Atoi(start[0]), time.Month(common.Atoi(start[1])), common.Atoi(start[2]), common.Atoi(start[3]), common.Atoi(start[4]), common.Atoi(start[5]), 0, time.Local).Unix(), 196 End: time.Date(common.Atoi(end[0]), time.Month(common.Atoi(end[1])), common.Atoi(end[2]), common.Atoi(end[3]), common.Atoi(end[4]), common.Atoi(end[5]), 0, time.Local).Unix(), 197 Deadline: time.Date(common.Atoi(deadline[0]), time.Month(common.Atoi(deadline[1])), common.Atoi(deadline[2]), common.Atoi(deadline[3]), common.Atoi(deadline[4]), common.Atoi(deadline[5]), 0, time.Local).Unix(), 198 }) 199 } 200 return activityTime 201 } 202 func GetCfgRedpacketCode() CfgRedpacketCode { 203 return ServerConfig.CfgRedpacketCode 204 } 205 func GetCfgCard() CfgCard { 206 return ServerConfig.CfgCard 207 } 208 209 func GetCfgRedPacketItems() map[string]RedPacketItem { 210 return ServerConfig.CfgRedPacketItems 211 } 212 213 func GetCfgLink() CfgLink { 214 return ServerConfig.CfgLink 215 } 216 217 //一元红包配置 218 219 func GetOneRedpacketInfo() CfgOneRedpacketInfo { 220 return ServerConfig.CfgOneRedpacketInfo 221 } 222 223 //十元红包配置 224 225 func GetTenRedpacketInfo() CfgTenRedpacketInfo { 226 return ServerConfig.CfgTenRedpacketInfo 227 } 228 229 //百元红包配置 230 231 func GetHundredRedpacketInfo() CfgHundredRedpacketInfo { 232 return ServerConfig.CfgHundredRedpacketInfo 233 } 234 235 func GetCfgDailySign() []CfgDailySign { 236 return ServerConfig.CfgDailySign 237 }