无故事王国
2023-10-28 576aec37fe9b5eb395097be1ced0680ae97590f8
WanPai/Root/Other/VC/ProfileVC.swift
@@ -11,10 +11,10 @@
class ProfileVC: BaseVC {
    @IBOutlet weak var btn_userProfile: UIButton!
    @IBOutlet weak var label_username: UILabel!
    @IBOutlet weak var tf_username: UITextField!
    @IBOutlet weak var label_contact: UILabel!
    @IBOutlet weak var label_gender: UILabel!
    @IBOutlet weak var label_birthday: UILabel!
    @IBOutlet weak var tf_gender: UITextField!
    @IBOutlet weak var tf_birthday: UITextField!
    @IBOutlet weak var label_address: UILabel!
    @IBOutlet weak var label_vipDutime: UILabel!
   @IBOutlet weak var view_vipExpired: UIView!
@@ -25,12 +25,16 @@
        super.viewDidLoad()
        title = "个人信息"
      tf_gender.delegate = self
      tf_birthday.delegate = self
        Services.userDetails().subscribe(onNext: {[weak self] data in
            if let model = data.data{
                self?.label_username.text = model.userName
                self?.tf_username.text = model.userName
                self?.label_contact.text = model.userPhone
                self?.label_gender.text = model.sex == .man ? "男":"女"
                self?.label_birthday.text = model.birthday
                self?.tf_gender.text = model.sex == .man ? "男":"女"
                self?.tf_birthday.text = model.birthday
                self?.label_address.text = model.address
                self?.label_vipDutime.text = model.memberLifespan
                self?.btn_userProfile.sd_setImage(with: URL(string: model.userImage), for: .normal,placeholderImage: UIImage(named: "btn_userProfile"))
@@ -39,6 +43,29 @@
        }).disposed(by: disposeBag)
    }
   override func setRx() {
      tf_username.rx.controlEvent(.editingDidEnd).subscribe(onNext: {[weak self] () in
         guard let weakSelf = self else { return }
         if weakSelf.tf_username.isEmpty{
            alertError(msg: "请输入用户名称");return
         }
         Services.updateInfo(birthday: nil, gender: nil, name: weakSelf.tf_username.text).subscribe(onNext: {[weak self] data in
            self?.updateUserInfo()
         }).disposed(by: weakSelf.disposeBag)
      }).disposed(by: disposeBag)
   }
   private func updateUserInfo(){
      Services.userDetails().subscribe(onNext: {data in
         if let m = data.data{m.save()}
         alertSuccess(msg: "修改成功")
         NotificationCenter.default.post(name: UpdateWelfare_Noti, object: nil)
      }) { error in
      }.disposed(by: disposeBag)
   }
    @IBAction func logoutAction(_ sender: UIButton) {
        CommonAlertView.show(title: "提示", content: "确认退出当前账号?") { status in
@@ -67,8 +94,45 @@
      }, clipSize: CGSize(width: JQ_ScreenW, height: JQ_ScreenW))
   }
    @IBAction func dismissAccountAction(_ sender: UIButton) {
    }
}
extension ProfileVC:UITextFieldDelegate{
   func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
      view.endEditing(true)
      if textField == tf_gender{
         let items = ["男","女"]
         CommonAlertSheetView.show(items: items) {[weak self] index in
            guard let weakSelf = self else { return }
            guard textField.text != items[index] else {return}
            textField.text = items[index]
            var gender:GenderType!
            if index == 0{
               gender = .man
            }else{
               gender = .woman
            }
            Services.updateInfo(birthday: nil, gender: gender.rawValue, name: nil).subscribe(onNext: {[weak self] data in
               self?.updateUserInfo()
            }).disposed(by: weakSelf.disposeBag)
         }
      }
      if textField == tf_birthday{
         CommonDatePickerView.show(before: 60, after: 0, type: .YMD) {[weak self] year, month, day, _, _ in
            guard let weakSelf = self else { return }
            let date = String(format: "%ld-%02ld-%02ld", year!,month!,day!)
            guard textField.text != date else {return}
            textField.text = date
            Services.updateInfo(birthday: textField.text, gender: nil, name: nil).subscribe(onNext: {[weak self] data in
               self?.updateUserInfo()
            }).disposed(by: weakSelf.disposeBag)
         }
      }
      return false
   }
}