From 93fa0fd931a6ae96928dd1f87f185a48bf30392b Mon Sep 17 00:00:00 2001 From: Eric85710 Date: Fri, 15 May 2026 17:04:23 +0800 Subject: [PATCH] dm-2 --- .../example/login_v3/data/api/api_class/DM_Basic.kt | 12 +++++++++++- .../com/example/login_v3/home/Message/UI/Message.kt | 3 ++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/example/login_v3/data/api/api_class/DM_Basic.kt b/app/src/main/java/com/example/login_v3/data/api/api_class/DM_Basic.kt index 5f061ec..9c560d0 100644 --- a/app/src/main/java/com/example/login_v3/data/api/api_class/DM_Basic.kt +++ b/app/src/main/java/com/example/login_v3/data/api/api_class/DM_Basic.kt @@ -1,5 +1,6 @@ package com.example.login_v3.data.api.api_class +import com.example.login_v3.R import com.squareup.moshi.Json import com.squareup.moshi.JsonClass @@ -61,4 +62,13 @@ data class Reaction( @Json(name = "emoji") val emoji: String, @Json(name = "count") val count: Int, @Json(name = "me_reacted") val meReacted: Boolean -) \ No newline at end of file +) + +val Partner.fullContactAvatarUrl: Any + get() = if (avatarUrl.isNullOrBlank()) { + R.drawable.avatar_v1 // 如果沒網址,直接回傳預設圖片資源 + } else if (avatarUrl.startsWith("http")) { + avatarUrl // 已經是完整網址就直接用 + } else { + "http://192.168.0.217$avatarUrl" // 否則補上 Base URL + } \ No newline at end of file diff --git a/app/src/main/java/com/example/login_v3/home/Message/UI/Message.kt b/app/src/main/java/com/example/login_v3/home/Message/UI/Message.kt index fec805d..e93b333 100644 --- a/app/src/main/java/com/example/login_v3/home/Message/UI/Message.kt +++ b/app/src/main/java/com/example/login_v3/home/Message/UI/Message.kt @@ -65,6 +65,7 @@ import androidx.navigation.compose.composable import androidx.navigation.compose.rememberNavController import coil.compose.AsyncImage import com.example.login_v3.data.api.api_class.ChatRoom +import com.example.login_v3.data.api.api_class.fullContactAvatarUrl import com.example.login_v3.home.Message.UI.Detail.Message_add_contact import com.example.login_v3.home.Message.UI.Detail.Message_contact_list import com.example.login_v3.home.Message.UI.Detail.Scan_QRcode @@ -295,7 +296,7 @@ fun RoomItem( verticalAlignment = Alignment.CenterVertically ) { // 1. 頭像處理 - val imageUrl = room.roomIconUrl ?: room.partner?.avatarUrl + val imageUrl = room.roomIconUrl ?: room.partner?.fullContactAvatarUrl AsyncImage( model = imageUrl, contentDescription = "Avatar",