diff --git a/lib/http/api.dart b/lib/http/api.dart index 3ce31963..c5982f67 100644 --- a/lib/http/api.dart +++ b/lib/http/api.dart @@ -221,8 +221,11 @@ class Api { static const String followDynamic = '/x/polymer/web-dynamic/v1/feed/all'; // 动态点赞 - static const String likeDynamic = - '${HttpString.tUrl}/dynamic_like/v1/dynamic_like/thumb'; + // static const String likeDynamic = + // '${HttpString.tUrl}/dynamic_like/v1/dynamic_like/thumb'; + + // 动态点赞 new + static const String thumbDynamic = '/x/dynamic/feed/dyn/thumb'; // 获取稍后再看 static const String seeYouLater = '/x/v2/history/toview/web'; diff --git a/lib/http/dynamics.dart b/lib/http/dynamics.dart index 6bdce868..8b6c3cf8 100644 --- a/lib/http/dynamics.dart +++ b/lib/http/dynamics.dart @@ -1,3 +1,4 @@ +import 'package:PiliPlus/http/constants.dart'; import 'package:PiliPlus/http/loading_state.dart'; import 'package:PiliPlus/utils/accounts/account.dart'; import 'package:PiliPlus/utils/storage.dart'; @@ -60,23 +61,51 @@ class DynamicsHttp { } // 动态点赞 - static Future likeDynamic({ + // static Future likeDynamic({ + // required String? dynamicId, + // required int? up, + // }) async { + // var res = await Request().post( + // Api.likeDynamic, + // queryParameters: { + // 'dynamic_id': dynamicId, + // 'up': up, + // 'csrf': Accounts.main.csrf, + // }, + // ); + // if (res.data['code'] == 0) { + // return { + // 'status': true, + // 'data': res.data['data'], + // }; + // } else { + // return {'status': false, 'msg': res.data['message']}; + // } + // } + + // 动态点赞 + static Future thumbDynamic({ required String? dynamicId, required int? up, }) async { var res = await Request().post( - Api.likeDynamic, + Api.thumbDynamic, queryParameters: { - 'dynamic_id': dynamicId, - 'up': up, 'csrf': Accounts.main.csrf, }, + data: { + 'dyn_id_str': dynamicId, + 'up': up, + 'spmid': '333.1365.0.0', + }, + options: Options( + headers: { + 'referer': HttpString.dynamicShareBaseUrl, + }, + ), ); if (res.data['code'] == 0) { - return { - 'status': true, - 'data': res.data['data'], - }; + return {'status': true, 'data': res.data['data']}; } else { return {'status': false, 'msg': res.data['message']}; } diff --git a/lib/pages/article/controller.dart b/lib/pages/article/controller.dart index e2568ad8..44ec36de 100644 --- a/lib/pages/article/controller.dart +++ b/lib/pages/article/controller.dart @@ -205,7 +205,7 @@ class ArticleController extends ReplyController { Future onLike() async { bool isLike = stats.value?.like?.status == true; - final res = await DynamicsHttp.likeDynamic( + final res = await DynamicsHttp.thumbDynamic( dynamicId: opusData?.idStr ?? articleData?.dynIdStr, up: isLike ? 2 : 1); if (res['status']) { diff --git a/lib/pages/dynamics/widgets/action_panel.dart b/lib/pages/dynamics/widgets/action_panel.dart index 9d80d80c..edac42c6 100644 --- a/lib/pages/dynamics/widgets/action_panel.dart +++ b/lib/pages/dynamics/widgets/action_panel.dart @@ -40,7 +40,7 @@ class _ActionPanelState extends State { int count = like?.count ?? 0; bool status = like?.status == true; int up = status ? 2 : 1; - var res = await DynamicsHttp.likeDynamic(dynamicId: dynamicId, up: up); + var res = await DynamicsHttp.thumbDynamic(dynamicId: dynamicId, up: up); if (res['status']) { SmartDialog.showToast(!status ? '点赞成功' : '取消赞'); if (up == 1) { diff --git a/lib/utils/request_utils.dart b/lib/utils/request_utils.dart index 3f50040b..d7c386ac 100644 --- a/lib/utils/request_utils.dart +++ b/lib/utils/request_utils.dart @@ -312,7 +312,7 @@ class RequestUtils { int count = like?.count ?? 0; bool status = like?.status ?? false; int up = status ? 2 : 1; - var res = await DynamicsHttp.likeDynamic(dynamicId: dynamicId, up: up); + var res = await DynamicsHttp.thumbDynamic(dynamicId: dynamicId, up: up); if (res['status']) { SmartDialog.showToast(!status ? '点赞成功' : '取消赞'); if (up == 1) {