Commit 5e5695e0 authored by David黄金龙's avatar David黄金龙

h5 UI 代码 分支同步

parent 32d4cfda
......@@ -7,7 +7,7 @@
//
import UIKit
import WebKit
@preconcurrency import WebKit
import dsBridge
import Photos
......@@ -17,17 +17,6 @@ import Photos
class YHH5WebViewVC: YHBaseViewController, WKUIDelegate, WKNavigationDelegate {
lazy var webview : DWKWebView = {
// let userContentController = WKUserContentController()
// let config = WKWebViewConfiguration()
// config.userContentController = userContentController
//
// // 设置localStorage
// let appInfo = "{\"token\": \"a1cd4a59-974f-44ab-b264-46400f26c849\", \"userId\": \"89\"}"
// let jsString = "localStorage.setItem('userContent', '\(appInfo)');"
// let script = WKUserScript(source: jsString, injectionTime: .atDocumentStart, forMainFrameOnly: true)
// userContentController.addUserScript(script)
// let webview = DWKWebView(frame: .zero,configuration: config)
let webview = DWKWebView(frame: .zero)
webview.scrollView.contentInsetAdjustmentBehavior = .never
webview.navigationDelegate = self
......@@ -71,13 +60,11 @@ class YHH5WebViewVC: YHBaseViewController, WKUIDelegate, WKNavigationDelegate {
deinit {
webview.removeObserver(self, forKeyPath: "estimatedProgress")
webview.removeObserver(self, forKeyPath: "title")
NotificationCenter.default.removeObserver(self)
}
//分享到H5或者小程序
var isShareToMiniProgramFlag : Bool = false //是否分享到小程序 默认分享到h5
var shareMiniPath : String? //分享到小程序时的 path
......@@ -87,6 +74,9 @@ class YHH5WebViewVC: YHBaseViewController, WKUIDelegate, WKNavigationDelegate {
var shareH5Title : String = "20秒极速测分"
var shareH5Describe : String = "您的朋友邀请您进行香港优才测评,来试试吧"
//外部传进来的分享链接
var shareUrlFromOutside : String?
//二维码是否请求完成
var isQrInfoOk : Bool = false
......@@ -179,7 +169,7 @@ private extension YHH5WebViewVC {
// if isWithBottomViewFlag {
// loadQrInfo()
// view.addSubview(shareView)
//
//
// shareView.block = { tag in
// if tag == 0 {
// //分享
......@@ -210,44 +200,21 @@ private extension YHH5WebViewVC {
webview.load(request as URLRequest)
view.addSubview(webview)
// if isWithBottomViewFlag {
// view.addSubview(shareView)
// shareView.snp.makeConstraints { make in
// make.bottom.left.right.equalToSuperview()
// make.height.equalTo(YHShareViewOnTablebarView.viewH)
// }
//
// if isFullScreenFlag {
// webview.snp.makeConstraints { make in
// make.top.left.right.equalToSuperview()
// make.bottom.equalTo(shareView.snp.top)
// }
// } else {
// webview.snp.makeConstraints { make in
// make.top.equalToSuperview().offset(k_Height_NavigationtBarAndStatuBar)
// make.left.right.equalToSuperview()
// make.bottom.equalTo(shareView.snp.top)
// }
// }
// } else {
if isFullScreenFlag {
webview.snp.makeConstraints { make in
make.edges.equalToSuperview()
}
} else {
webview.snp.makeConstraints { make in
make.top.equalToSuperview().offset(k_Height_NavigationtBarAndStatuBar)
make.left.right.bottom.equalToSuperview()
}
if isFullScreenFlag {
webview.snp.makeConstraints { make in
make.edges.equalToSuperview()
}
// }
} else {
webview.snp.makeConstraints { make in
make.top.equalToSuperview().offset(k_Height_NavigationtBarAndStatuBar)
make.left.right.bottom.equalToSuperview()
}
}
webview.addSubview(progBar)
// 监听网页加载的进度
webview.addObserver(self, forKeyPath: "estimatedProgress", options: .new, context: nil)
webview.addObserver(self, forKeyPath: "title", options: .new, context: nil)
view.addSubview(noNetWorkTipsView)
self.noNetWorkTipsView.snp.makeConstraints { make in
......@@ -272,10 +239,20 @@ private extension YHH5WebViewVC {
} else {
var shareUrl = self.url
if let url = shareUrlFromOutside {
shareUrl = url
}
//特殊场景处理
if shareUrl.contains("superAppBridge.html#/evaluation", caseSensitive: false) {
shareUrl = YHBaseUrlManager.shared.curH5URL() + "superAppBridge.html#/evaluation?channel=APP-share&customer_id=\(YHLoginManager.shared.userModel?.id ?? "")"
}
YHShareManager.shared.sendLinkContent(self.shareH5Title, self.shareH5Describe, UIImage(named: "AppIcon") ?? UIImage(), link: shareUrl)
if !shareUrl.isEmpty &&
!self.shareH5Title.isEmpty &&
!self.shareH5Describe.isEmpty {
YHShareManager.shared.sendLinkContent(self.shareH5Title, self.shareH5Describe, UIImage(named: "shareIcon") ?? UIImage(), link: shareUrl)
}
}
}
......@@ -314,7 +291,7 @@ extension YHH5WebViewVC {
self.progBar.alpha = 1.0
progBar.setProgress(Float(webview.estimatedProgress), animated: true)
//进度条的值最大为1.0
if(self.webview.estimatedProgress >= 1.0) {
if self.webview.estimatedProgress >= 1.0 {
if isFullScreenFlag {
gk_navBarAlpha = 0.0
}
......@@ -325,6 +302,11 @@ extension YHH5WebViewVC {
self.progBar.progress = 0
})
}
} else if keyPath == "title" {
if let title = self.webview.title,title.isEmpty == false {
self.navTitle = title
self.gk_navTitle = self.navTitle
}
}
}
......@@ -332,15 +314,9 @@ extension YHH5WebViewVC {
}
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
if isShowRightShareItemFlag {
addRightItems()
if self.isShowRightShareItemFlag {
self.addRightItems()
}
if let title = webview.title,title.isEmpty == false {
navTitle = title
gk_navTitle = navTitle
}
}
func webView(_ webView: WKWebView, createWebViewWith configuration: WKWebViewConfiguration, for navigationAction: WKNavigationAction, windowFeatures: WKWindowFeatures) -> WKWebView? {
......@@ -444,12 +420,14 @@ extension YHH5WebViewVC {
PHPhotoLibrary.requestAuthorization { status in
if status == .authorized {
// 保存图片到相册
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil)
DispatchQueue.main.async {
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil)
YHHUD.flash(message: "保存成功")
}
} else {
YHHUD.flash(message: "保存失败,请检查系统权限")
DispatchQueue.main.async {
YHHUD.flash(message: "保存失败,请检查系统权限")
}
}
}
}
......
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