From e3e857112393034d55eaa72bcf406b13fd31d315 Mon Sep 17 00:00:00 2001 From: Gk40002148 Date: Thu, 28 Apr 2022 16:37:06 +0900 Subject: [PATCH] =?UTF-8?q?=E3=82=AA=E3=83=95=E3=83=A9=E3=82=A4=E3=83=B3?= =?UTF-8?q?=E6=99=82=E3=81=AB=E3=82=BB=E3=83=83=E3=82=B7=E3=83=A7=E3=83=B3?= =?UTF-8?q?=E6=83=85=E5=A0=B1API=E3=82=92=E5=91=BC=E3=81=B3=E5=87=BA?= =?UTF-8?q?=E3=81=95=E3=81=AA=E3=81=84=E3=82=88=E3=81=86=E3=81=AB=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AgileWorks/AgileWorks/App/AppShared.swift | 9 +++++++++ .../AgileWorks/Main/View/MainTabBarViewController.swift | 4 ++++ .../Main/Wireframe/MainTabBarViewWireframe.swift | 1 - .../AgileWorks/WebView/View/WebViewController.swift | 9 +++++++++ 4 files changed, 22 insertions(+), 1 deletion(-) diff --git a/AgileWorks/AgileWorks/App/AppShared.swift b/AgileWorks/AgileWorks/App/AppShared.swift index 62c6eaa..da05954 100644 --- a/AgileWorks/AgileWorks/App/AppShared.swift +++ b/AgileWorks/AgileWorks/App/AppShared.swift @@ -13,6 +13,7 @@ class AppShared { // 次回承認リスト表示時に再表示が必要か。 private var approvalRefreshIsRequired = false private var approvalDetailRefreshIsRequired = false + private var isOnline = true /// 次回の承認リスト (書類一覧も含む) 表示時に更新するよう要求する。 func requstApprovalRefresh() { @@ -35,6 +36,14 @@ class AppShared { approvalDetailRefreshIsRequired = false return request } + // WebView 内でのオンライン状況を設定 + func setOnlineStatus(isOnline: Bool) { + self.isOnline = isOnline + } + // WebView 内でのオンライン状況を取得 + func getOnlineStatus() -> Bool { + return self.isOnline + } } func appVersionLabelText() -> String { diff --git a/AgileWorks/AgileWorks/Main/View/MainTabBarViewController.swift b/AgileWorks/AgileWorks/Main/View/MainTabBarViewController.swift index 5f42dca..3c6ceb2 100644 --- a/AgileWorks/AgileWorks/Main/View/MainTabBarViewController.swift +++ b/AgileWorks/AgileWorks/Main/View/MainTabBarViewController.swift @@ -88,6 +88,10 @@ extension MainTabBarViewController: UITabBarControllerDelegate { return } } + // オフラインの場合、何もしない + if !AppDelegate.appShared.getOnlineStatus() { + return + } // 選択した TabBarController のリロード if let navi = tabBarController.selectedViewController as? UINavigationController { if let webView = navi.viewControllers[navi.viewControllers.count - 1] as? WebViewController { diff --git a/AgileWorks/AgileWorks/Main/Wireframe/MainTabBarViewWireframe.swift b/AgileWorks/AgileWorks/Main/Wireframe/MainTabBarViewWireframe.swift index f076f63..ec94f44 100644 --- a/AgileWorks/AgileWorks/Main/Wireframe/MainTabBarViewWireframe.swift +++ b/AgileWorks/AgileWorks/Main/Wireframe/MainTabBarViewWireframe.swift @@ -57,7 +57,6 @@ extension MainTabBarViewWireframeImpl: MainTabBarViewWireframe { if alertCheck() { return } - let modalWebVC = WebViewBuilderImpl().buildVC() // URL , タイトル設定 modalWebVC.loadURL = notificationData.url diff --git a/AgileWorks/AgileWorks/WebView/View/WebViewController.swift b/AgileWorks/AgileWorks/WebView/View/WebViewController.swift index 2fcb8dd..333e32e 100644 --- a/AgileWorks/AgileWorks/WebView/View/WebViewController.swift +++ b/AgileWorks/AgileWorks/WebView/View/WebViewController.swift @@ -176,6 +176,9 @@ class WebViewController: UIViewController { // token チェック func updateSession(isInit: Bool) { print("updteSession") + if !AppDelegate.appShared.getOnlineStatus() { + return + } let sessionEndpoint = GetSessionEndpoint() Session.send(sessionEndpoint) { result in @@ -251,6 +254,7 @@ class WebViewController: UIViewController { DispatchQueue.main.async { self.disablingView.isHidden = true } + AppDelegate.appShared.setOnlineStatus(isOnline: true) // ネットワーク非接続時 } else { // 書類表示時 @@ -261,6 +265,8 @@ class WebViewController: UIViewController { self.checkConnectButton.isEnabled = true } } + AppDelegate.appShared.setOnlineStatus(isOnline: false) + self.initLoadComp = false } } // モニタリングスタート @@ -324,11 +330,13 @@ class WebViewController: UIViewController { self.checkConnectButton.isEnabled = false // ネットワーク接続チェック if isOnline() { + AppDelegate.appShared.setOnlineStatus(isOnline: true) // オフラインView非表示 DispatchQueue.main.async { self.disablingView.isHidden = true } } else { + AppDelegate.appShared.setOnlineStatus(isOnline: false) // 接続確認ボタン活性 self.checkConnectButton.isEnabled = true } @@ -346,6 +354,7 @@ class WebViewController: UIViewController { viewReload = true } else if !initLoadComp { viewReload = true + initLoadComp = true } } else { viewReload = true -- GitLab