Files
bl/common/cool/global.go

85 lines
2.5 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"
"github.com/antlabs/cronex"
"github.com/gogf/gf/v2/os/glog"
sensitive "github.com/zmexing/go-sensitive-word"
)
var ctx = context.TODO()
var (
CmdCache = &utils.SyncMap[uint32, reflect.Value]{} //命令缓存
Loger = glog.New()
Cron = cronex.New() //时间轮
)
var Filter *sensitive.Manager
func init() {
// 创建 IdGeneratorOptions 对象,可在构造函数中输入 WorkerId
Loger.SetFlags(glog.F_TIME_STD | glog.F_FILE_LONG) //设置flag
Loger.Print(ctx, "初始化日志")
// tt := gconv.Uint16(1)
// var options = idgen.NewIdGeneratorOptions(tt)
// options.SeqBitLength = 4
// options.WorkerIdBitLength = 10 // 默认值6限定 WorkerId 最大值为2^6-1即默认最多支持64个节点。
// options.SeqBitLength = 6; // 默认值6限制每毫秒生成的ID个数。若生成速度超过5万个/秒,建议加大 SeqBitLength 到 10。
// options.BaseTime = Your_Base_Time // 如果要兼容老系统的雪花算法此处应设置为老系统的BaseTime。
// ...... 其它参数参考 IdGeneratorOptions 定义。
// // 保存参数(务必调用,否则参数设置不生效):
// idgen.SetIdGenerator(options)
// newId := idgen.NextId()
// glog.Debug(context.Background(), "初始化雪花算法", newId)
glog.Debug(context.Background(), "初始化雪花算法", utils.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
// }
}