Слияние кода завершено, страница обновится автоматически
package main
import (
"io/ioutil"
"time"
"gopkg.in/yaml.v2"
)
type Config struct {
Bind string `yaml:"bind"`
Timezone string `yaml:"timezone"`
TimeOut time.Duration `yaml:"timeout"`
Vendors map[string]map[string]string `yaml:"vendors"`
Juheapikey string `yaml:"juheapikey"`
ServiceList map[string]*ServiceConfig `yaml:"servicelist"`
Errormsg map[string]string `yaml:"errormsg"`
}
type ServiceConfig struct {
Vendor string `yaml:"vendor"`
Group string `yaml:"group"`
Tpl string `yaml:"smstpl"`
Signname string `yaml:"signname"`
Allowcity []string `yaml:"allowcitys"`
MaxSendNums uint64 `yaml:"maxsendnums"` //每天最大发送数量
Callback string `yaml:"callback"` //成功后回调URL
Mode byte `yaml:"mode"`
Validtime int64 `yaml:"validtime"`
Outformat string `yaml:"outformat"`
}
func (cfg *Config) ParseConfigData(data []byte) error {
if err := yaml.Unmarshal([]byte(data), &cfg); err != nil {
return err
}
return nil
}
func (cfg *Config) ParseConfigFile(fileName string) error {
data, err := ioutil.ReadFile(fileName)
if err != nil {
return err
}
return cfg.ParseConfigData(data)
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )