XQMuse/Root/Course/CCell/CourseOfficalCommendTopCCell.swift
@@ -35,7 +35,9 @@ bannerModels = items view_bannerContentView.setItems(items: items) { m in if let id = m.courseId?.int{ JQ_currentNavigationController().pushViewController(CourseDetialVC(courseId: id)) let courseDetialVC = CourseDetialVC(courseId: id) courseDetialVC.hidesBottomBarWhenPushed = true JQ_currentNavigationController().pushViewController(courseDetialVC) } } } XQMuse/Root/Course/VC/CourseDetialVC.swift
@@ -132,6 +132,8 @@ Services.getCourseDetail(courseId: courseId).subscribe(onNext: {data in if let m = data.data{ self.courseDetailModel = m self.collect_bitem.image = m.isCollect == .yes ? UIImage(named: "btn_collect_1_s"):UIImage(named: "btn_collect") self.collect_bitem.tintColor = m.isCollect == .yes ? UIColor(hexString: "#fe5b60"):.white self.headerView.setCourseModel(m) self.section1TCell.setItems(m) self.section2TCell.setItems(m.list2) @@ -222,7 +224,7 @@ } @objc func collectionAction(){ Services.meditationFavorite(id: courseId).subscribe(onNext: {data in Services.clouseFavorite(id: courseId).subscribe(onNext: {data in self.courseDetailModel?.isCollect.troggle() if self.courseDetailModel?.isCollect == .yes{ alertSuccess(msg: "收藏成功") @@ -352,17 +354,14 @@ (navigationItem.leftBarButtonItem?.customView as? UIButton)?.setImage(UIImage(named: "btn_back")?.withTintColor(.black.withAlphaComponent(v)), for: .normal) (navigationItem.rightBarButtonItem?.customView as? UIButton)?.setImage(UIImage(named: "btn_back")?.withTintColor(.black.withAlphaComponent(v)), for: .normal) collect_bitem.tintColor = .black collect_bitem.tintColor = UIColor(hexString: "#fe5b60") share_bitem.tintColor = .black self.navigationController?.navigationBar.titleTextAttributes = [.foregroundColor:Def_NavFontColor.withAlphaComponent(v),.font:Def_NavFont] barStyle = .darkContent }else{ collect_bitem.tintColor = .white collect_bitem.tintColor = self.courseDetailModel?.isCollect == .yes ? UIColor(hexString: "#fe5b60"):.white share_bitem.tintColor = .white (navigationItem.leftBarButtonItem?.customView as? UIButton)?.setImage(UIImage(named: "btn_back")?.withTintColor(.white), for: .normal) XQMuse/Root/Course/VC/CourseDetialVideoVC.swift
@@ -39,7 +39,7 @@ guard secondLook > 0 else {return} Services.watchClouse(chapterId: item.id, isOver: isOver, minuteLook: 0, secondLook: secondLook).subscribe(onNext: { _ in Services.watchClouse(chapterId: item.id, isOver: isOver, secondLook: secondLook).subscribe(onNext: { _ in }).disposed(by: disposeBag) } XQMuse/Root/Home/CCell/HomeRelaxBanner_2_CCell.swift
@@ -47,7 +47,8 @@ label_title.text = model.meditationTitle label_subTitle.text = model.coverDescription label_num.text = "\(model.realLearnedNum)" img_vip.isHidden = model.chargeType != .vipFree setChargePrice(model.chargeType, price: model.generalPrice) } func setCourseModel(_ model:CourseModel){ @@ -57,11 +58,15 @@ label_num.text = "\(model.count)" img_vip.isHidden = model.isVip != .yes switch model.chargeType { setChargePrice(model.chargeType, price: model.generalPrice) } private func setChargePrice(_ type:ChargeType,price:Double){ switch type { case .payment: image_free.isHidden = true view_price.isHidden = false label_price.attributedText = AttributedStringbuilder.build().add(string: "¥", withFont: UIFont(name: "DIN-Bold", size: 7.11) ?? UIFont.systemFont(ofSize: 7, weight: .bold), withColor: .white).add(string: model.generalPrice.jq_formatFloat, withFont: UIFont(name: "DIN-Bold", size: 11.44) ?? .systemFont(ofSize: 11,weight: .bold), withColor: .white).mutableAttributedString label_price.attributedText = AttributedStringbuilder.build().add(string: "¥", withFont: UIFont(name: "DIN-Bold", size: 7.11) ?? UIFont.systemFont(ofSize: 7, weight: .bold), withColor: .white).add(string: price.jq_formatFloat, withFont: UIFont(name: "DIN-Bold", size: 11.44) ?? .systemFont(ofSize: 11,weight: .bold), withColor: .white).mutableAttributedString case .free: image_free.isHidden = false view_price.isHidden = true @@ -71,5 +76,5 @@ view_price.isHidden = true img_vip.isHidden = false } } } } XQMuse/Root/Home/VC/CommentListVC.swift
@@ -29,11 +29,10 @@ @IBOutlet weak var cons_height: NSLayoutConstraint! private var viewModel = CommentListViewModel() private var id:Int! init(id:Int) { super.init(nibName: nil, bundle: nil) self.id = id self.viewModel.id.accept(id) } required init?(coder: NSCoder) { @@ -78,10 +77,9 @@ } tf_input.resignFirstResponder() Services.addQuestion(content: tf_input.text!, meditationId: id).subscribe(onNext: {_ in }, onError: {_ in Services.addQuestion(meditationId: viewModel.id.value, content: tf_input.text!).subscribe(onNext: {[weak self] _ in self?.viewModel.beginRefresh() self?.tf_input.text = "" }).disposed(by: disposeBag) } @@ -139,7 +137,7 @@ func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "_CommentReplyTCell", for: indexPath) as? CommentReplyTCell let v = viewModel.dataSource.value?.list[indexPath.row] let v = viewModel.dataSource.value?.list[indexPath.section] cell?.setText(text: v?.replyContent ?? "") return cell! } XQMuse/Root/Home/VC/PaymentOrderResultVC.swift
@@ -29,13 +29,13 @@ super.viewDidLoad() title = "支付结果" //如果从支付过来的,移除支付 navigationController!.viewControllers.removeAll { vc in if vc is PaymentOrderResultVC || vc is PaymentOrderVC{ return true } return false } // //如果从支付过来的,移除支付 // navigationController!.viewControllers.removeAll { vc in // if vc is PaymentOrderResultVC || vc is PaymentOrderVC{ // return true // } // return false // } NotificationCenter.default.post(name: CourseRefresh_Noti, object: nil) XQMuse/Root/Home/View/CommentCommentHeaderView.swift
@@ -7,6 +7,7 @@ import UIKit import JQTools import RxSwift class CommentCommentHeaderView: UITableViewHeaderFooterView { @@ -15,6 +16,9 @@ private var label_content:UILabel! private var btn_belike:UIButton! private var label_datetime:UILabel! private var model:CommentModel? private var disposeBag:DisposeBag? override init(reuseIdentifier: String?) { super.init(reuseIdentifier: reuseIdentifier) @@ -47,7 +51,9 @@ } btn_belike = UIButton(type: .custom) btn_belike.setImage(UIImage(named: "btn_good"), for: .normal) btn_belike.setImage(UIImage(named: "btn_good")?.withTintColor(UIColor(hexStr: "fe5b60")), for: .selected) btn_belike.setImage(UIImage(named: "btn_good"), for: .normal) btn_belike.addTarget(self, action: #selector(belike), for: .touchUpInside) contentView.addSubview(btn_belike) btn_belike.snp.makeConstraints { make in make.width.height.equalTo(30) @@ -56,7 +62,6 @@ } label_content = UILabel() label_content.text = "众生皆苦,心态放好众生皆苦,心态放好众生皆苦,心态放好众生皆苦,心态放好众生皆苦,心态放好众生皆苦,心态放好众生皆苦,心态放好众生皆苦,心态放好众生皆苦,心态放好众生皆苦,心态放好众生皆苦,心态放好众生皆苦,心态放好众生皆苦,心态放好众生皆苦,心态放好众生皆苦,心态放好" label_content.font = UIFont.systemFont(ofSize: 12.5, weight: .bold) label_content.numberOfLines = 0 label_content.textColor = UIColor(hexString: "#383838") @@ -69,7 +74,6 @@ } label_datetime = UILabel() label_datetime.text = "2024-10-25 21:23" label_datetime.font = UIFont.systemFont(ofSize: 9.41, weight: .medium) label_datetime.textColor = UIColor(hexString: "#B6B6B6") contentView.addSubview(label_datetime) @@ -79,16 +83,26 @@ make.height.equalTo(7) make.bottom.equalToSuperview().offset(-10) } } func setCommentModel(_ model:CommentModel){ self.model = model img_userCover.sd_setImage(with: URL(string: model.nickname)) label_content.text = model.content label_userName.text = model.nickname btn_belike.isSelected = model.like == .yes label_datetime.text = model.publishTime } @objc func belike(_ button:UIButton){ guard let m = model else {return} disposeBag = DisposeBag() Services.likeQuesiton(id: m.id).subscribe(onNext: {[weak self ] _ in self?.model?.like.troggle() self?.btn_belike.isSelected = self?.model?.like == .yes }).disposed(by: disposeBag!) } required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } XQMuse/Root/Login/LoginVC.swift
@@ -13,6 +13,7 @@ let LoginSuccess_Noti = Notification.Name.init("LoginSuccess_Noti") let LoginQuit_Noti = Notification.Name.init("LoginQuit_Noti") class LoginViewModel{ var loginType = BehaviorRelay<LoginType>(value:.pwd) @@ -64,7 +65,6 @@ private var viewModel = LoginViewModel() private let unlineImageView = UIImageView(image: UIImage(named: "icon_unline")) override func viewDidLoad() { super.viewDidLoad() @@ -256,8 +256,6 @@ push(vc: vc) } override func viewDidLayoutSubviews() { super.viewDidLayoutSubviews() view_content.jq_gradientColor(colorArr: [UIColor(hexStr: "#F3FFF8").cgColor,UIColor.white.cgColor], cornerRadius: 30, startPoint: CGPoint(x: 0, y: 0), endPoint: CGPoint(x: 0, y: 1), bounds: nil, locations: [0.01,0.5]) XQMuse/Root/Me/MeVC.swift
@@ -82,22 +82,41 @@ self.getData() self.queryNotice() }).disposed(by: disposeBag) NotificationCenter.default.rx.notification(LoginQuit_Noti).take(until: self.rx.deallocated).subscribe(onNext: {data in self.label_userName.text = "请先登录" self.image_userAvatar.image = nil self.label_phone.text = "" self.label_totalDay.attributedText = AttributedStringbuilder.build().add(string: "0", withFont: UIFont.init(name: "PingFang-SC-Regular", size: 60)!, withColor: UIColor(hexString: "#152715")!).add(string: "天", withFont: .systemFont(ofSize: 16), withColor: UIColor(hexString: "#152715")!).mutableAttributedString self.image_medal.image = nil self.label_sustainDay.attributedText = AttributedStringbuilder.build().add(string: "0", withFont: .systemFont(ofSize: 23), withColor: UIColor(hexString: "#152715")!).add(string: "天", withFont: .systemFont(ofSize: 12), withColor: UIColor(hexString: "#152715")!).mutableAttributedString self.image_vipBg.image = UIImage(named: "bg_vip_u") self.label_vipInfo.text = "升级为高级会员,解锁全部体验" self.label_expirtTime.text = "你还未开通会员服务" }).disposed(by: disposeBag) } private func getData(){ Services.getUserInfo().subscribe(onNext: {[weak self] data in if let model = data.data{ Services.getUserDetail().subscribe(onNext: {[weak self]data in if let model = data.data{ UserViewModel.saveAvatarInfo(model) self?.setUserUI(model: model) } },onError: {[weak self]error in } }) {[weak self] error in let model = UserViewModel.getAvatarInfo() if model.id > 0{ self?.setUserUI(model: model) } }).disposed(by: disposeBag) }.disposed(by: disposeBag) } private func setUserUI(model:UserInfoModel){ XQMuse/Root/Me/TCell/BankInfoTCell.swift
@@ -29,6 +29,8 @@ } func setBankInfoModel(_ model:BankInfoModel){ guard !model.bankName.isEmpty else {return} label_title.text = model.bankName let s = model.cardNo.count - 4 let b = model.cardNo.count XQMuse/Root/Me/VC/BankWithdrawVC.swift
@@ -70,6 +70,12 @@ } @IBAction func withdrawAllAction(_ sender: UIButton) { tf_withdraw.resignFirstResponder() guard tf_withdraw.text?.toDouble ?? 0 > 0 else{ alertError(msg: "提现余额不足");return } tf_withdraw.resignFirstResponder() tf_withdraw.text = income.jq_formatFloat } XQMuse/Root/Me/VC/BindAccountVC.swift
@@ -10,12 +10,13 @@ class BindAccountVC: BaseVC { @IBOutlet weak var label_phone: UILabel! @IBOutlet weak var label_wchatBindState: UILabel! @IBOutlet weak var label_wechatBind: UILabel! override func viewDidLoad() { super.viewDidLoad() title = "账号绑定" label_phone.text = UserViewModel.getAvatarInfo().cellPhone.jq_blotOutPhone() label_wechatBind.text = UserViewModel.getAvatarInfo().wxOpenId.isEmpty ? "未绑定":"已绑定" } @IBAction func bindPhoneAction(_ sender: Any) { XQMuse/Root/Me/VC/BindAccountVC.xib
@@ -1,9 +1,9 @@ <?xml version="1.0" encoding="UTF-8"?> <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES"> <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="23094" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES"> <device id="retina6_12" orientation="portrait" appearance="light"/> <dependencies> <deployment identifier="iOS"/> <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/> <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="23084"/> <capability name="Safe area layout guides" minToolsVersion="9.0"/> <capability name="System colors in document resources" minToolsVersion="11.0"/> <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> @@ -13,6 +13,7 @@ <connections> <outlet property="label_phone" destination="JiT-I4-fQb" id="pqq-l5-gv0"/> <outlet property="label_wchatBindState" destination="hyt-qR-dWk" id="BWl-xq-gRx"/> <outlet property="label_wechatBind" destination="hyt-qR-dWk" id="VIl-lD-Srd"/> <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> </connections> </placeholder> @@ -35,7 +36,7 @@ </constraints> </view> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="手机号码" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="TLZ-tC-0M2"> <rect key="frame" x="14.000000000000004" y="17" width="57.333333333333343" height="17"/> <rect key="frame" x="13.999999999999996" y="17" width="55.666666666666657" height="17"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/> <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> @@ -82,7 +83,7 @@ </constraints> </view> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="改绑微信" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="rnP-eo-8fV"> <rect key="frame" x="14.000000000000004" y="17" width="57.333333333333343" height="17"/> <rect key="frame" x="13.999999999999996" y="17" width="55.666666666666657" height="17"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/> <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> @@ -95,7 +96,7 @@ </constraints> </imageView> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="未绑定" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="hyt-qR-dWk"> <rect key="frame" x="323" y="17" width="43" height="17"/> <rect key="frame" x="324" y="17" width="42" height="17"/> <fontDescription key="fontDescription" type="system" pointSize="14"/> <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.34000000000000002" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> @@ -126,7 +127,7 @@ </constraints> </view> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="修改密码" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Sff-Hx-7zu"> <rect key="frame" x="14.000000000000004" y="17" width="57.333333333333343" height="17"/> <rect key="frame" x="13.999999999999996" y="17" width="55.666666666666657" height="17"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/> <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> XQMuse/Root/Me/VC/SettingVC.swift
@@ -57,10 +57,24 @@ } @IBAction func exchangeAccountAction(_ sender: UIButton) { sceneDelegate?.needLogin() CommonAlertView.show(title: "提示", content: "是否切换当前账号?") {[weak self] s in if s{ sceneDelegate?.needLogin() self?.btn_exchange.isHidden = true self?.btn_logout.isHidden = true self?.btn_dispel.isHidden = true } } } @IBAction func quitAccountAction(_ sender: UIButton) { sceneDelegate?.needLogin() CommonAlertView.show(title: "提示", content: "是否退出当前账号?") {[weak self] s in if s{ sceneDelegate?.needLogin() self?.btn_exchange.isHidden = true self?.btn_logout.isHidden = true self?.btn_dispel.isHidden = true } } } } XQMuse/Root/Me/VC/StudyListVC.swift
@@ -54,12 +54,15 @@ func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { var modelId:Int? if indexPath.section == 0{ guard datas?.courseList.count != 0 else{return} modelId = datas?.courseList[indexPath.row].id } if indexPath.section == 0{ guard datas?.freeCourseList.count != 0 else{return} modelId = datas?.freeCourseList[indexPath.row].id } XQMuse/Root/Me/VC/UserProfileVC.swift
@@ -28,7 +28,8 @@ @IBOutlet weak var tf_address: QMUITextField! @IBOutlet weak var tf_birthland: QMUITextField! @IBOutlet weak var tf_email: QMUITextField! @IBOutlet weak var image_placeholder: UIImageView! private var clipSize = CGSize(width: JQ_ScreenW, height: JQ_ScreenW) //裁剪大小 private var clipFrame:CGRect{ get{ @@ -47,6 +48,8 @@ super.viewDidLoad() title = "个人资料" image_placeholder.isHidden = !UserViewModel.getAvatarInfo().avatar.isEmpty image_user.sd_setImage(with: URL(string: UserViewModel.getAvatarInfo().avatar)!) tf_nickName.text = UserViewModel.getAvatarInfo().nickname tf_realName.text = UserViewModel.getAvatarInfo().realname tf_sign.text = UserViewModel.getAvatarInfo().signature @@ -59,29 +62,42 @@ tf_address.text = UserViewModel.getAvatarInfo().location tf_birthland.text = UserViewModel.getAvatarInfo().hometown tf_email.text = UserViewModel.getAvatarInfo().email } override func viewDidDisappear(_ animated: Bool) { super.viewDidDisappear(animated) yy_popBlock = {[weak self] in guard let weakSelf = self else { return } let nickname = weakSelf.tf_nickName.text let realname = weakSelf.tf_realName.text let signature = weakSelf.tf_sign.text let gender = GenderType.GenderBy(weakSelf.tf_gender.text!) let birthday = weakSelf.tf_birthday.text let education = weakSelf.tf_degree.text let industry = weakSelf.tf_industry.text let company = weakSelf.tf_company.text let occupation = weakSelf.tf_job.text let location = weakSelf.tf_address.text let hometown = weakSelf.tf_birthland.text let email = weakSelf.tf_email.text let nickname = tf_nickName.text == UserViewModel.getAvatarInfo().nickname ? nil:tf_nickName.text let realname = tf_realName.text == UserViewModel.getAvatarInfo().realname ? nil:tf_realName.text let signature = tf_sign.text == UserViewModel.getAvatarInfo().signature ? nil:tf_sign.text let gender = tf_gender.text == UserViewModel.getAvatarInfo().gender.rawTitle ? nil:GenderType.GenderBy(tf_gender.text!) let birthday = tf_birthday.text == UserViewModel.getAvatarInfo().birthday ? nil:tf_birthday.text let education = tf_degree.text == UserViewModel.getAvatarInfo().education ? nil:tf_degree.text let industry = tf_industry.text == UserViewModel.getAvatarInfo().industry ? nil:tf_industry.text let company = tf_company.text == UserViewModel.getAvatarInfo().company ? nil:tf_company.text let occupation = tf_job.text == UserViewModel.getAvatarInfo().occupation ? nil:tf_job.text let location = tf_address.text == UserViewModel.getAvatarInfo().location ? nil:tf_address.text let hometown = tf_birthland.text == UserViewModel.getAvatarInfo().hometown ? nil:tf_birthland.text let email = tf_email.text == UserViewModel.getAvatarInfo().email ? nil:tf_email.text if nickname != nil || realname != nil || signature != nil || gender != nil || birthday != nil || education != nil || industry != nil || company != nil || occupation != nil || location != nil || hometown != nil || email != nil{ Services.updateUserInfo(birthday: birthday, company: company, education: education, email: email, gender: gender, hometown: hometown, industry: industry, location: location, nickname: nickname, realname: realname, occupation: occupation, signature: signature).subscribe(onNext: {data in NotificationCenter.default.post(name: UpdateUserProfile_Noti, object: nil) }).disposed(by: disposeBag) } if nickname != UserViewModel.getAvatarInfo().nickname || realname != UserViewModel.getAvatarInfo().realname || signature != UserViewModel.getAvatarInfo().signature || gender != UserViewModel.getAvatarInfo().gender || birthday != UserViewModel.getAvatarInfo().birthday || education != UserViewModel.getAvatarInfo().education || industry != UserViewModel.getAvatarInfo().industry || company != UserViewModel.getAvatarInfo().company || occupation != UserViewModel.getAvatarInfo().occupation || location != UserViewModel.getAvatarInfo().location || hometown != UserViewModel.getAvatarInfo().hometown || email != UserViewModel.getAvatarInfo().email{ Services.updateUserInfo(birthday: birthday, company: company, education: education, email: email, gender: gender, hometown: hometown, industry: industry, location: location, nickname: nickname, realname: realname, occupation: occupation, signature: signature).subscribe(onNext: {data in NotificationCenter.default.post(name: UpdateUserProfile_Noti, object: nil) weakSelf.navigationController?.popViewController(animated: true) }).disposed(by: weakSelf.disposeBag) }else{ weakSelf.navigationController?.popViewController(animated: true) } } } override func setUI() { @@ -140,8 +156,8 @@ if textField == tf_birthday{ view.endEditing(true) BitrhdayPickerView.show(title: "", type: .YMD) { date in BitrhdayPickerView.show(title: "", type: .YMD) {[weak self] date in self?.tf_birthday.text = date.jq_format("yyyy-MM-dd") } return false } @@ -155,10 +171,13 @@ picker.selectedAssets = NSMutableArray(array: assets) if let photo = photos.first{ photo.jq_scaled(to: CGSize(width: 250, height: 250)).uploadImg().subscribe(onNext: {imageUrl in Services.updateUserInfo(avatar:imageUrl).subscribe(onNext: {data in photo.jq_scaled(to: CGSize(width: 250, height: 250)).uploadImg().subscribe(onNext: {[weak self]imageUrl in guard let weakSelf = self else { return } Services.updateUserAvatar(imageUrl).subscribe(onNext: {data in weakSelf.image_placeholder.isHidden = true weakSelf.image_user.sd_setImage(with: URL(string: imageUrl)!) NotificationCenter.default.post(name: UpdateUserProfile_Noti, object: nil) }).disposed(by: self.disposeBag) }).disposed(by: weakSelf.disposeBag) }).disposed(by: disposeBag) } } @@ -183,7 +202,9 @@ unowned let weakSelf = self corpperVC.imageCropperHandler { (vc, image) in image.uploadImg().subscribe(onNext: {imageUrl in Services.updateUserInfo(avatar:imageUrl).subscribe(onNext: {data in Services.updateUserAvatar(imageUrl).subscribe(onNext: {data in weakSelf.image_user.sd_setImage(with: URL(string: imageUrl)!) weakSelf.image_placeholder.isHidden = true NotificationCenter.default.post(name: UpdateUserProfile_Noti, object: nil) }).disposed(by: weakSelf.disposeBag) }).disposed(by: weakSelf.disposeBag) XQMuse/Root/Me/VC/UserProfileVC.xib
@@ -1,15 +1,16 @@ <?xml version="1.0" encoding="UTF-8"?> <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES"> <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="23094" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES"> <device id="retina6_12" orientation="portrait" appearance="light"/> <dependencies> <deployment identifier="iOS"/> <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/> <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="23084"/> <capability name="Safe area layout guides" minToolsVersion="9.0"/> <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> </dependencies> <objects> <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="UserProfileVC" customModule="XQMuse" customModuleProvider="target"> <connections> <outlet property="image_placeholder" destination="cF8-lO-m5L" id="IaC-7M-iF6"/> <outlet property="image_user" destination="Qz0-bC-W38" id="eCy-hk-a42"/> <outlet property="tf_address" destination="apd-WL-Sql" id="m57-Gx-rtg"/> <outlet property="tf_birthday" destination="mG1-O5-m2h" id="QhO-j1-4Id"/> @@ -65,13 +66,13 @@ <rect key="frame" x="0.0" y="0.0" width="393" height="50"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="昵称" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="fv9-E0-tp4"> <rect key="frame" x="16" y="17.333333333333314" width="26.666666666666671" height="15.666666666666664"/> <rect key="frame" x="16" y="17.333333333333314" width="26" height="15.666666666666664"/> <fontDescription key="fontDescription" type="system" pointSize="13"/> <nil key="textColor"/> <nil key="highlightedColor"/> </label> <textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="点击输入" textAlignment="right" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="xDs-61-9P0" customClass="QMUITextField"> <rect key="frame" x="42.666666666666657" y="0.0" width="334.33333333333337" height="50"/> <rect key="frame" x="42" y="0.0" width="335" height="50"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/> <textInputTraits key="textInputTraits"/> <userDefinedRuntimeAttributes> @@ -105,13 +106,13 @@ <rect key="frame" x="0.0" y="50" width="393" height="50"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="姓名" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zxo-Oa-ujz"> <rect key="frame" x="16" y="17.333333333333314" width="26.666666666666671" height="15.666666666666664"/> <rect key="frame" x="16" y="17.333333333333314" width="26" height="15.666666666666664"/> <fontDescription key="fontDescription" type="system" pointSize="13"/> <nil key="textColor"/> <nil key="highlightedColor"/> </label> <textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="点击输入" textAlignment="right" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="7Wv-tW-0JD" customClass="QMUITextField"> <rect key="frame" x="42.666666666666657" y="0.0" width="334.33333333333337" height="50"/> <rect key="frame" x="42" y="0.0" width="335" height="50"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/> <textInputTraits key="textInputTraits"/> <userDefinedRuntimeAttributes> @@ -145,13 +146,13 @@ <rect key="frame" x="0.0" y="100" width="393" height="50"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="签名" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="imv-PF-klz"> <rect key="frame" x="16" y="17.333333333333314" width="26.666666666666671" height="15.666666666666664"/> <rect key="frame" x="16" y="17.333333333333314" width="26" height="15.666666666666664"/> <fontDescription key="fontDescription" type="system" pointSize="13"/> <nil key="textColor"/> <nil key="highlightedColor"/> </label> <textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="点击输入" textAlignment="right" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="HRg-rk-jcD" customClass="QMUITextField"> <rect key="frame" x="42.666666666666657" y="0.0" width="334.33333333333337" height="50"/> <rect key="frame" x="42" y="0.0" width="335" height="50"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/> <textInputTraits key="textInputTraits"/> <userDefinedRuntimeAttributes> @@ -289,13 +290,13 @@ <rect key="frame" x="0.0" y="250" width="393" height="50"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="学历" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Lr9-FF-35j"> <rect key="frame" x="16" y="17.333333333333371" width="26.666666666666671" height="15.666666666666664"/> <rect key="frame" x="16" y="17.333333333333371" width="26" height="15.666666666666664"/> <fontDescription key="fontDescription" type="system" pointSize="13"/> <nil key="textColor"/> <nil key="highlightedColor"/> </label> <textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="点击输入" textAlignment="right" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="NG9-8J-4PE" customClass="QMUITextField"> <rect key="frame" x="42.666666666666657" y="0.0" width="334.33333333333337" height="50"/> <rect key="frame" x="42" y="0.0" width="335" height="50"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/> <textInputTraits key="textInputTraits"/> <userDefinedRuntimeAttributes> @@ -329,13 +330,13 @@ <rect key="frame" x="0.0" y="300" width="393" height="50"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="行业" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Vsd-1g-qdV"> <rect key="frame" x="16" y="17.333333333333371" width="26.666666666666671" height="15.666666666666664"/> <rect key="frame" x="16" y="17.333333333333371" width="26" height="15.666666666666664"/> <fontDescription key="fontDescription" type="system" pointSize="13"/> <nil key="textColor"/> <nil key="highlightedColor"/> </label> <textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="点击输入" textAlignment="right" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="OLk-lo-tWN" customClass="QMUITextField"> <rect key="frame" x="42.666666666666657" y="0.0" width="334.33333333333337" height="50"/> <rect key="frame" x="42" y="0.0" width="335" height="50"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/> <textInputTraits key="textInputTraits"/> <userDefinedRuntimeAttributes> @@ -369,13 +370,13 @@ <rect key="frame" x="0.0" y="350" width="393" height="50"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="公司" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="bCL-7v-fEV"> <rect key="frame" x="16" y="17.333333333333371" width="26.666666666666671" height="15.666666666666664"/> <rect key="frame" x="16" y="17.333333333333371" width="26" height="15.666666666666664"/> <fontDescription key="fontDescription" type="system" pointSize="13"/> <nil key="textColor"/> <nil key="highlightedColor"/> </label> <textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="点击输入" textAlignment="right" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="oBn-y6-tL8" customClass="QMUITextField"> <rect key="frame" x="42.666666666666657" y="0.0" width="334.33333333333337" height="50"/> <rect key="frame" x="42" y="0.0" width="335" height="50"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/> <textInputTraits key="textInputTraits"/> <userDefinedRuntimeAttributes> @@ -409,13 +410,13 @@ <rect key="frame" x="0.0" y="400" width="393" height="50"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="职业" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="F4W-m1-aF5"> <rect key="frame" x="16" y="17.333333333333371" width="26.666666666666671" height="15.666666666666664"/> <rect key="frame" x="16" y="17.333333333333371" width="26" height="15.666666666666664"/> <fontDescription key="fontDescription" type="system" pointSize="13"/> <nil key="textColor"/> <nil key="highlightedColor"/> </label> <textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="点击输入" textAlignment="right" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="Shq-k9-lMd" customClass="QMUITextField"> <rect key="frame" x="42.666666666666657" y="0.0" width="334.33333333333337" height="50"/> <rect key="frame" x="42" y="0.0" width="335" height="50"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/> <textInputTraits key="textInputTraits"/> <userDefinedRuntimeAttributes> @@ -449,13 +450,13 @@ <rect key="frame" x="0.0" y="450" width="393" height="50"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="所在地" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="4yt-IS-YWS"> <rect key="frame" x="16" y="17.333333333333371" width="40" height="15.666666666666664"/> <rect key="frame" x="16" y="17.333333333333371" width="39" height="15.666666666666664"/> <fontDescription key="fontDescription" type="system" pointSize="13"/> <nil key="textColor"/> <nil key="highlightedColor"/> </label> <textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="点击输入" textAlignment="right" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="apd-WL-Sql" customClass="QMUITextField"> <rect key="frame" x="56" y="0.0" width="321" height="50"/> <rect key="frame" x="55" y="0.0" width="322" height="50"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/> <textInputTraits key="textInputTraits"/> <userDefinedRuntimeAttributes> @@ -489,13 +490,13 @@ <rect key="frame" x="0.0" y="500" width="393" height="50"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="故乡" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="3mI-9I-yxT"> <rect key="frame" x="16" y="17.333333333333371" width="26.666666666666671" height="15.666666666666664"/> <rect key="frame" x="16" y="17.333333333333371" width="26" height="15.666666666666664"/> <fontDescription key="fontDescription" type="system" pointSize="13"/> <nil key="textColor"/> <nil key="highlightedColor"/> </label> <textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="点击输入" textAlignment="right" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="8Mk-n3-NN5" customClass="QMUITextField"> <rect key="frame" x="42.666666666666657" y="0.0" width="334.33333333333337" height="50"/> <rect key="frame" x="42" y="0.0" width="335" height="50"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/> <textInputTraits key="textInputTraits"/> <userDefinedRuntimeAttributes> @@ -529,13 +530,13 @@ <rect key="frame" x="0.0" y="550" width="393" height="50"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="邮箱" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qeP-Ob-ndd"> <rect key="frame" x="16" y="17.333333333333371" width="26.666666666666671" height="15.666666666666664"/> <rect key="frame" x="16" y="17.333333333333371" width="26" height="15.666666666666664"/> <fontDescription key="fontDescription" type="system" pointSize="13"/> <nil key="textColor"/> <nil key="highlightedColor"/> </label> <textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="点击输入" textAlignment="right" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="S2r-9H-Zt2" customClass="QMUITextField"> <rect key="frame" x="42.666666666666657" y="0.0" width="334.33333333333337" height="50"/> <rect key="frame" x="42" y="0.0" width="335" height="50"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/> <textInputTraits key="textInputTraits"/> <userDefinedRuntimeAttributes> XQMuse/Root/Network/Models.swift
@@ -103,7 +103,7 @@ var coverUrl: String = "" var detailDescription: String = "" var favoriteCount: Int = 0 var generalPrice: Int = 0 var generalPrice: Double = 0 var iconUrl: String = "" var id: Int = 0 var questionCount:Int = 0 @@ -119,7 +119,7 @@ var meditationMusicList = [String]() } struct CommentModel:HandyJSON{ class CommentModel:HandyJSON{ var appUserId: Int = 0 var avatar: String = "" var content: String = "" @@ -130,6 +130,8 @@ var publishTime: String = "" var replyContent: String = "" var replyTime: String = "" required init(){} } struct PavilionDetailModel:HandyJSON{ XQMuse/Root/Network/Services.swift
@@ -205,8 +205,16 @@ .append(key: "id", value: id) .append(key: "reason", value: reason) .append(key: "apipost_id", value: "25c3e3d0b0e15e") return NetworkRequest.request(params: params, method: .get, progress: true) return NetworkRequest.request(params: params, method: .post, progress: true) } //喜欢评论 class func likeQuesiton(id:Int)->Observable<BaseResponse<SimpleModel>>{ let params = ParamsAppender.build(url: All_Url) params.interface(url: "/meditation/client/meditation/home/likeQuestion") .append(key: "id", value: id) return NetworkRequest.request(params: params, method: .post, progress: false) } /// 收藏/取消收藏 class func meditationFavorite(id:Int)->Observable<BaseResponse<SimpleModel>>{ @@ -248,14 +256,30 @@ /// 课程 extension Services{ class func watchClouse(chapterId:Int,isOver:Bool,minuteLook:Int,secondLook:Int)->Observable<BaseResponse<SimpleModel>>{ //添加评论 class func addQuestion(meditationId:Int,content:String)->Observable<BaseResponse<SimpleModel>>{ let params = ParamsAppender.build(url: All_Url) params.interface(url: "/meditation/client/meditation/home/addQuestion") .append(key: "meditationId", value: meditationId) .append(key: "content", value: content) return NetworkRequest.request(params: params, method: .post, progress: true) } /// 收藏/取消收藏 class func clouseFavorite(id:Int)->Observable<BaseResponse<SimpleModel>>{ let params = ParamsAppender.build(url: All_Url) params.interface(url: "/course/client/course/course/collectCourse") .append(key: "id", value: id) return NetworkRequest.request(params: params, method: .post, progress: false) } class func watchClouse(chapterId:Int,isOver:Bool,secondLook:Int)->Observable<BaseResponse<SimpleModel>>{ let params = ParamsAppender.build(url: All_Url) params.interface(url: "/user/user/app-user-viewing-history/saveCourseStudyHistory") .append(key: "id", value: chapterId) .append(key: "chapterId", value: chapterId) .append(key: "isOver", value: isOver) .append(key: "isOver", value: isOver) .append(key: "minuteLook", value: minuteLook) .append(key: "secondLook", value: secondLook) .append(key: "minuteLook", value: 0) return NetworkRequest.request(params: params, method: .post, progress: false) } @@ -364,7 +388,7 @@ return NetworkRequest.request(params: params, method: .post, progress: false) } class func updateUserInfo(avatar:String? = nil,birthday:String? = nil,company:String? = nil,education:String? = nil,email:String? = nil,gender:GenderType? = nil,hometown:String? = nil,industry:String? = nil,location:String? = nil,nickname:String? = nil,realname:String? = nil,occupation:String? = nil,signature:String? = nil)->Observable<BaseResponse<SimpleModel>>{ class func updateUserInfo(avatar:String? = nil,birthday:String? = nil,company:String? = nil,education:String? = nil,email:String? = nil,gender:GenderType? = nil,hometown:String? = nil,industry:String? = nil,location:String? = nil,nickname:String? = nil,realname:String? = nil,occupation:String? = nil,signature:String? = nil)->Observable<BaseResponse<UserInfoModel>>{ let params = ParamsAppender.build(url: All_Url) params.interface(url: "/user/client/app-user/updateUserDetail") .append(key: "avatar", value: avatar) @@ -381,8 +405,15 @@ .append(key: "occupation", value: occupation) .append(key: "signature", value: signature) .append(key: "apipost_id", value: "2fc350e9b99599") return NetworkRequest.request(params: params, method: .post, progress: false) return NetworkRequest.request(params: params, method: .post,encoding: JSONEncoding(), progress: true) } class func updateUserAvatar(_ imageUrl:String)->Observable<BaseResponse<SimpleModel>>{ let params = ParamsAppender.build(url: All_Url) params.interface(url: "/user/client/app-user/updateUserAvatar") .append(key: "avatar", value: imageUrl) return NetworkRequest.request(params: params, method: .post, progress: true) } /// 支付成功 class func paymentSuccess(courseId:Int)->Observable<BaseResponse<[CourseModel]>>{ @@ -433,9 +464,9 @@ class func getMyBankList()->Observable<BaseResponse<[BankInfoModel]>>{ let params = ParamsAppender.build(url: All_Url) params.interface(url: "/user/client/app-user/wallet") params.interface(url: "/user/client/app-user-withdraw/bankList") .append(key: "apipost_id", value: "361bdf11f992d2") return NetworkRequest.request(params: params, method: .post, progress: false) return NetworkRequest.request(params: params, method: .post,encoding: JSONEncoding(), progress: false) } class func withdraw(bankId:Int,money:Double)->Observable<BaseResponse<SimpleModel>>{ @@ -453,7 +484,7 @@ params.interface(url: "/user/client/app-user-withdraw/addBank") .append(key: "apipost_id", value: "361bdf11f992d1") .append(dic: model.toRequest()) return NetworkRequest.request(params: params, method: .post, progress: true) return NetworkRequest.request(params: params, method: .post,encoding: JSONEncoding(), progress: true) } //添加银行卡 @@ -640,11 +671,11 @@ return NetworkRequest.request(params: params, method: .get, progress: false) } class func addQuestion(content:String,meditationId:Int)->Observable<BaseResponse<SimpleModel>>{ let params = ParamsAppender.build(url: All_Url) .interface(url: "/meditation/client/meditation/home/addQuestion") return NetworkRequest.request(params: params, method: .post, progress: true) } // class func addQuestion(content:String,meditationId:Int)->Observable<BaseResponse<SimpleModel>>{ // let params = ParamsAppender.build(url: All_Url) // .interface(url: "/meditation/client/meditation/home/addQuestion") // return NetworkRequest.request(params: params, method: .post, progress: true) // } /// 问题列表 class func commonQuestionDetailBy(id:Int)->Observable<BaseResponse<CommonQuestionModel>>{ XQMuse/Root/Other/View/ShareView.swift
@@ -12,13 +12,20 @@ @IBOutlet weak var view_content: UIView! @IBOutlet weak var cons_bottom: NSLayoutConstraint! @IBOutlet weak var btn_wechat: TapBtn! @IBOutlet weak var btn_wechatFri: TapBtn! @IBOutlet weak var btn_save: TapBtn! override func awakeFromNib() { super.awakeFromNib() alpha = 0 cons_bottom.constant = -JQ_ScreenW layoutIfNeeded() btn_wechat.isHidden = !WXApi.isWXAppInstalled() btn_wechatFri.isHidden = !WXApi.isWXAppInstalled() btn_save.isHidden = true } static func show(){ XQMuse/Root/Other/View/ShareView.xib
@@ -1,9 +1,9 @@ <?xml version="1.0" encoding="UTF-8"?> <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES"> <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="23094" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES"> <device id="retina6_12" orientation="portrait" appearance="light"/> <dependencies> <deployment identifier="iOS"/> <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/> <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="23084"/> <capability name="Safe area layout guides" minToolsVersion="9.0"/> <capability name="System colors in document resources" minToolsVersion="11.0"/> <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> @@ -19,12 +19,18 @@ <rect key="frame" x="0.0" y="594" width="393" height="258"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="分享到" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ORe-Xh-Fdk"> <rect key="frame" x="172" y="17" width="49" height="26"/> <rect key="frame" x="172.66666666666666" y="17" width="47.666666666666657" height="26"/> <constraints> <constraint firstAttribute="height" constant="26" id="haw-CW-u0b"/> </constraints> <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="16"/> <nil key="textColor"/> <nil key="highlightedColor"/> </label> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="未安装微信,无法进行分享" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Vvy-Pb-wYf"> <rect key="frame" x="119" y="95.666666666666629" width="155" height="15.666666666666671"/> <fontDescription key="fontDescription" type="system" pointSize="13"/> <color key="textColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> <nil key="highlightedColor"/> </label> <stackView opaque="NO" contentMode="scaleToFill" spacing="92" translatesAutoresizingMaskIntoConstraints="NO" id="0PG-Ww-jQZ"> @@ -37,7 +43,7 @@ <rect key="frame" x="0.0" y="0.0" width="51" height="50"/> </imageView> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="微信分享" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="KVQ-as-9PR"> <rect key="frame" x="1" y="58.000000000000007" width="49.333333333333336" height="14.333333333333336"/> <rect key="frame" x="1.6666666666666679" y="58.000000000000007" width="48" height="14.333333333333336"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="12"/> <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> @@ -61,7 +67,7 @@ <rect key="frame" x="0.0" y="0.0" width="51" height="51"/> </imageView> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="朋友圈" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="IIB-Ay-50b"> <rect key="frame" x="7" y="59.000000000000007" width="37" height="14.333333333333336"/> <rect key="frame" x="7.6666666666666572" y="59.000000000000007" width="36" height="14.333333333333336"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="12"/> <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> @@ -85,7 +91,7 @@ <rect key="frame" x="0.0" y="0.0" width="51" height="51"/> </imageView> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="保存至相册" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="wZG-si-wUc"> <rect key="frame" x="-5" y="59.000000000000007" width="61.333333333333336" height="14.333333333333336"/> <rect key="frame" x="-4.3333333333333144" y="59.000000000000007" width="59.666666666666664" height="14.333333333333336"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="12"/> <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> @@ -157,6 +163,7 @@ <constraint firstItem="0PG-Ww-jQZ" firstAttribute="top" secondItem="ORe-Xh-Fdk" secondAttribute="bottom" constant="23" id="NkI-HE-6Xv"/> <constraint firstItem="jqn-0N-gLE" firstAttribute="top" secondItem="lbC-Uv-Tnb" secondAttribute="bottom" id="Ocq-rC-aLx"/> <constraint firstItem="ORe-Xh-Fdk" firstAttribute="top" secondItem="wZN-hq-21i" secondAttribute="top" constant="17" id="cCN-kp-cjw"/> <constraint firstItem="Vvy-Pb-wYf" firstAttribute="centerY" secondItem="0PG-Ww-jQZ" secondAttribute="centerY" id="fWt-LR-97b"/> <constraint firstItem="lbC-Uv-Tnb" firstAttribute="leading" secondItem="wZN-hq-21i" secondAttribute="leading" id="fgP-yK-92y"/> <constraint firstItem="lbC-Uv-Tnb" firstAttribute="top" secondItem="0PG-Ww-jQZ" secondAttribute="bottom" constant="22" id="iZo-ia-IRj"/> <constraint firstItem="jqn-0N-gLE" firstAttribute="leading" secondItem="wZN-hq-21i" secondAttribute="leading" id="n6F-Eh-dER"/> @@ -164,6 +171,7 @@ <constraint firstItem="U0r-0B-hJh" firstAttribute="top" secondItem="jqn-0N-gLE" secondAttribute="bottom" id="sH9-Bi-vu0"/> <constraint firstItem="0PG-Ww-jQZ" firstAttribute="centerX" secondItem="wZN-hq-21i" secondAttribute="centerX" id="tUM-Bl-UGu"/> <constraint firstItem="U0r-0B-hJh" firstAttribute="leading" secondItem="wZN-hq-21i" secondAttribute="leading" id="uLj-2f-fiX"/> <constraint firstItem="Vvy-Pb-wYf" firstAttribute="centerX" secondItem="0PG-Ww-jQZ" secondAttribute="centerX" id="x0F-G5-ktd"/> <constraint firstAttribute="trailing" secondItem="jqn-0N-gLE" secondAttribute="trailing" id="yMv-uD-Pmv"/> <constraint firstItem="n6l-h0-g55" firstAttribute="top" secondItem="wZN-hq-21i" secondAttribute="top" constant="20" id="yqG-Fn-Ggg"/> </constraints> @@ -177,6 +185,9 @@ <constraint firstItem="wZN-hq-21i" firstAttribute="leading" secondItem="vUN-kp-3ea" secondAttribute="leading" id="ymT-Hr-VdD"/> </constraints> <connections> <outlet property="btn_save" destination="YWd-mA-5l0" id="kVe-kU-bwK"/> <outlet property="btn_wechat" destination="28f-zu-dkE" id="bdK-2g-ZtC"/> <outlet property="btn_wechatFri" destination="G6H-X1-86v" id="6nJ-VL-7i9"/> <outlet property="cons_bottom" destination="WbY-wM-I0G" id="JLM-B4-xRY"/> <outlet property="view_content" destination="wZN-hq-21i" id="ToD-3j-oTG"/> </connections> @@ -184,7 +195,7 @@ </view> </objects> <resources> <image name="btn_close" width="20" height="20"/> <image name="btn_close" width="21.333333969116211" height="21.333333969116211"/> <image name="btn_download" width="51" height="51"/> <image name="btn_wechat_1" width="50" height="50"/> <image name="btn_wechat_fri" width="51" height="51"/> XQMuse/Root/TreeGroup/TreeTeskVC.swift
@@ -100,6 +100,8 @@ DispatchQueue.main.asyncAfter(delay: 2.0) { let h = (JQ_ScreenW - 90) * 0.8766 TreeTeskFirstRuleView.show(title: "心泉之树", content:"亲爱的家人,感谢您用心的交流。\n现在,您心灵之树的种子已经植入这片沃土,请以农夫的心态用心浇灌,不久的将来,将会长成苍天大树,结出丰硕的果实。加油哦!",textAlignment: .left,height: h,textTopOffset: 22) self.voicePlayer.replaceCurrentItem(with: AVPlayerItem(url: URL(string: TreeLevel.level_1.sound)!)) self.voicePlayer.play() } } XQMuse/SceneDelegate.swift
@@ -61,7 +61,9 @@ UserViewModel.clearToken() UserViewModel.clearLoginInfo() UserViewModel.clearAvatarInfo() NotificationCenter.default.post(name: LoginQuit_Noti, object: nil) let loginNav = LoginNav(rootViewController: LoginVC()) loginNav.modalPresentationStyle = .fullScreen JQ_currentViewController().present(loginNav, animated: true)