房间相册 删除图片

This commit is contained in:
wzq
2023-10-17 20:05:47 +08:00
parent 6134962297
commit 6b580ad2a6
3 changed files with 34 additions and 2 deletions

View File

@@ -79,7 +79,9 @@ class RoomAlbumFragment : BaseViewBindingFragment<FragmentRoomAlbumBinding>() {
viewModel.sendPhoto(data[position].id)
}
},
ButtonItem("刪除照片", {}),
ButtonItem("刪除照片") {
viewModel.deletePhoto(data[position].id)
},
ButtonItem("查看大圖", {})
)
dialogManager.showCommonPopupDialog(buttonItems)
@@ -128,6 +130,9 @@ class RoomAlbumFragment : BaseViewBindingFragment<FragmentRoomAlbumBinding>() {
binding.refreshLayout.finishRefresh()
}
viewModel.deleteLiveData.observe(this) {
viewModel.loadPhotos(type)
}
}
companion object {

View File

@@ -12,6 +12,9 @@ class RoomAlbumFragmentViewModel : BaseViewModel() {
private val _myPhotosLiveData = MutableLiveData<MutableList<RoomAlbumPhotoInfo>?>()
val myPhotosLiveData: LiveData<MutableList<RoomAlbumPhotoInfo>?> = _myPhotosLiveData
private val _deleteLiveData = MutableLiveData<Boolean?>()
val deleteLiveData: LiveData<Boolean?> = _deleteLiveData
fun loadPhotos(type: Int, page: Int = 1) {
safeLaunch {
val myPhotos = RoomAlbumModel.loadPhotos(AvRoomDataManager.get().roomUid, type, page)
@@ -33,6 +36,17 @@ class RoomAlbumFragmentViewModel : BaseViewModel() {
}, onComplete = {
ToastUtils.show("發送成功")
})
}
fun deletePhoto(photoId: Int) {
safeLaunch(block = {
RoomAlbumModel.deletePhoto(photoId)
_deleteLiveData.value = true
}, onComplete = {
ToastUtils.show("成功")
})
}
}

View File

@@ -32,6 +32,13 @@ object RoomAlbumModel {
}
}
suspend fun deletePhoto(photoId: Int) : String? {
return launchRequest {
api.deletePhoto(photoId)
}
}
private interface Api {
@GET("roomAlbum/pagePhoto")
@@ -57,5 +64,11 @@ object RoomAlbumModel {
@Field("roomUid") roomUid: Long,
@Field("id") photoId: Int,
): ServiceResult<String>
@FormUrlEncoded
@POST("roomAlbum/delete")
suspend fun deletePhoto(
@Field("id") photoId: Int,
): ServiceResult<String>
}
}