Commit 33b8fbc720cd99cbb89759cae90a0e2178352ed3
1 parent
209cfcb3
修改部分问题
Showing
10 changed files
with
86 additions
and
31 deletions
metaCode/Classes/Common/Base/CNLiveBaseTabBarViewController.swift
metaCode/Classes/Main/LoginPage/Controller/CNLiveLoginViewController.swift
| ... | ... | @@ -54,7 +54,7 @@ class CNLiveLoginViewController : CNLiveBaseViewController, UITextViewDelegate { |
| 54 | 54 | |
| 55 | 55 | lazy var loginButton: UIButton = { |
| 56 | 56 | let loginButton = UIButton(type: .custom) |
| 57 | - loginButton.setTitle("登 陆", for: .normal) | |
| 57 | + loginButton.setTitle("登 录", for: .normal) | |
| 58 | 58 | loginButton.setTitleColor(.white, for: .normal) |
| 59 | 59 | loginButton.titleLabel?.font = BoldFont_16_Fit |
| 60 | 60 | loginButton.layer.cornerRadius = 20 | ... | ... |
metaCode/Classes/Main/MinePage/Controller/CNLiveMineNickViewController.swift
| ... | ... | @@ -86,7 +86,11 @@ class CNLiveMineNickViewController: CNLiveBaseViewController, UITextFieldDelegat |
| 86 | 86 | |
| 87 | 87 | |
| 88 | 88 | @objc func clickSaveAction() { |
| 89 | - print("保存") | |
| 89 | + CNLiveMineViewModel.requestUpdateUserInfoAction(type: .nickName, value: nickField.text ?? "", resultBlock: { [self] in | |
| 90 | + let userInfo = UserInfoManager.shared.userInfo | |
| 91 | + userInfo.nickName = nickField.text ?? "" | |
| 92 | + UserInfoManager.shared.cacheUserInfo(userInfo: userInfo) | |
| 93 | + }) | |
| 90 | 94 | } |
| 91 | 95 | |
| 92 | 96 | func textFieldDidBeginEditing(_ textField: UITextField) { | ... | ... |
metaCode/Classes/Main/MinePage/Controller/CNLiveTypeFeedBackViewController.swift
| ... | ... | @@ -111,6 +111,15 @@ class CNLiveTypeFeedBackViewController : CNLiveBaseViewController, UITableViewDe |
| 111 | 111 | return tipLabel |
| 112 | 112 | }() |
| 113 | 113 | |
| 114 | + func updateWithDataSource() { | |
| 115 | + dataArray.removeAllObjects() | |
| 116 | + dataArray.add(["icon":"","name":"头像","more":"","avatar":UserInfoManager.shared.userInfo.bigFaceUrl]) | |
| 117 | + dataArray.add(["icon":"","name":"昵称","more":(UserInfoManager.shared.userInfo.nickName.count > 0 ? UserInfoManager.shared.userInfo.nickName : "请输入昵称"),"avatar":""]) | |
| 118 | + dataArray.add(["icon":"","name":"性别","more":UserInfoManager.shared.userInfo.gender,"avatar":""]) | |
| 119 | + dataArray.add(["icon":"","name":"生日","more":UserInfoManager.shared.userInfo.birthday,"avatar":""]) | |
| 120 | + tableView.reloadData() | |
| 121 | + } | |
| 122 | + | |
| 114 | 123 | var _show_type:ListShowType! |
| 115 | 124 | init(show_type:ListShowType) { |
| 116 | 125 | super.init(nibName:nil, bundle:nil) |
| ... | ... | @@ -123,11 +132,14 @@ class CNLiveTypeFeedBackViewController : CNLiveBaseViewController, UITableViewDe |
| 123 | 132 | |
| 124 | 133 | |
| 125 | 134 | override func viewWillAppear(_ animated: Bool) { |
| 126 | - navigationBarHidden = false | |
| 135 | + if _show_type == .info { | |
| 136 | + updateWithDataSource() | |
| 137 | + } | |
| 127 | 138 | } |
| 128 | 139 | |
| 129 | 140 | override func viewDidLoad() { |
| 130 | 141 | super.viewDidLoad() |
| 142 | + navigationBarHidden = false | |
| 131 | 143 | switch _show_type { |
| 132 | 144 | case .feedback: |
| 133 | 145 | titleName = "反馈类型" |
| ... | ... | @@ -175,7 +187,7 @@ class CNLiveTypeFeedBackViewController : CNLiveBaseViewController, UITableViewDe |
| 175 | 187 | @objc func logoutAction() -> Void { |
| 176 | 188 | AlertTool.systemActionSheet(title: nil, message: nil, actionTitles: ["退出登录"]) { index in |
| 177 | 189 | if index == 1 { |
| 178 | - | |
| 190 | + UserInfoManager.shared.clearUserInfo() | |
| 179 | 191 | let window = UIApplication.shared.delegate?.window |
| 180 | 192 | window??.rootViewController = CNLiveLoginViewController.init() |
| 181 | 193 | } |
| ... | ... | @@ -275,14 +287,14 @@ extension CNLiveTypeFeedBackViewController { |
| 275 | 287 | } |
| 276 | 288 | if indexPath.section == 2 { |
| 277 | 289 | let cell = tableView.cellForRow(at: indexPath) as! MineBodyTwoListViewCell |
| 278 | - MineInfoAlertView.showSelectView(showType: .gender) { text in | |
| 279 | - cell.moreLabel.text = text | |
| 290 | + MineInfoAlertView.showSelectView(showType: .gender) { [self] text in | |
| 291 | + updateWithDataSource() | |
| 280 | 292 | } |
| 281 | 293 | } |
| 282 | 294 | if indexPath.section == 3 { |
| 283 | 295 | let cell = tableView.cellForRow(at: indexPath) as! MineBodyTwoListViewCell |
| 284 | - MineInfoAlertView.showSelectView(showType: .birthday) { text in | |
| 285 | - cell.moreLabel.text = text | |
| 296 | + MineInfoAlertView.showSelectView(showType: .birthday) { [self] text in | |
| 297 | + updateWithDataSource() | |
| 286 | 298 | } |
| 287 | 299 | } |
| 288 | 300 | } | ... | ... |
metaCode/Classes/Main/MinePage/View/CNLiveMineBodyListView.swift
| ... | ... | @@ -242,7 +242,14 @@ class MineBodyTwoListViewCell : UITableViewCell { |
| 242 | 242 | if show_type == .info { |
| 243 | 243 | moreLabel.font = Font_15_Fit |
| 244 | 244 | } |
| 245 | - moreLabel.text = "\(dict["more"] ?? "")" | |
| 245 | + var more = "\(dict["more"] ?? "")" | |
| 246 | + if (more == "m") { | |
| 247 | + more = "男" | |
| 248 | + } | |
| 249 | + if (more == "f") { | |
| 250 | + more = "女" | |
| 251 | + } | |
| 252 | + moreLabel.text = more | |
| 246 | 253 | } |
| 247 | 254 | if (dict.keys.contains("avatar") && (dict["avatar"] as! String).count > 0) { |
| 248 | 255 | avatarView.isHidden = false | ... | ... |
metaCode/Classes/Main/MinePage/View/CNLiveMineHeaderView.swift
| ... | ... | @@ -15,8 +15,6 @@ class MineHeaderView : UIView { |
| 15 | 15 | |
| 16 | 16 | let iconView = UIImageView.init() |
| 17 | 17 | iconView.image = UIImage(named: "mine_header_icon_defult_ava") |
| 18 | - iconView.kf.indicatorType = .activity | |
| 19 | - iconView.kf.setImage(with: URL(string: UserInfoManager.shared.userInfo.bigFaceUrl), placeholder: UIImage(named: "mine_header_icon_defult_ava")) | |
| 20 | 18 | iconView.backgroundColor = .clear |
| 21 | 19 | iconView.layer.cornerRadius = 30 |
| 22 | 20 | iconView.layer.masksToBounds = true |
| ... | ... | @@ -29,7 +27,6 @@ class MineHeaderView : UIView { |
| 29 | 27 | |
| 30 | 28 | lazy var nameLabel: UILabel = { |
| 31 | 29 | let nameLabel = UILabel.init() |
| 32 | - nameLabel.text = UserInfoManager.shared.userInfo.nickName | |
| 33 | 30 | nameLabel.textColor = .white |
| 34 | 31 | nameLabel.font = Font_16 |
| 35 | 32 | return nameLabel |
| ... | ... | @@ -65,6 +62,10 @@ class MineHeaderView : UIView { |
| 65 | 62 | make.right.equalToSuperview().offset(-15) |
| 66 | 63 | make.size.equalTo(30) |
| 67 | 64 | } |
| 65 | + | |
| 66 | + iconView.kf.indicatorType = .activity | |
| 67 | + iconView.kf.setImage(with: URL(string: UserInfoManager.shared.userInfo.bigFaceUrl), placeholder: UIImage(named: "mine_header_icon_defult_ava")) | |
| 68 | + nameLabel.text = UserInfoManager.shared.userInfo.nickName | |
| 68 | 69 | } |
| 69 | 70 | |
| 70 | 71 | required init?(coder: NSCoder) { | ... | ... |
metaCode/Classes/Main/MinePage/View/CNLiveMineInfoAlertView.swift
| ... | ... | @@ -7,10 +7,10 @@ |
| 7 | 7 | |
| 8 | 8 | import Foundation |
| 9 | 9 | |
| 10 | -enum CNLiveMineInfoAlertShowType { | |
| 11 | - case gender | |
| 12 | - case birthday | |
| 13 | -} | |
| 10 | +//enum CNLiveMineInfoAlertShowType { | |
| 11 | +// case gender | |
| 12 | +// case birthday | |
| 13 | +//} | |
| 14 | 14 | |
| 15 | 15 | typealias CloseGenderResultBlock = (_ text: String) ->Void |
| 16 | 16 | class MineInfoAlertView: UIView { |
| ... | ... | @@ -147,8 +147,10 @@ class MineInfoAlertView: UIView { |
| 147 | 147 | return closeButton |
| 148 | 148 | }() |
| 149 | 149 | |
| 150 | - var gender: String? | |
| 150 | + var gender: String? = UserInfoManager.shared.userInfo.gender | |
| 151 | + var birthday: String? = UserInfoManager.shared.userInfo.birthday | |
| 151 | 152 | var result: CloseGenderResultBlock? |
| 153 | + var type: CNLiveMineRequestType? | |
| 152 | 154 | override init(frame: CGRect) { |
| 153 | 155 | super.init(frame: frame) |
| 154 | 156 | |
| ... | ... | @@ -169,7 +171,7 @@ class MineInfoAlertView: UIView { |
| 169 | 171 | |
| 170 | 172 | wBtn.isSelected = UserInfoManager.shared.userInfo.gender == "男" |
| 171 | 173 | mBtn.isSelected = UserInfoManager.shared.userInfo.gender == "女" |
| 172 | - wView.isHidden = UserInfoManager.shared.userInfo.gender == "男" | |
| 174 | + mView.isHidden = UserInfoManager.shared.userInfo.gender == "男" | |
| 173 | 175 | wView.isHidden = UserInfoManager.shared.userInfo.gender == "女" |
| 174 | 176 | |
| 175 | 177 | setConstraints() |
| ... | ... | @@ -245,10 +247,10 @@ class MineInfoAlertView: UIView { |
| 245 | 247 | |
| 246 | 248 | } |
| 247 | 249 | |
| 248 | - static public func showSelectView(showType: CNLiveMineInfoAlertShowType, result: @escaping CloseGenderResultBlock){ | |
| 250 | + static public func showSelectView(showType: CNLiveMineRequestType, result: @escaping CloseGenderResultBlock){ | |
| 249 | 251 | let pickerView = MineInfoAlertView() |
| 250 | 252 | pickerView.result = result |
| 251 | - | |
| 253 | + pickerView.type = showType | |
| 252 | 254 | switch showType { |
| 253 | 255 | case .gender: |
| 254 | 256 | pickerView.nameLable.text = "设置性别" |
| ... | ... | @@ -258,6 +260,12 @@ class MineInfoAlertView: UIView { |
| 258 | 260 | pickerView.nameLable.text = "选择生日" |
| 259 | 261 | pickerView.contentView.isHidden = true |
| 260 | 262 | pickerView.datePicker.isHidden = false |
| 263 | + case .nickName: | |
| 264 | + break | |
| 265 | + case .email: | |
| 266 | + break | |
| 267 | + case .location: | |
| 268 | + break | |
| 261 | 269 | } |
| 262 | 270 | |
| 263 | 271 | let window = UIApplication.shared.windows.last |
| ... | ... | @@ -287,12 +295,35 @@ class MineInfoAlertView: UIView { |
| 287 | 295 | let formatter = DateFormatter() |
| 288 | 296 | formatter.dateFormat = "yyyy-MM-dd" |
| 289 | 297 | print("\(formatter.string(from: datePicker.date))") |
| 290 | - result!(formatter.string(from: datePicker.date)) | |
| 298 | + birthday = formatter.string(from: datePicker.date) | |
| 291 | 299 | } |
| 292 | 300 | |
| 293 | 301 | @objc func setupDoneButtonAction() { |
| 294 | 302 | print("进行更改\(gender ?? "")") |
| 295 | 303 | removeFromSuperview() |
| 304 | + var value = "" | |
| 305 | + if type == .birthday { | |
| 306 | + value = birthday ?? "" | |
| 307 | + } | |
| 308 | + if type == .gender { | |
| 309 | + value = gender ?? "" | |
| 310 | + } | |
| 311 | + CNLiveMineViewModel.requestUpdateUserInfoAction(type: type!, value: value) { [self] in | |
| 312 | + let userInfo = UserInfoManager.shared.userInfo | |
| 313 | + if type == .gender { | |
| 314 | + if (value == "m") { | |
| 315 | + userInfo.gender = "男" | |
| 316 | + } | |
| 317 | + if (value == "f") { | |
| 318 | + userInfo.gender = "女" | |
| 319 | + } | |
| 320 | + } | |
| 321 | + if type == .birthday { | |
| 322 | + userInfo.birthday = value | |
| 323 | + } | |
| 324 | + UserInfoManager.shared.cacheUserInfo(userInfo: userInfo) | |
| 325 | + result!(value) | |
| 326 | + } | |
| 296 | 327 | } |
| 297 | 328 | |
| 298 | 329 | @objc func setupCloseButtonAction() -> Void { |
| ... | ... | @@ -304,8 +335,7 @@ class MineInfoAlertView: UIView { |
| 304 | 335 | wBtn.isSelected = !sender.isSelected |
| 305 | 336 | mView.isHidden = !sender.isSelected |
| 306 | 337 | wView.isHidden = sender.isSelected |
| 307 | - gender = "m" | |
| 308 | - result!("女") | |
| 338 | + gender = "f" | |
| 309 | 339 | } |
| 310 | 340 | |
| 311 | 341 | @objc func wClickAction(sender: UIButton) { |
| ... | ... | @@ -313,7 +343,6 @@ class MineInfoAlertView: UIView { |
| 313 | 343 | mBtn.isSelected = !sender.isSelected |
| 314 | 344 | wView.isHidden = !sender.isSelected |
| 315 | 345 | mView.isHidden = sender.isSelected |
| 316 | - gender = "w" | |
| 317 | - result!("男") | |
| 346 | + gender = "m" | |
| 318 | 347 | } |
| 319 | 348 | } | ... | ... |
metaCode/Classes/Main/MinePage/ViewModel/CNLiveMineViewModel.swift
| ... | ... | @@ -28,7 +28,7 @@ class CNLiveMineViewModel: NSObject { |
| 28 | 28 | /// - value: 对应的信息,性别,m:男、f:女、n:未知 |
| 29 | 29 | static func requestUpdateUserInfoAction(type: CNLiveMineRequestType,value: String, resultBlock: @escaping resultSuccessBlock) { |
| 30 | 30 | |
| 31 | - var param = NSMutableDictionary.init() | |
| 31 | + let param = NSMutableDictionary.init() | |
| 32 | 32 | if type == .nickName { |
| 33 | 33 | param.setValue("nickName", forKey: "type") |
| 34 | 34 | param.setValue(value, forKey: "value") |
| ... | ... | @@ -47,11 +47,16 @@ class CNLiveMineViewModel: NSObject { |
| 47 | 47 | param.setValue(value, forKey: "value") |
| 48 | 48 | } |
| 49 | 49 | if type == .birthday { |
| 50 | - param.setValue("nickName", forKey: "type") | |
| 50 | + param.setValue("birthday", forKey: "type") | |
| 51 | 51 | param.setValue(value, forKey: "value") |
| 52 | 52 | } |
| 53 | - | |
| 53 | + param.setValue(UserInfoManager.shared.userInfo.uid, forKey: "uid") | |
| 54 | + param.setValue(UserInfoManager.shared.userInfo.token, forKey: "token") | |
| 55 | + tip.showLoading(message: "") | |
| 56 | + CNLiveNetworking.setAllowRequestDefaultArgument(true) | |
| 57 | + CNLiveNetworking.setupShowDataResult(false) | |
| 54 | 58 | CNLiveNetworking.requestNetwork(with: .POST, urlString: "/open/api2/user/updateUserById", param: param as! [String : Any], cacheType: .networkOnly) { task, result, error in |
| 59 | + tip.hiddenLoading() | |
| 55 | 60 | if (error == nil) { |
| 56 | 61 | let resp = result as! NSDictionary |
| 57 | 62 | let errorCode = resp["errorCode"] | ... | ... |
metaCode/Supporting Files/Assets.xcassets/MinePage/mine_sub_quest_addd_image.imageset/mine_sub_quest_addd_image@2x.png
metaCode/Supporting Files/Assets.xcassets/MinePage/mine_sub_quest_addd_image.imageset/mine_sub_quest_addd_image@3x.png