//
|
// PointsDeatilVC.swift
|
// OKProject
|
//
|
// Created by Sweet on 2020/12/25.
|
// Copyright © 2020 yangwang. All rights reserved.
|
//
|
|
import UIKit
|
import WebKit
|
class PointsDeatilVC: YYViewController {
|
let viewModel = PointsViewModel()
|
var webContentheight:CGFloat = 0.0
|
var newHeight:CGFloat = 0.0
|
var oldHeight:CGFloat = 0.0
|
var model = PoinstModel()
|
@IBOutlet weak var numLb: UILabel!
|
@IBOutlet weak var webBgView: UIView!
|
|
@IBOutlet weak var webCons: NSLayoutConstraint!
|
@IBOutlet weak var name: UILabel!
|
@IBOutlet weak var bigImage: UIImageView!
|
private lazy var web: WKWebView = {
|
//以下代码适配大小
|
let jsString = "var meta = document.createElement('meta'); meta.setAttribute('picture', 'viewport');meta.setAttribute('video', 'viewport'); meta.setAttribute('content', 'width=device-width, initial-scale=1.0, minimum-scale=1, maximum-scale=1, user-scalable=no'); document.getElementsByTagName('head')[0].appendChild(meta); (function picture() {var tempArr = document.getElementsByTagName('img');for (let index = 0; index < tempArr.length; index++) {var element = tempArr[index];element.style.width = '100%';}})();(function video() {var tempArr = document.getElementsByTagName('video');for (let index = 0; index < tempArr.length; index++) {var element = tempArr[index];element.style.width = '100%';}})();document.getElementsByTagName('table')[0].setAttribute('width', '');"
|
let userScript = WKUserScript(source: jsString, injectionTime: .atDocumentEnd, forMainFrameOnly: true)
|
let userContentController = WKUserContentController()
|
userContentController.addUserScript(userScript)
|
|
let webViewConfiguration = WKWebViewConfiguration()
|
webViewConfiguration.userContentController = userContentController
|
let web = WKWebView(frame: CGRect.zero, configuration: webViewConfiguration)
|
return web
|
}()
|
override func viewWillDisappear(_ animated: Bool) {
|
super.viewWillAppear(animated)
|
|
}
|
deinit{
|
web.scrollView.removeObserver(self, forKeyPath: "contentSize")
|
}
|
|
override func viewDidLoad() {
|
super.viewDidLoad()
|
title = "商品详情"
|
bigImage.load(url: model.url)
|
name.text = model.name
|
numLb.text = "\(model.integral)积分"
|
web.loadHTMLString(model.instructions, baseURL: nil)
|
webBgView.addSubview(web)
|
web.snp.makeConstraints { (make) in
|
make.top.bottom.equalToSuperview()
|
make.left.right.equalTo(2)
|
}
|
web.scrollView.isScrollEnabled = false
|
web.scrollView.addObserver(self, forKeyPath: "contentSize", options: .new, context: nil)
|
|
viewModel.getDetail(id: model.id).subscribe { (r) in
|
|
} onError: { (error) in
|
|
} onCompleted: {
|
|
} onDisposed: {
|
|
}.disposed(by: disposeBag)
|
|
}
|
override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
|
if keyPath == "contentSize"{
|
let fittingSize = web.scrollView.contentSize
|
if oldHeight < fittingSize.height{
|
self.webCons.constant = CGFloat(fittingSize.height)
|
oldHeight = fittingSize.height
|
}
|
}
|
}
|
@IBAction func sureAction(_ sender: Any) {
|
if readUser().integral < model.integral.wy_toInt() {
|
alert(popup: .single, title: "提示", text: "兑换失败,积分不足!", submitTitle: "确定", cancelTitle: "") {
|
|
} cancelClick: {
|
}
|
return
|
}
|
let vc = ChangeControllerVC()
|
vc.id = model.id
|
vc.integral = model.integral.wy_toInt()
|
yy_push(vc: vc)
|
}
|
|
|
|
}
|