// // AuthFillDataVC.swift // yinmeng-ios // // Created by MaiMang on 2024/2/22. // import UIKit class AuthFillDataVC: BaseViewController, HiddenNavigationBarProtocol { override func viewDidLoad() { super.viewDidLoad() loadSubViews() } private func loadSubViews() { randomNick() view.addSubview(backImgView) view.addSubview(backBtn) view.addSubview(titleLb) view.addSubview(stackView) view.addSubview(nickTextFiled) view.addSubview(confirmBtn) stackView.addArrangedSubview(maleBtn) stackView.addArrangedSubview(femaleBtn) backImgView.snp.makeConstraints { make in make.edges.equalTo(view) } backBtn.snp.makeConstraints { make in make.size.equalTo(CGSize(width: 20, height: 20)) make.left.equalTo(view).offset(16) make.top.equalTo(view).offset(StatusBarHeight + 12) } titleLb.snp.makeConstraints { make in make.centerX.equalTo(view) make.centerY.equalTo(backBtn) } stackView.snp.makeConstraints { make in make.centerX.equalTo(view) make.height.equalTo(88) make.top.equalTo(view).offset(StatusBarHeight + 94) } femaleBtn.snp.makeConstraints { make in make.width.equalTo(140) } nickTextFiled.snp.makeConstraints { make in make.left.right.equalTo(view).inset(36) make.height.equalTo(52) make.top.equalTo(stackView.snp.bottom).offset(32) } confirmBtn.snp.makeConstraints { make in make.top.equalTo(nickTextFiled.snp.bottom).offset(40) make.left.right.equalTo(view).inset(36) make.height.equalTo(52) } } private lazy var backImgView: UIImageView = { let imageView = UIImageView() imageView.image = UIImage(named: "auth_login_bg") imageView.isUserInteractionEnabled = true imageView.layer.masksToBounds = true imageView.contentMode = .scaleAspectFill return imageView }() private lazy var backBtn: UIButton = { let button = UIButton(type: .custom) button.setImage(UIImage(named: "public_back_white"), for: .normal) button.setImage(UIImage(named: "public_back_white"), for: .selected) button.addTarget(self, action: #selector(backBtnAction), for: .touchUpInside) return button }() private lazy var titleLb: UILabel = { let label = UILabel() label.textColor = .white label.textAlignment = .center label.text = "填写资料" label.font = UIFont.systemFont(ofSize: 18, weight: .medium) return label }() private lazy var stackView: UIStackView = { let stackView = UIStackView() stackView.distribution = .fillEqually stackView.axis = .horizontal stackView.alignment = .fill stackView.spacing = 23 return stackView }() private lazy var femaleBtn: UIButton = { let button = UIButton(type: .custom) button.setImage(UIImage(named: "auth_login_female_normal"), for: .normal) button.setImage(UIImage(named: "auth_login_female_select"), for: .selected) button.addTarget(self, action: #selector(femaleBtnAction), for: .touchUpInside) return button }() private lazy var maleBtn: UIButton = { let button = UIButton(type: .custom) button.setImage(UIImage(named: "auth_login_male_normal"), for: .normal) button.setImage(UIImage(named: "auth_login_male_select"), for: .selected) button.addTarget(self, action: #selector(maleBtnAction), for: .touchUpInside) return button }() lazy var nickTextFiled:UITextField = { let view = UITextField() view.textColor = .firstText view.font = UIFont.systemFont(ofSize: 16) view.leftViewMode = .always let leftView = UIView() leftView.frame = CGRect(x: 0, y: 0, width: 20, height: 52) leftView.backgroundColor = .clear view.leftView = leftView let attribute = NSMutableAttributedString(string: "请输入昵称", attributes: [NSAttributedString.Key.font:UIFont.systemFont(ofSize: 16), NSAttributedString.Key.foregroundColor:UIColor.placeholderText]) view.attributedPlaceholder = attribute view.backgroundColor = .white view.layer.masksToBounds = true view.layer.cornerRadius = 26 view.addTarget(self, action: #selector(nickTextFiledDidChange), for: .editingChanged) return view }() private lazy var confirmBtn: UIButton = { let button = UIButton(type: .custom) button.setBackgroundImage(UIImage.gradient(hexsString: ["#FF60FD", "#8974FF", "#69EBFF"]), for: .normal) button.setImage(UIImage(named: "auth_login_confirm"), for: .normal) button.layer.masksToBounds = true button.layer.cornerRadius = 26 button.addTarget(self, action: #selector(confirmBtnAction), for: .touchUpInside) return button }() fileprivate func randomNick() { RequestGet(path: "random/nick/get", parma: [:]) { text in if let text = text as? String { self.nickTextFiled.text = text } } fail: { code, msg in } } @objc func femaleBtnAction() { self.femaleBtn.isSelected = true self.maleBtn.isSelected = false } @objc func maleBtnAction() { self.maleBtn.isSelected = true self.femaleBtn.isSelected = false } @objc func backBtnAction() { self.dismiss(animated: true, completion: nil) AuthViewModel.authVM.logout() } @objc func nickTextFiledDidChange(_ textField: UITextField) { if let text = textField.text { if text.count > 15 { textField.text = text.substring(start: 0, 15) } } } @objc func confirmBtnAction() { if maleBtn.isSelected == true || femaleBtn.isSelected == true { if let nick = nickTextFiled.text, nick.count > 0 { let gender = self.maleBtn.isSelected ? "1" : "2" let params:[String: Any] = ["avatar":"https://image.ymlive.fun/default_avatar.png", "nick": nick, "gender":gender, "uid": AuthManager.userUid, "ticket":AuthManager.ticket] RequestPost(path: "user/v2/update", parma: params) { data in HUDTool.show(with: "更新成功") self.dismiss(animated: true, completion: nil) } fail: { code, message in HUDTool.show(with: message) } } else { HUDTool.show(with: "请输入昵称") } } else { HUDTool.show(with: "请选择性别") } } }