215 lines
5.8 KiB
Swift
215 lines
5.8 KiB
Swift
//
|
||
// 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)
|
||
}
|
||
|
||
}
|