房间相册 删除图片

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

View File

@@ -12,6 +12,9 @@ class RoomAlbumFragmentViewModel : BaseViewModel() {
private val _myPhotosLiveData = MutableLiveData<MutableList<RoomAlbumPhotoInfo>?>() private val _myPhotosLiveData = MutableLiveData<MutableList<RoomAlbumPhotoInfo>?>()
val myPhotosLiveData: LiveData<MutableList<RoomAlbumPhotoInfo>?> = _myPhotosLiveData val myPhotosLiveData: LiveData<MutableList<RoomAlbumPhotoInfo>?> = _myPhotosLiveData
private val _deleteLiveData = MutableLiveData<Boolean?>()
val deleteLiveData: LiveData<Boolean?> = _deleteLiveData
fun loadPhotos(type: Int, page: Int = 1) { fun loadPhotos(type: Int, page: Int = 1) {
safeLaunch { safeLaunch {
val myPhotos = RoomAlbumModel.loadPhotos(AvRoomDataManager.get().roomUid, type, page) val myPhotos = RoomAlbumModel.loadPhotos(AvRoomDataManager.get().roomUid, type, page)
@@ -33,6 +36,17 @@ class RoomAlbumFragmentViewModel : BaseViewModel() {
}, onComplete = { }, onComplete = {
ToastUtils.show("發送成功") 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 { private interface Api {
@GET("roomAlbum/pagePhoto") @GET("roomAlbum/pagePhoto")
@@ -57,5 +64,11 @@ object RoomAlbumModel {
@Field("roomUid") roomUid: Long, @Field("roomUid") roomUid: Long,
@Field("id") photoId: Int, @Field("id") photoId: Int,
): ServiceResult<String> ): ServiceResult<String>
@FormUrlEncoded
@POST("roomAlbum/delete")
suspend fun deletePhoto(
@Field("id") photoId: Int,
): ServiceResult<String>
} }
} }