Files
iotlcm/server/internal/cmd/global.go
T

62 lines
1.4 KiB
Go

// Package cmd
// @Link https://github.com/xiujiecn/xiu-admin
// @Copyright Copyright (c) 2025 LiXiujie
// @Author Lxj <li@example.com>
// @License https://github.com/xiujiecn/xiu-admin/blob/master/LICENSE
package cmd
import (
"context"
"errors"
"git.5iot.com/iotlcm-public/iotlcm-app/internal/library/cache"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/os/gtime"
"github.com/gogf/gf/v2/util/gmode"
)
// 系统初始化
func SystemInit(ctx context.Context) {
// 检查数据库连接
if err := CheckConnDB(ctx); err != nil {
panic(err)
}
// 设置gf运行模式
SetGFMode(ctx)
// 默认上海时区
if err := gtime.SetTimeZone("Asia/Shanghai"); err != nil {
g.Log().Fatalf(ctx, "时区设置异常 err: %+v", err)
return
}
// 设置缓存适配器
cache.SetAdapter(ctx)
}
// CheckConnDB 检查数据库连接
func CheckConnDB(ctx context.Context) error {
err := g.DB().PingMaster()
if err != nil {
return errors.New("连接到数据库失败")
}
return nil
}
// 设置gf运行模式
func SetGFMode(ctx context.Context) {
gfmode := g.Cfg().MustGet(ctx, "system.gfmode").String()
if len(gfmode) == 0 {
gfmode = gmode.NOT_SET
}
var modes = []string{gmode.DEVELOP, gmode.TESTING, gmode.STAGING, gmode.PRODUCT}
for _, mode := range modes {
if mode == gfmode {
gmode.Set(mode)
break
}
}
}
func DBHandle(ctx context.Context) {
}