Files
bl/common/cool/global.go

96 lines
2.5 KiB
Go
Raw Permalink 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 //请求体
// HeaderFieldIndex 是请求结构体中 TomeeHeader 字段的索引路径。
HeaderFieldIndex []int
// UseConn 标记第二个参数是否为 gnet.Conn。
UseConn bool
// 新增预缓存的req创建函数返回结构体指针
NewReqFunc func() interface{}
// NewReqValue 返回请求结构体指针的 reflect.Value避免重复构造类型信息。
NewReqValue func() reflect.Value
//Res reflect.Value //返回体
}
var CmdCache = make(map[uint32]Cmd, 0)
var (
Logger = glog.New()
Cron = cronex.New() //时间轮
Connected int64
)
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
// 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
// }
}