Files
yingmeng-ios-switf/yinmeng-ios/Modules/User/VC/PasswordSetVC.swift
2024-03-01 20:37:00 +08:00

215 lines
5.8 KiB
Swift
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
// PasswordSetVC.swift
// yinmeng-ios
//
// Created by MaiMang on 2024/3/1.
//
import UIKit
class PasswordSetVC: BaseViewController, HiddenNavigationBarProtocol {
var isSet:Bool?
var phone:String?
override func viewDidLoad() {
super.viewDidLoad()
view.addSubview(backImgView)
view.addSubview(backBtn)
view.addSubview(titleLb)
view.addSubview(stackView)
view.addSubview(tipsLb)
view.addSubview(forgetBtn)
view.addSubview(confirmBtn)
stackView.addArrangedSubview(oneView)
stackView.addArrangedSubview(twoView)
stackView.addArrangedSubview(threeView)
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.equalToSuperview()
make.centerY.equalTo(backBtn)
}
stackView.snp.makeConstraints { make in
make.top.equalTo(view).offset(NavHeight + 60)
make.left.right.equalTo(view).inset(36)
}
oneView.snp.makeConstraints { make in
make.height.equalTo(50)
}
twoView.snp.makeConstraints { make in
make.height.equalTo(50)
}
threeView.snp.makeConstraints { make in
make.height.equalTo(50)
}
tipsLb.snp.makeConstraints { make in
make.centerX.equalTo(view)
make.top.equalTo(stackView.snp.bottom).offset(40)
}
forgetBtn.snp.makeConstraints { make in
make.height.equalTo(20)
make.right.equalTo(stackView)
make.top.equalTo(stackView.snp.bottom).offset(8)
}
confirmBtn.snp.makeConstraints { make in
make.left.right.equalToSuperview().inset(36)
make.top.equalTo(stackView.snp.bottom).offset(70)
make.height.equalTo(52)
}
self.oneView.isHidden = isSet == true
self.forgetBtn.isHidden = isSet == true
}
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.text = "设置密码"
label.font = UIFont.systemFont(ofSize: 18, weight: .medium)
return label
}()
private lazy var stackView: UIStackView = {
let stackView = UIStackView()
stackView.distribution = .fill
stackView.axis = .vertical
stackView.alignment = .fill
stackView.spacing = 20
return stackView
}()
private lazy var oneView: PasswordSetView = {
let view = PasswordSetView()
view.placeHolder = "请输入旧密码"
return view
}()
private lazy var twoView: PasswordSetView = {
let view = PasswordSetView()
view.placeHolder = "请设置新密码"
return view
}()
private lazy var threeView: PasswordSetView = {
let view = PasswordSetView()
view.placeHolder = "请确认新密码"
return view
}()
private lazy var tipsLb: UILabel = {
let label = UILabel()
label.textColor = .white
label.text = "密码必须使用6-16个字符内的数字和英文字母组合哦"
label.font = UIFont.systemFont(ofSize: 13)
return label
}()
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
}()
private lazy var forgetBtn: UIButton = {
let button = UIButton(type: .custom)
button.setTitle("忘记密码?", for: .normal)
button.setTitleColor(ThemeColor(hexStr: "#FFFFFF", alpha: 0.8), for: .normal)
button.titleLabel?.font = UIFont.systemFont(ofSize: 14, weight: .medium)
button.addTarget(self, action: #selector(forgetBtnAction), for: .touchUpInside)
return button
}()
}
extension PasswordSetVC {
@objc func backBtnAction() {
self.navigationController?.popViewController(animated:true)
}
@objc func confirmBtnAction() {
let old = self.oneView.textFiled.text
let newPwd = self.twoView.textFiled.text
let secondPwd = self.threeView.textFiled.text
if isSet == true {
if newPwd == secondPwd {
let params = ["phone":phone, "newPwd": newPwd]
RequestPost(path: "acc/pwd/set", parma: params) { _ in
HUDTool.show(with: "密码设置成功")
self.navigationController?.popViewController(animated: true)
} fail: { _, msg in
HUDTool.show(with:msg)
self.navigationController?.popViewController(animated: true)
}
} else {
HUDTool.show(with: "输入的两次密码不一致")
}
} else {
if old?.count ?? 0 > 0 && newPwd?.count ?? 0 > 0 && secondPwd?.count ?? 0 > 0 {
if newPwd == secondPwd {
let params = ["phone":phone, "newPwd": newPwd, "pwd": old]
RequestPost(path: "acc/pwd/modify", parma: params) { _ in
HUDTool.show(with: "密码修改成功")
self.navigationController?.popViewController(animated: true)
} fail: { _, msg in
HUDTool.show(with:msg)
self.navigationController?.popViewController(animated: true)
}
} else {
HUDTool.show(with: "输入的两次密码不一致")
}
} else {
HUDTool.show(with: "请输入密码")
}
}
}
@objc func forgetBtnAction() {
self.navigationController?.pushViewController(AuthForgetVC(), animated: true)
}
}