fix(emergency): 完善应急就医群聊功能—急救员邀请+图标显示+头像兜底

- TUICallingViewManager 启用 initInviteUserFunction,急救员通话中显示右上角 + 号邀请按钮
- InputActionSetting 新增 firstAid 字段,setter 同步写入 SP 供跨模块读取
- createEmergencySetting 支持 firstAid 参数,急救员进入群聊时传入 true
- TUIGroupChatFragment 右侧抽屉图标仅在 firstAid 为 true 时显示
- GlideEngine 新增 loadImageByDefault 兜底加载方法
- GroupMemberAdapter 头像加载使用兜底图标,修复空 URL 显示异常
- GroupMemberAdapter 修复 administrator 群组的成员过滤逻辑

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
zhanglei
2026-08-04 19:58:25 +08:00
co-authored by Claude Opus 4.7
parent f61d8c90c9
commit adfa40313a
8 changed files with 101 additions and 60 deletions
@@ -30,9 +30,11 @@ object IMInputActionSettingUtils {
/**
* 应急求助IM功能配置
* @param firstAid 是否为急救员
*/
fun createEmergencySetting(): InputActionSetting {
fun createEmergencySetting(firstAid: Boolean = false): InputActionSetting {
var inputActionSetting = InputActionSetting()
inputActionSetting.packageName = BuildConfig.APPLICATION_ID
inputActionSetting.isDisableAudioCall = true
inputActionSetting.isDisableVideoCall = false
inputActionSetting.isDisableArchives = true
@@ -41,7 +43,7 @@ object IMInputActionSettingUtils {
inputActionSetting.isDisableFinishName = true
inputActionSetting.isDisableEvaluate = true
inputActionSetting.isDisableFinishSession = true
inputActionSetting.packageName = BuildConfig.APPLICATION_ID
inputActionSetting.isFirstAid = firstAid
InputActionSetting.setsInstance(inputActionSetting)
return inputActionSetting
}
@@ -262,7 +262,7 @@ class WorkbenchFragment :
} else if (result.records.size == 1) {
mViewModel.getActualGroupMemberList(result.records[0].sessionId) { groupMemberBeans ->
val setting = IMInputActionSettingUtils.createEmergencySetting()
val setting = IMInputActionSettingUtils.createEmergencySetting(true)
requireContext().startGroupChat(
result.records[0].sessionId,
getString(R.string.title_paramedic_group),
@@ -273,7 +273,7 @@ class WorkbenchFragment :
} else {
showChatListDialog(result.records!!) { groupInfo ->
mViewModel.getActualGroupMemberList(groupInfo.sessionId) { groupMemberBeans ->
val setting = IMInputActionSettingUtils.createEmergencySetting()
val setting = IMInputActionSettingUtils.createEmergencySetting(true)
requireContext().startGroupChat(
groupInfo.sessionId,
getString(R.string.title_paramedic_group),