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
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
9ed8aaf142
refactor: reuse global aliyun moderation config
2026-09-17 00:25:04 +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
c1a6a41575
fix: update admin test environment config
2026-09-14 14:06:41 +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
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
964746c19b
feat: add tenant login IP whitelist management
2026-09-09 09:39:55 +08:00
richjohnrambo
7d54bf785a
feat: 完善IM用户管理与治理操作
2026-09-08 10:54:01 +08:00
richjohnrambo
bb87d01644
feat: 完成鸽达达后台安全与审计改造
2026-09-07 11:50:29 +08:00
richjohnrambo
f7f8cc0ef0
feat: add im kafka admin integration
2026-09-04 11:57:38 +08:00
richjohnrambo
cde4480b51
feat: publish password reset via kafka
2026-08-28 14:18:27 +08:00
richjohnrambo
4779214591
feat: add im kafka admin integration
2026-08-28 00:05:54 +08:00
richjohnrambo
d53b0c1b62
feat: add IM admin P2 configuration modules
2026-08-22 00:36:38 +08:00
richjohnrambo
5c3f6ae58d
feat: add IM file policy and org exports
2026-08-21 23:07:06 +08:00
richjohnrambo
204f96e07a
feat: add IM org and notification admin
2026-08-21 17:54:54 +08:00
richjohnrambo
c89e35d0e0
feat: add IM admin P1 operations
2026-08-21 17:25:19 +08:00
richjohnrambo
77b19a8157
feat: complete IM group governance actions
2026-08-21 16:34:55 +08:00
richjohnrambo
21a5b97ac8
feat: add IM governance admin enhancements
2026-08-21 16:06:29 +08:00
richjohnrambo
543c7b624e
feat: expand IM admin controls
2026-08-21 15:09:39 +08:00
richjohnrambo
a2abaef3a6
feat: add IM admin management
2026-08-21 01:06:19 +08:00
richjohnrambo
89ba6bcff8
feat: add tenant-aware IM management console
2026-08-19 00:31:09 +08:00
richjohnrambo
331a55751d
im 管理后台
2026-08-11 23:13:51 +08:00