// // PublishRecommendMusicController.swift // RainbowPlanet // // Created by Christopher on 2019/7/16. // Copyright © 2019 RainbowPlanet. All rights reserved. // 推荐音乐 import UIKit import IQKeyboardManagerSwift import SwiftyMediator class PublishRecommendMusicController: BaseViewController { override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } override func viewDidLoad() { super.viewDidLoad() setupViews() setupLayouts() setupData() } override func setupViews() { statusBarStyle = .lightContent navigationBar.barBackgroundColor = UIColor.black navigationBar.title = "推荐音乐" navigationBar.titleLabelColor = kffffffColor navigationBar.wr_setLeftButton(image: kImage(name: "navbar_back_white")!) self.view.backgroundColor = UIColor.black navigationBar.wr_setRightButton(title: "提交", titleColor: kffffffColor) navigationBar.rightButton.titleLabel!.font = kRegularFont14 navigationBar.onClickRightButton = { [weak self] in let name = self?.nameTextView.text let url = self?.linkTextView.text if name == nil || name == "" { SwiftProgressHUD.shared().showText("请填写歌曲名称") return } self?.communityUploadMusicApi(name!, url ?? "") } view.addSubview(cardBackView) cardBackView.addSubview(sepLineView) cardBackView.addSubview(nameTextView) cardBackView.addSubview(linkTextView) view.addSubview(recommendLabel) view.addSubview(recommendButton) } override func setupLayouts() { cardBackView.snp.makeConstraints { (make) in make.top.equalTo(kSafeStatusBarHeight + 44 + 20) make.left.equalTo(14) make.right.equalTo(-14) make.height.equalTo(160) } sepLineView.snp.makeConstraints { (make) in make.top.equalTo(80) make.left.equalTo(15) make.right.equalTo(-15) make.height.equalTo(0.5) } nameTextView.snp.makeConstraints { (make) in make.top.equalTo(20) make.left.equalTo(15) make.right.equalTo(-15) make.height.equalTo(40) } linkTextView.snp.makeConstraints { (make) in make.bottom.equalTo(-20) make.left.equalTo(15) make.right.equalTo(-15) make.height.equalTo(40) } recommendLabel.snp.makeConstraints { (make) in make.centerX.equalTo(kScreenWidth*0.5-25) make.bottom.equalTo(-(kSafeTabBarHeight+15)) make.height.equalTo(20) } recommendButton.snp.makeConstraints { (make) in make.left.equalTo(recommendLabel.snp_right).offset(2) make.height.equalTo(30) make.centerY.equalTo(recommendLabel.snp_centerY) make.width.equalTo(75) } } override func setupData() { } lazy var cardBackView: UIView = { let cardBackView = UIView() cardBackView.backgroundColor = kffffffColor cardBackView.cornerRadius = 8 cardBackView.masksToBounds = true return cardBackView }() lazy var sepLineView: UIView = { let sepLineView = UIView() sepLineView.backgroundColor = k999999Color return sepLineView }() private lazy var nameTextView: IQTextView = { let nameTextView = IQTextView() nameTextView.backgroundColor = kffffffColor nameTextView.textColor = UIColor.black nameTextView.font = kRegularFont16 nameTextView.placeholder = "输入歌曲名称" nameTextView.placeholderTextColor = k999999Color nameTextView.delegate = self return nameTextView }() private lazy var linkTextView: IQTextView = { let linkTextView = IQTextView() linkTextView.backgroundColor = kffffffColor linkTextView.textColor = UIColor.black linkTextView.font = kRegularFont16 linkTextView.placeholder = "输入歌曲链接(选填)" linkTextView.placeholderTextColor = k999999Color linkTextView.delegate = self return linkTextView }() lazy var recommendLabel: UILabel = { let recommendLabel = UILabel() recommendLabel.text = "点击提交代表您同意" recommendLabel.textColor = k999999Color recommendLabel.font = kRegularFont12 return recommendLabel }() lazy var recommendButton: UIButton = { let recommendButton = UIButton(type: UIButton.ButtonType.custom) recommendButton.setTitle("内容授权协议", for: UIControl.State.normal) recommendButton.setTitleColor(kffffffColor, for: UIControl.State.normal) recommendButton.titleLabel?.font = kMediumFont12 recommendButton.rx.tap.subscribe(onNext: { [weak self] (data) in Mediator.push(H5RouterModuleType.pushContentId7) }).disposed(by: disposeBag) return recommendButton }() } // MARK: - extension PublishRecommendMusicController: UITextViewDelegate { func textViewDidChange(_ textView: UITextView) { if textView == nameTextView { var fullStr = textView.text ?? "" if textView.text?.count ?? 0 > 180 { fullStr = String(fullStr.prefix(150)) as String textView.text = fullStr } } else if textView == linkTextView { var fullStr = textView.text ?? "" if textView.text?.count ?? 0 > 180 { fullStr = String(fullStr.prefix(150)) as String textView.text = fullStr } } } } extension PublishRecommendMusicController { /// 用户上传音乐 func communityUploadMusicApi(_ name: String, _ url: String) { let userName = UserModel.shared().getModel()?.username ?? "" let uid = UserModel.shared().getModel()?.uid ?? 0 SwiftMoyaNetWorkServiceCommunity.shared().communityUploadMusicApi(name: name.trimmingCharacters(in: .whitespaces), username: userName, url: url, uid: uid) {[weak self] (data) -> (Void) in // 上传成功,返回 SwiftProgressHUD.shared().showText("提交成功") self?.navigationController?.popViewController(animated: true) } } }