From bdedd78e307501ebd5d9f08c284fa77e151e1079 Mon Sep 17 00:00:00 2001 From: guozhigq Date: Sat, 16 Nov 2024 15:18:19 +0800 Subject: [PATCH] opt: dynamic comment push --- lib/http/dynamics.dart | 2 +- lib/pages/message/utils/index.dart | 13 +++++++++++++ lib/utils/app_scheme.dart | 12 +++--------- 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/lib/http/dynamics.dart b/lib/http/dynamics.dart index 5ba5675e..53ba6fc1 100644 --- a/lib/http/dynamics.dart +++ b/lib/http/dynamics.dart @@ -92,7 +92,7 @@ class DynamicsHttp { // static Future dynamicDetail({ - String? id, + required String id, }) async { var res = await Request().get(Api.dynamicDetail, data: { 'timezone_offset': -480, diff --git a/lib/pages/message/utils/index.dart b/lib/pages/message/utils/index.dart index 88fe8aa6..d2e88b5c 100644 --- a/lib/pages/message/utils/index.dart +++ b/lib/pages/message/utils/index.dart @@ -1,9 +1,12 @@ import 'package:flutter/material.dart'; import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:get/get.dart'; +import 'package:pilipala/http/dynamics.dart'; import 'package:pilipala/http/search.dart'; import 'package:pilipala/models/common/reply_type.dart'; +import 'package:pilipala/models/dynamics/result.dart'; import 'package:pilipala/models/msg/reply.dart'; +import 'package:pilipala/pages/dynamics/index.dart'; import 'package:pilipala/pages/video/detail/reply_reply/index.dart'; import 'package:pilipala/utils/app_scheme.dart'; import 'package:pilipala/utils/utils.dart'; @@ -162,4 +165,14 @@ class MessageUtils { } return result; } + + // 跳转查看动态详情 + static void navigateToDynamicDetail(String opusId) async { + DynamicsController dynamicsController = Get.put(DynamicsController()); + var res = await DynamicsHttp.dynamicDetail(id: opusId); + if (res['status']) { + DynamicItemModel item = res['data']; + dynamicsController.pushDetail(item, 1); + } + } } diff --git a/lib/utils/app_scheme.dart b/lib/utils/app_scheme.dart index 48341b5e..c1dcb213 100644 --- a/lib/utils/app_scheme.dart +++ b/lib/utils/app_scheme.dart @@ -3,6 +3,7 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:get/get.dart'; +import 'package:pilipala/pages/message/utils/index.dart'; import 'package:pilipala/utils/route_push.dart'; import '../http/search.dart'; import 'id_utils.dart'; @@ -270,15 +271,8 @@ class PiliSchame { break; case 'following': if (path.startsWith('/detail')) { - var opusId = path.split('/').last; - Get.toNamed( - '/webview', - parameters: { - 'url': 'https://m.bilibili.com/opus/$opusId', - 'type': 'url', - 'pageTitle': '' - }, - ); + final String opusId = path.split('/').last; + MessageUtils.navigateToDynamicDetail(opusId); } break; default: