Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
B
book-app
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
book-app
Commits
1bacf432
提交
1bacf432
authored
3月 01, 2024
作者:
yueweilu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
阅读页的链接跳转
上级
0c5d5720
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
60 行增加
和
0 行删除
+60
-0
index.dart
lib/pages/link/index.dart
+11
-0
view.dart
lib/pages/link/view.dart
+29
-0
view.dart
lib/pages/read_web/view.dart
+6
-0
index.dart
lib/routes/index.dart
+1
-0
routes.dart
lib/routes/routes.dart
+13
-0
没有找到文件。
lib/pages/link/index.dart
0 → 100644
浏览文件 @
1bacf432
library
link
;
import
'package:flutter/material.dart'
;
import
'package:flutter_book/utils/index.dart'
;
import
'package:flutter_inappwebview/flutter_inappwebview.dart'
;
import
'package:flutter_screenutil/flutter_screenutil.dart'
;
part
'view.dart'
;
\ No newline at end of file
lib/pages/link/view.dart
0 → 100644
浏览文件 @
1bacf432
part of
link
;
class
LinkPage
extends
StatefulWidget
{
final
String
url
;
const
LinkPage
({
Key
?
key
,
required
this
.
url
})
:
super
(
key:
key
);
@override
State
<
LinkPage
>
createState
()
=>
_LinkPageState
();
}
class
_LinkPageState
extends
State
<
LinkPage
>
{
@override
Widget
build
(
BuildContext
context
)
{
return
Scaffold
(
appBar:
AppBar
(
centerTitle:
false
,
),
body:
InAppWebView
(
initialUrlRequest:
URLRequest
(
// url: Uri.parse('https://baike.baidu.com/item/${widget.keyword}?fromModule=lemma_search-box'),
url:
WebUri
.
uri
(
Uri
.
parse
(
widget
.
url
))
),
),
);
}
}
lib/pages/read_web/view.dart
浏览文件 @
1bacf432
...
@@ -201,6 +201,12 @@ class _ReadPageState extends State<ReadPage> {
...
@@ -201,6 +201,12 @@ class _ReadPageState extends State<ReadPage> {
readController
.
setShow
(
readController
.
show
);
readController
.
setShow
(
readController
.
show
);
});
});
// 阅读页内容中的 外部链接
controller
.
addJavaScriptHandler
(
handlerName:
'openLinkCallback'
,
callback:
(
args
){
Console
.
log
(
'监听外部链接------------------------------------------------
$args
'
);
context
.
pushNamed
(
Routes
.
link
,
queryParameters:
{
'url'
:
args
.
first
.
toString
()});
});
},
},
),
),
// AnimatedPositioned(
// AnimatedPositioned(
...
...
lib/routes/index.dart
浏览文件 @
1bacf432
...
@@ -14,6 +14,7 @@ import 'package:flutter_book/pages/credit_points/index.dart';
...
@@ -14,6 +14,7 @@ import 'package:flutter_book/pages/credit_points/index.dart';
import
'package:flutter_book/pages/forget_pwd/index.dart'
;
import
'package:flutter_book/pages/forget_pwd/index.dart'
;
import
'package:flutter_book/pages/help_center/index.dart'
;
import
'package:flutter_book/pages/help_center/index.dart'
;
import
'package:flutter_book/pages/help_cneter_content/index.dart'
;
import
'package:flutter_book/pages/help_cneter_content/index.dart'
;
import
'package:flutter_book/pages/link/index.dart'
;
import
'package:flutter_book/pages/login/index.dart'
;
import
'package:flutter_book/pages/login/index.dart'
;
import
'package:flutter_book/pages/main/index.dart'
;
import
'package:flutter_book/pages/main/index.dart'
;
import
'package:flutter_book/pages/reset_pwd/index.dart'
;
import
'package:flutter_book/pages/reset_pwd/index.dart'
;
...
...
lib/routes/routes.dart
浏览文件 @
1bacf432
...
@@ -45,6 +45,8 @@ abstract class Routes {
...
@@ -45,6 +45,8 @@ abstract class Routes {
static
const
baiKe
=
'bai_ke'
;
static
const
baiKe
=
'bai_ke'
;
// 字典
// 字典
static
const
baiDict
=
'bai_dict'
;
static
const
baiDict
=
'bai_dict'
;
// 外部链接
static
const
link
=
'link'
;
/// 书架模块
/// 书架模块
static
const
creditPoints
=
'credit_points'
;
static
const
creditPoints
=
'credit_points'
;
...
@@ -643,6 +645,17 @@ abstract class Routes {
...
@@ -643,6 +645,17 @@ abstract class Routes {
)
)
)
)
),
),
GoRoute
(
// 外部链接
path:
'/
$link
'
,
name:
link
,
pageBuilder:
(
context
,
state
)
=>
CupertinoPage
(
name:
state
.
uri
.
toString
(),
key:
state
.
pageKey
,
child:
LinkPage
(
url:
state
.
uri
.
queryParameters
[
'url'
].
toString
(),
)
)
),
GoRoute
(
// 知识测评
GoRoute
(
// 知识测评
path:
'/
$answer
'
,
path:
'/
$answer
'
,
name:
answer
,
name:
answer
,
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论