Commit 667cc99d authored by Alex朱枝文's avatar Alex朱枝文

在港续签签证缴费预览文件增加转公链处理

parent 04770ac6
......@@ -239,37 +239,37 @@ class YHBaseViewModel {
}
// 验证url是否可直接访问
func checkUrlIsDirectAccess(_ url: String, callback:((Bool)->())?) {
if url.isEmpty {
callback?(true)
func checkUrlIsDirectAccess(_ url: String, callback:@escaping (Bool)->()) {
guard !url.isEmpty, let urlToGo = URL(string: url) else {
callback(true)
return
}
let task = URLSession.shared.dataTask(with: URL(string: url)!) {
let task = URLSession.shared.dataTask(with: urlToGo) {
(data, response, error) in
if error != nil {
// url 不可用
callback?(false)
callback(false)
return
}
guard let httpResponse = response as? HTTPURLResponse else {
// url 不可用
callback?(false)
callback(false)
return
}
if httpResponse.statusCode == 200 {
// url可用
callback?(true)
callback(true)
} else {
// url 不可用
callback?(false)
callback(false)
}
}
task.resume()
}
// 传入的url无论是公链还是私链 最后返回一个可用链(私转公失败会返回空)
func getRealUsefulUrl(_ url: String, callback:((String)->())?) {
func getRealUsefulUrl(_ url: String, callback:@escaping (String)->()) {
// 判断url是否可以直接访问
self.checkUrlIsDirectAccess(url) {
isAccess in
......@@ -277,7 +277,7 @@ class YHBaseViewModel {
if isAccess {
// url能直接访问
DispatchQueue.main.async {
callback?(url)
callback(url)
}
return
}
......@@ -286,12 +286,12 @@ class YHBaseViewModel {
self.getPublicImageUrl(url) { success, error in
if let successUrl = success {
DispatchQueue.main.async {
callback?(successUrl)
callback(successUrl)
}
} else {
// 私链转公链失败
DispatchQueue.main.async {
callback?("")
callback("")
}
}
}
......
......@@ -405,14 +405,15 @@ extension YHHKVisaRenewalPaymentVC {
}
private func gotoPreview(_ urlString: String) {
guard let url = URL(string: urlString), UIApplication.shared.canOpenURL(url) else {
YHHUD.flash(message: "无法打开链接")
return
YHHUD.show(.progress(message: "加载中..."))
viewModel.getRealUsefulUrl(urlString) { [weak self] resultUrl in
YHHUD.hide()
guard let self = self, let url = URL(string: resultUrl) else { return }
let safariViewController = SFSafariViewController(url: url)
safariViewController.dismissButtonStyle = .close
safariViewController.modalPresentationStyle = .fullScreen
self.present(safariViewController, animated: true, completion: nil)
}
let safariViewController = SFSafariViewController(url: url)
safariViewController.dismissButtonStyle = .close
safariViewController.modalPresentationStyle = .fullScreen
present(safariViewController, animated: true, completion: nil)
}
private func showTroubleshootingGuideVC() {
......
......@@ -28,7 +28,7 @@ class YHVisaRenewalPayOccupyingSpaceCell: YHResignDocumentCell {
make.top.bottom.equalToSuperview()
make.left.equalToSuperview().offset(16)
make.right.equalToSuperview().offset(-16)
make.height.equalTo(height)
make.height.equalTo(height).priority(.high)
}
}
}
......
......@@ -482,8 +482,11 @@ extension YHResignDocumentDetailViewController {
// 全部是私域链接,转公域处理
if let urlString = model?.url {
YHHUD.show(.progress(message: "加载中..."))
self.viewModel.getPublicImageUrl(urlString) { success, error in
self.viewModel.getPublicImageUrl(urlString) { [weak self] success, error in
YHHUD.hide()
guard let self = self else {
return
}
if let success = success, let url = URL(string: success) {
self.previewFile(url)
} else if let error = error {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment