Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
B
book-app
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
book-app
Commits
ef5d81b2
提交
ef5d81b2
authored
2月 26, 2024
作者:
yueweilu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
阅读页 跳转 知识测评
上级
d40fb606
隐藏空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
89 行增加
和
4 行删除
+89
-4
index.dart
lib/pages/answer/index.dart
+9
-0
view.dart
lib/pages/answer/view.dart
+38
-0
controller.dart
lib/pages/read_web/controller.dart
+3
-0
view.dart
lib/pages/read_web/view.dart
+22
-4
index.dart
lib/routes/index.dart
+1
-0
routes.dart
lib/routes/routes.dart
+14
-0
constants.dart
lib/utils/constants.dart
+2
-0
没有找到文件。
lib/pages/answer/index.dart
0 → 100644
浏览文件 @
ef5d81b2
library
answer
;
import
'package:flutter/material.dart'
;
import
'package:flutter_inappwebview/flutter_inappwebview.dart'
;
import
'../../utils/index.dart'
;
part
'view.dart'
;
\ No newline at end of file
lib/pages/answer/view.dart
0 → 100644
浏览文件 @
ef5d81b2
part of
answer
;
class
AnswerPage
extends
StatefulWidget
{
final
Map
<
String
,
String
>
params
;
const
AnswerPage
({
Key
?
key
,
required
this
.
params
})
:
super
(
key:
key
);
@override
State
<
AnswerPage
>
createState
()
=>
_AnswerPageState
();
}
class
_AnswerPageState
extends
State
<
AnswerPage
>
{
@override
Widget
build
(
BuildContext
context
)
{
return
Scaffold
(
appBar:
AppBar
(
title:
const
Text
(
'知识测评'
),
),
body:
InAppWebView
(
initialUrlRequest:
URLRequest
(
url:
Uri
.
parse
(
widget
.
params
[
'url'
]??
''
),
),
onLoadStop:
(
controller
,
url
)
{
String
str
=
'
${widget.params['book_id']}
,
${widget.params['chapter_id']}
,
${widget.params['token']}
,
${widget.params['position']}
'
;
Console
.
log
(
'知识测评--------传给前端的参数--------------------------------
$str
'
);
controller
.
evaluateJavascript
(
source
:
'callbackInFlutterComponent("
$str
");'
);
},
onConsoleMessage:
(
controller
,
consoleMessage
)
{
// 接收从 WebView 发送的消息
Console
.
log
(
"知识测评-------Received message from WebView-----------------------------:
${consoleMessage.message}
"
);
},
)
);
}
}
lib/pages/read_web/controller.dart
浏览文件 @
ef5d81b2
...
...
@@ -729,6 +729,9 @@ class ReadController extends FullLifeCycleController with GetSingleTickerProvide
update
();
}
/// 搜索全文
/// 添加阅读时长
void
_addReadTime
({
required
type
})
async
{
final
result
=
await
LibraryAPI
.
addReadTime
(
bookId:
bookId
,
readTypes:
type
);
...
...
lib/pages/read_web/view.dart
浏览文件 @
ef5d81b2
...
...
@@ -151,13 +151,31 @@ class _ReadPageState extends State<ReadPage> {
readController
.
titleInput
.
text
=
args
.
first
.
toString
();
});
controller
.
addJavaScriptHandler
(
handlerName:
'answerCallBack'
,
callback:
(
args
){
controller
.
addJavaScriptHandler
(
handlerName:
'answer
Result
CallBack'
,
callback:
(
args
){
Console
.
log
(
'监听答题回调------------------------------------------------
$args
'
);
});
String
chapterId
=
args
.
first
[
0
].
toString
();
String
position
=
args
.
first
[
1
].
toString
();
String
type
=
args
.
first
[
2
].
toString
();
String
url
=
''
;
// 未答题
if
(
type
==
'0'
){
url
=
kAnswer
;
}
else
{
url
=
kAnswerResult
;
}
Map
<
String
,
String
>
params
=
{
'chapter_id'
:
chapterId
,
'position'
:
position
,
'url'
:
url
,
'book_id'
:
readController
.
bookId
,
'token'
:
UserStore
.
to
.
token
};
Console
.
log
(
'监听答题回调---------------给页面传参---------------------------------
$params
'
);
context
.
pushNamed
(
Routes
.
answer
,
queryParameters:
params
);
controller
.
addJavaScriptHandler
(
handlerName:
'answerResultCallBack'
,
callback:
(
args
){
Console
.
log
(
'监听答题结果回调------------------------------------------------
$args
'
);
// 跳转知识测评界面
});
...
...
lib/routes/index.dart
浏览文件 @
ef5d81b2
...
...
@@ -3,6 +3,7 @@ library routes;
import
'package:flutter/cupertino.dart'
;
import
'package:flutter/foundation.dart'
;
import
'package:flutter_book/pages/ad/index.dart'
;
import
'package:flutter_book/pages/answer/index.dart'
;
import
'package:flutter_book/pages/book_detail/index.dart'
;
import
'package:flutter_book/pages/book_pay/index.dart'
;
import
'package:flutter_book/pages/book_score/index.dart'
;
...
...
lib/routes/routes.dart
浏览文件 @
ef5d81b2
...
...
@@ -9,7 +9,10 @@ abstract class Routes {
static
const
ad
=
'ad'
;
static
const
adDetail
=
'ad_detail'
;
static
const
web
=
'read_web'
;
static
const
answer
=
'answer'
;
// 支付界面
static
const
bookPay
=
'book_pay'
;
...
...
@@ -639,6 +642,17 @@ abstract class Routes {
)
)
),
GoRoute
(
// 知识测评
path:
'/
$answer
'
,
name:
answer
,
pageBuilder:
(
context
,
state
)
=>
CupertinoPage
(
name:
state
.
uri
.
toString
(),
key:
state
.
pageKey
,
child:
AnswerPage
(
params:
state
.
uri
.
queryParameters
,
)
)
),
]
);
...
...
lib/utils/constants.dart
浏览文件 @
ef5d81b2
...
...
@@ -23,6 +23,8 @@ const String kUserWrongDes = 'http://150.158.138.40:9200/evaluating_wrong.html';
const
String
kReadBook
=
'http://150.158.138.40:9200/read.html'
;
// 答题页
const
String
kAnswer
=
'http://150.158.138.40:9200/evaluating.html'
;
// 答题结果页
const
String
kAnswerResult
=
'http://150.158.138.40:9200/evaluating_result.html'
;
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论