Files
yingmeng-ios-switf/yinmeng-ios/Modules/Star/PlanetStarVC.swift
2024-03-01 21:07:35 +08:00

204 lines
8.2 KiB
Swift
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
// PlanetStarVC.swift
// yinmeng-ios
//
// Created by MaiMang 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":"30"]) { data in
if let list = Deserialized<PlanetStarModel>.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<PlanetStarModel>.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<PlanetStarModel>.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<PlanetStarModel>.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] = []
}