CNIDCardView.swift 9.19 KB
//
//  CNIDCardView.swift
//  metaCode
//
//  Created by zx on 2023/9/16.
//

import Foundation

class CNIDCardView: UIView{
    
    //IDmodel
    var _idModel : StandListModel?
    var idModel : StandListModel? {
        get{
            _idModel
        }
        set{
            _idModel = newValue
            iDCardBGView.kf.setImage(with: URL(string: _idModel!.cardImg), placeholder: UIImage(named: "homePage_idCardBG"))
            nameLabel.textColor = HexColor("\(_idModel!.backgroundColor)")
            sexLabel.textColor = HexColor("\(_idModel!.backgroundColor)")
            dateLabel.textColor = HexColor("\(_idModel!.backgroundColor)")
            IDLabel.textColor = HexColor("\(_idModel!.backgroundColor)")
            nameValueLabel.textColor = HexColor("\(_idModel!.backgroundColor)")
            sexValueLabel.textColor = HexColor("\(_idModel!.backgroundColor)")
            dateValueLabel.textColor = HexColor("\(_idModel!.backgroundColor)")
            IDValueLabel.textColor = HexColor("\(_idModel!.backgroundColor)")
            
            self.loadIDDetailData()
        }
    }
    
    override init(frame: CGRect) {
        super.init(frame: frame)
        self.initUI()
        self.makeConstraints()
    }
    
