优化编辑新增界面

This commit is contained in:
DelLevin-Home
2026-07-13 23:57:08 +08:00
parent b4793a8d01
commit be72fd1286
22 changed files with 4241 additions and 45 deletions

View File

@@ -5,6 +5,7 @@ import 'dart:ui' as ui;
import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
import 'package:flutter_inappwebview/flutter_inappwebview.dart';
import '../../main.dart';
import '../../services/epub/epub_theme.dart';
import 'book_session.dart';
import '../../services/epub/epub_webview_handler.dart';
@@ -44,6 +45,16 @@ class ReaderWebViewController {
return await _webViewState?._loadFrame(frame, url, anchors, properties);
}
Future<int?> loadFrameSrcdoc(
String frame,
String htmlContent,
String baseUrl,
String anchors,
String properties,
) async {
return await _webViewState?._loadFrameSrcdoc(frame, htmlContent, baseUrl, anchors, properties);
}
Future<void> jumpToPage(int pageIndex) async {
await _webViewState?._jumpToPage(pageIndex);
}
@@ -327,6 +338,7 @@ class _ReaderWebViewState extends State<ReaderWebView> {
if (_isHeadlessInitialized) return;
_headlessWebView = HeadlessInAppWebView(
webViewEnvironment: windowsWebViewEnvironment,
initialData: _generateInitialData(width, height),
initialSettings: defaultSettings,
shouldInterceptRequest: _shouldInterceptRequest,
@@ -364,6 +376,14 @@ class _ReaderWebViewState extends State<ReaderWebView> {
String properties,
) => _api.loadFrame(frame, url, anchors, properties);
Future<int> _loadFrameSrcdoc(
String frame,
String htmlContent,
String baseUrl,
String anchors,
String properties,
) => _api.loadFrameSrcdoc(frame, htmlContent, baseUrl, anchors, properties);
Future<void> _jumpToPage(int pageIndex) => _api.jumpToPage(pageIndex);
Future<void> _restoreScrollPosition(double ratio) =>
@@ -1113,6 +1133,7 @@ class _ReaderWebViewState extends State<ReaderWebView> {
child: AbsorbPointer(
child: widget.shouldShowWebView
? InAppWebView(
webViewEnvironment: windowsWebViewEnvironment,
headlessWebView: _headlessWebView,
initialData: _generateInitialData(width, height),
initialSettings: defaultSettings,