This commit is contained in:
Eric85710 2026-05-15 16:58:47 +08:00
parent 6ecae41571
commit 809af3a86f
4 changed files with 10 additions and 5 deletions

View file

@ -13,7 +13,7 @@ data class RoomListResponse(
@JsonClass(generateAdapter = true)
data class ChatRoom(
@Json(name = "room_id") val roomId: String,
@Json(name = "room_name") val roomName: String,
@Json(name = "room_name") val roomName: String?,
@Json(name = "room_type") val roomType: String,
@Json(name = "room_icon_url") val roomIconUrl: String?,
@Json(name = "is_muted") val isMuted: Boolean,

View file

@ -5,7 +5,7 @@ import com.example.login_v3.data.api.api_class.RoomListResponse
import javax.inject.Inject
import javax.inject.Singleton
@Singleton // 如果你希望整個 App 週期內只存在一個實體
@Singleton
class ChatRoomsRepository @Inject constructor(
private val api: TecnologiaApi
) {

View file

@ -310,7 +310,10 @@ fun RoomItem(
// 2. 中間內容:名稱與最後訊息
Column(modifier = Modifier.weight(1f)) {
Text(
text = room.roomName.ifEmpty { room.partner?.displayName ?: "Unknown" },
// 使用 orEmpty() 先把 String? 轉成 String
text = room.roomName.orEmpty().ifEmpty {
room.partner?.displayName ?: "Unknown"
},
style = MaterialTheme.typography.titleMedium,
fontWeight = FontWeight.Bold,
maxLines = 1,

View file

@ -1,6 +1,7 @@
// Message_ViewModel.kt
package com.example.login_v3.home.Message.ViewModel
import android.util.Log
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.example.login_v3.R
@ -26,8 +27,9 @@ class ChatRoomsViewModel @Inject constructor(
val result = repository.fetchRooms()
result.onSuccess { response ->
_roomsState.value = response.rooms
}.onFailure {
// 處理錯誤,例如更新一個 error state
}.onFailure { error ->
// 這裡非常重要!
Log.e("Technologia", "讀取失敗!原因:${error.message}", error)
}
}
}