package blazing import ( _ "blazing/modules/config/controller" _ "blazing/modules/config/service" "blazing/cool" configModel "blazing/modules/config/model" "github.com/gogf/gf/v2/encoding/gjson" "github.com/gogf/gf/v2/frame/g" "github.com/gogf/gf/v2/os/gfile" "github.com/gogf/gf/v2/os/gctx" ) func init() { var ( ctx = gctx.GetInitCtx() ) cool.Logger.Debug(ctx, "module config init start ...") // 首次初始化 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) } } 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, }).Insert() if err != nil { cool.Logger.Warning(ctx, "insert SPT menu failed:", err) } } cool.Logger.Debug(ctx, "module config init finished ...") }