You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
114 lines
2.4 KiB
114 lines
2.4 KiB
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()
|
|
}
|
|
}
|