1 Star 0 Fork 0

后端组 / mvc

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
init.go 1.77 KB
一键复制 编辑 原始数据 按行查看 历史
heweiosc 提交于 2020-04-16 21:43 . update system golang framework devops
package main
import (
"gitee.com/nuokwan_backend_group/mvc/Base"
"gitee.com/nuokwan_backend_group/mvc/starters"
"github.com/sirupsen/logrus"
"github.com/tietang/props/ini"
"github.com/tietang/props/kvs"
"os"
)
var env Base.DataMap
var appInstance Base.IApplication
const defEnv = "dev"
const defConfigPath = "config/app.ini"
// 初始 应用主体
func init() {
// 初始化 环境
initEnvMap()
// 载入配置(文件,配置服务)
loadProps()
registers()
app := App()
if apiApp, ok := app.(*Base.AppWeb); ok {
apiApp.AppName = Base.Config().GetDefault("app.name", "webApp")
}
}
func initEnvMap() {
var context = Base.AppContext()
if env == nil {
env = make(Base.DataMap)
}
// 运行环境指定
env["env"] = os.Getenv("env")
// 配置指定
env["config"] = os.Getenv("config")
context.RegisterBySingle(Base.LoggerId, logrus.New())
}
// 配置
func loadProps() {
var context = Base.AppContext()
file, ok := env["config"]
if !ok {
file = defConfigPath
}
path := file.(string)
if path == "" {
path = defConfigPath
}
path = kvs.GetCurrentFilePath(path, 1)
context.RegisterBySingle(Base.ConfigureId, ini.NewIniFileConfigSource(path))
Base.Log().Printf("%+v", Base.Config())
}
// 注册相关底层服务
func registers() {
var context = Base.AppContext()
// 配置参数注册
// 注册 starters 类
context.RegisterBySingle("starters", []Base.IStarter{
&starters.IrisStarter{},
})
// 注册 faces 类
context.RegisterBySingle("faces", []Base.IFaced{
&Base.Configure{},
&Base.LogInstanceFace{},
})
// 注册应用启动hook
context.RegisterBySingle("hooks.AppInit", router)
}
func App() Base.IApplication {
if appInstance == nil {
appInstance = Base.NewWebApp()
}
return appInstance
}
1
https://gitee.com/nuokwan_backend_group/mvc.git
git@gitee.com:nuokwan_backend_group/mvc.git
nuokwan_backend_group
mvc
mvc
1bf86c47ef7b

搜索帮助