Austin
6348ace38e
feat(im security): add login failure lockout configuration feature
...
1. add APIs for login lockout config get and save
2. add backend service and controller for login lockout config
3. refactor frontend to separate login lockout config from main policy
4. update default login lockout policy values
5. add permission sql and docking documentation
2026-09-21 09:28:03 +08:00
richjohnrambo
e5ab79c40d
fix: 拆分商户新增和编辑权限
2026-09-20 17:08:50 +08:00
Austin
8675fe333d
feat(imLoginFailureLog): 用户登录密码错误次数锁定与解锁能力(管理端)
...
- 安全策略登录限频由 JSON 文本改为结构化表单(次数/锁定分钟/窗口分钟),编辑校验同步扩展
- 失败日志新增解锁入口:/imLoginFailureLog/unlock 经 internal 通道调用 im-server 释放锁定
- 失败日志模型补充 accountHash 字段,解锁按钮按 risk_action=account_locked 展示
- 租户业务库初始化模板补充 im_login_lockouts 等表;新增解锁按钮菜单权限 SQL
2026-09-20 17:04:19 +08:00
richjohnrambo
fd4ff85191
fix: 限制IM租户列表为当前租户
2026-09-20 16:53:38 +08:00
richjohnrambo
6bf364ec0b
fix: 修复养成管理接口参数过滤
2026-09-20 16:53:38 +08:00
Austin
47ed097923
refactor(imWorkOrder): 优化工单分类和目标类型的展示逻辑
...
将工单分类和目标类型的格式化逻辑抽离到model文件中,统一处理字典映射展示,替换原有的硬编码空值占位,同时修复列表页和详情页的展示不一致问题
2026-09-20 10:53:41 +08:00
Austin
e5cfc80916
chore(imFile): 临时隐藏用途相关功能
...
注释掉页面、表单和列表中的用途相关代码,后续需要时可恢复
2026-09-20 10:44:27 +08:00
richjohnrambo
c7265252d8
feat: 完善养成管理后台功能
2026-09-19 17:07:47 +08:00
richjohnrambo
f6766d3dbd
feat: 新增养成管理后台
2026-09-19 14:36:30 +08:00
richjohnrambo
7c8b4d9b7c
feat: add friend add and curfew controls
2026-09-18 10:55:33 +08:00
richjohnrambo
348cbcaf96
fix: allow multiple config api service names
2026-09-17 22:55:21 +08:00
richjohnrambo
2a35cb4358
fix: update uid encryption key seed
2026-09-17 16:59:47 +08:00
richjohnrambo
be6c5b525c
fix: seed uid encryption config
2026-09-17 15:56:23 +08:00
richjohnrambo
9ed8aaf142
refactor: reuse global aliyun moderation config
2026-09-17 00:25:04 +08:00
richjohnrambo
4ed54ca392
test: initialize admin member service in scope tests
2026-09-16 23:45:21 +08:00
richjohnrambo
5173bc0aad
fix: return default moderation policy when unpublished
2026-09-16 23:30:10 +08:00
richjohnrambo
fec2a43b9c
feat: add tenant content moderation controls
2026-09-16 22:21:42 +08:00
Austin
32491e9cdd
fix: repair healthz mysql check and im tenant creation
...
- healthz: Scan(new(int)) is not supported by GoFrame, use .One() so
the mysql check no longer reports a false failure
- im_tenant: set updated_by on insert for both im_tenant and
im_tenant_config, otherwise new tenant creation fails with
"Field 'updated_by' doesn't have a default value"
- gitignore: exclude .trae/ local debugging artifacts
2026-09-16 18:45:37 +08:00
richjohnrambo
fe5c7af7e2
fix: show bound tenant in im menus
2026-09-16 16:54:12 +08:00
richjohnrambo
156e8b9c9f
fix: align workbench default secret
2026-09-16 16:05:39 +08:00
richjohnrambo
f8aaae42ff
fix: use workbench service dns
2026-09-16 15:41:32 +08:00
richjohnrambo
82379b8823
fix: configure workbench service secret fallback
2026-09-16 15:21:28 +08:00
richjohnrambo
3e40554229
fix: fallback workbench admin secret
2026-09-16 14:28:42 +08:00
richjohnrambo
e159f9a88e
feat: proxy workbench admin through service
2026-09-16 14:03:58 +08:00
richjohnrambo
c258e0473b
fix: resolve bound im tenant for company admins
2026-09-16 13:19:55 +08:00
richjohnrambo
5dbbf39cce
chore: update test environment defaults
2026-09-15 11:59:14 +08:00
richjohnrambo
50a2781b23
fix: avoid gf cli install in docker build
2026-09-14 14:27:23 +08:00
richjohnrambo
a6f7ac41b0
fix: remove duplicate IM frontend API exports
2026-09-14 14:13:39 +08:00
richjohnrambo
c1a6a41575
fix: update admin test environment config
2026-09-14 14:06:41 +08:00
Your Name and Claude Sonnet 5
f44e8adb72
ci: bring k3s deploy workflow over from main
...
This commit only ever landed on main (from when main was still the
default branch); dev's copy was still the stale blue-green version.
Bringing main's file over as-is before making dev the default branch,
so neither branch ends up missing it.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-09-14 12:28:55 +08:00
richjohnrambo
bd19a594ae
Merge branch 'main' into dev
...
# Conflicts:
# docs/backstage/IM-Kafka接入方案.md
# docs/backstage/IM-Kafka接入范围识别.md
# server/api/admin/imconfiginternal/im_config.go
# server/api/admin/imuser/im_user.go
# server/internal/consts/im_kafka.go
# server/internal/controller/admin/sys/im_user.go
# server/internal/controller/internalapi/imconfig/im_config.go
# server/internal/library/imadmin/client.go
# server/internal/library/imadmin/client_test.go
# server/internal/library/imadmin/internal.go
# server/internal/library/imkafka/command.go
# server/internal/library/imtenant/db.go
# server/internal/library/imtenant/db_test.go
# server/internal/library/queue/kafkamq.go
# server/internal/library/queue/queue.go
# server/internal/logic/admin/member.go
# server/internal/logic/sys/im_dead_letter.go
# server/internal/logic/sys/im_group.go
# server/internal/logic/sys/im_invite.go
# server/internal/logic/sys/im_kafka_audit.go
# server/internal/logic/sys/im_kafka_command.go
# server/internal/logic/sys/im_tenant.go
# server/internal/logic/sys/im_user.go
# server/internal/model/input/sysin/im_group.go
# server/internal/model/input/sysin/im_invite.go
# server/internal/model/input/sysin/im_user.go
# server/internal/queues/im_admin_command_result.go
# server/internal/queues/im_audit_event.go
# server/internal/queues/im_dead_letter.go
# server/internal/service/sys.go
# server/manifest/config/config.example.yaml
# server/storage/data/generate/im_group_menu.sql
# server/storage/data/generate/im_user_menu.sql
# server/storage/data/im_registration_invite_hotgo.sql
# web/src/views/im/registrationInvite/BatchViewModal.vue
# web/src/views/im/registrationInvite/index.vue
# web/src/views/im/registrationInvite/model.ts
# web/src/views/imDeadLetter/index.vue
# web/src/views/imDeadLetter/model.ts
# web/src/views/imGroup/governance.vue
# web/src/views/imGroup/members.vue
# web/src/views/imKafkaAudit/model.ts
# web/src/views/imKafkaAudit/view.vue
# web/src/views/imKafkaCommand/index.vue
# web/src/views/imKafkaCommand/model.ts
# web/src/views/imKafkaCommand/view.vue
# web/src/views/imUser/ResetPasswordModal.vue
# web/src/views/imUser/governance.vue
# web/src/views/imUser/index.vue
# web/src/views/imUser/model.ts
# web/src/views/imUser/view.vue
2026-09-13 23:43:51 +08:00
richjohnrambo
7aee265721
im 管理后台
2026-09-13 23:39:18 +08:00
richjohnrambo
8b30b8241c
feat: refine IM admin management workflows
2026-09-13 23:25:53 +08:00
richjohnrambo
6e65935e3c
feat: manage global app release policies
2026-09-12 17:08:10 +08:00
richjohnrambo
2fb5102add
feat: add invite user binding
2026-09-11 10:46:20 +08:00
richjohnrambo
68d9bafbdd
fix: show sensitive word action column
2026-09-11 01:20:41 +08:00
richjohnrambo
d3d2235ca3
fix: refine sensitive word table actions
2026-09-11 01:11:35 +08:00
richjohnrambo
26e511113b
feat: add short IM user numbers
2026-09-10 21:51:23 +08:00
richjohnrambo
047df08f84
feat: separate workbench admin features
2026-09-10 01:02:35 +08:00
richjohnrambo
27a368b386
feat: 统一IM后台商户文案和默认选择
2026-09-09 14:28:44 +08:00
richjohnrambo
da60b52be2
feat: improve group owner and status display
2026-09-09 11:10:59 +08:00
richjohnrambo
964746c19b
feat: add tenant login IP whitelist management
2026-09-09 09:39:55 +08:00
richjohnrambo
99307f1c98
fix: 完善IM用户状态与分组展示
2026-09-08 22:16:51 +08:00
richjohnrambo
7d54bf785a
feat: 完善IM用户管理与治理操作
2026-09-08 10:54:01 +08:00
richjohnrambo
5f3f6913b8
feat: 优化群聊消息手动查询
2026-09-07 21:52:00 +08:00
richjohnrambo
af2803ef1f
data: 增加中文敏感词测试词库
2026-09-07 21:43:26 +08:00
richjohnrambo
fdc86ea6bf
fix: 允许IM平台管理员选择租户
2026-09-07 21:11:20 +08:00
richjohnrambo
5fac9a0669
feat: 重组IM后台菜单层级
2026-09-07 20:33:09 +08:00
richjohnrambo
e5b8db41ea
fix: 兼容租户标准MySQL连接串
2026-09-07 18:47:50 +08:00
richjohnrambo
845f19fd1c
fix: 修复多级菜单页面无法打开
2026-09-07 17:25:36 +08:00