Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
浙江兰德纵横网络技术股份有限公司
o2oa-flutter
提交
067a5427
O
o2oa-flutter
项目概览
浙江兰德纵横网络技术股份有限公司
/
o2oa-flutter
通知
0
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
o2oa-flutter
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
067a5427
编写于
5月 17, 2024
作者:
F
fancy
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
主页门户 再次点击刷新页面
上级
0df1ce36
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
59 addition
and
3 deletion
+59
-3
lib/pages/common/portal/controller.dart
lib/pages/common/portal/controller.dart
+29
-1
lib/pages/common/portal/view.dart
lib/pages/common/portal/view.dart
+17
-0
lib/pages/home/controller.dart
lib/pages/home/controller.dart
+8
-2
lib/pages/home/view.dart
lib/pages/home/view.dart
+5
-0
未找到文件。
lib/pages/common/portal/controller.dart
浏览文件 @
067a5427
...
...
@@ -25,9 +25,12 @@ class PortalController extends GetxController implements JsNavigationInterface {
// webview控件的控制器
final
GlobalKey
webViewKey
=
GlobalKey
();
InAppWebViewController
?
webviewController
;
late
PullToRefreshController
pullToRefreshController
;
// webview 通用方法
final
webviewHelper
=
WebviewHelper
();
String
?
currentPortalId
;
Map
<
String
,
dynamic
>?
initMap
;
// 安装转化js
...
...
@@ -40,6 +43,20 @@ class PortalController extends GetxController implements JsNavigationInterface {
/// 在 widget 内存中分配后立即调用。
@override
void
onInit
()
{
pullToRefreshController
=
PullToRefreshController
(
options:
PullToRefreshOptions
(
color:
Colors
.
blue
,
),
onRefresh:
()
async
{
OLogger
.
d
(
'开始刷新。。。。。'
);
if
(
GetPlatform
.
isAndroid
)
{
webviewController
?.
reload
();
}
else
if
(
GetPlatform
.
isIOS
)
{
webviewController
?.
loadUrl
(
urlRequest:
URLRequest
(
url:
await
webviewController
?.
getUrl
()));
}
},
);
super
.
onInit
();
}
...
...
@@ -54,6 +71,7 @@ class PortalController extends GetxController implements JsNavigationInterface {
String
?
portalParameters
=
initMap
?[
"portalParameters"
];
state
.
hiddenAppBar
=
initMap
?[
'hiddenAppBar'
]
??
true
;
if
(
id
.
isNotEmpty
)
{
currentPortalId
=
id
;
_initPortalUrl
(
id
,
pageId:
pageId
,
portalParameters:
portalParameters
);
}
else
{
OLogger
.
e
(
'没有传入门户 id!!!'
);
...
...
@@ -70,6 +88,7 @@ class PortalController extends GetxController implements JsNavigationInterface {
String
?
portalParameters
=
map
[
"portalParameters"
];
OLogger
.
i
(
"门户id:
$id
pageId:
$pageId
portalParameters:
$portalParameters
"
);
if
(
id
.
isNotEmpty
)
{
currentPortalId
=
id
;
_initPortalUrl
(
id
,
pageId:
pageId
,
portalParameters:
portalParameters
);
}
else
{
Loading
.
showError
(
'args_error'
.
tr
);
...
...
@@ -87,8 +106,12 @@ class PortalController extends GetxController implements JsNavigationInterface {
OLogger
.
d
(
'流程工作文档 关闭后刷新portal页面。。。。。'
);
});
_eventBus
.
on
(
EventBus
.
refreshPortalMsg
,
_eventId
,
(
arg
)
{
_refreshPage
();
OLogger
.
d
(
'刷新门户,
$arg
'
);
if
(
arg
!=
null
&&
arg
is
String
&&
arg
==
currentPortalId
)
{
_startPullToRefresh
();
}
else
{
_refreshPage
();
}
});
super
.
onReady
();
...
...
@@ -127,6 +150,11 @@ class PortalController extends GetxController implements JsNavigationInterface {
state
.
title
=
title
;
}
/// 显示刷新动画并 刷新页面
void
_startPullToRefresh
()
{
pullToRefreshController
.
beginRefreshing
();
_refreshPage
();
}
/// 刷新当前页面
void
_refreshPage
()
{
isInstallJsName
=
false
;
...
...
lib/pages/common/portal/view.dart
浏览文件 @
067a5427
...
...
@@ -73,6 +73,7 @@ class PortalPage extends GetView<PortalController> {
return
InAppWebView
(
key:
controller
.
webViewKey
,
initialUrlRequest:
URLRequest
(
url:
Uri
.
parse
(
controller
.
state
.
url
)),
pullToRefreshController:
controller
.
pullToRefreshController
,
initialOptions:
InAppWebViewGroupOptions
(
crossPlatform:
InAppWebViewOptions
(
useShouldOverrideUrlLoading:
true
,
...
...
@@ -94,6 +95,19 @@ class PortalPage extends GetView<PortalController> {
onWebViewCreated:
(
c
)
{
controller
.
setupWebviewJsHandler
(
c
);
},
onLoadStop:
(
c
,
url
)
async
{
controller
.
pullToRefreshController
.
endRefreshing
();
OLogger
.
d
(
"=====> onLoadStop url:
$url
"
);
},
onScrollChanged:
(
c
,
x
,
y
)
{
OLogger
.
d
(
"=====> onScrollChanged x:
$x
y:
$y
"
);
},
onLoadError:
(
c
,
url
,
code
,
message
)
{
OLogger
.
d
(
"=====> onLoadError url:
$url
code:
$code
message:
$message
"
);
},
onOverScrolled:
(
controller
,
x
,
y
,
clampedX
,
clampedY
)
{
OLogger
.
d
(
"=====> onOverScrolled x:
$x
y:
$y
clampedX:
$clampedX
clampedY:
$clampedY
"
);
},
// onCreateWindow: (c, createWindowRequest) async {
// OLogger.d("创建新窗口,,,,${createWindowRequest.request.url}");
// },
...
...
@@ -105,6 +119,9 @@ class PortalPage extends GetView<PortalController> {
},
onProgressChanged:
(
c
,
p
)
{
controller
.
progressChanged
(
c
,
p
);
if
(
p
==
100
)
{
controller
.
pullToRefreshController
.
endRefreshing
();
}
},
// h5下载文件
onDownloadStartRequest:
(
c
,
request
)
async
{
...
...
lib/pages/home/controller.dart
浏览文件 @
067a5427
...
...
@@ -19,6 +19,9 @@ class HomeController extends GetxController with WidgetsBindingObserver {
var
simpleMode
=
false
;
var
pageController
=
PageController
();
// 门户 id 缓存
final
Map
<
AppIndexModule
,
String
>
portalCache
=
{};
/// 个人语言环境
void
_personLanguage
()
{
...
...
@@ -131,8 +134,11 @@ class HomeController extends GetxController with WidgetsBindingObserver {
/// 点击底部菜单
void
handleNavBarClick
(
int
index
)
{
if
(
state
.
currentIndex
==
index
)
{
// 重复点击 发送刷新事件消息
eventBus
.
emit
(
EventBus
.
refreshPortalMsg
,
state
.
homeTabList
[
index
]);
if
(
state
.
currentIndex
==
index
)
{
// 重复点击 如果是门户 发送刷新事件消息
final
portalId
=
portalCache
[
state
.
homeTabList
[
index
]]
;
if
(
portalId
!=
null
&&
portalId
.
isNotEmpty
)
{
eventBus
.
emit
(
EventBus
.
refreshPortalMsg
,
portalId
);
}
return
;
}
state
.
currentIndex
=
index
;
...
...
lib/pages/home/view.dart
浏览文件 @
067a5427
...
...
@@ -133,6 +133,7 @@ class HomePage extends GetView<HomeController> {
"portalParameters"
:
portalParameters
}),
tag:
'app_tag_
$portalId
'
);
controller
.
portalCache
[
AppIndexModule
.
app
]
=
portalId
;
return
PortalPage
(
tag:
'app_tag_
$portalId
'
);
}
else
{
AppsBinding
().
dependencies
();
...
...
@@ -158,6 +159,7 @@ class HomePage extends GetView<HomeController> {
"portalParameters"
:
portalParameters
}),
tag:
'contact_tag_
$portalId
'
);
controller
.
portalCache
[
AppIndexModule
.
contact
]
=
portalId
;
return
PortalPage
(
tag:
'contact_tag_
$portalId
'
);
}
else
{
ContactBinding
().
dependencies
();
...
...
@@ -199,6 +201,7 @@ class HomePage extends GetView<HomeController> {
"title"
:
indexPortalAppBarTitle
}),
tag:
'index_tag_
$portalId
'
);
controller
.
portalCache
[
AppIndexModule
.
home
]
=
portalId
;
return
PortalPage
(
tag:
'index_tag_
$portalId
'
);
}
else
{
DefaultIndexBinding
().
dependencies
();
...
...
@@ -225,6 +228,7 @@ class HomePage extends GetView<HomeController> {
"portalParameters"
:
portalParameters
}),
tag:
'im_tag_
$portalId
'
);
controller
.
portalCache
[
AppIndexModule
.
im
]
=
portalId
;
return
PortalPage
(
tag:
'im_tag_
$portalId
'
);
}
else
{
ImBinding
().
dependencies
();
...
...
@@ -250,6 +254,7 @@ class HomePage extends GetView<HomeController> {
"portalParameters"
:
portalParameters
}),
tag:
'settings_tag_
$portalId
'
);
controller
.
portalCache
[
AppIndexModule
.
settings
]
=
portalId
;
return
PortalPage
(
tag:
'settings_tag_
$portalId
'
);
}
else
{
SettingsBinding
().
dependencies
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录