diff --git a/app/src/main/java/com/huanchengfly/tieba/post/api/interfaces/ITiebaApi.kt b/app/src/main/java/com/huanchengfly/tieba/post/api/interfaces/ITiebaApi.kt index 1fc68153..f14c3205 100644 --- a/app/src/main/java/com/huanchengfly/tieba/post/api/interfaces/ITiebaApi.kt +++ b/app/src/main/java/com/huanchengfly/tieba/post/api/interfaces/ITiebaApi.kt @@ -408,6 +408,27 @@ interface ITiebaApi { tbs: String ): Call + /** + * 删除/隐藏贴子 + * + * **需登录** + * + * @param forumId 吧 ID + * @param forumName 吧名 + * @param threadId 贴子 ID + * @param tbs tbs + * @param delMyThread 是否为自己的贴子 + * @param isHide 是否为隐藏贴子 + */ + fun delThreadFlow( + forumId: Long, + forumName: String, + threadId: Long, + tbs: String?, + delMyThread: Boolean, + isHide: Boolean + ): Flow + /** * 删除贴子中的回复 * @@ -430,6 +451,28 @@ interface ITiebaApi { delMyPost: Boolean ): Call + /** + * 删除贴子中的回复 + * + * **需登录** + * + * @param forumId 吧 ID + * @param forumName 吧名 + * @param threadId 贴子 ID + * @param postId 回复 ID + * @param isFloor 是否为楼中楼回复 + * @param delMyPost 是否为当前登录用户回复 + */ + fun delPostFlow( + forumId: Long, + forumName: String, + threadId: Long, + postId: Long, + tbs: String?, + isFloor: Boolean = false, + delMyPost: Boolean = true + ): Flow + /** * 吧内搜索 * diff --git a/app/src/main/java/com/huanchengfly/tieba/post/api/interfaces/impls/MixedTiebaApiImpl.kt b/app/src/main/java/com/huanchengfly/tieba/post/api/interfaces/impls/MixedTiebaApiImpl.kt index 1823a704..5fe0fedd 100644 --- a/app/src/main/java/com/huanchengfly/tieba/post/api/interfaces/impls/MixedTiebaApiImpl.kt +++ b/app/src/main/java/com/huanchengfly/tieba/post/api/interfaces/impls/MixedTiebaApiImpl.kt @@ -332,6 +332,24 @@ object MixedTiebaApiImpl : ITiebaApi { ): Call = RetrofitTiebaApi.MINI_TIEBA_API.delThread(forumId, forumName, threadId, tbs) + override fun delThreadFlow( + forumId: Long, + forumName: String, + threadId: Long, + tbs: String?, + delMyThread: Boolean, + isHide: Boolean, + ): Flow = + RetrofitTiebaApi.OFFICIAL_TIEBA_API + .delThreadFlow( + forumId, + forumName, + threadId, + tbs, + deleteMyThread = if (delMyThread) 1 else 0, + isFrsMask = if (isHide) 1 else 0 + ) + override fun delPost( forumId: String, forumName: String, @@ -353,6 +371,28 @@ object MixedTiebaApiImpl : ITiebaApi { delete_my_post = if (delMyPost) 1 else 0 ) + override fun delPostFlow( + forumId: Long, + forumName: String, + threadId: Long, + postId: Long, + tbs: String?, + isFloor: Boolean, + delMyPost: Boolean + ): Flow = + RetrofitTiebaApi.OFFICIAL_TIEBA_API + .delPostFlow( + forumId, + forumName, + threadId, + postId, + isFloor = if (isFloor) 1 else 0, + src = if (isFloor) 3 else 1, + isVipDel = if (delMyPost) 0 else 1, + deleteMyPost = if (delMyPost) 1 else 0, + tbs = tbs + ) + override fun searchPost( keyword: String, forumName: String, diff --git a/app/src/main/java/com/huanchengfly/tieba/post/api/retrofit/interfaces/OfficialTiebaApi.kt b/app/src/main/java/com/huanchengfly/tieba/post/api/retrofit/interfaces/OfficialTiebaApi.kt index 02055620..893971df 100644 --- a/app/src/main/java/com/huanchengfly/tieba/post/api/retrofit/interfaces/OfficialTiebaApi.kt +++ b/app/src/main/java/com/huanchengfly/tieba/post/api/retrofit/interfaces/OfficialTiebaApi.kt @@ -494,4 +494,33 @@ interface OfficialTiebaApi { @Field("stoken") stoken: String? = AccountUtil.getLoginInfo() ?.sToken ): Call + + @Headers("${Header.FORCE_LOGIN}: ${Header.FORCE_LOGIN_TRUE}") + @POST("/c/c/bawu/delthread") + @FormUrlEncoded + fun delThreadFlow( + @Field("fid") forumId: Long, + @Field("word") forumName: String, + @Field("z") threadId: Long, + @Field("tbs") tbs: String? = AccountUtil.getLoginInfo()?.tbs, + @Field("src") src: Int = 1, + @Field("is_vipdel") isVipDel: Int = 0, + @Field("delete_my_thread") deleteMyThread: Int = 1, + @Field("is_frs_mask") isFrsMask: Int = 0, + ): Flow + + @Headers("${Header.FORCE_LOGIN}: ${Header.FORCE_LOGIN_TRUE}") + @POST("/c/c/bawu/delpost") + @FormUrlEncoded + fun delPostFlow( + @Field("fid") forumId: Long, + @Field("word") forumName: String, + @Field("z") threadId: Long, + @Field("pid") postId: Long, + @Field("isfloor") isFloor: Int, + @Field("src") src: Int, + @Field("is_vipdel") isVipDel: Int, + @Field("delete_my_post") deleteMyPost: Int, + @Field("tbs") tbs: String? = AccountUtil.getLoginInfo()?.tbs, + ): Flow } \ No newline at end of file