2026-04-18 15:30:00 +08:00
|
|
|
|
package blazing
|
|
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
|
_ "blazing/modules/config/controller"
|
|
|
|
|
|
_ "blazing/modules/config/service"
|
|
|
|
|
|
|
|
|
|
|
|
"blazing/cool"
|
2026-04-18 16:34:03 +08:00
|
|
|
|
configModel "blazing/modules/config/model"
|
2026-04-18 15:30:00 +08:00
|
|
|
|
|
2026-04-18 16:34:03 +08:00
|
|
|
|
"github.com/gogf/gf/v2/encoding/gjson"
|
2026-04-18 15:30:00 +08:00
|
|
|
|
"github.com/gogf/gf/v2/frame/g"
|
2026-04-18 16:34:03 +08:00
|
|
|
|
"github.com/gogf/gf/v2/os/gfile"
|
2026-04-18 15:30:00 +08:00
|
|
|
|
"github.com/gogf/gf/v2/os/gctx"
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
func init() {
|
|
|
|
|
|
var (
|
|
|
|
|
|
ctx = gctx.GetInitCtx()
|
|
|
|
|
|
)
|
|
|
|
|
|
cool.Logger.Debug(ctx, "module config init start ...")
|
2026-04-18 16:34:03 +08:00
|
|
|
|
|
|
|
|
|
|
// 首次初始化 SPT 默认数据(不依赖 XML)。
|
|
|
|
|
|
sptModel := configModel.NewSptConfig()
|
|
|
|
|
|
count, err := g.DB("default").Model(sptModel.TableName()).Count()
|
|
|
|
|
|
if err != nil {
|
|
|
|
|
|
cool.Logger.Warning(ctx, "count config_spt failed:", err)
|
|
|
|
|
|
} else if count == 0 {
|
|
|
|
|
|
initPath := "modules/config/resource/initjson/config_spt.json"
|
|
|
|
|
|
content := gfile.GetBytes(initPath)
|
|
|
|
|
|
if len(content) == 0 {
|
|
|
|
|
|
cool.Logger.Warning(ctx, "config_spt init file is empty:", initPath)
|
|
|
|
|
|
} else {
|
|
|
|
|
|
jsonData, jErr := gjson.LoadContent(content)
|
|
|
|
|
|
if jErr != nil {
|
|
|
|
|
|
cool.Logger.Warning(ctx, "load config_spt init json failed:", jErr)
|
|
|
|
|
|
} else {
|
|
|
|
|
|
_, err = g.DB("default").Model(sptModel.TableName()).Data(jsonData.Var()).Insert()
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
if err != nil {
|
|
|
|
|
|
cool.Logger.Warning(ctx, "insert default config_spt failed:", err)
|
2026-04-18 15:30:00 +08:00
|
|
|
|
}
|
2026-04-18 16:34:03 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
menuCount, err := g.DB("default").Model("base_sys_menu").Where("router", "/config/spt").Count()
|
|
|
|
|
|
if err != nil {
|
|
|
|
|
|
cool.Logger.Warning(ctx, "count SPT menu failed:", err)
|
|
|
|
|
|
} else if menuCount == 0 {
|
|
|
|
|
|
_, err = g.DB("default").Model("base_sys_menu").Data(g.Map{
|
|
|
|
|
|
"parentId": 2,
|
|
|
|
|
|
"name": "SPT配置",
|
|
|
|
|
|
"router": "/config/spt",
|
|
|
|
|
|
"viewPath": "config/views/spt.vue",
|
|
|
|
|
|
"icon": "icon-menu",
|
|
|
|
|
|
"ordernum": 70,
|
|
|
|
|
|
"keepAlive": true,
|
|
|
|
|
|
"isShow": true,
|
|
|
|
|
|
"type": 1,
|
2026-04-18 15:30:00 +08:00
|
|
|
|
}).Insert()
|
|
|
|
|
|
if err != nil {
|
|
|
|
|
|
cool.Logger.Warning(ctx, "insert SPT menu failed:", err)
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
cool.Logger.Debug(ctx, "module config init finished ...")
|
|
|
|
|
|
}
|