jsdw_ios/QuickLocation/Section/Home/Bubble/CreateBubbleVC.swift

73 lines
2.4 KiB
Swift

//
// CreateBubbleVC.swift
// QuickLocation
//
// Created by on 2026/6/26.
//
import UIKit
import RxSwift
import RxCocoa
class CreateBubbleVC: BaseViewController {
fileprivate var rootView: CreateBubbleView!
override func loadView() {
rootView = CreateBubbleView(frame: UIScreen.main.bounds)
view = rootView
}
private var doneBtn: UIButton {
rootView.createBubbleTipsView.doneBtn
}
private var popupBtn: UIButton {
rootView.createBubbleDoneView.popupBtn
}
override func viewDidLoad() {
super.viewDidLoad()
doneBtn.rx.tap.subscribe(onNext: { [weak self] in
guard let self = self else { return }
if AppContextManager.shared.vip > 1 {
let hours = self.rootView.createBubbleTiemView.selectedHour.value
requestSetBubble(enable: true, keep_time: hours)
}
else {
CreateBubblePopView.show()
}
}).disposed(by: disposeBag)
popupBtn.rx.tap.subscribe(onNext: { [weak self] in
guard let self = self else { return }
self.showConfirmPop(title: "温馨提醒",
message: "您确定要弹出这个气泡吗?",
confirmText: "爆裂",
confirmBlock: {
self.requestSetBubble(enable: false, keep_time: -1)
}, cancelText: "取消")
}).disposed(by: disposeBag)
}
private func requestSetBubble(enable: Bool, keep_time: Int) {
DLToast.showLoading()
UserService.setBubble(enable: enable, keep_time: keep_time).subscribe(onNext: { response in
DLToast.dismiss()
guard enable else {
DLToast.show(text: "气泡已弹出") {
AppRouter.shared.popOrDismiss()
}
return
}
self.rootView.navTitleLabel.text = "活动气泡"
self.rootView.createBubbleDoneView.messageLab.text = self.rootView.createBubbleTipsView.messageText
let endDate = Calendar.current.date(byAdding: .hour, value: keep_time, to: Date()) ?? Date()
self.rootView.createBubbleDoneView.startCountdown(endDate: endDate)
self.rootView.createBubbleTipsView.isHidden = true
self.rootView.createBubbleDoneView.isHidden = false
}).disposed(by: disposeBag)
}
}