185 lines
7.9 KiB
Swift
185 lines
7.9 KiB
Swift
//
|
||
// 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<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] = []
|
||
}
|
||
|
||
|