younger_times
2023-07-14 b932f704f6c04adc7d7b4104a06cbc09c8d49cb5
WanPai/Common/View/PaymentView.swift
@@ -9,27 +9,54 @@
import JQTools
class PaymentView: UIView,JQNibView{
    @IBOutlet weak var view_container: UIView!
    @IBOutlet weak var cons_bottom: NSLayoutConstraint!
    @IBOutlet weak var btn_wechat: UIButton!
    @IBOutlet weak var btn_alipay: UIButton!
    @IBOutlet weak var btn_coin: UIButton!
    private var clouse:((Bool)->Void)?
    @IBOutlet weak var btn_course: UIButton!
    @IBOutlet weak var view_wechat: UIView!
    @IBOutlet weak var view_alipay: UIView!
    @IBOutlet weak var view_coin: UIView!
    @IBOutlet weak var view_course: UIView!
    @IBOutlet weak var label_wechatMoney: UILabel!
    @IBOutlet weak var label_aliPayMoney: UILabel!
    @IBOutlet weak var label_coinMoney: UILabel!
    @IBOutlet weak var label_courseMoney: UILabel!
    private var clouse:((PayType)->Void)?
    private var payType:PayType?
    
    override func awakeFromNib() {
        super.awakeFromNib()
        
        cons_bottom.constant = -(225 + UIDevice.jq_safeEdges.bottom)
       view_wechat.isHidden = true
       view_coin.isHidden = true
       view_course.isHidden = true
       view_alipay.isHidden = true
        alpha = 0
        layoutIfNeeded()
    }
    
    static func show(_ clouse:@escaping (Bool)->Void){
    static func show(money:(ali:Double?,wx:Double?,coin:Int?,course:Int?),_ clouse:@escaping (PayType)->Void){
        let paymentView = PaymentView.jq_loadNibView()
        paymentView.frame = screnDelegate?.window?.frame ?? .zero
        paymentView.clouse = clouse
        paymentView.view_wechat.isHidden = money.wx == nil
        paymentView.view_coin.isHidden = money.coin == nil
        paymentView.view_course.isHidden = money.course == nil
        paymentView.view_alipay.isHidden = money.ali == nil
        paymentView.label_aliPayMoney.text = money.ali?.currency() ?? "0"
        paymentView.label_wechatMoney.text = money.wx?.currency() ?? "0"
        paymentView.label_coinMoney.text = "\(money.coin ?? 0)币"
        paymentView.label_courseMoney.text = "\(money.course ?? 0)课时"
        screnDelegate?.window?.addSubview(paymentView)
        paymentView.cons_bottom.constant = 0
        
@@ -58,27 +85,30 @@
    
    @IBAction func tapAction(_ sender: UIButton) {
        switch sender.tag{
        case 10:
            payType = .wechat
        case 11:
            payType = .aliPay
        case 12:
            payType = .coin
        default:break
            case 10:
                payType = .wechat
            case 11:
                payType = .aliPay
            case 12:
                payType = .coin
            case 14:
                payType = .courseNum
            default:break
        }
        
        btn_alipay.isSelected = payType == .aliPay
        btn_coin.isSelected = payType == .coin
        btn_wechat.isSelected = payType == .wechat
        btn_course.isSelected = payType == .courseNum
    }
    
    @IBAction func paymentAction(_ sender: UIButton) {
        clouse?(true)
        guard payType != nil else {alertError(msg: "请选择支付方式");return}
        clouse?(payType!)
        hidden()
    }
    
    @IBAction func cancelAction(_ sender: UIButton) {
        clouse?(false)
        hidden()
    }