页面样式调整

This commit is contained in:
weber
2025-08-14 15:39:21 +08:00
parent cd3fc03524
commit d8c091b19b
13 changed files with 231 additions and 25 deletions

View File

@@ -62,17 +62,7 @@ data class AgentEntity(
val useCount: Int,
)
data class ProfileEntity(
val aiAccount: Boolean,
val avatar: String,
val banner: String,
val bio: String,
val chatAIId: String,
val id: Int,
val nickname: String,
val trtcUserId: String,
val username: String
)
fun createMultipartBody(file: File, filename: String, name: String): MultipartBody.Part {
val requestFile = file.asRequestBody("image/*".toMediaTypeOrNull())
return MultipartBody.Part.createFormData(name, filename, requestFile)

View File

@@ -0,0 +1,78 @@
package com.aiosman.ravenow.entity
import com.aiosman.ravenow.data.ListContainer
import com.aiosman.ravenow.data.ServiceException
import com.aiosman.ravenow.data.api.ApiClient
import okhttp3.MediaType.Companion.toMediaTypeOrNull
import okhttp3.MultipartBody
import okhttp3.RequestBody.Companion.asRequestBody
import java.io.File
/**
* 群聊房间
*/
data class RoomEntity(
val id: Int,
val name: String,
val description: String,
val trtcRoomId: String,
val trtcType: String,
val cover: String,
val avatar: String,
val recommendBanner: String,
val isRecommended: Boolean,
val allowInHot: Boolean,
val creator: CreatorEntity,
val userCount: Int,
val maxMemberLimit: Int,
val canJoin: Boolean,
val canJoinCode: Int,
)
data class CreatorEntity(
val id: Int,
val userId: String,
val trtcUserId: String,
val profile: ProfileEntity
)
data class ProfileEntity(
val id: Int,
val username: String,
val nickname: String,
val avatar: String,
val banner: String,
val bio: String,
val trtcUserId: String,
val chatAIId: String,
val aiAccount: Boolean,
)
class RoomLoader : DataLoader<AgentEntity,AgentLoaderExtraArgs>() {
override suspend fun fetchData(
page: Int,
pageSize: Int,
extra: AgentLoaderExtraArgs
): ListContainer<AgentEntity> {
val result = ApiClient.api.getAgent(
page = page,
pageSize = pageSize,
)
val data = result.body()?.let {
ListContainer(
list = it.data.list.map { it.toAgentEntity()},
total = it.data.total,
page = page,
pageSize = pageSize
)
}
if (data == null) {
throw ServiceException("Failed to get agent")
}
return data
}
}