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.
FuShouXian-Backend/apps/fushouxian-server/fushouxian-server.go

114 lines
2.5 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()
}
}