Commit 33b8fbc720cd99cbb89759cae90a0e2178352ed3
1 parent
209cfcb3
修改部分问题
Showing
10 changed files
with
86 additions
and
31 deletions
metaCode/Classes/Common/Base/CNLiveBaseTabBarViewController.swift
| @@ -39,9 +39,6 @@ class CNLiveBaseTabBarViewController: UITabBarController | @@ -39,9 +39,6 @@ class CNLiveBaseTabBarViewController: UITabBarController | ||
| 39 | 39 | ||
| 40 | override func viewWillAppear(_ animated: Bool) { | 40 | override func viewWillAppear(_ animated: Bool) { |
| 41 | super.viewWillAppear(animated) | 41 | super.viewWillAppear(animated) |
| 42 | - | ||
| 43 | - | ||
| 44 | - self.selectedIndex = 1 | ||
| 45 | 42 | ||
| 46 | } | 43 | } |
| 47 | override func viewDidAppear(_ animated: Bool) { | 44 | override func viewDidAppear(_ animated: Bool) { |
metaCode/Classes/Main/LoginPage/Controller/CNLiveLoginViewController.swift
| @@ -54,7 +54,7 @@ class CNLiveLoginViewController : CNLiveBaseViewController, UITextViewDelegate { | @@ -54,7 +54,7 @@ class CNLiveLoginViewController : CNLiveBaseViewController, UITextViewDelegate { | ||
| 54 | 54 | ||
| 55 | lazy var loginButton: UIButton = { | 55 | lazy var loginButton: UIButton = { |
| 56 | let loginButton = UIButton(type: .custom) | 56 | let loginButton = UIButton(type: .custom) |
| 57 | - loginButton.setTitle("登 陆", for: .normal) | 57 | + loginButton.setTitle("登 录", for: .normal) |
| 58 | loginButton.setTitleColor(.white, for: .normal) | 58 | loginButton.setTitleColor(.white, for: .normal) |
| 59 | loginButton.titleLabel?.font = BoldFont_16_Fit | 59 | loginButton.titleLabel?.font = BoldFont_16_Fit |
| 60 | loginButton.layer.cornerRadius = 20 | 60 | loginButton.layer.cornerRadius = 20 |
metaCode/Classes/Main/MinePage/Controller/CNLiveMineNickViewController.swift
| @@ -86,7 +86,11 @@ class CNLiveMineNickViewController: CNLiveBaseViewController, UITextFieldDelegat | @@ -86,7 +86,11 @@ class CNLiveMineNickViewController: CNLiveBaseViewController, UITextFieldDelegat | ||
| 86 | 86 | ||
| 87 | 87 | ||
| 88 | @objc func clickSaveAction() { | 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 | func textFieldDidBeginEditing(_ textField: UITextField) { | 96 | func textFieldDidBeginEditing(_ textField: UITextField) { |
metaCode/Classes/Main/MinePage/Controller/CNLiveTypeFeedBackViewController.swift
| @@ -111,6 +111,15 @@ class CNLiveTypeFeedBackViewController : CNLiveBaseViewController, UITableViewDe | @@ -111,6 +111,15 @@ class CNLiveTypeFeedBackViewController : CNLiveBaseViewController, UITableViewDe | ||
| 111 | return tipLabel | 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 | var _show_type:ListShowType! | 123 | var _show_type:ListShowType! |
| 115 | init(show_type:ListShowType) { | 124 | init(show_type:ListShowType) { |
| 116 | super.init(nibName:nil, bundle:nil) | 125 | super.init(nibName:nil, bundle:nil) |
| @@ -123,11 +132,14 @@ class CNLiveTypeFeedBackViewController : CNLiveBaseViewController, UITableViewDe | @@ -123,11 +132,14 @@ class CNLiveTypeFeedBackViewController : CNLiveBaseViewController, UITableViewDe | ||
| 123 | 132 | ||
| 124 | 133 | ||
| 125 | override func viewWillAppear(_ animated: Bool) { | 134 | override func viewWillAppear(_ animated: Bool) { |
| 126 | - navigationBarHidden = false | 135 | + if _show_type == .info { |
| 136 | + updateWithDataSource() | ||
| 137 | + } | ||
| 127 | } | 138 | } |
| 128 | 139 | ||
| 129 | override func viewDidLoad() { | 140 | override func viewDidLoad() { |
| 130 | super.viewDidLoad() | 141 | super.viewDidLoad() |
| 142 | + navigationBarHidden = false | ||
| 131 | switch _show_type { | 143 | switch _show_type { |
| 132 | case .feedback: | 144 | case .feedback: |
| 133 | titleName = "反馈类型" | 145 | titleName = "反馈类型" |
| @@ -175,7 +187,7 @@ class CNLiveTypeFeedBackViewController : CNLiveBaseViewController, UITableViewDe | @@ -175,7 +187,7 @@ class CNLiveTypeFeedBackViewController : CNLiveBaseViewController, UITableViewDe | ||
| 175 | @objc func logoutAction() -> Void { | 187 | @objc func logoutAction() -> Void { |
| 176 | AlertTool.systemActionSheet(title: nil, message: nil, actionTitles: ["退出登录"]) { index in | 188 | AlertTool.systemActionSheet(title: nil, message: nil, actionTitles: ["退出登录"]) { index in |
| 177 | if index == 1 { | 189 | if index == 1 { |
| 178 | - | 190 | + UserInfoManager.shared.clearUserInfo() |
| 179 | let window = UIApplication.shared.delegate?.window | 191 | let window = UIApplication.shared.delegate?.window |
| 180 | window??.rootViewController = CNLiveLoginViewController.init() | 192 | window??.rootViewController = CNLiveLoginViewController.init() |
| 181 | } | 193 | } |
| @@ -275,14 +287,14 @@ extension CNLiveTypeFeedBackViewController { | @@ -275,14 +287,14 @@ extension CNLiveTypeFeedBackViewController { | ||
| 275 | } | 287 | } |
| 276 | if indexPath.section == 2 { | 288 | if indexPath.section == 2 { |
| 277 | let cell = tableView.cellForRow(at: indexPath) as! MineBodyTwoListViewCell | 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 | if indexPath.section == 3 { | 294 | if indexPath.section == 3 { |
| 283 | let cell = tableView.cellForRow(at: indexPath) as! MineBodyTwoListViewCell | 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,7 +242,14 @@ class MineBodyTwoListViewCell : UITableViewCell { | ||
| 242 | if show_type == .info { | 242 | if show_type == .info { |
| 243 | moreLabel.font = Font_15_Fit | 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 | if (dict.keys.contains("avatar") && (dict["avatar"] as! String).count > 0) { | 254 | if (dict.keys.contains("avatar") && (dict["avatar"] as! String).count > 0) { |
| 248 | avatarView.isHidden = false | 255 | avatarView.isHidden = false |
metaCode/Classes/Main/MinePage/View/CNLiveMineHeaderView.swift
| @@ -15,8 +15,6 @@ class MineHeaderView : UIView { | @@ -15,8 +15,6 @@ class MineHeaderView : UIView { | ||
| 15 | 15 | ||
| 16 | let iconView = UIImageView.init() | 16 | let iconView = UIImageView.init() |
| 17 | iconView.image = UIImage(named: "mine_header_icon_defult_ava") | 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 | iconView.backgroundColor = .clear | 18 | iconView.backgroundColor = .clear |
| 21 | iconView.layer.cornerRadius = 30 | 19 | iconView.layer.cornerRadius = 30 |
| 22 | iconView.layer.masksToBounds = true | 20 | iconView.layer.masksToBounds = true |
| @@ -29,7 +27,6 @@ class MineHeaderView : UIView { | @@ -29,7 +27,6 @@ class MineHeaderView : UIView { | ||
| 29 | 27 | ||
| 30 | lazy var nameLabel: UILabel = { | 28 | lazy var nameLabel: UILabel = { |
| 31 | let nameLabel = UILabel.init() | 29 | let nameLabel = UILabel.init() |
| 32 | - nameLabel.text = UserInfoManager.shared.userInfo.nickName | ||
| 33 | nameLabel.textColor = .white | 30 | nameLabel.textColor = .white |
| 34 | nameLabel.font = Font_16 | 31 | nameLabel.font = Font_16 |
| 35 | return nameLabel | 32 | return nameLabel |
| @@ -65,6 +62,10 @@ class MineHeaderView : UIView { | @@ -65,6 +62,10 @@ class MineHeaderView : UIView { | ||
| 65 | make.right.equalToSuperview().offset(-15) | 62 | make.right.equalToSuperview().offset(-15) |
| 66 | make.size.equalTo(30) | 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 | required init?(coder: NSCoder) { | 71 | required init?(coder: NSCoder) { |
metaCode/Classes/Main/MinePage/View/CNLiveMineInfoAlertView.swift
| @@ -7,10 +7,10 @@ | @@ -7,10 +7,10 @@ | ||
| 7 | 7 | ||
| 8 | import Foundation | 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 | typealias CloseGenderResultBlock = (_ text: String) ->Void | 15 | typealias CloseGenderResultBlock = (_ text: String) ->Void |
| 16 | class MineInfoAlertView: UIView { | 16 | class MineInfoAlertView: UIView { |
| @@ -147,8 +147,10 @@ class MineInfoAlertView: UIView { | @@ -147,8 +147,10 @@ class MineInfoAlertView: UIView { | ||
| 147 | return closeButton | 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 | var result: CloseGenderResultBlock? | 152 | var result: CloseGenderResultBlock? |
| 153 | + var type: CNLiveMineRequestType? | ||
| 152 | override init(frame: CGRect) { | 154 | override init(frame: CGRect) { |
| 153 | super.init(frame: frame) | 155 | super.init(frame: frame) |
| 154 | 156 | ||
| @@ -169,7 +171,7 @@ class MineInfoAlertView: UIView { | @@ -169,7 +171,7 @@ class MineInfoAlertView: UIView { | ||
| 169 | 171 | ||
| 170 | wBtn.isSelected = UserInfoManager.shared.userInfo.gender == "男" | 172 | wBtn.isSelected = UserInfoManager.shared.userInfo.gender == "男" |
| 171 | mBtn.isSelected = UserInfoManager.shared.userInfo.gender == "女" | 173 | mBtn.isSelected = UserInfoManager.shared.userInfo.gender == "女" |
| 172 | - wView.isHidden = UserInfoManager.shared.userInfo.gender == "男" | 174 | + mView.isHidden = UserInfoManager.shared.userInfo.gender == "男" |
| 173 | wView.isHidden = UserInfoManager.shared.userInfo.gender == "女" | 175 | wView.isHidden = UserInfoManager.shared.userInfo.gender == "女" |
| 174 | 176 | ||
| 175 | setConstraints() | 177 | setConstraints() |
| @@ -245,10 +247,10 @@ class MineInfoAlertView: UIView { | @@ -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 | let pickerView = MineInfoAlertView() | 251 | let pickerView = MineInfoAlertView() |
| 250 | pickerView.result = result | 252 | pickerView.result = result |
| 251 | - | 253 | + pickerView.type = showType |
| 252 | switch showType { | 254 | switch showType { |
| 253 | case .gender: | 255 | case .gender: |
| 254 | pickerView.nameLable.text = "设置性别" | 256 | pickerView.nameLable.text = "设置性别" |
| @@ -258,6 +260,12 @@ class MineInfoAlertView: UIView { | @@ -258,6 +260,12 @@ class MineInfoAlertView: UIView { | ||
| 258 | pickerView.nameLable.text = "选择生日" | 260 | pickerView.nameLable.text = "选择生日" |
| 259 | pickerView.contentView.isHidden = true | 261 | pickerView.contentView.isHidden = true |
| 260 | pickerView.datePicker.isHidden = false | 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 | let window = UIApplication.shared.windows.last | 271 | let window = UIApplication.shared.windows.last |
| @@ -287,12 +295,35 @@ class MineInfoAlertView: UIView { | @@ -287,12 +295,35 @@ class MineInfoAlertView: UIView { | ||
| 287 | let formatter = DateFormatter() | 295 | let formatter = DateFormatter() |
| 288 | formatter.dateFormat = "yyyy-MM-dd" | 296 | formatter.dateFormat = "yyyy-MM-dd" |
| 289 | print("\(formatter.string(from: datePicker.date))") | 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 | @objc func setupDoneButtonAction() { | 301 | @objc func setupDoneButtonAction() { |
| 294 | print("进行更改\(gender ?? "")") | 302 | print("进行更改\(gender ?? "")") |
| 295 | removeFromSuperview() | 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 | @objc func setupCloseButtonAction() -> Void { | 329 | @objc func setupCloseButtonAction() -> Void { |
| @@ -304,8 +335,7 @@ class MineInfoAlertView: UIView { | @@ -304,8 +335,7 @@ class MineInfoAlertView: UIView { | ||
| 304 | wBtn.isSelected = !sender.isSelected | 335 | wBtn.isSelected = !sender.isSelected |
| 305 | mView.isHidden = !sender.isSelected | 336 | mView.isHidden = !sender.isSelected |
| 306 | wView.isHidden = sender.isSelected | 337 | wView.isHidden = sender.isSelected |
| 307 | - gender = "m" | ||
| 308 | - result!("女") | 338 | + gender = "f" |
| 309 | } | 339 | } |
| 310 | 340 | ||
| 311 | @objc func wClickAction(sender: UIButton) { | 341 | @objc func wClickAction(sender: UIButton) { |
| @@ -313,7 +343,6 @@ class MineInfoAlertView: UIView { | @@ -313,7 +343,6 @@ class MineInfoAlertView: UIView { | ||
| 313 | mBtn.isSelected = !sender.isSelected | 343 | mBtn.isSelected = !sender.isSelected |
| 314 | wView.isHidden = !sender.isSelected | 344 | wView.isHidden = !sender.isSelected |
| 315 | mView.isHidden = sender.isSelected | 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,7 +28,7 @@ class CNLiveMineViewModel: NSObject { | ||
| 28 | /// - value: 对应的信息,性别,m:男、f:女、n:未知 | 28 | /// - value: 对应的信息,性别,m:男、f:女、n:未知 |
| 29 | static func requestUpdateUserInfoAction(type: CNLiveMineRequestType,value: String, resultBlock: @escaping resultSuccessBlock) { | 29 | static func requestUpdateUserInfoAction(type: CNLiveMineRequestType,value: String, resultBlock: @escaping resultSuccessBlock) { |
| 30 | 30 | ||
| 31 | - var param = NSMutableDictionary.init() | 31 | + let param = NSMutableDictionary.init() |
| 32 | if type == .nickName { | 32 | if type == .nickName { |
| 33 | param.setValue("nickName", forKey: "type") | 33 | param.setValue("nickName", forKey: "type") |
| 34 | param.setValue(value, forKey: "value") | 34 | param.setValue(value, forKey: "value") |
| @@ -47,11 +47,16 @@ class CNLiveMineViewModel: NSObject { | @@ -47,11 +47,16 @@ class CNLiveMineViewModel: NSObject { | ||
| 47 | param.setValue(value, forKey: "value") | 47 | param.setValue(value, forKey: "value") |
| 48 | } | 48 | } |
| 49 | if type == .birthday { | 49 | if type == .birthday { |
| 50 | - param.setValue("nickName", forKey: "type") | 50 | + param.setValue("birthday", forKey: "type") |
| 51 | param.setValue(value, forKey: "value") | 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 | CNLiveNetworking.requestNetwork(with: .POST, urlString: "/open/api2/user/updateUserById", param: param as! [String : Any], cacheType: .networkOnly) { task, result, error in | 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 | if (error == nil) { | 60 | if (error == nil) { |
| 56 | let resp = result as! NSDictionary | 61 | let resp = result as! NSDictionary |
| 57 | let errorCode = resp["errorCode"] | 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