| | |
| | | package main |
| | | |
| | | import ( |
| | | "basic.com/valib/bhomeclient.git" |
| | | "basic.com/valib/bhomedbapi.git" |
| | | "basic.com/valib/logger.git" |
| | | "basic.com/valib/version.git" |
| | | "context" |
| | | "flag" |
| | | "os" |
| | |
| | | "vamicro/config" |
| | | "vamicro/push-service/controllers" |
| | | "vamicro/push-service/models" |
| | | "vamicro/push-service/mqtt" |
| | | "vamicro/push-service/service" |
| | | |
| | | "basic.com/valib/bhomeclient.git" |
| | | "basic.com/valib/bhomedbapi.git" |
| | | "basic.com/valib/logger.git" |
| | | vaversion "basic.com/valib/version.git" |
| | | "github.com/go-basic/uuid" |
| | | ) |
| | | |
| | | var ( |
| | | procName = service.ProcName |
| | | proc = &bhomeclient.ProcInfo{ |
| | | proc = &bhomeclient.ProcInfo{ |
| | | Name: procName, //进程名称 |
| | | ID: procName, //进程id |
| | | Info: "", //进程的描述信息,用于区分同一进程名称下多个进程 |
| | | ID: procName, //进程id |
| | | Info: "", //进程的描述信息,用于区分同一进程名称下多个进程 |
| | | } |
| | | env = flag.String("e", "pro", "") |
| | | ) |
| | |
| | | |
| | | config.Init(*env) |
| | | // 日志初始化 |
| | | var logFile = config.LogConf.Path + "vamicro-"+procName+".log" |
| | | var logFile = config.LogConf.Path + "vamicro-" + procName + ".log" |
| | | logger.InitLogger(logFile, config.LogConf.Level, config.LogConf.MaxSize, config.LogConf.MaxBackups, config.LogConf.MaxAge) |
| | | logger.Info("log init success !") |
| | | } |
| | | |
| | | |
| | | func main(){ |
| | | func main() { |
| | | models.Init() |
| | | defer models.CloseDB() |
| | | |
| | | //初始化mqtt |
| | | mqtt.LoadConfig() |
| | | mqtt.Client.Init(mqtt.Options.Broker, "smart-ai-helmet-manager"+uuid.New(), mqtt.Options.Username, mqtt.Options.Password) |
| | | |
| | | ctx, cancel := context.WithCancel(context.Background()) |
| | | fm, pubTopics := initFuncMap() |
| | | var reg = &bhomeclient.RegisterInfo { |
| | | Proc: *proc, |
| | | Channel: nil, |
| | | var reg = &bhomeclient.RegisterInfo{ |
| | | Proc: *proc, |
| | | Channel: nil, |
| | | PubTopic: pubTopics, |
| | | SubTopic: []string{}, |
| | | } |
| | |
| | | signal.Notify(q, os.Interrupt, os.Kill, syscall.SIGTERM) |
| | | |
| | | ms, err := bhomeclient.NewMicroNode(ctx, q, config.Server.AnalyServerId, reg, logger.Debug) |
| | | if err !=nil { |
| | | if err != nil { |
| | | return |
| | | } |
| | | |
| | |
| | | ms.DeRegister() |
| | | cancel() |
| | | ms.Free() |
| | | |
| | | } |
| | | |
| | | const urlPrefix = "/data/api-v" |
| | | func initFuncMap() (map[string]bhomeclient.MicroFunc,[]string) { |
| | | |
| | | func initFuncMap() (map[string]bhomeclient.MicroFunc, []string) { |
| | | funcMap := make(map[string]bhomeclient.MicroFunc) |
| | | ec := new(controllers.EventPushController) |
| | | psc := new(controllers.PushSetController) |
| | |
| | | |
| | | funcMap[urlPrefix+"/eventPush/getPushSet"] = psc.GetPushSet |
| | | var pubTopics []string |
| | | for key,_ := range funcMap { |
| | | for key, _ := range funcMap { |
| | | pubTopics = append(pubTopics, key) |
| | | } |
| | | return funcMap, pubTopics |
| | | } |
| | | } |