auth to server-V65

This commit is contained in:
Eric85710 2026-05-06 17:38:28 +08:00
parent 67528b29cb
commit 7f95b6b187
2 changed files with 19 additions and 2 deletions

View file

@ -1,5 +1,6 @@
package com.example.login_v3.data.api.api_class package com.example.login_v3.data.api.api_class
import com.example.login_v3.R
import com.squareup.moshi.Json import com.squareup.moshi.Json
import com.squareup.moshi.JsonClass import com.squareup.moshi.JsonClass
@ -24,4 +25,13 @@ data class Friend(
@Json(name = "accepted_at") @Json(name = "accepted_at")
val acceptedAt: String val acceptedAt: String
) )
val Friend.fullFriendsAvatarUrl: Any
get() = if (avatarUrl.isNullOrBlank()) {
R.drawable.avatar_v1
} else if (avatarUrl.startsWith("http")) {
avatarUrl
} else {
"http://192.168.0.217$avatarUrl"
}

View file

@ -2,7 +2,9 @@ package com.example.login_v3.home.Message.UI.Detail
import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.size
import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.LazyColumn
@ -18,6 +20,7 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip import androidx.compose.ui.draw.clip
import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Color
import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.painterResource
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import androidx.hilt.navigation.compose.hiltViewModel import androidx.hilt.navigation.compose.hiltViewModel
@ -26,6 +29,7 @@ import androidx.navigation.NavController
import coil.compose.AsyncImage import coil.compose.AsyncImage
import com.example.login_v3.R import com.example.login_v3.R
import com.example.login_v3.data.api.api_class.Friend import com.example.login_v3.data.api.api_class.Friend
import com.example.login_v3.data.api.api_class.fullFriendsAvatarUrl
import com.example.login_v3.home.Message.ViewModel.Detail.ContactListViewModel import com.example.login_v3.home.Message.ViewModel.Detail.ContactListViewModel
import com.example.login_v3.navigation.BottomBarViewModel import com.example.login_v3.navigation.BottomBarViewModel
@ -50,6 +54,8 @@ fun Message_contact_list(
, ,
horizontalAlignment = Alignment.CenterHorizontally horizontalAlignment = Alignment.CenterHorizontally
) { ) {
Spacer(modifier = Modifier.height(60.dp))
if (friends.isEmpty()) { if (friends.isEmpty()) {
// 如果列表是空的,顯示提示(或載入指示器) // 如果列表是空的,顯示提示(或載入指示器)
Box( Box(
@ -82,7 +88,8 @@ fun FriendRow(friend: Friend) {
leadingContent = { leadingContent = {
// 使用 Coil 載入頭像 // 使用 Coil 載入頭像
AsyncImage( AsyncImage(
model = friend.avatarUrl, model = friend.fullFriendsAvatarUrl,
contentScale = ContentScale.Crop,
contentDescription = "Avatar", contentDescription = "Avatar",
modifier = Modifier modifier = Modifier
.size(48.dp) .size(48.dp)