feat(login): 添加调试模式下的测试登录功能

- 在登录界面添加了测试用户登录按钮
- 仅在DEBUG模式下显示测试登录选项
- 集成测试用户1和测试用户2的快速登录功能
- 移动IM SDK中的事件监听器定义位置以优化代码结构
这个提交包含在:
XuqmGroup 2026-05-03 22:28:34 +08:00
父节点 d0b263411d
当前提交 66f2f8a47b
共有 2 个文件被更改,包括 18 次插入7 次删除

查看文件

@ -32,6 +32,7 @@ import androidx.lifecycle.viewmodel.compose.viewModel
import androidx.lifecycle.viewmodel.initializer import androidx.lifecycle.viewmodel.initializer
import androidx.lifecycle.viewmodel.viewModelFactory import androidx.lifecycle.viewmodel.viewModelFactory
import com.xuqm.sdk.sample.di.AppDependencies import com.xuqm.sdk.sample.di.AppDependencies
import com.xuqm.sdk.sample.BuildConfig
import android.widget.Toast import android.widget.Toast
@Composable @Composable
@ -122,5 +123,15 @@ fun LoginScreen(
TextButton(onClick = onOpenEnvironment) { TextButton(onClick = onOpenEnvironment) {
Text("环境设置") Text("环境设置")
} }
if (BuildConfig.DEBUG) {
Spacer(Modifier.height(8.dp))
TextButton(onClick = { viewModel.login("testuser1", "test123") }) {
Text("[测试] 登录用户1", style = MaterialTheme.typography.bodySmall)
}
TextButton(onClick = { viewModel.login("testuser2", "test123") }) {
Text("[测试] 登录用户2", style = MaterialTheme.typography.bodySmall)
}
}
} }
} }

查看文件

@ -98,6 +98,13 @@ object ImSDK {
fun onConversationsChanged(conversations: List<ConversationData>) fun onConversationsChanged(conversations: List<ConversationData>)
} }
private val conversationEventListener = object : ImEventListener {
override fun onMessage(message: ImMessage) { onMessageReceived(message) }
override fun onGroupMessage(message: ImMessage) { onMessageReceived(message) }
override fun onRead(message: ImMessage) { onReadReceived(message) }
override fun onRevoke(message: ImMessage) { onRevokeReceived(message) }
}
init { init {
XuqmSDK.currentLoginSession?.let { onSdkLogin(it) } XuqmSDK.currentLoginSession?.let { onSdkLogin(it) }
} }
@ -901,13 +908,6 @@ object ImSDK {
) )
} }
private val conversationEventListener = object : ImEventListener {
override fun onMessage(message: ImMessage) { onMessageReceived(message) }
override fun onGroupMessage(message: ImMessage) { onMessageReceived(message) }
override fun onRead(message: ImMessage) { onReadReceived(message) }
override fun onRevoke(message: ImMessage) { onRevokeReceived(message) }
}
private fun getConversationTargetId(message: ImMessage): String { private fun getConversationTargetId(message: ImMessage): String {
return if (message.chatType.uppercase() == "GROUP") { return if (message.chatType.uppercase() == "GROUP") {
message.toId message.toId