Commit Graph
99 Commits
Author SHA1 Message Date
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 NameandClaude 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