Files
bl/common/cool/global.go
昔念 0f914eb9b8
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
1
2026-02-11 11:58:34 +08:00

90 lines
2.2 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package cool
import (
"blazing/common/utils"
"context"
"reflect"
"sync"
"time"
"github.com/antlabs/cronex"
"github.com/gogf/gf/v2/os/glog"
sensitive "github.com/zmexing/go-sensitive-word"
)
// 定义改为sync.Map
var Clientmap sync.Map
// ar Limiter = ratelimit.New(100) // per second
// var Limiter = limit.New()
var ctx = context.TODO()
type Cmd struct {
Func reflect.Value //方法函数
Req reflect.Type //请求体
// 新增预缓存的req创建函数返回结构体指针
NewReqFunc func() interface{}
//Res reflect.Value //返回体
}
var CmdCache = make(map[uint32]Cmd, 0)
var (
Logger = glog.New()
Cron = cronex.New() //时间轮
)
var Filter *sensitive.Manager
var DefaultGenerator = utils.NewGen(time.Date(2025, 1, 1, 0, 0, 0, 0, time.UTC), uint8(Config.GameOnlineID))
func init() {
// 创建 IdGeneratorOptions 对象,可在构造函数中输入 WorkerId
Logger.SetFlags(glog.F_TIME_STD | glog.F_FILE_LONG | glog.F_ASYNC) //设置flag
Logger.Print(ctx, "初始化日志")
// for i := 0; i < 600; i++ {
// glog.Debug(context.Background(), i, "初始化雪花算法", DefaultGenerator.Get())
// }
Filter, _ = sensitive.NewFilter(
sensitive.StoreOption{Type: sensitive.StoreMemory}, // 基于内存
sensitive.FilterOption{Type: sensitive.FilterDfa}, // 基于DFA算法
)
go Cron.Run()
// if err != nil {
// log.Fatalf("敏感词服务启动失败, err:%v", err)
// return
// }
// 加载敏感词库
Filter.LoadDictEmbed(
sensitive.DictCovid19,
sensitive.DictOther,
sensitive.DictReactionary,
sensitive.DictViolence,
sensitive.DictPeopleLife,
sensitive.DictPornography,
sensitive.DictAdditional,
sensitive.DictCorruption,
sensitive.DictTemporaryTencent,
)
// if err != nil {
// log.Fatalf("加载词库发生了错误, err:%v", err)
// return
// }
// // 动态添加自定义敏感词
// err = Filter.Store.AddWord("李世民", "秦始皇")
// if err != nil {
// log.Fatalf("添加敏感词发生了错误, err:%v", err)
// return
// }
// // 动态自定义敏感词白名单
// err = Filter.Store.DelWord("武汉海鲜市场", "武汉")
// if err != nil {
// log.Fatalf("删除敏感词发生了错误, err:%v", err)
// return
// }
}