diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index fce21fa242..e6f468037f 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -506,6 +506,10 @@ android:name="com.gh.gamecenter.QaActivity" android:screenOrientation="portrait" /> + + + android:grantUriPermissions="true"> + tools:replace="android:resource" /> diff --git a/app/src/main/java/com/gh/gamecenter/qa/answer/draft/AnswerDraftActivity.kt b/app/src/main/java/com/gh/gamecenter/qa/answer/draft/AnswerDraftActivity.kt new file mode 100644 index 0000000000..530917188e --- /dev/null +++ b/app/src/main/java/com/gh/gamecenter/qa/answer/draft/AnswerDraftActivity.kt @@ -0,0 +1,18 @@ +package com.gh.gamecenter.qa.answer.draft + +import android.content.Context +import android.content.Intent +import android.os.Bundle +import com.gh.common.util.EntranceUtils +import com.gh.gamecenter.NormalActivity + +class AnswerDraftActivity : NormalActivity() { + + companion object { + fun getIntent(context: Context, answerId: String? = null): Intent { + val bundle = Bundle() + bundle.putString(EntranceUtils.KEY_ANSWER_ID, answerId) + return getTargetIntent(context, AnswerDraftActivity::class.java, AnswerDraftFragment::class.java, bundle) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/gh/gamecenter/qa/myqa/MyDraftAdapter.java b/app/src/main/java/com/gh/gamecenter/qa/answer/draft/AnswerDraftAdapter.java similarity index 76% rename from app/src/main/java/com/gh/gamecenter/qa/myqa/MyDraftAdapter.java rename to app/src/main/java/com/gh/gamecenter/qa/answer/draft/AnswerDraftAdapter.java index c70da987c4..02c9922de4 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/myqa/MyDraftAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/qa/answer/draft/AnswerDraftAdapter.java @@ -1,14 +1,19 @@ -package com.gh.gamecenter.qa.myqa; +package com.gh.gamecenter.qa.answer.draft; +import android.app.Activity; import android.content.Context; +import android.content.Intent; import android.text.TextUtils; import android.view.View; import android.view.ViewGroup; +import androidx.recyclerview.widget.RecyclerView; + import com.facebook.drawee.view.SimpleDraweeView; import com.gh.base.OnListClickListener; import com.gh.common.constant.ItemViewType; import com.gh.common.util.DialogUtils; +import com.gh.common.util.EntranceUtils; import com.gh.common.util.ImageUtils; import com.gh.common.util.PermissionHelper; import com.gh.gamecenter.R; @@ -21,6 +26,7 @@ import com.gh.gamecenter.manager.UserManager; import com.gh.gamecenter.qa.answer.edit.AnswerEditActivity; import com.gh.gamecenter.qa.entity.AnswerEntity; import com.gh.gamecenter.qa.entity.Questions; +import com.gh.gamecenter.qa.myqa.AnswerDraftViewHolder; import com.gh.gamecenter.qa.questions.detail.QuestionsDetailActivity; import com.gh.gamecenter.retrofit.Response; import com.gh.gamecenter.retrofit.RetrofitManager; @@ -29,7 +35,6 @@ import com.lightgame.utils.Utils; import java.util.ArrayList; import java.util.List; -import androidx.recyclerview.widget.RecyclerView; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.schedulers.Schedulers; import okhttp3.ResponseBody; @@ -39,32 +44,31 @@ import retrofit2.HttpException; * Created by khy on 20/12/17. */ -class MyDraftAdapter extends ListAdapter { - +class AnswerDraftAdapter extends ListAdapter { + private OnListClickListener mListClickListener; - + private ListViewModel mListViewModel; - + private String mEntrance; - - - MyDraftAdapter(Context context, String entrance, OnListClickListener listClickListener, ListViewModel longClickListener) { + + AnswerDraftAdapter(Context context, String entrance, OnListClickListener listClickListener, ListViewModel longClickListener) { super(context); mListClickListener = listClickListener; mListViewModel = longClickListener; mEntrance = entrance; } - + @Override protected boolean areItemsTheSame(AnswerEntity oldItem, AnswerEntity newItem) { return !TextUtils.isEmpty(oldItem.getId()) && oldItem.getId().equals(newItem.getId()); } - + @Override protected boolean areContentsTheSame(AnswerEntity oldItem, AnswerEntity newItem) { return oldItem == newItem; } - + @Override protected void setListData(List updateData) { if (updateData != null && mEntityList != null && updateData.size() == mEntityList.size()) { @@ -74,13 +78,13 @@ class MyDraftAdapter extends ListAdapter { } super.setListData(updateData); } - + @Override public int getItemViewType(int position) { if (position == getItemCount() - 1) return ItemViewType.ITEM_FOOTER; return ItemViewType.ITEM_BODY; } - + @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view; @@ -95,7 +99,7 @@ class MyDraftAdapter extends ListAdapter { return null; } } - + @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { switch (getItemViewType(position)) { @@ -129,12 +133,18 @@ class MyDraftAdapter extends ListAdapter { }); draftViewHolder.itemView.setOnClickListener(v -> { PermissionHelper.checkReadPhoneStateAndStoragePermissionBeforeAction(mContext, () -> { - mContext.startActivity(AnswerEditActivity.Companion.getIntent( - mContext, - answerEntity.getQuestions(), - answerEntity.getId(), - true, - answerEntity.getCommunityName())); + if (mContext instanceof AnswerDraftActivity) { + // 不需要回传任何数据 + ((AnswerDraftActivity) mContext).setResult(Activity.RESULT_OK); + ((AnswerDraftActivity) mContext).finish(); + } else { + mContext.startActivity(AnswerEditActivity.Companion.getIntent( + mContext, + answerEntity.getQuestions(), + answerEntity.getId(), + true, + answerEntity.getCommunityName())); + } }); }); break; @@ -145,29 +155,29 @@ class MyDraftAdapter extends ListAdapter { break; } } - + @Override public int getItemCount() { return mEntityList == null || mEntityList.isEmpty() ? 0 : mEntityList.size() + FOOTER_ITEM_COUNT; } - - + + private void deleteAnswerDraft(AnswerEntity entity) { RetrofitManager.getInstance(mContext) - .getApi() - .deleteAnswerDrafts(UserManager.getInstance().getUserId(), entity.getId()) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .subscribe(new Response() { - @Override - public void onResponse(ResponseBody response) { - mListViewModel.load(LoadType.REFRESH); - } - - @Override - public void onFailure(HttpException e) { - Utils.toast(mContext, R.string.loading_network_error); - } - }); + .getApi() + .deleteAnswerDrafts(UserManager.getInstance().getUserId(), entity.getId()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Response() { + @Override + public void onResponse(ResponseBody response) { + mListViewModel.load(LoadType.REFRESH); + } + + @Override + public void onFailure(HttpException e) { + Utils.toast(mContext, R.string.loading_network_error); + } + }); } } diff --git a/app/src/main/java/com/gh/gamecenter/qa/myqa/MyDraftFragment.java b/app/src/main/java/com/gh/gamecenter/qa/answer/draft/AnswerDraftFragment.java similarity index 55% rename from app/src/main/java/com/gh/gamecenter/qa/myqa/MyDraftFragment.java rename to app/src/main/java/com/gh/gamecenter/qa/answer/draft/AnswerDraftFragment.java index 3b2e7411a3..dc499b4f70 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/myqa/MyDraftFragment.java +++ b/app/src/main/java/com/gh/gamecenter/qa/answer/draft/AnswerDraftFragment.java @@ -1,8 +1,11 @@ -package com.gh.gamecenter.qa.myqa; +package com.gh.gamecenter.qa.answer.draft; import android.os.Bundle; +import androidx.annotation.Nullable; + import com.gh.common.util.EntranceUtils; +import com.gh.common.util.UrlFilterUtils; import com.gh.gamecenter.baselist.ListAdapter; import com.gh.gamecenter.baselist.ListFragment; import com.gh.gamecenter.baselist.LoadType; @@ -24,26 +27,45 @@ import io.reactivex.Observable; * Created by khy on 20/12/17. */ -public class MyDraftFragment extends ListFragment { +public class AnswerDraftFragment extends ListFragment { - private MyDraftAdapter mAdapter; + private AnswerDraftAdapter mAdapter; - public static MyDraftFragment getInstance(String entrance) { - MyDraftFragment fragment = new MyDraftFragment(); + @Nullable + private String mAnswerId; + + public static AnswerDraftFragment getInstance(String entrance) { + AnswerDraftFragment fragment = new AnswerDraftFragment(); Bundle args = new Bundle(); args.putString(EntranceUtils.KEY_ENTRANCE, entrance); fragment.setArguments(args); return fragment; } + @Override + public void onCreate(@Nullable Bundle savedInstanceState) { + Bundle arguments = getArguments(); + if (arguments != null) { + mAnswerId = arguments.getString(EntranceUtils.KEY_ANSWER_ID); + } + + super.onCreate(savedInstanceState); + if (getActivity() instanceof AnswerDraftActivity) { + setNavigationTitle("回答草稿"); + } + } + @Override protected ListAdapter provideListAdapter() { - return mAdapter == null ? mAdapter = new MyDraftAdapter(getContext(), mEntrance, this, mListViewModel) : mAdapter; + return mAdapter == null ? mAdapter = new AnswerDraftAdapter(getContext(), mEntrance, this, mListViewModel) : mAdapter; } @Override public Observable> provideDataObservable(int page) { - return RetrofitManager.getInstance(getContext()).getApi().getMyAnswerDrafts(UserManager.getInstance().getUserId(), page); + return RetrofitManager.getInstance(getContext()).getApi().getAnswerDrafts( + UserManager.getInstance().getUserId(), + UrlFilterUtils.getFilterQuery("answer_id", mAnswerId), + page); } @Subscribe(threadMode = ThreadMode.MAIN) diff --git a/app/src/main/java/com/gh/gamecenter/qa/answer/edit/AnswerEditActivity.kt b/app/src/main/java/com/gh/gamecenter/qa/answer/edit/AnswerEditActivity.kt index d7a62cd1cc..6ed3907e35 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/answer/edit/AnswerEditActivity.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/answer/edit/AnswerEditActivity.kt @@ -25,6 +25,7 @@ import com.gh.gamecenter.entity.NotificationUgc import com.gh.gamecenter.manager.UserManager import com.gh.gamecenter.mvvm.Status import com.gh.gamecenter.qa.answer.detail.AnswerDetailActivity +import com.gh.gamecenter.qa.answer.draft.AnswerDraftActivity import com.gh.gamecenter.qa.entity.Questions import com.gh.gamecenter.video.VideoVerifyItemViewHolder import com.gh.gamecenter.video.detail.VideoDetailContainerViewModel @@ -65,6 +66,8 @@ class AnswerEditActivity : BaseRichEditorActivity() { super.onActivityResult(requestCode, resultCode, data) if (requestCode == REQUEST_CODE_IMAGE && resultCode == Activity.RESULT_OK) { if (data != null) mViewModel.postImg(data) + } else if (requestCode == ANSWER_DRAFT_REQUEST_CODE && resultCode == Activity.RESULT_OK) { + mViewModel.getUserAnswerDrafts() } } @@ -111,9 +114,11 @@ class AnswerEditActivity : BaseRichEditorActivity() { setNavigationTitle(getString(R.string.answer_patch_title)) mViewModel.cacheAnswerContent = mViewModel.answerContent mRichEditor.setHtml(mViewModel.answerContent, false) + mDraftBtn.visibility = View.VISIBLE } else { setNavigationTitle(getString(R.string.answer_edit_title)) mViewModel.getUserAnswerDrafts() + mDraftBtn.visibility = View.GONE } } @@ -345,7 +350,11 @@ class AnswerEditActivity : BaseRichEditorActivity() { override fun handleBackPressed(): Boolean { return if (TextUtils.isEmpty(UserManager.getInstance().token)) { false - } else if (!TextUtils.isEmpty(mViewModel.answerId)) { + } else if (!TextUtils.isEmpty(mViewModel.answerId) + && TextUtils.isEmpty(mViewModel.cacheAnswerContent) + && mRichEditor.html.contains(" showQuestionImageDetail(1 - videoSize) R.id.question_images_3 -> showQuestionImageDetail(2 - videoSize) + R.id.draft_btn -> { + startActivityForResult(AnswerDraftActivity.getIntent(this, mViewModel.answerId), ANSWER_DRAFT_REQUEST_CODE) + } } } @@ -495,6 +514,7 @@ class AnswerEditActivity : BaseRichEditorActivity() { const val SAVE_DRAFTS_TOAST_COUNT = 3 const val MIN_ANSWER_TEXT_LENGTH = 6 const val MAX_ANSWER_TEXT_LENGTH = 10000 + const val ANSWER_DRAFT_REQUEST_CODE = 112 const val FILE_HOST = "file:///" const val ANSWER_DRAFT_CHANGE_TAG = "ANSWER_DRAFT_CHANGE_TAG" diff --git a/app/src/main/java/com/gh/gamecenter/qa/answer/edit/AnswerEditViewModel.kt b/app/src/main/java/com/gh/gamecenter/qa/answer/edit/AnswerEditViewModel.kt index d3a2def6dc..66613c6b82 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/answer/edit/AnswerEditViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/answer/edit/AnswerEditViewModel.kt @@ -13,6 +13,7 @@ import com.gh.common.syncpage.SyncFieldConstants import com.gh.common.syncpage.SyncPageRepository import com.gh.common.util.ImageUtils import com.gh.common.util.UploadImageUtils +import com.gh.common.util.UrlFilterUtils import com.gh.gamecenter.R import com.gh.gamecenter.eventbus.EBReuse import com.gh.gamecenter.manager.UserManager @@ -199,7 +200,9 @@ class AnswerEditViewModel(application: Application, fun getUserAnswerDrafts() { mApi - .getUserAnswerDrafts(question.id, Utils.getTime(getApplication())) + .getUserAnswerDrafts(question.id, + UrlFilterUtils.getFilterQuery("answer_id", answerId), + Utils.getTime(getApplication())) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(object : Response() { @@ -223,6 +226,9 @@ class AnswerEditViewModel(application: Application, try { content.put("content", editContent) content.put("question_id", question.id) + if (!answerId.isNullOrEmpty()) { + content.put("answer_id", answerId) + } } catch (e: JSONException) { e.printStackTrace() } diff --git a/app/src/main/java/com/gh/gamecenter/qa/article/draft/ArticleDraftActivity.kt b/app/src/main/java/com/gh/gamecenter/qa/article/draft/ArticleDraftActivity.kt index 9effc136e6..575f7cbb5e 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/article/draft/ArticleDraftActivity.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/article/draft/ArticleDraftActivity.kt @@ -2,13 +2,17 @@ package com.gh.gamecenter.qa.article.draft import android.content.Context import android.content.Intent +import android.os.Bundle +import com.gh.common.util.EntranceUtils import com.gh.gamecenter.NormalActivity class ArticleDraftActivity : NormalActivity() { companion object { - fun getIntent(context: Context): Intent { - return getTargetIntent(context, ArticleDraftActivity::class.java, ArticleDraftFragment::class.java) + fun getIntent(context: Context, articleId: String? = null): Intent { + val bundle = Bundle() + bundle.putString(EntranceUtils.KEY_COMMUNITY_ARTICLE_ID, articleId) + return getTargetIntent(context, ArticleDraftActivity::class.java, ArticleDraftFragment::class.java, bundle) } } } \ No newline at end of file diff --git a/app/src/main/java/com/gh/gamecenter/qa/article/draft/ArticleDraftFragment.kt b/app/src/main/java/com/gh/gamecenter/qa/article/draft/ArticleDraftFragment.kt index 8d81512db8..e32090bd0e 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/article/draft/ArticleDraftFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/article/draft/ArticleDraftFragment.kt @@ -4,6 +4,8 @@ import android.app.Activity import android.content.Intent import android.os.Bundle import androidx.lifecycle.ViewModelProviders +import com.gh.common.util.EntranceUtils +import com.gh.common.util.UrlFilterUtils import com.gh.common.util.checkReadPhoneStateAndStoragePermissionBeforeAction import com.gh.gamecenter.R import com.gh.gamecenter.baselist.ListFragment @@ -28,6 +30,7 @@ import retrofit2.HttpException class ArticleDraftFragment : ListFragment>() { private val mApi = RetrofitManager.getInstance(context).api private var mAdapter: ArticleDraftAdapter? = null + private var mArticleId: String? = null override fun provideListAdapter(): ArticleDraftAdapter { if (mAdapter == null) { @@ -52,7 +55,10 @@ class ArticleDraftFragment : ListFragment> { - return mApi.getMyArticleDrafts(UserManager.getInstance().userId, page) + return mApi.getArticleDrafts( + UserManager.getInstance().userId, + UrlFilterUtils.getFilterQuery("article_id", mArticleId), + page) } override fun provideListViewModel(): NormalListViewModel { @@ -61,6 +67,8 @@ class ArticleDraftFragment : ListFragment() { diff --git a/app/src/main/java/com/gh/gamecenter/qa/article/edit/ArticleEditActivity.kt b/app/src/main/java/com/gh/gamecenter/qa/article/edit/ArticleEditActivity.kt index f64b0f4340..ad7ba2bf9a 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/article/edit/ArticleEditActivity.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/article/edit/ArticleEditActivity.kt @@ -124,7 +124,7 @@ class ArticleEditActivity : BaseRichEditorActivity() { }) //setEditTextInputSpace() - mEditTitle.filters= arrayOf(TextHelper.getFilter(50, "最多输入50个字")) + mEditTitle.filters = arrayOf(TextHelper.getFilter(50, "最多输入50个字")) // 上传图片完成后的回调(本地图片) mViewModel.postImageLiveData.observe(this, Observer { @@ -259,7 +259,8 @@ class ArticleEditActivity : BaseRichEditorActivity() { R.id.draft_btn -> { MtaHelper.onEvent("发表文章", "文章草稿", UserManager.getInstance().community.name) if (checkDraft(SaveDraftType.SKIP)) { - startActivityForResult(ArticleDraftActivity.getIntent(this), ARTICLE_DRAFT_REQUEST_CODE) + val intent = ArticleDraftActivity.getIntent(this, mViewModel.detailEntity?.id) + startActivityForResult(intent, ARTICLE_DRAFT_REQUEST_CODE) } } } @@ -312,7 +313,7 @@ class ArticleEditActivity : BaseRichEditorActivity() { mViewModel.mSelectCommunityData = mViewModel.detailEntity?.community mEditTitle.setText(mViewModel.detailEntity?.title) setEditHtml(mViewModel.detailEntity?.content) - mDraftBtn.visibility = View.GONE + mDraftBtn.visibility = View.VISIBLE mGameName.isEnabled = false setGameName() mGameName.setTextColor(resources.getColor(R.color.hint)) @@ -342,14 +343,25 @@ class ArticleEditActivity : BaseRichEditorActivity() { override fun handleBackPressed(): Boolean { if (TextUtils.isEmpty(UserManager.getInstance().token)) { return false - } else if (mViewModel.detailEntity != null) { - showPatchBackDialog() - return true } + + if (mViewModel.detailEntity != null) { + return if (!TextUtils.isEmpty(mEditTitle.text) + || mRichEditor.html.contains("() { diff --git a/app/src/main/java/com/gh/gamecenter/qa/draft/CommunityDraftWrapperActivity.kt b/app/src/main/java/com/gh/gamecenter/qa/draft/CommunityDraftWrapperActivity.kt index a3cdf141e1..5bcaf20d29 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/draft/CommunityDraftWrapperActivity.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/draft/CommunityDraftWrapperActivity.kt @@ -6,7 +6,7 @@ import android.os.Bundle import androidx.fragment.app.Fragment import com.gh.base.BaseActivity_TabLayout import com.gh.gamecenter.qa.article.draft.ArticleDraftFragment -import com.gh.gamecenter.qa.myqa.MyDraftFragment +import com.gh.gamecenter.qa.answer.draft.AnswerDraftFragment class CommunityDraftWrapperActivity : BaseActivity_TabLayout() { @@ -16,7 +16,7 @@ class CommunityDraftWrapperActivity : BaseActivity_TabLayout() { } override fun initFragmentList(fragments: MutableList) { - fragments.add(MyDraftFragment()) + fragments.add(AnswerDraftFragment()) fragments.add(ArticleDraftFragment()) } diff --git a/app/src/main/java/com/gh/gamecenter/qa/questions/detail/QuestionsDetailFragment.kt b/app/src/main/java/com/gh/gamecenter/qa/questions/detail/QuestionsDetailFragment.kt index 38546f4b3a..e7abe804e6 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/questions/detail/QuestionsDetailFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/questions/detail/QuestionsDetailFragment.kt @@ -556,7 +556,7 @@ class QuestionsDetailFragment : private fun getUserAnswerDrafts() { RetrofitManager.getInstance(context).api - .getUserAnswerDrafts(mQuestionsId, Utils.getTime(context)) + .getUserAnswerDrafts(mQuestionsId, "",Utils.getTime(context)) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(object : Response() { diff --git a/app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java b/app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java index 72c948221e..2cfd8d75f3 100644 --- a/app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java +++ b/app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java @@ -908,7 +908,7 @@ public interface ApiService { * 获取用户的草稿列表 */ @GET("users/{user_id}/answer_drafts") - Observable> getMyAnswerDrafts(@Path("user_id") String userId, @Query("page") int page); + Observable> getAnswerDrafts(@Path("user_id") String userId, @Query("filter") String filter, @Query("page") int page); /** * 获取用户的关注问题列表 @@ -943,9 +943,10 @@ public interface ApiService { /** * 获取用户在相应问题的回答草稿 + * filter:编辑文章时的草稿使用 */ @GET("questions/{question_id}/answer_drafts") - Observable getUserAnswerDrafts(@Path("question_id") String questionId, @Query("timestamp") long timestamp); + Observable getUserAnswerDrafts(@Path("question_id") String questionId, @Query("filter") String filter, @Query("timestamp") long timestamp); /** * 保存用户回答的草稿 @@ -1372,14 +1373,22 @@ public interface ApiService { * 获取用户的文章草稿列表 */ @GET("users/{user_id}/communities/article_drafts") - Observable> getMyArticleDrafts(@Path("user_id") String userId, @Query("page") int page); + Observable> getArticleDrafts(@Path("user_id") String userId, @Query("filter") String filter, @Query("page") int page); /** - * 删除社区文章的草稿 + * 删除社区文章的草稿(撰写) */ @DELETE("communities/{community_id}/article_drafts/{draft_id}") Observable deleteArticleDrafts(@Path("community_id") String communityId, @Path("draft_id") String draftId); + /** + * 删除社区文章的草稿(编辑) + */ + @DELETE("communities/{community_id}/articles/{article_id}/article_drafts/{draft_id}") + Observable deleteArticleDrafts(@Path("community_id") String communityId, + @Path("article_id") String articleId, + @Path("draft_id") String draftId); + /** * 获取社区文章详情 */ @@ -1411,11 +1420,17 @@ public interface ApiService { Observable postCommunityArticleUnoppose(@Path("community_id") String communityId, @Path("article_id") String articleId); /** - * 获取社区文章草稿内容 + * 获取社区文章草稿内容(撰写) */ @GET("communities/{community_id}/article_drafts/{draft_id}") Observable getArticleDraftsContent(@Path("community_id") String communityId, @Path("draft_id") String draftId); + /** + * 获取社区文章草稿内容(编辑) + */ + @GET("communities/{community_id}/articles/{article_id}/article_drafts/{draft_id}") + Observable getArticleDraftsContent(@Path("community_id") String communityId, @Path("article_id") String articleId, @Path("draft_id") String draftId); + /** * 获取收藏的社区文章列表 */