jsdw_ios/QuickLocation/Section/Group/InviteJoin/InviteJoinVC.swift

62 lines
1.7 KiB
Swift

//
// InviteJoinVC.swift
// QuickLocation
//
// Created by on 2026/6/1.
//
import UIKit
import ObjectMapper
import RxSwift
class InviteJoinVC: BaseViewController {
fileprivate var rootView: InviteJoinView!
override func loadView() {
rootView = InviteJoinView(frame: UIScreen.main.bounds)
view = rootView
}
private let groupInModel: GroupInfoModel?
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
guard let model = groupInModel else { return }
rootView.groupIcon.image = model.groupIcon
rootView.groupNameLab.text = model.name
requestOperateGroup(key: model.group_key)
}
// MARK: - API
private func requestOperateGroup(key: String) {
DLToast.showLoading()
GroupService.operate(opType: "share", requestData: ["group_key" : key]).subscribe(onNext: { [weak self] response in
guard let self = self,
let data = response.data,
let code = data["share_code"] as? String else { return }
self.rootView.inviteCodeLab.text = code
self.rootView.qrCodeImgView.image = code.createQRCode(size: self.rootView.qrCodeImgView.dl.size)
}, onError: { (error) in
DLToast.show(text: "获取错误,请重试") {
AppRouter.shared.popOrDismiss()
}
}).disposed(by: disposeBag)
}
// MARK: - Init
init(groupInfo: [String: Any]) {
self.groupInModel = GroupInfoModel.init(JSON: groupInfo)
super.init(nibName: nil, bundle: nil)
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}