    required init?(coder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
    func initUI()
    {
        self.addSubview(self.contentView)
        self.contentView.addSubview(self.iDCardBGView)
        self.contentView.addSubview(self.nameLabel)
        self.contentView.addSubview(self.sexLabel)
        self.contentView.addSubview(self.dateLabel)
        self.contentView.addSubview(self.IDLabel)
        self.contentView.addSubview(self.nameValueLabel)
        self.contentView.addSubview(self.sexValueLabel)
        self.contentView.addSubview(self.dateValueLabel)
        self.contentView.addSubview(self.IDValueLabel)
        self.contentView.addSubview(self.iDIconImgView)
        
    }
    
    func loadIDDetailData(){
        CNLiveMineViewModel.requestsStandInfo(identityId: "\(_idModel!.id)", type: .havedate) { result, respStatue in
            if respStatue == .success {
                let cardArray = result as! NSMutableArray
                for i in (0..<cardArray.count){
                    let idCardModel = cardArray[i] as! MineStandInfoModel
                    switch idCardModel.name {
                    case "姓名":
                        self.nameValueLabel.text =  idCardModel.userInfo
                    case "性别":
                        self.sexValueLabel.text = idCardModel.userInfo
                    case "认证时间":
                        self.dateValueLabel.text = idCardModel.userInfo
                    case "编号":
                        self.IDValueLabel.text =  idCardModel.userInfo
                    case "证件照":
                        let str:String = idCardModel.userInfo!
                        if(str.isEmpty){
                            self.iDIconImgView.isHidden = true
                        }else
                        {
                            self.iDIconImgView.isHidden = false
                            self.iDIconImgView.kf.setImage(with: URL(string: str))
                        }
                        
                        self.iDCardBGView.kf.setImage(with: URL(string: self._idModel!.cardImg), placeholder: UIImage(named: "homePage_idCardBG"))
                    default:
                        break
                    }
                }
            }
        }
    }
    
    // MARK: - 约束
    func makeConstraints(){
        self.iDCardBGView.snp.makeConstraints { make in
            make.centerX.equalToSuperview()
            make.centerY.equalToSuperview()
            make.width.equalToSuperview()
            make.height.equalToSuperview()
        }
        //标签
        self.nameLabel.snp.makeConstraints { make in
            make.left.equalToSuperview().offset(20)
            make.top.equalTo(60)
            make.width.equalTo(54)
        }
        self.sexLabel.snp.makeConstraints { make in
            make.left.equalToSuperview().offset(20)
            make.top.equalTo(nameLabel.snp.bottom).offset(10)
        }
        self.dateLabel.snp.makeConstraints { make in
            make.left.equalToSuperview().offset(20)
            make.top.equalTo(sexLabel.snp.bottom).offset(10)
        }
        self.IDLabel.snp.makeConstraints { make in
            make.left.equalToSuperview().offset(20)
            make.top.equalTo(dateLabel.snp.bottom).offset(10)
        }
        //标签值
        self.nameValueLabel.snp.makeConstraints { make in
                make.left.equalTo(nameLabel.snp.right).offset(10)
                make.top.equalTo(nameLabel.snp.top)
                make.right.equalTo(iDIconImgView.snp.left).offset(-5)
        }
        self.sexValueLabel.snp.makeConstraints { make in
            make.left.equalTo(nameLabel.snp.right).offset(10)
            make.top.equalTo(sexLabel.snp.top)
        }
        self.dateValueLabel.snp.makeConstraints { make in
            make.left.equalTo(nameLabel.snp.right).offset(10)
            make.top.equalTo(dateLabel.snp.top)
        }
        self.IDValueLabel.snp.makeConstraints { make in
            make.left.equalTo(nameLabel.snp.right).offset(10)
            make.top.equalTo(IDLabel.snp.top)
            make.right.lessThanOrEqualTo(iDIconImgView.snp.left).offset(-5)
        }
        self.iDIconImgView.snp.makeConstraints { make in
            make.right.equalToSuperview().offset(-15)
            make.top.equalTo(nameLabel.snp.top)
            make.width.equalTo(60)
            make.height.equalTo(85)
        }
    }
    
    // MARK: - 懒加载
    ///视图总容器
    lazy var contentView : UIView = {
        
        let contentView = UIView.init(frame: CGRect(x: 0, y: 0, width: self.width, height: self.height ))
        contentView.backgroundColor = UIColor.white
        return contentView
    }()
    
    /// 身份卡片-背景图
    lazy var iDCardBGView:UIImageView = {

        let iDCardBGView:UIImageView = UIImageView(frame: CGRect(x: 20, y: 25, width: self.width-40, height: (self.width-40) * 0.64))
        iDCardBGView.backgroundColor = UIColor.clear
        return iDCardBGView
    }()
    
    //姓名Label
    lazy var nameLabel: UILabel = {
        let nameLabel = UILabel.init()
        nameLabel.textColor = .blue
        nameLabel.textAlignment = .left
        nameLabel.font = Font(13)
        nameLabel.backgroundColor = .clear
        nameLabel.text = "姓       名"
        return nameLabel
    }()
    
    //性别Label
    lazy var sexLabel: UILabel = {
        let sexLabel = UILabel.init()
        sexLabel.textColor = .blue//HexColor("#666666")
        sexLabel.textAlignment = .left
        sexLabel.font = Font(13)
        sexLabel.backgroundColor = .clear
        sexLabel.text = "性       别"
        return sexLabel
    }()
    
    //注册日期Label
    lazy var dateLabel: UILabel = {
        let dateLabel = UILabel.init()
        dateLabel.textColor = .blue//HexColor("#666666")
        dateLabel.textAlignment = .left
        dateLabel.font = Font(13)
        dateLabel.backgroundColor = .clear
        dateLabel.text = "注册日期"
        return dateLabel
    }()
    
    //编号Label
    lazy var IDLabel: UILabel = {
        let IDLabel = UILabel.init()
        IDLabel.textColor = .blue//HexColor("#666666")
        IDLabel.textAlignment = .left
        IDLabel.font = Font(13)
        IDLabel.backgroundColor = .clear
        IDLabel.text = "编       号"
        return IDLabel
    }()
    
    //姓名ValueLabel
    lazy var nameValueLabel: UILabel = {
        let nameValueLabel = UILabel.init()
        nameValueLabel.textColor = .blue
        nameValueLabel.textAlignment = .left
        nameValueLabel.font = Font(13)
        nameValueLabel.backgroundColor = .clear
        nameValueLabel.text = "姓名"
        return nameValueLabel
    }()
    
    //性别ValueLabel
    lazy var sexValueLabel: UILabel = {
        let sexValueLabel = UILabel.init()
        sexValueLabel.textColor = .blue//HexColor("#666666")
        sexValueLabel.textAlignment = .left
        sexValueLabel.font = Font(13)
        sexValueLabel.backgroundColor = .clear
        sexValueLabel.text = "男"
        return sexValueLabel
    }()
    
    //注册日期ValueLabel
    lazy var dateValueLabel: UILabel = {
        let dateValueLabel = UILabel.init()
        dateValueLabel.textColor = .blue//HexColor("#666666")
        dateValueLabel.textAlignment = .left
        dateValueLabel.font = Font(13)
        dateValueLabel.backgroundColor = .clear
        dateValueLabel.text = "2022年1月1日"
        return dateValueLabel
    }()
    
    //编号ValueLabel
    lazy var IDValueLabel: UILabel = {
        let IDValueLabel = UILabel.init()
        IDValueLabel.textColor = .blue//HexColor("#666666")
        IDValueLabel.textAlignment = .left
        IDValueLabel.font = Font(13)
        IDValueLabel.backgroundColor = .clear
        IDValueLabel.text = "123"
        return IDValueLabel
    }()
    
    ///证件照
    lazy var iDIconImgView:UIImageView = {

        let iDIconImgView:UIImageView = UIImageView(frame: CGRect(x: 20, y: 25, width: 60, height: 85))
        iDIconImgView.backgroundColor = UIColor.red
        return iDIconImgView
    }()
    
}