Commit 2b13657e authored by David黄金龙's avatar David黄金龙

与H5打通

parent 9f4832ae
...@@ -142,10 +142,10 @@ extension YHLifeViewController: UITableViewDelegate, UITableViewDataSource { ...@@ -142,10 +142,10 @@ extension YHLifeViewController: UITableViewDelegate, UITableViewDataSource {
let vc = YHH5WebViewVC() let vc = YHH5WebViewVC()
// TODO: - 谢 // TODO: - 谢
vc.url = YHBaseUrlManager.shared.curH5URL() + "articleDetail.html" + "?id=\(model.id)" vc.url = YHBaseUrlManager.shared.curH5URL() + "superAppBridge.html#/commodity_info?categoryId=2&levelId=5&productId=30&from=wxApp"
vc.isWithBottomViewFlag = true vc.isWithBottomViewFlag = true
vc.isShareToMiniProgramFlag = true vc.isShareToMiniProgramFlag = true
vc.shareMiniPath = "" vc.shareMiniPath = "/serviceHousekeeper/pages/documentEdit/documentEdit"
self.navigationController?.pushViewController(vc) self.navigationController?.pushViewController(vc)
} }
......
...@@ -17,7 +17,9 @@ class YHH5WebViewVC: YHBaseViewController, WKUIDelegate, WKNavigationDelegate { ...@@ -17,7 +17,9 @@ class YHH5WebViewVC: YHBaseViewController, WKUIDelegate, WKNavigationDelegate {
var webview = DWKWebView() var webview = DWKWebView()
var progBar = UIProgressView() var progBar = UIProgressView()
var url = "https://test-hkdiy-h5.galaxy-immi.com/superAppBridge/evaluation?from=app" var url = ""
var navTitle = "" //导航栏title
lazy var noNetWorkTipsView: YHEmptyDataView = { lazy var noNetWorkTipsView: YHEmptyDataView = {
let view = YHEmptyDataView.createView("无网络", kNotNetWorkBgName) let view = YHEmptyDataView.createView("无网络", kNotNetWorkBgName)
view.topMargin = 222 view.topMargin = 222
...@@ -46,33 +48,58 @@ class YHH5WebViewVC: YHBaseViewController, WKUIDelegate, WKNavigationDelegate { ...@@ -46,33 +48,58 @@ class YHH5WebViewVC: YHBaseViewController, WKUIDelegate, WKNavigationDelegate {
var isWithBottomViewFlag : Bool = false var isWithBottomViewFlag : Bool = false
lazy var shareView: YHShareViewOnTablebarView = { lazy var shareView: YHShareViewOnTablebarView = {
let view = YHShareViewOnTablebarView() let view = YHShareViewOnTablebarView()
view.isHidden = true
return view return view
}() }()
//分享到H5或者小程序 //分享到H5或者小程序
var isShareToMiniProgramFlag : Bool = false //是否分享到小程序 默认分享到h5 var isShareToMiniProgramFlag : Bool = false //是否分享到小程序 默认分享到h5
var shareMiniPath : String? //分享到小程序时的 path var shareMiniPath : String? //分享到小程序时的 path
var shareMiniTitle : String = "好友力荐新品,速来围观,不忘粗心"
//分享到H5的情况 //分享到H5的情况
var shareH5Title : String = "20秒极速测分" var shareH5Title : String = "20秒极速测分"
var shareH5Describe : String = "您的朋友邀请您进行香港优才测评,来试试吧" var shareH5Describe : String = "您的朋友邀请您进行香港优才测评,来试试吧"
//二维码是否请求完成
var isQrInfoOk : Bool = false
var arrQrInfo : [String] = []
lazy var viewModel: YHHomePageViewModel = {
let vm = YHHomePageViewModel()
return vm
}()
} }
// MARK: - 内部方法 // MARK: - 内部方法
private extension YHH5WebViewVC { private extension YHH5WebViewVC {
func loadQrInfo() {
let params : [String : Int] = ["pid[0]" : 16]
viewModel.getHKEvent(param: params) { success, error in
if success {
self.isQrInfoOk = true
if let arr = self.viewModel.hkList,arr.count > 0 {
let item0 : YHHKEventModel = arr[0]
if item0.list.count > 1 {
self.arrQrInfo = item0.list
}
}
}
}
}
func setupUI() { func setupUI() {
gk_navBarAlpha = 1.0 gk_navBarAlpha = 1.0
gk_navLineHidden = false gk_navLineHidden = false
gk_navBackgroundColor = .white
// gk_navTitle = "Test"
NotificationCenter.default.addObserver(self, selector: #selector(updateNetWorkUI), name: .reachabilityChanged, object: nil) NotificationCenter.default.addObserver(self, selector: #selector(updateNetWorkUI), name: .reachabilityChanged, object: nil)
view.backgroundColor = .white view.backgroundColor = .white
//获取导航栏高度
let navHeight = self.navigationController?.navigationBar.frame.height
if isWithBottomViewFlag { if isWithBottomViewFlag {
loadQrInfo()
view.addSubview(shareView) view.addSubview(shareView)
} }
...@@ -83,10 +110,11 @@ private extension YHH5WebViewVC { ...@@ -83,10 +110,11 @@ private extension YHH5WebViewVC {
self.share() self.share()
} else { } else {
//预约咨询 //预约咨询
// TODO: - for test hjl if self.arrQrInfo.count > 1 {
// let codeUrl = model.codeUrl let codeUrl = self.arrQrInfo[0]
// let downloadUrl = model.downloadUrl let downloadUrl = self.arrQrInfo[1]
// YHConsultantQRCodeView.codeView(codeUrl, downloadUrl: downloadUrl).show() YHConsultantQRCodeView.codeView(codeUrl, downloadUrl: downloadUrl).show()
}
} }
} }
...@@ -95,7 +123,9 @@ private extension YHH5WebViewVC { ...@@ -95,7 +123,9 @@ private extension YHH5WebViewVC {
webview.scrollView.contentInsetAdjustmentBehavior = .never webview.scrollView.contentInsetAdjustmentBehavior = .never
webview.navigationDelegate = self webview.navigationDelegate = self
webview.addJavascriptObject(YHJsApi(), namespace: nil) let api = YHJsApi()
api.delegate = self
webview.addJavascriptObject(api, namespace: nil)
let url = NSURL(string: url) let url = NSURL(string: url)
let request = NSURLRequest(url: url! as URL) let request = NSURLRequest(url: url! as URL)
...@@ -145,7 +175,7 @@ private extension YHH5WebViewVC { ...@@ -145,7 +175,7 @@ private extension YHH5WebViewVC {
@objc func share() { @objc func share() {
if self.isShareToMiniProgramFlag { if self.isShareToMiniProgramFlag {
if let path = self.shareMiniPath,!path.isEmpty { if let path = self.shareMiniPath,!path.isEmpty {
YHShareManager.shared.shareToMiniProgram(path:path, shareTitle: "请查看") YHShareManager.shared.shareToMiniProgram(path:path, shareTitle: shareMiniTitle)
} }
} else { } else {
YHShareManager.shared.sendLinkContent(self.shareH5Title, self.shareH5Describe, UIImage(named: "AppIcon") ?? UIImage(), link: self.url) YHShareManager.shared.sendLinkContent(self.shareH5Title, self.shareH5Describe, UIImage(named: "AppIcon") ?? UIImage(), link: self.url)
...@@ -242,3 +272,11 @@ extension YHH5WebViewVC { ...@@ -242,3 +272,11 @@ extension YHH5WebViewVC {
} }
} }
// MARK: - h5实现的接口
extension YHH5WebViewVC {
func saveLocalPictureSyn(_ picUrl: String) {
//具体实现
}
}
...@@ -7,41 +7,22 @@ ...@@ -7,41 +7,22 @@
// //
import Foundation import Foundation
import UIKit
typealias JSCallback = (String, Bool)->Void typealias JSCallback = (String, Bool)->Void
typealias JSDicCallback = ([String : Any],Bool)->Void typealias JSDicCallback = ([String : Any],Bool)->Void
class YHJsApi: NSObject { class YHJsApi: NSObject {
weak var delegate : YHH5WebViewVC? = nil
//MUST use "_" to ignore the first argument name explicitly。 }
extension YHJsApi {
@objc func testSyn( _ arg:String) { @objc func testSyn( _ arg:String) {
printLog(arg) printLog(arg)
} }
//保存图片到本地
@objc func testSynDic( _ arg:[String : Any]) { @objc func saveLocalPictureSyn(_ picUrl: String) {
print(arg) self.delegate?.saveLocalPictureSyn(picUrl)
return
}
@objc func testAsyn( _ arg:String, handler: JSCallback) {
handler(String(format:"%@[Swift async call:%@]", arg, "test"), true)
}
//同步方法
@objc func appMethodForJsSyn(_ arg:[String : Any]) {
}
//异步方法
@objc func appMethodForJsAsyn(_ arg:[String : Any],handler : JSDicCallback){
handler(["msg":1],true)
} }
}
extension YHJsApi {
} }
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