diff --git a/lib/http/api.dart b/lib/http/api.dart index c9da2ebc7..3af3b34ca 100644 --- a/lib/http/api.dart +++ b/lib/http/api.dart @@ -775,6 +775,8 @@ class Api { static const String setTopDyn = '/x/dynamic/feed/space/set_top'; + static const String rmTopDyn = '/x/dynamic/feed/space/rm_top'; + static const String searchRecommend = '${HttpString.appBaseUrl}/x/v2/search/recommend'; diff --git a/lib/http/dynamics.dart b/lib/http/dynamics.dart index aa93b427c..0308607f6 100644 --- a/lib/http/dynamics.dart +++ b/lib/http/dynamics.dart @@ -273,6 +273,25 @@ class DynamicsHttp { } } + static Future rmTop({ + required dynamic dynamicId, + }) async { + var res = await Request().post( + Api.rmTopDyn, + queryParameters: { + 'csrf': Accounts.main.csrf, + }, + data: { + 'dyn_str': dynamicId, + }, + ); + if (res.data['code'] == 0) { + return {'status': true}; + } else { + return {'status': false, 'msg': res.data['message']}; + } + } + static Future articleInfo({ required dynamic cvId, }) async { diff --git a/lib/pages/dynamics_tab/controller.dart b/lib/pages/dynamics_tab/controller.dart index 37328d390..c46c965a5 100644 --- a/lib/pages/dynamics_tab/controller.dart +++ b/lib/pages/dynamics_tab/controller.dart @@ -61,15 +61,6 @@ class DynamicsTabController } } - Future onSetTop(bool isTop, dynamic dynamicId) async { - var res = await DynamicsHttp.setTop(dynamicId: dynamicId); - if (res['status']) { - SmartDialog.showToast('${isTop ? '取消' : ''}置顶成功'); - } else { - SmartDialog.showToast(res['msg']); - } - } - @override Future onReload() { scrollController.jumpToTop(); diff --git a/lib/pages/member_dynamics/controller.dart b/lib/pages/member_dynamics/controller.dart index 629782223..84da80837 100644 --- a/lib/pages/member_dynamics/controller.dart +++ b/lib/pages/member_dynamics/controller.dart @@ -61,7 +61,9 @@ class MemberDynamicsController } Future onSetTop(bool isTop, dynamic dynamicId) async { - var res = await DynamicsHttp.setTop(dynamicId: dynamicId); + var res = isTop + ? await DynamicsHttp.rmTop(dynamicId: dynamicId) + : await DynamicsHttp.setTop(dynamicId: dynamicId); if (res['status']) { List list = loadingState.value.data!; list[0].modules.moduleTag = null;