Austin
0596599db9
feat: add tenant bound restriction for IM dashboard and management pages
...
1. extract isTenantBound utility from user store logic
2. add disabled state to tenant select components across all IM pages
3. update policy tenant options logic to hide global option for bound tenants
4. add backend scope validation for IM admin operations
2026-09-22 11:34:40 +08:00
Austin
40ac52923e
feat(imTenant): 新增商户管理员账号查看与密码修改功能
...
1. 新增编辑页管理员账号展示与密码修改字段,仅编辑态可见
2. 新增商户管理员密码重置逻辑,完善编辑场景密码校验
3. 补充超管可见控制:业务库、连接串、管理员信息非超管脱敏
4. 修复schema未使用响应式值的问题
2026-09-21 18:44:37 +08:00
Austin
c9673ca871
feat: 新增商户管理员账号自动创建功能,优化租户权限控制
...
1. 后端实现租户创建时自动绑定创建管理员账号,支持超管/普通管理员权限区分
2. 前端适配超管权限控制业务库名、连接串等敏感字段展示与编辑
3. 优化租户数据库回退逻辑,未配置独立库时自动回落默认库
4. 调整租户列表与详情页的权限数据脱敏逻辑
2026-09-21 17:50:38 +08:00
Austin
b4174a6412
feat: 新增IM联系我们字典配置,优化用户搜索与邀请绑定功能
...
1. 优化IM用户列表搜索逻辑,支持长数字用户ID精确匹配
2. 修复前端雪花ID精度丢失问题,改用字符串传输用户ID
3. 新增邀请码批量绑定用户功能,支持搜索绑定指定用户
4. 新增字典配置接口,新增联系我们字典SQL脚本
5. 完善字典数据变更事件推送,优化弹窗关闭与页面刷新逻辑
2026-09-21 13:11:08 +08:00
Austin
0381984939
Merge branch 'dev' of https://git.118im.com/im_team/im_manager into dev
2026-09-21 09:28:09 +08:00
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
e8dd1eaa7d
feat: 增加商户消息加密密钥管理
2026-09-20 23:43:33 +08:00
richjohnrambo
3ef328a5a3
fix: 隐藏内置超管时保留角色树
2026-09-20 22:03:51 +08:00
richjohnrambo
2b93d27a4e
fix: 角色列表隐藏内置超管
2026-09-20 21:53:38 +08:00
richjohnrambo
97990785cb
fix: 平台超管权限走角色配置
2026-09-20 21:50:43 +08:00
richjohnrambo
b68c048383
fix: 平台超管可管理后台角色
2026-09-20 21:48:10 +08:00
richjohnrambo
f154b9e3c3
fix: 按角色规范后台用户商户绑定
2026-09-20 21:03:54 +08:00
richjohnrambo
e2ca0607af
fix: 平台超管拥有全部商户数据范围
2026-09-20 20:05:08 +08:00
richjohnrambo
6afeb65b91
feat: add tenant realname review policy
2026-09-20 18:31:46 +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
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
4ed54ca392
test: initialize admin member service in scope tests
2026-09-16 23:45:21 +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
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
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
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
7d54bf785a
feat: 完善IM用户管理与治理操作
2026-09-08 10:54:01 +08:00
richjohnrambo
5f3f6913b8
feat: 优化群聊消息手动查询
2026-09-07 21:52:00 +08:00
richjohnrambo
fdc86ea6bf
fix: 允许IM平台管理员选择租户
2026-09-07 21:11:20 +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
25abba8eeb
feat: 完善IM后台Kafka与组织架构管理
2026-09-03 17:11:29 +08:00
richjohnrambo
eff2f54641
fix: use unprefixed kafka audit tables
2026-08-28 16:16:25 +08:00
richjohnrambo
6b5ef0a911
fix: query im kafka tables with gf raw helpers
2026-08-28 14:56:02 +08:00
richjohnrambo
f98f3e146b
fix: use unprefixed im kafka tables
2026-08-28 14:44:00 +08:00
richjohnrambo
cde4480b51
feat: publish password reset via kafka
2026-08-28 14:18:27 +08:00
richjohnrambo
6e08013fd1
fix: stringify im admin json fields
2026-08-28 13:34:40 +08:00
richjohnrambo
d7578efa2b
fix: return im user ids as strings
2026-08-28 13:07:17 +08:00
richjohnrambo
a04abb0cc8
fix: set admin frontend cache headers
2026-08-28 01:42:14 +08:00