package main import ( "log" "net/http" _ "src/init" "github.com/towgo/towgo/dao/basedboperat" "github.com/towgo/towgo/dao/ormDriver/gormDriver" "github.com/towgo/towgo/dao/ormDriver/xormDriver" "github.com/towgo/towgo/lib/system" "github.com/towgo/towgo/towgo" ) var appName string = "fushouxian-server" var appVersion string = "1.0.0" // var basePath = system.GetPathOfProgram() var basePath = "E:\\workfile\\FuShouXian-Backend\\apps\\fushouxian-server" func init() { //初始化xorm数据库驱动 var dbconfig []xormDriver.DsnConfig system.ScanConfigJson(basePath+"\\config\\dbconfig.json", &dbconfig) xormDriver.New(dbconfig) //初始化gorm数据库驱动 var gormdbconfig []gormDriver.DsnConfig system.ScanConfigJson(basePath+"\\config\\dbconfig.json", &gormdbconfig) gormDriver.New(gormdbconfig) //设定默认orm引擎 err := basedboperat.SetOrmEngine("xorm") if err != nil { log.Print(err.Error()) } } func main() { /*pm := processmanager.GetManager() for k, v := range os.Args { switch v { case "start": if k == 1 { if pm.Start() { log.Print("启动成功") start() return } else { log.Print("启动失败:" + pm.Error.Error()) return } } case "restart": if k == 1 { if pm.ReStart() { log.Print("重启成功") start() return } else { log.Print("重启失败:" + pm.Error.Error()) } return } case "stop": if k == 1 { if pm.Stop() { log.Print("程序停止成功") } else { log.Print("程序停止失败:程序没有运行") } return } case "version": if k == 1 { fmt.Print(appName + ":" + appVersion + "\n") os.Exit(0) } return } } log.Print("参数传递错误,有效参数如下:\n" + os.Args[0] + " start | stop | reload | stop") */ start() } func start() { moduleClientInit() conf := struct { Serverport string `json:"serverport"` }{} system.ScanConfigJson(basePath+"\\config\\config.json", &conf) http.HandleFunc("/jsonrpc", towgo.HttpHandller) log.Print("http服务运行中:0.0.0.0:" + conf.Serverport + "\n") http.ListenAndServe("0.0.0.0:"+conf.Serverport, nil) } func moduleClientInit() { var node towgo.EdgeServerNodeConfig system.ScanConfigJson(basePath+"\\config\\togocdn.client.config.json", &node) node.Methods = towgo.GetMethods() node.ModuleName = appName for _, v := range node.ServerUrls { node.ServerUrl = v client := towgo.NewEdgeServerNode(node) client.Connect() } }