// // PlanetStarVC.swift // yinmeng-ios // // Created by yinmeng on 2024/2/25. // import UIKit import NIMSDK import Nuke class PlanetStarVC: BaseViewController,HiddenNavigationBarProtocol { var page:Int = 1 override func viewDidLoad() { super.viewDidLoad() yin_initUI() requestData() } func requestData(){ RequestGet(path: "home/recommendUsers", parma: ["pageNum":"\(self.page)","pageSize":"60"]) { data in if let list = Deserialized.toArray(with: data) { var dataList:[PlanetStarModel] = [] guard list.isEmpty else { for i in 0..<12 { if i < list.count{ dataList.append(list[i]) } } self.dataArray = dataList self.dealWithViewData() return } self.page = 1 } } fail: { code, data in } RequestGet(path: "special/gift/get", parma: [:]) { data in if let model = Deserialized.toModel(with: data) { self.giftModel = model } } fail: { code, data in } } func dealWithViewData(){ self.bgRadiusView.dataList = dataArray } private func yin_initUI(){ view.addSubview(backgroundView) view.addSubview(bgRadiusView) bgRadiusView.frame = self.view.frame activityView.center = self.view.center activityView.startAnimating() backgroundView.snp.makeConstraints { make in make.edges.equalTo(self.view) } bgRadiusView.refreshBlcok = {[weak self] (uid,type,name) in if type == 0{ self?.page = (self?.page ?? 1) + 1 self?.requestData() }else if type == 1{ guard let _uid = uid else {return} let session = NIMSession.init(_uid, type: .P2P) let chatVC = ChatVC.init(session: session) self?.navigationController?.pushViewController(chatVC, animated: true) }else{ guard let _uid = uid else {return} let giftName = self?.giftModel?.giftName ?? "" let giftNum = self?.giftModel?.goldPrice ?? "0" let text = "确认赠送 \(giftName)(\(giftNum)钻石)给\(name)吗" guard UserDefaults.standard.value(forKey: "kIsShowPopUp") == nil else{ RequestGet(path: "special/gift/get", parma: ["targetId":_uid]) { data in self?.activityView.removeFromSuperview() if let _ = Deserialized.toModel(with: data) { HUDTool.show(with: "送礼成功") let imageView = UIImageView(frame: CGRect(x: ScreenWidth/2-50, y: -100, width: 0, height: 0)) Nuke.loadImage(with: self?.giftModel?.picUrl ?? "", into: imageView) self?.view.addSubview(imageView) UIView.animate(withDuration: 2) { imageView.frame = CGRect(x: ScreenWidth/2-50, y: ScreenHeight/3 * 2, width: 100, height: 100) }completion: { isC in DispatchQueue.main.asyncAfter(deadline: .now() + 2) { UIView.animate(withDuration: 1) { let x = self?.bgRadiusView.imageView.frame.origin.x ?? 0 let y = self?.bgRadiusView.imageView.frame.origin.y ?? 0 imageView.frame = CGRect(x: x + 50, y: y + 50, width: 10, height: 10) }completion: { isC in imageView.removeFromSuperview() } } } } } fail: { code, data in self?.activityView.removeFromSuperview() if code == 31005{ self?.showPayVC() } } return } let popUpView = PlanetStarPopUpView.init(frame: CGRect(x: 0, y: 0, width: ScreenWidth, height: ScreenHeight)) self?.view.addSubview(popUpView) popUpView.textView.text = text popUpView.clickSendBlcok = {[weak self] in self?.view.addSubview(self!.activityView) RequestGet(path: "special/gift/get", parma: ["targetId":_uid]) { data in self?.activityView.removeFromSuperview() if let _ = Deserialized.toModel(with: data) { HUDTool.show(with: "送礼成功") let imageView = UIImageView(frame: CGRect(x: ScreenWidth/2-50, y: -100, width: 0, height: 0)) Nuke.loadImage(with: self?.giftModel?.picUrl ?? "", into: imageView) self?.view.addSubview(imageView) UIView.animate(withDuration: 2) { imageView.frame = CGRect(x: ScreenWidth/2-50, y: ScreenHeight/3 * 2, width: 100, height: 100) }completion: { isC in DispatchQueue.main.asyncAfter(deadline: .now() + 2) { UIView.animate(withDuration: 1) { let x = self?.bgRadiusView.imageView.frame.origin.x ?? 0 let y = self?.bgRadiusView.imageView.frame.origin.y ?? 0 imageView.frame = CGRect(x: x + 50, y: y + 50, width: 10, height: 10) }completion: { isC in imageView.removeFromSuperview() } } } } } fail: { code, data in self?.activityView.removeFromSuperview() if code == 31005{ self?.showPayVC() } } } } } } func showPayVC(){ let popUpView = PlanetStarPopUpView.init(frame: CGRect(x: 0, y: 0, width: ScreenWidth, height: ScreenHeight)) self.view.addSubview(popUpView) popUpView.textView.text = "钻石余额不足" popUpView.senderView.setTitle("去充值", for: .normal) popUpView.bgPointView.isHidden = true popUpView.pointTextView.isHidden = true popUpView.clickSendBlcok = {[weak self] in let vc = UserPayViewController() self?.navigationController?.pushViewController(vc, animated: true) } } let activityView:UIActivityIndicatorView = UIActivityIndicatorView(style: .medium) var giftModel:PlanetStarModel? private lazy var backgroundView:UIImageView = { let _backgroundView = UIImageView() _backgroundView.image = UIImage(named: "yin_plane_star_bg") _backgroundView.isUserInteractionEnabled = true return _backgroundView }() private var bgRadiusView:PlanetStarClickItemView = { let _bgRadiusView = PlanetStarClickItemView.init(frame: CGRect(x: 0, y: 0, width: ScreenWidth , height: ScreenHeight)) _bgRadiusView.isUserInteractionEnabled = true return _bgRadiusView }() private var dataArray:[PlanetStarModel] = [] }