|
@@ -2,6 +2,7 @@ package engine
|
|
|
|
|
|
|
|
import (
|
|
import (
|
|
|
"fmt"
|
|
"fmt"
|
|
|
|
|
+ "git.qianqiusoft.com/qianqiusoft/light-apiengine/middleware/logger"
|
|
|
"time"
|
|
"time"
|
|
|
|
|
|
|
|
//"github.com/gin-contrib/sessions"
|
|
//"github.com/gin-contrib/sessions"
|
|
@@ -22,6 +23,8 @@ import (
|
|
|
"git.qianqiusoft.com/qianqiusoft/light-apiengine/engine/auth"
|
|
"git.qianqiusoft.com/qianqiusoft/light-apiengine/engine/auth"
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
|
|
+var apiEngine *ApiEngine = nil
|
|
|
|
|
+
|
|
|
type ApiEngine struct {
|
|
type ApiEngine struct {
|
|
|
entitys.ApiEngineInterface
|
|
entitys.ApiEngineInterface
|
|
|
PlatformOrmEngine *xorm.Engine
|
|
PlatformOrmEngine *xorm.Engine
|
|
@@ -40,8 +43,8 @@ func (g *ApiEngine) GetAllBusinessDb() map[string]*xorm.Engine {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
func Default() *ApiEngine {
|
|
func Default() *ApiEngine {
|
|
|
- apiengine := NewApiEngine("mysql", config.AppConfig.DataSource, fmt.Sprintf(":%d", config.AppConfig.HttpPort))
|
|
|
|
|
- return apiengine
|
|
|
|
|
|
|
+ apiEngine = NewApiEngine("mysql", config.AppConfig.DataSource, fmt.Sprintf(":%d", config.AppConfig.HttpPort))
|
|
|
|
|
+ return apiEngine
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
func NewApiEngine(driverName, dataSourceName string, addr string) *ApiEngine {
|
|
func NewApiEngine(driverName, dataSourceName string, addr string) *ApiEngine {
|
|
@@ -51,6 +54,9 @@ func NewApiEngine(driverName, dataSourceName string, addr string) *ApiEngine {
|
|
|
engine.PlatformOrmEngine, err = xorm.NewEngine(driverName, dataSourceName)
|
|
engine.PlatformOrmEngine, err = xorm.NewEngine(driverName, dataSourceName)
|
|
|
printError(err)
|
|
printError(err)
|
|
|
|
|
|
|
|
|
|
+ engine.PlatformOrmEngine.ShowSQL(true)
|
|
|
|
|
+ engine.PlatformOrmEngine.ShowExecTime(true)
|
|
|
|
|
+
|
|
|
initOrmEngine(engine.PlatformOrmEngine, driverName)
|
|
initOrmEngine(engine.PlatformOrmEngine, driverName)
|
|
|
if config.AppConfig.SyncDb {
|
|
if config.AppConfig.SyncDb {
|
|
|
|
|
|
|
@@ -59,6 +65,7 @@ func NewApiEngine(driverName, dataSourceName string, addr string) *ApiEngine {
|
|
|
engine.GinEngine = gin.Default()
|
|
engine.GinEngine = gin.Default()
|
|
|
|
|
|
|
|
engine.GinEngine.Use(gzip.Gzip(gzip.DefaultCompression))
|
|
engine.GinEngine.Use(gzip.Gzip(gzip.DefaultCompression))
|
|
|
|
|
+ engine.GinEngine.Use(logger.LoggerMiddleware())
|
|
|
|
|
|
|
|
//启动session
|
|
//启动session
|
|
|
//store := sessions.NewCookieStore([]byte("secret"))
|
|
//store := sessions.NewCookieStore([]byte("secret"))
|
|
@@ -149,3 +156,12 @@ func (g *ApiEngine) Run() {
|
|
|
|
|
|
|
|
g.GinEngine.Run(g.Listen_addr)
|
|
g.GinEngine.Run(g.Listen_addr)
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+/**
|
|
|
|
|
+ * @brief: 获取对应业务engine,主要用于无法通过参数获取db的地方,例如init中启动定时器
|
|
|
|
|
+ * @param1 domain: 域名
|
|
|
|
|
+ * @return1: engine
|
|
|
|
|
+ */
|
|
|
|
|
+func GetBusinessDb(domain string) *xorm.Engine {
|
|
|
|
|
+ return apiEngine.BusinessOrmEngine[domain]
|
|
|
|
|
+}
|