feat: 更新 EPLoginTypesViewController 和 EPLoginInputView 以增强布局和用户体验
主要变更: 1. 在 EPLoginTypesViewController 中添加了对多个 UI 组件的约束设置,确保布局更加灵活。 2. 更新了标题标签的文本内容,使用本地化字符串替代硬编码文本,提升国际化支持。 3. 在 EPLoginInputView 中为多个组件添加了自动布局支持,确保在不同屏幕尺寸下的适配性。 此更新旨在提升用户界面的可用性和美观性,确保更好的用户体验。
This commit is contained in:
@@ -11,7 +11,7 @@ import SnapKit
|
||||
|
||||
/// 设置编辑页面
|
||||
/// 支持头像更新、昵称修改和退出登录功能
|
||||
class EPEditSettingViewController: UIViewController {
|
||||
class EPEditSettingViewController: BaseViewController {
|
||||
|
||||
// MARK: - UI Components
|
||||
private lazy var profileImageView: UIImageView = {
|
||||
@@ -317,19 +317,33 @@ class EPEditSettingViewController: UIViewController {
|
||||
}
|
||||
|
||||
private func updateNickname(_ newNickname: String) {
|
||||
// 构建UserInfoModel并调用更新方法
|
||||
let userInfo = UserInfoModel()
|
||||
userInfo.nick = newNickname
|
||||
// 显示加载状态
|
||||
showLoading()
|
||||
|
||||
// 调用Presenter方法 (桥接到OC)
|
||||
let presenter = XPMineUserInfoEditPresenter()
|
||||
presenter.getUserInfoEditDataSource(withUserInfo: userInfo)
|
||||
|
||||
// 更新本地显示
|
||||
self.userInfo?.nick = newNickname
|
||||
tableView.reloadData()
|
||||
|
||||
print("[EPEditSetting] 昵称更新为: \(newNickname)")
|
||||
// 调用 API 更新昵称
|
||||
apiHelper.updateNickname(withNick: newNickname,
|
||||
completion: { [weak self] in
|
||||
self?.hideHUD()
|
||||
|
||||
// 更新成功后才更新本地显示
|
||||
self?.userInfo?.nick = newNickname
|
||||
self?.tableView.reloadData()
|
||||
|
||||
// 显示成功提示
|
||||
self?.showSuccessToast(YMLocalizedString("XPMineUserInfoEditViewController13"))
|
||||
|
||||
print("[EPEditSetting] 昵称更新成功: \(newNickname)")
|
||||
},
|
||||
failure: { [weak self] (code: Int, msg: String?) in
|
||||
self?.hideHUD()
|
||||
|
||||
// 显示错误提示
|
||||
let errorMsg = msg ?? "昵称更新失败,请稍后重试"
|
||||
self?.showErrorToast(errorMsg)
|
||||
|
||||
print("[EPEditSetting] 昵称更新失败: \(code) - \(errorMsg)")
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
private func showLogoutConfirm() {
|
||||
|
Reference in New Issue
Block a user