feat: 完成鸽达达后台安全与审计改造
This commit is contained in:
@@ -0,0 +1,84 @@
|
||||
package consts
|
||||
|
||||
import (
|
||||
"hotgo/internal/library/dict"
|
||||
"hotgo/internal/model"
|
||||
)
|
||||
|
||||
const (
|
||||
ImMessageContentText = "text"
|
||||
ImMessageContentImage = "image"
|
||||
ImMessageContentVideo = "video"
|
||||
ImMessageContentAudio = "audio"
|
||||
ImMessageContentVoice = "voice"
|
||||
ImMessageContentFile = "file"
|
||||
ImMessageContentCard = "card"
|
||||
ImMessageContentSystem = "system"
|
||||
|
||||
ImMessageStatusNormal = "normal"
|
||||
ImMessageStatusDeleted = "deleted"
|
||||
ImMessageStatusRecalled = "recalled"
|
||||
ImMessageStatusBlocked = "blocked"
|
||||
ImMessageStatusHidden = "hidden"
|
||||
)
|
||||
|
||||
var ImMessageContentTypeOptions = []*model.Option{
|
||||
dict.GenInfoOption(ImMessageContentText, "文本"),
|
||||
dict.GenPrimaryOption(ImMessageContentImage, "图片"),
|
||||
dict.GenPrimaryOption(ImMessageContentVideo, "视频"),
|
||||
dict.GenPrimaryOption(ImMessageContentAudio, "语音"),
|
||||
dict.GenPrimaryOption(ImMessageContentVoice, "语音"),
|
||||
dict.GenDefaultOption(ImMessageContentFile, "文件"),
|
||||
dict.GenDefaultOption(ImMessageContentCard, "名片"),
|
||||
dict.GenWarningOption(ImMessageContentSystem, "系统"),
|
||||
}
|
||||
|
||||
var ImMessageStatusOptions = []*model.Option{
|
||||
dict.GenSuccessOption(ImMessageStatusNormal, "正常"),
|
||||
dict.GenErrorOption(ImMessageStatusDeleted, "后台删除"),
|
||||
dict.GenWarningOption(ImMessageStatusRecalled, "用户撤回"),
|
||||
dict.GenErrorOption(ImMessageStatusBlocked, "风控拦截"),
|
||||
dict.GenWarningOption(ImMessageStatusHidden, "已隐藏"),
|
||||
}
|
||||
|
||||
var ImLoginTypeOptions = []*model.Option{
|
||||
dict.GenPrimaryOption("password", "密码"),
|
||||
dict.GenPrimaryOption("sms_code", "短信验证码"),
|
||||
dict.GenInfoOption("sso", "单点登录"),
|
||||
dict.GenInfoOption("qr_code", "二维码"),
|
||||
dict.GenDefaultOption("token_refresh", "令牌刷新"),
|
||||
}
|
||||
|
||||
var ImLoginEventTypeOptions = []*model.Option{
|
||||
dict.GenSuccessOption("login", "登录"),
|
||||
dict.GenInfoOption("refresh", "刷新会话"),
|
||||
dict.GenDefaultOption("logout", "主动退出"),
|
||||
dict.GenWarningOption("kicked", "被踢下线"),
|
||||
dict.GenWarningOption("session_expired", "会话过期"),
|
||||
}
|
||||
|
||||
var ImClientPlatformOptions = []*model.Option{
|
||||
dict.GenPrimaryOption("ios", "iOS"),
|
||||
dict.GenSuccessOption("android", "Android"),
|
||||
dict.GenInfoOption("web", "Web"),
|
||||
dict.GenDefaultOption("desktop", "桌面端"),
|
||||
dict.GenDefaultOption("unknown", "未知"),
|
||||
}
|
||||
|
||||
var ImLoginFailureTypeOptions = []*model.Option{
|
||||
dict.GenErrorOption("password_error", "密码错误"),
|
||||
dict.GenErrorOption("code_error", "验证码错误"),
|
||||
dict.GenWarningOption("account_not_found", "账号不存在"),
|
||||
dict.GenErrorOption("account_disabled", "账号已禁用"),
|
||||
dict.GenWarningOption("rate_limited", "访问频率受限"),
|
||||
dict.GenErrorOption("risk_blocked", "风控拦截"),
|
||||
}
|
||||
|
||||
func init() {
|
||||
dict.RegisterEnums("ImMessageContentTypeOptions", "IM消息内容类型选项", ImMessageContentTypeOptions)
|
||||
dict.RegisterEnums("ImMessageStatusOptions", "IM消息状态选项", ImMessageStatusOptions)
|
||||
dict.RegisterEnums("ImLoginTypeOptions", "IM登录方式选项", ImLoginTypeOptions)
|
||||
dict.RegisterEnums("ImLoginEventTypeOptions", "IM登录事件选项", ImLoginEventTypeOptions)
|
||||
dict.RegisterEnums("ImClientPlatformOptions", "IM客户端平台选项", ImClientPlatformOptions)
|
||||
dict.RegisterEnums("ImLoginFailureTypeOptions", "IM登录失败类型选项", ImLoginFailureTypeOptions)
|
||||
}
|
||||
@@ -47,6 +47,8 @@ const (
|
||||
ImAdminCommandUserCancel = "user.account.cancel"
|
||||
ImAdminCommandUserDelete = "user.account.delete"
|
||||
ImAdminCommandUserPasswordReset = "user.password.reset"
|
||||
ImAdminCommandMessageHide = "message.hide"
|
||||
ImAdminCommandMessageDelete = "message.delete"
|
||||
ImAdminCommandKafkaDeadReplay = "kafka.dead_letter.replay"
|
||||
ImAdminCommandKafkaDeadIgnore = "kafka.dead_letter.ignore"
|
||||
ImAdminCommandKafkaDeadResolve = "kafka.dead_letter.resolve"
|
||||
|
||||
@@ -0,0 +1,118 @@
|
||||
package consts
|
||||
|
||||
import (
|
||||
"hotgo/internal/library/dict"
|
||||
"hotgo/internal/model"
|
||||
)
|
||||
|
||||
const (
|
||||
ImPolicyActionAllow = "allow"
|
||||
ImPolicyActionDeny = "deny"
|
||||
ImPolicyActionChallenge = "challenge"
|
||||
ImPolicyActionAuditOnly = "audit_only"
|
||||
ImSecurityActionBlock = "block"
|
||||
|
||||
ImSensitiveMatchExact = "exact"
|
||||
ImSensitiveMatchContains = "contains"
|
||||
ImSensitiveMatchRegex = "regex"
|
||||
ImSensitiveMatchPinyin = "pinyin"
|
||||
|
||||
ImSensitiveActionReplace = "replace"
|
||||
ImSensitiveActionBlock = "block"
|
||||
ImSensitiveActionAuditOnly = "audit_only"
|
||||
ImSensitiveActionManualReview = "manual_review"
|
||||
|
||||
ImRiskLevelLow = "low"
|
||||
ImRiskLevelMedium = "medium"
|
||||
ImRiskLevelHigh = "high"
|
||||
|
||||
ImSecurityPublishDraft = "draft"
|
||||
ImSecurityPublishPublished = "published"
|
||||
ImSecurityPublishArchived = "archived"
|
||||
ImSecurityPublishFailed = "failed"
|
||||
|
||||
ImCurfewDateDaily = "daily"
|
||||
ImCurfewDateWeekday = "weekday"
|
||||
ImCurfewDateWeekend = "weekend"
|
||||
ImCurfewDateCustom = "custom"
|
||||
|
||||
ImCurfewScopePrivate = "private_message"
|
||||
ImCurfewScopeGroup = "group_message"
|
||||
)
|
||||
|
||||
var (
|
||||
ImPolicyActionOptions = []*model.Option{
|
||||
dict.GenSuccessOption(ImPolicyActionAllow, "放行"),
|
||||
dict.GenErrorOption(ImPolicyActionDeny, "拦截"),
|
||||
dict.GenWarningOption(ImPolicyActionChallenge, "二次验证"),
|
||||
dict.GenInfoOption(ImPolicyActionAuditOnly, "仅审计"),
|
||||
}
|
||||
ImSecurityActionOptions = []*model.Option{
|
||||
dict.GenSuccessOption(ImPolicyActionAllow, "放行"),
|
||||
dict.GenWarningOption(ImPolicyActionChallenge, "二次验证"),
|
||||
dict.GenErrorOption(ImSecurityActionBlock, "阻断"),
|
||||
dict.GenInfoOption(ImPolicyActionAuditOnly, "仅审计"),
|
||||
}
|
||||
ImSensitiveMatchTypeOptions = []*model.Option{
|
||||
dict.GenPrimaryOption(ImSensitiveMatchExact, "精确匹配"),
|
||||
dict.GenDefaultOption(ImSensitiveMatchContains, "包含匹配"),
|
||||
dict.GenWarningOption(ImSensitiveMatchRegex, "正则匹配"),
|
||||
dict.GenInfoOption(ImSensitiveMatchPinyin, "拼音匹配"),
|
||||
}
|
||||
ImSensitiveActionOptions = []*model.Option{
|
||||
dict.GenWarningOption(ImSensitiveActionReplace, "替换"),
|
||||
dict.GenErrorOption(ImSensitiveActionBlock, "拦截"),
|
||||
dict.GenInfoOption(ImSensitiveActionAuditOnly, "仅审计"),
|
||||
dict.GenPrimaryOption(ImSensitiveActionManualReview, "人工审核"),
|
||||
}
|
||||
ImRiskLevelOptions = []*model.Option{
|
||||
dict.GenSuccessOption(ImRiskLevelLow, "低风险"),
|
||||
dict.GenWarningOption(ImRiskLevelMedium, "中风险"),
|
||||
dict.GenErrorOption(ImRiskLevelHigh, "高风险"),
|
||||
}
|
||||
ImSecurityPublishStatusOptions = []*model.Option{
|
||||
dict.GenWarningOption(ImSecurityPublishDraft, "草稿"),
|
||||
dict.GenSuccessOption(ImSecurityPublishPublished, "已发布"),
|
||||
dict.GenDefaultOption(ImSecurityPublishArchived, "已归档"),
|
||||
dict.GenErrorOption(ImSecurityPublishFailed, "发布失败"),
|
||||
}
|
||||
ImCurfewDateTypeOptions = []*model.Option{
|
||||
dict.GenDefaultOption(ImCurfewDateDaily, "每天"),
|
||||
dict.GenPrimaryOption(ImCurfewDateWeekday, "工作日"),
|
||||
dict.GenInfoOption(ImCurfewDateWeekend, "周末"),
|
||||
dict.GenWarningOption(ImCurfewDateCustom, "自定义日期"),
|
||||
}
|
||||
ImCurfewScopeOptions = []*model.Option{
|
||||
dict.GenErrorOption(ImCurfewScopePrivate, "单聊/私聊"),
|
||||
dict.GenWarningOption(ImCurfewScopeGroup, "群聊"),
|
||||
}
|
||||
ImSensitiveSceneOptions = []*model.Option{
|
||||
dict.GenPrimaryOption("private_message", "单聊消息"),
|
||||
dict.GenPrimaryOption("group_message", "群聊消息"),
|
||||
dict.GenInfoOption("user_profile", "用户资料"),
|
||||
dict.GenInfoOption("group_profile", "群资料"),
|
||||
dict.GenWarningOption("feedback", "用户反馈"),
|
||||
dict.GenWarningOption("report", "举报内容"),
|
||||
}
|
||||
ImFriendEntryOptions = []*model.Option{
|
||||
dict.GenDefaultOption("search", "用户搜索"),
|
||||
dict.GenDefaultOption("profile_card", "个人名片"),
|
||||
dict.GenDefaultOption("group_member", "群成员"),
|
||||
dict.GenDefaultOption("qrcode", "二维码"),
|
||||
dict.GenDefaultOption("invite_auto_add", "邀请注册自动添加"),
|
||||
dict.GenDefaultOption("recommendation", "推荐联系人"),
|
||||
}
|
||||
)
|
||||
|
||||
func init() {
|
||||
dict.RegisterEnums("ImPolicyActionOptions", "IM策略动作", ImPolicyActionOptions)
|
||||
dict.RegisterEnums("ImSecurityActionOptions", "IM安全策略动作", ImSecurityActionOptions)
|
||||
dict.RegisterEnums("ImSensitiveMatchTypeOptions", "IM敏感词匹配类型", ImSensitiveMatchTypeOptions)
|
||||
dict.RegisterEnums("ImSensitiveActionOptions", "IM敏感词动作", ImSensitiveActionOptions)
|
||||
dict.RegisterEnums("ImRiskLevelOptions", "IM风险等级", ImRiskLevelOptions)
|
||||
dict.RegisterEnums("ImSecurityPublishStatusOptions", "IM安全策略发布状态", ImSecurityPublishStatusOptions)
|
||||
dict.RegisterEnums("ImCurfewDateTypeOptions", "IM宵禁日期类型", ImCurfewDateTypeOptions)
|
||||
dict.RegisterEnums("ImCurfewScopeOptions", "IM宵禁范围", ImCurfewScopeOptions)
|
||||
dict.RegisterEnums("ImSensitiveSceneOptions", "IM敏感词场景", ImSensitiveSceneOptions)
|
||||
dict.RegisterEnums("ImFriendEntryOptions", "IM好友入口", ImFriendEntryOptions)
|
||||
}
|
||||
Reference in New Issue
Block a user