diff --git a/lib/pages/webview/view.dart b/lib/pages/webview/view.dart index 55b975ce..c30c714e 100644 --- a/lib/pages/webview/view.dart +++ b/lib/pages/webview/view.dart @@ -1,3 +1,5 @@ +import 'package:flutter/foundation.dart'; +import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:url_launcher/url_launcher.dart'; @@ -43,7 +45,7 @@ class _WebviewPageState extends State { icon: Icon(Icons.open_in_browser_outlined, color: Theme.of(context).colorScheme.primary), ), - if (_webviewController.type.value == 'login')...[ + if (_webviewController.type.value == 'login') ...[ TextButton( onPressed: () => _webviewController.confirmLogin(null), child: const Text('刷新登录态'), @@ -83,11 +85,30 @@ class _WebviewPageState extends State { color: Theme.of(context).colorScheme.onInverseSurface, padding: const EdgeInsets.only( left: 12, right: 12, top: 6, bottom: 6), - child: const Text('如需二维码登录,请点击「电脑版」,放大左侧二维码,截图后官方app或另一设备扫码,授权后点击「刷新登录态」'), + child: const Text( + '如需二维码登录,请点击「电脑版」,放大左侧二维码,截图后官方app或另一设备扫码,授权后点击「刷新登录态」'), ), ], Expanded( - child: WebViewWidget(controller: _webviewController.controller), + child: WebViewWidget( + controller: _webviewController.controller, + gestureRecognizers: >{ + Factory( + () => VerticalDragGestureRecognizer(), + ), + Factory( + () => PanGestureRecognizer(), + ), + Factory( + () => ForcePressGestureRecognizer(), + ), + Factory( + () => EagerGestureRecognizer(), + ), + Factory( + () => HorizontalDragGestureRecognizer(), + ), + }), ), ], )); diff --git a/lib/pages/whisper/view.dart b/lib/pages/whisper/view.dart index ea080fed..83092135 100644 --- a/lib/pages/whisper/view.dart +++ b/lib/pages/whisper/view.dart @@ -44,6 +44,21 @@ class _WhisperPageState extends State { return Scaffold( appBar: AppBar( title: const Text('消息'), + actions: [ + IconButton( + icon: Icon(Icons.open_in_browser_outlined, + color: Theme.of(context).colorScheme.primary), + tooltip: '用浏览器打开', + onPressed: () { + Get.toNamed('/webview', parameters: { + 'url': 'https://message.bilibili.com', + 'type': 'whisper', + 'pageTitle': '消息中心', + }); + }, + ), + const SizedBox(width: 12) + ], ), body: RefreshIndicator( onRefresh: () async { @@ -104,7 +119,8 @@ class _WhisperPageState extends State { ], ), onTap: () { - if (!_whisperController.msgFeedTop[idx]['enabled']) { + if (!_whisperController.msgFeedTop[idx] + ['enabled']) { SmartDialog.showToast('已禁用'); return; }