XQMuse.xcodeproj/project.pbxproj
@@ -260,6 +260,9 @@ 13C5838A2C86A42B0071BCBE /* apngb-animated-level-3.png in Resources */ = {isa = PBXBuildFile; fileRef = 13C583892C86A42B0071BCBE /* apngb-animated-level-3.png */; }; 13C5838C2C86A4770071BCBE /* apngb-animated-level-4.png in Resources */ = {isa = PBXBuildFile; fileRef = 13C5838B2C86A4770071BCBE /* apngb-animated-level-4.png */; }; 13C5838E2C86A4F90071BCBE /* apngb-animated-level-5.png in Resources */ = {isa = PBXBuildFile; fileRef = 13C5838D2C86A4F90071BCBE /* apngb-animated-level-5.png */; }; 13C834ED2D12D1E100B08AE2 /* BlackListVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13C834EC2D12D1E100B08AE2 /* BlackListVC.swift */; }; 13C834F02D12D37700B08AE2 /* BlackUserTCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13C834EE2D12D37700B08AE2 /* BlackUserTCell.swift */; }; 13C834F12D12D37700B08AE2 /* BlackUserTCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13C834EF2D12D37700B08AE2 /* BlackUserTCell.xib */; }; 13C9DDCD2C8EE1F20008946B /* Home_Style_5_TCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13C9DDCC2C8EE1F20008946B /* Home_Style_5_TCell.xib */; }; 13C9DDCE2C8EE1F20008946B /* Home_Style_5_TCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13C9DDCB2C8EE1F20008946B /* Home_Style_5_TCell.swift */; }; 13C9DDD42C8EE8EB0008946B /* apngb-animated-level-7.png in Resources */ = {isa = PBXBuildFile; fileRef = 13C9DDCF2C8EE8EB0008946B /* apngb-animated-level-7.png */; }; @@ -576,6 +579,9 @@ 13C583892C86A42B0071BCBE /* apngb-animated-level-3.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "apngb-animated-level-3.png"; sourceTree = "<group>"; }; 13C5838B2C86A4770071BCBE /* apngb-animated-level-4.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "apngb-animated-level-4.png"; sourceTree = "<group>"; }; 13C5838D2C86A4F90071BCBE /* apngb-animated-level-5.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "apngb-animated-level-5.png"; sourceTree = "<group>"; }; 13C834EC2D12D1E100B08AE2 /* BlackListVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlackListVC.swift; sourceTree = "<group>"; }; 13C834EE2D12D37700B08AE2 /* BlackUserTCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlackUserTCell.swift; sourceTree = "<group>"; }; 13C834EF2D12D37700B08AE2 /* BlackUserTCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = BlackUserTCell.xib; sourceTree = "<group>"; }; 13C9DDCB2C8EE1F20008946B /* Home_Style_5_TCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Home_Style_5_TCell.swift; sourceTree = "<group>"; }; 13C9DDCC2C8EE1F20008946B /* Home_Style_5_TCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = Home_Style_5_TCell.xib; sourceTree = "<group>"; }; 13C9DDCF2C8EE8EB0008946B /* apngb-animated-level-7.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "apngb-animated-level-7.png"; sourceTree = "<group>"; }; @@ -707,6 +713,7 @@ 1325F8DE2CD2021B00907C04 /* InviteVC.xib */, 13463E9C2CDE2D1E00DD0C53 /* VIPAgreementVC.swift */, 13463E9D2CDE2D1E00DD0C53 /* VIPAgreementVC.xib */, 13C834EC2D12D1E100B08AE2 /* BlackListVC.swift */, ); path = VC; sourceTree = "<group>"; @@ -1275,6 +1282,8 @@ 130C07112C76DA0500ADB098 /* SpendingDetailContentTCell.xib */, 13649F982C7709CD00F4E0EE /* ContactCustomerTCell.swift */, 13649F992C7709CD00F4E0EE /* ContactCustomerTCell.xib */, 13C834EE2D12D37700B08AE2 /* BlackUserTCell.swift */, 13C834EF2D12D37700B08AE2 /* BlackUserTCell.xib */, ); path = TCell; sourceTree = "<group>"; @@ -1494,6 +1503,7 @@ 138F0C362C7597CA0072A16C /* HelpCenterVC.xib in Resources */, 131CE0FB2C91299400D1234A /* TreeTeskListView.xib in Resources */, 138995432C943AA700BC7F78 /* static-level-2.png in Resources */, 13C834F12D12D37700B08AE2 /* BlackUserTCell.xib in Resources */, 134803D72C76E3E000F4FDDA /* WatchHistoryVC.xib in Resources */, 1377768E2C6AFD25004FF994 /* LoginVC.xib in Resources */, 134CC7E02C73283700EAEFB7 /* PavilionSearchVC.xib in Resources */, @@ -1649,6 +1659,7 @@ 13FB6D872C6EF9DE00A0685D /* CourseDetialVC.swift in Sources */, 135C2A652C7F033300CC2A67 /* CLAnimationTransitioning.swift in Sources */, 132DB8FE2C74826D00EF33A7 /* SettingVC.swift in Sources */, 13C834F02D12D37700B08AE2 /* BlackUserTCell.swift in Sources */, 135B1D222C8868170089A9BE /* Models.swift in Sources */, 135B1D202C8863D10089A9BE /* Types.swift in Sources */, 135C2A662C7F033300CC2A67 /* CLFullScreenController.swift in Sources */, @@ -1796,6 +1807,7 @@ 135B1D252C8947630089A9BE /* UserViewModel.swift in Sources */, 1377B4162C6DCC4300CF7CA5 /* Home_Style_4_Inner_1_CCell.swift in Sources */, 135C2A6D2C7F033300CC2A67 /* CLRotateAnimationView.swift in Sources */, 13C834ED2D12D1E100B08AE2 /* BlackListVC.swift in Sources */, 13E160212C6CB8930027F781 /* CommentListVC.swift in Sources */, 13A0A89E2C746A8700DF08B6 /* CommonAlertSheetView.swift in Sources */, 13271D862C75EF8200DE1328 /* AddBankInfoVC.swift in Sources */, @@ -1973,11 +1985,11 @@ GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = XQMuse/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = "泉疗愈"; INFOPLIST_KEY_LSApplicationCategoryType = ""; INFOPLIST_KEY_NSCameraUsageDescription = "相机"; INFOPLIST_KEY_NSLocationAlwaysUsageDescription = "定位"; INFOPLIST_KEY_NSLocationWhenInUseUsageDescription = "定位"; INFOPLIST_KEY_NSPhotoLibraryUsageDescription = "相册"; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.healthcare-fitness"; INFOPLIST_KEY_NSCameraUsageDescription = "$(PRODUCT_NAME)需要使用相机来上传头像"; INFOPLIST_KEY_NSLocationAlwaysUsageDescription = "$(PRODUCT_NAME)需要使用定位来展示您附近的疗愈馆"; INFOPLIST_KEY_NSLocationWhenInUseUsageDescription = "$(PRODUCT_NAME)需要使用定位来展示您附近的疗愈馆"; INFOPLIST_KEY_NSPhotoLibraryUsageDescription = "$(PRODUCT_NAME)需要使用相册来上传头像"; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait; @@ -2131,11 +2143,11 @@ GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = XQMuse/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = "泉疗愈"; INFOPLIST_KEY_LSApplicationCategoryType = ""; INFOPLIST_KEY_NSCameraUsageDescription = "相机"; INFOPLIST_KEY_NSLocationAlwaysUsageDescription = "定位"; INFOPLIST_KEY_NSLocationWhenInUseUsageDescription = "定位"; INFOPLIST_KEY_NSPhotoLibraryUsageDescription = "相册"; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.healthcare-fitness"; INFOPLIST_KEY_NSCameraUsageDescription = "$(PRODUCT_NAME)需要使用相机来上传头像"; INFOPLIST_KEY_NSLocationAlwaysUsageDescription = "$(PRODUCT_NAME)需要使用定位来展示您附近的疗愈馆"; INFOPLIST_KEY_NSLocationWhenInUseUsageDescription = "$(PRODUCT_NAME)需要使用定位来展示您附近的疗愈馆"; INFOPLIST_KEY_NSPhotoLibraryUsageDescription = "$(PRODUCT_NAME)需要使用相册来上传头像"; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait; XQMuse/Assets.xcassets/Placeholder/bg_wallet.imageset/Contents.json
@@ -5,12 +5,12 @@ "scale" : "1x" }, { "filename" : "bg_wallet@2x.png", "filename" : "bg@2x.png", "idiom" : "universal", "scale" : "2x" }, { "filename" : "bg_wallet@3x.png", "filename" : "bg@3x.png", "idiom" : "universal", "scale" : "3x" } XQMuse/Assets.xcassets/Placeholder/bg_wallet.imageset/bg@2x.png
XQMuse/Assets.xcassets/Placeholder/bg_wallet.imageset/bg@3x.png
XQMuse/Assets.xcassets/Placeholder/bg_wallet.imageset/bg_wallet@2x.pngBinary files differ
XQMuse/Assets.xcassets/Placeholder/bg_wallet.imageset/bg_wallet@3x.pngBinary files differ
XQMuse/Assets.xcassets/Placeholder/home_top_bg.imageset/Contents.json
@@ -5,12 +5,12 @@ "scale" : "1x" }, { "filename" : "home_top_bg@2x.png", "filename" : "image.jpeg", "idiom" : "universal", "scale" : "2x" }, { "filename" : "home_top_bg@3x.png", "filename" : "image 1.jpeg", "idiom" : "universal", "scale" : "3x" } XQMuse/Assets.xcassets/Placeholder/home_top_bg.imageset/home_top_bg@2x.pngBinary files differ
XQMuse/Assets.xcassets/Placeholder/home_top_bg.imageset/home_top_bg@3x.pngBinary files differ
XQMuse/Assets.xcassets/Placeholder/home_top_bg.imageset/image 1.jpeg
XQMuse/Assets.xcassets/Placeholder/home_top_bg.imageset/image.jpeg
XQMuse/Root/Course/TCell/CourseDetail_3_TCell.swift
@@ -47,6 +47,9 @@ func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "_HomeRelaxBanner_2_CCell", for: indexPath) as! HomeRelaxBanner_2_CCell cell.setCourseModel(items[indexPath.row]) cell.label_title.font = UIFont.systemFont(ofSize: 19, weight: .bold) cell.cons_title_top.constant = 14 cell.cons_title_left.constant = 16.5 return cell } XQMuse/Root/Course/VC/CourseDetialOfflineVC.xib
@@ -62,7 +62,7 @@ <color key="textColor" red="0.27058823529411763" green="0.27058823529411763" blue="0.27058823529411763" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" verticalHuggingPriority="251" text="---------" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="QJB-dH-vTR"> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" verticalHuggingPriority="251" text="---------" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="3" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="QJB-dH-vTR"> <rect key="frame" x="20.666666666666664" y="25" width="78.333333333333343" height="23"/> <fontDescription key="fontDescription" type="boldSystem" pointSize="19"/> <nil key="textColor"/> @@ -88,13 +88,14 @@ <constraint firstAttribute="trailing" secondItem="C98-ml-jRI" secondAttribute="trailing" constant="6" id="4Hx-aZ-Nva"/> <constraint firstItem="hGs-kS-EWt" firstAttribute="leading" secondItem="QJB-dH-vTR" secondAttribute="leading" id="6Db-id-Dyt"/> <constraint firstItem="Rfd-fp-6pw" firstAttribute="top" secondItem="itL-Yu-biN" secondAttribute="top" constant="27" id="8IL-fr-X8t"/> <constraint firstAttribute="height" constant="99.5" id="CJ9-R7-jch"/> <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="99.5" id="CJ9-R7-jch"/> <constraint firstItem="C98-ml-jRI" firstAttribute="leading" secondItem="hGs-kS-EWt" secondAttribute="trailing" constant="6" id="JO5-t8-awj"/> <constraint firstItem="C98-ml-jRI" firstAttribute="centerY" secondItem="hGs-kS-EWt" secondAttribute="centerY" id="KEh-Pn-Qbh"/> <constraint firstItem="QJB-dH-vTR" firstAttribute="leading" secondItem="itL-Yu-biN" secondAttribute="leading" constant="20.5" id="Nbs-UY-vlZ"/> <constraint firstItem="QJB-dH-vTR" firstAttribute="top" secondItem="itL-Yu-biN" secondAttribute="top" constant="25" id="ZtU-Nw-puN"/> <constraint firstAttribute="trailing" secondItem="Rfd-fp-6pw" secondAttribute="trailing" constant="20.5" id="me8-5a-oym"/> <constraint firstItem="Rfd-fp-6pw" firstAttribute="leading" secondItem="QJB-dH-vTR" secondAttribute="trailing" constant="10" id="t31-5e-UUE"/> <constraint firstAttribute="bottom" secondItem="hGs-kS-EWt" secondAttribute="bottom" constant="18.670000000000002" id="wVA-rA-fj5"/> </constraints> </view> </subviews> @@ -112,7 +113,7 @@ <nil key="highlightedColor"/> </label> <wkWebView contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="UmN-R4-VrQ"> <rect key="frame" x="0.0" y="76.333333333333314" width="393" height="10"/> <rect key="frame" x="0.0" y="76.666666666666686" width="393" height="10"/> <constraints> <constraint firstAttribute="height" constant="10" id="daa-AS-pyV"/> </constraints> @@ -122,16 +123,16 @@ </wkWebViewConfiguration> </wkWebView> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="i03-rW-DQq"> <rect key="frame" x="137.66666666666666" y="121.33333333333336" width="117.66666666666666" height="144.66666666666663"/> <rect key="frame" x="137.66666666666666" y="121.66666666666664" width="117.66666666666666" height="144.33333333333337"/> <subviews> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="zlO-OX-u5S"> <rect key="frame" x="10" y="10" width="97.666666666666671" height="97.666666666666671"/> <rect key="frame" x="10" y="10" width="97.666666666666671" height="97.333333333333329"/> <constraints> <constraint firstAttribute="width" secondItem="zlO-OX-u5S" secondAttribute="height" multiplier="1:1" id="s2S-ez-cbK"/> </constraints> </imageView> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Xfl-IA-8RW"> <rect key="frame" x="19" y="117.66666666666663" width="79.666666666666671" height="24"/> <rect key="frame" x="19" y="117.33333333333337" width="79.666666666666671" height="24"/> <string key="text">添加助教老师微信 了解详情</string> <fontDescription key="fontDescription" type="system" pointSize="10"/> @@ -150,6 +151,12 @@ <constraint firstItem="zlO-OX-u5S" firstAttribute="top" secondItem="i03-rW-DQq" secondAttribute="top" constant="10" id="uK2-L2-0LK"/> </constraints> </view> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="线下教学课程、活动均与Apple Inc. 无关" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="VKa-BE-E8f"> <rect key="frame" x="70.333333333333329" y="274" width="252.66666666666669" height="17"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/> <color key="textColor" white="0.33333333329999998" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> <nil key="highlightedColor"/> </label> </subviews> <color key="backgroundColor" red="0.96470588235294119" green="0.96470588235294119" blue="0.96470588235294119" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <constraints> @@ -157,10 +164,12 @@ <constraint firstItem="7hg-kN-gqy" firstAttribute="leading" secondItem="SHG-A0-P8Y" secondAttribute="leading" constant="22" id="3GA-vl-BWj"/> <constraint firstItem="UmN-R4-VrQ" firstAttribute="top" secondItem="7hg-kN-gqy" secondAttribute="bottom" constant="19.5" id="Egk-vS-HfY"/> <constraint firstItem="i03-rW-DQq" firstAttribute="top" secondItem="UmN-R4-VrQ" secondAttribute="bottom" constant="35" id="Ewn-Db-3aO"/> <constraint firstItem="VKa-BE-E8f" firstAttribute="centerX" secondItem="i03-rW-DQq" secondAttribute="centerX" id="FgH-23-ZRZ"/> <constraint firstItem="7hg-kN-gqy" firstAttribute="top" secondItem="SHG-A0-P8Y" secondAttribute="top" constant="39" id="HOe-iO-2bP"/> <constraint firstItem="UmN-R4-VrQ" firstAttribute="leading" secondItem="SHG-A0-P8Y" secondAttribute="leading" id="RP6-OF-MMB"/> <constraint firstItem="i03-rW-DQq" firstAttribute="centerX" secondItem="SHG-A0-P8Y" secondAttribute="centerX" id="cDU-Lm-sXe"/> <constraint firstAttribute="trailing" secondItem="UmN-R4-VrQ" secondAttribute="trailing" id="fOj-gF-2g4"/> <constraint firstItem="VKa-BE-E8f" firstAttribute="top" secondItem="i03-rW-DQq" secondAttribute="bottom" constant="8" id="hLc-Qu-5SO"/> </constraints> </view> </subviews> XQMuse/Root/Course/VC/CourseVCOfficalCommentVC.swift
@@ -142,6 +142,9 @@ let model = viewModel.dataSource.value!.list[indexPath.row] let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "_HomeRelaxBanner_2_CCell", for: indexPath) as! HomeRelaxBanner_2_CCell cell.setCourseModel(model) cell.label_title.font = UIFont.systemFont(ofSize: 19, weight: .bold) cell.cons_title_top.constant = 14 cell.cons_title_left.constant = 16.5 return cell } XQMuse/Root/Home/CCell/HomeRelaxBannerCCell.swift
@@ -46,12 +46,11 @@ image_free.isHidden = model.chargeType != .free img_vip.isHidden = model.chargeType != .vipFree view_price.isHidden = model.chargeType != .payment view_price.isHidden = (model.chargeType != .payment || model.isBuy == .yes) switch model.chargeType { 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.iosPrice.jq_formatFloat)", withFont: UIFont(name: "DIN-Bold", size: 11) ?? .systemFont(ofSize: 11,weight: .bold), withColor: .white).mutableAttributedString default:break } XQMuse/Root/Home/CCell/HomeRelaxBanner_2_CCell.swift
@@ -23,6 +23,10 @@ @IBOutlet weak var image_free: UIImageView! @IBOutlet weak var img_offline: UIImageView! @IBOutlet weak var cons_title_top: NSLayoutConstraint! @IBOutlet weak var cons_title_left: NSLayoutConstraint! private var meditationModel:MeditationModel? private var showType: DisplayType! XQMuse/Root/Home/CCell/HomeRelaxBanner_2_CCell.xib
@@ -116,6 +116,8 @@ <size key="customSize" width="178" height="301"/> <connections> <outlet property="cons_maxSubTitle" destination="bAF-ly-L4H" id="9gP-im-3qd"/> <outlet property="cons_title_left" destination="bAF-ly-L4H" id="DuD-4q-nZ9"/> <outlet property="cons_title_top" destination="LaZ-g6-4n6" id="JOL-nb-iay"/> <outlet property="image_free" destination="deT-IZ-PtZ" id="kI7-7g-aIM"/> <outlet property="img_cover" destination="cCC-0f-GSV" id="85x-ue-edy"/> <outlet property="img_offline" destination="IJ3-94-7an" id="EYY-vi-GGP"/> XQMuse/Root/Home/CCell/Home_Style_4_Inner_CCell.swift
@@ -64,7 +64,7 @@ image_free.isHidden = model.chargeType != .free img_vip.isHidden = model.chargeType != .vipFree view_price.isHidden = model.chargeType != .payment view_price.isHidden = (model.chargeType != .payment || model.isBuy == .yes) switch model.chargeType { case .payment: XQMuse/Root/Home/HomeVC.swift
@@ -69,7 +69,7 @@ } if AudioPlayer.getSharedInstance().bgmPlayer != nil{ if AudioPlayer.getSharedInstance().bgmPlayer != nil && PayMusicVC.getCurrentStatus() != .pause{ AudioPlayer.getSharedInstance().bgmPlayer?.play() // AudioPlayer.getSharedInstance().masterPlayer?.play() return @@ -188,11 +188,11 @@ tableView = UITableView(frame: .zero, style: .plain) tableView.contentInset = UIEdgeInsets(top: 0, left: 0, bottom: 40, right: 0) tableView.showsVerticalScrollIndicator = false DispatchQueue.main.async { let h = 119 + 20.5 + JQ_ScreenW * 0.913 self.topMenuView.frame = CGRect(x: 0, y: 0, width: JQ_ScreenW, height: h) self.tableView.tableHeaderView = self.topMenuView } // DispatchQueue.main.async { // let h = 569.0 // self.topMenuView.frame = CGRect(x: 0, y: 0, width: JQ_ScreenW, height: h) // self.tableView.tableHeaderView = self.topMenuView // } tableView.tableHeaderView = topMenuView @@ -261,7 +261,7 @@ } self.viewModel.homeTopMenuItems = items let h = ceil(Double(items.count) / 4.0) * 119 + 20.5 + JQ_ScreenW * 0.913 let h = ceil(Double(items.count) / 4.0) * 119 + 20.5 + JQ_ScreenW * 1.0948 self.topMenuView.menu_height.constant = ceil(Double(items.count) / 4.0) * 119 self.tableView.tableHeaderView?.frame = CGRect(origin: .zero, size: CGSizeMake(JQ_ScreenW, h)) self.topMenuView.resetItems(items) @@ -433,7 +433,22 @@ // 游客模式都能播放 Services.getMeditationDetail(id: detailId).subscribe(onNext: { [weak self] data in guard let self = self, let m = data.data else { return } if m.chargeType == .payment{ if UserViewModel.getLoginInfo()?.accessToken.isEmpty ?? true{ sceneDelegate?.needLogin();return }else if m.isBuy == .no{ let vc = PaymentOrderVC(museItemModel: m, type: .muse, showType: DisplayType.horizontal) jq_push(vc: vc);return } } if m.chargeType == .vipFree && UserViewModel.getAvatarInfo().isVip != .yes{ let vipCenterVC = VIPCenterVC() jq_push(vc: vipCenterVC) return } if audioPlayer.meditationModel?.id == m.id && audioPlayer.bgmPlayer?.timeControlStatus == .playing { return } @@ -458,8 +473,8 @@ if indexPath.section == 0 && indexPath.row == 0{ //每日疗愈 let cell = tableView.dequeueReusableCell(withIdentifier: "_Home_Style_1_TCell") as! Home_Style_1_TCell if viewModel.todyModel?.id != 0{ cell.model = viewModel.todyModel if let m = viewModel.todyModel,m.id != 0{ cell.setTodayMeditationModel(m) cell.view_data.isHidden = false }else{ cell.img_cover.image = UIImage(named: "bg_today") XQMuse/Root/Home/TCell/Home_Style_1_TCell.swift
@@ -10,27 +10,8 @@ class Home_Style_1_TCell: UITableViewCell { var model:ToDayMeditationModel?{ didSet{ if let m = model{ if m.id == 0{ img_cover.image = UIImage(named: "bt_private") view_data.isHidden = true }else{ view_data.isHidden = false img_cover.sd_setImage(with: URL(string: m.imageUrl.jq_urlEncoded())) let turple = Date.jq_formateToTime_tuple(m.time) let minute = (turple.hour * 60 + turple.minute) let second = turple.second label_title.text = "\(m.clientMeditationVO!.meditationTitle) | \(String(format: "%.2ld:%.2ld", minute,second))" label_joinNum.text = "\(m.clientMeditationVO!.realLearnedNum + m.clientMeditationVO!.virtualLearnedNum)人已参加学习" } } } } private var model:ToDayMeditationModel? @IBOutlet weak var img_cover: UIImageView! @IBOutlet weak var label_title: UILabel! @IBOutlet weak var label_joinNum: UILabel! @@ -42,6 +23,23 @@ selectionStyle = .none } func setTodayMeditationModel(_ model:ToDayMeditationModel){ if model.id == 0{ img_cover.image = UIImage(named: "bt_private") view_data.isHidden = true }else{ view_data.isHidden = false img_cover.sd_setImage(with: URL(string: model.imageUrl.jq_urlEncoded())) let turple = Date.jq_formateToTime_tuple(model.time) let minute = (turple.hour * 60 + turple.minute) let second = turple.second label_title.text = "\(model.clientMeditationVO!.meditationTitle) | \(String(format: "%.2ld:%.2ld", minute,second))" label_joinNum.text = "\(model.clientMeditationVO!.realLearnedNum + model.clientMeditationVO!.virtualLearnedNum)人已参加学习" } } func setplaying(){ if model?.meditationId == AudioPlayer.getSharedInstance().meditationModel?.id{ XQMuse/Root/Home/TCell/Home_Style_3_TCell.swift
@@ -27,7 +27,6 @@ collectionView.bounces = false collectionView.showsHorizontalScrollIndicator = false collectionView.register(UINib(nibName: "HomeRelaxBannerCCell", bundle: nil), forCellWithReuseIdentifier: "_HomeRelaxBannerCCell") // collectionView.scrollToItem(at: IndexPath(row: 2, section: 0), at: .centeredHorizontally, animated: true) collectionView.contentInset = UIEdgeInsets(top: 0, left: 100 , bottom: 0, right: 100) } @@ -36,6 +35,10 @@ self.showType = showType self.meditationModels = items collectionView.reloadData() if items.count >= 3 { collectionView.scrollToItem(at: IndexPath(row: 1, section: 0), at: .centeredHorizontally, animated: true) } } } XQMuse/Root/Home/TCell/Home_Style_4_TCell.swift
@@ -20,7 +20,6 @@ private var showType: DisplayType! var meditationModels = [MeditationModel]() private let disposeBag = DisposeBag() @IBOutlet weak var collectionView: UICollectionView! override func awakeFromNib() { @@ -33,7 +32,7 @@ collectionView.showsHorizontalScrollIndicator = false } func setModels(_ items:[MeditationModel],showType: DisplayType){ func setModels(_ items:[MeditationModel],showType: DisplayType){ self.showType = showType self.meditationModels = items collectionView.reloadData() XQMuse/Root/Home/VC/CommentListVC.swift
@@ -90,7 +90,14 @@ let index = headerView.tag - 1000 let model = viewModel.dataSource.value!.list[index] ChooseOptView.show(titles: ["举报提问","拉入黑名单"]) { v in var items = [String]() if UserViewModel.getLoginInfo()?.appUserId == model.appUserId{ items = ["举报提问"] }else{ items = ["举报提问","拉入黑名单"] } ChooseOptView.show(titles: items) { v in if v == 0{ ChooseOptTitleView.show(title: "举报提问", contents: ["举报提问","违法违规","色情低俗","低差广告","不友善、引战","诱导关注点赞","网络暴力","其他"]) { text in Services.meditationReport(id: model.id, reason: text).subscribe(onNext: {_ in @@ -98,7 +105,10 @@ }).disposed(by: self.disposeBag) } }else{ //todo Services.blackUser(appuserId: model.appUserId).subscribe(onNext: {[weak self]data in alertSuccess(msg: "拉黑成功") self?.viewModel.beginRefresh() }).disposed(by: self.disposeBag) } } } XQMuse/Root/Home/VC/PaymentOrderVC.swift
@@ -63,7 +63,7 @@ @IBOutlet weak var img_action_2: UIImageView! @IBOutlet weak var img_action_3: UIImageView! private var price:Double = 0 private var price:Double? private var tapType:TapType = .none{ didSet{ @@ -126,6 +126,7 @@ init(pendingModel:PendingItemModel,type:PaymentOrderType){ super.init(nibName: nil, bundle: nil) self.pendingModel = pendingModel self.businessId = pendingModel.orderId self.type = type } @@ -149,6 +150,11 @@ if let m = pendingModel{ if self.businessId != nil{ self.navigationItem.rightBarButtonItem = UIBarButtonItem(customView: btn) } price = m.amount image_cover.sd_setImage(with: URL(string: m.coverUrl.components(separatedBy: ",").first?.jq_urlEncoded())) label_courseName.text = m.title @@ -358,7 +364,7 @@ weakSelf.img_action_1.image = balanceData > 0 ? UIImage(named: "icon_choose_small_s") : UIImage(named: "icon_choose_small_1") weakSelf.label_walletBalance.text = "当前可用 ¥\(formattedBalance)" if balanceData > weakSelf.price { if balanceData > weakSelf.price ?? 0 { weakSelf.tapType = .t1 } } else { @@ -370,15 +376,24 @@ weakSelf.label_walletBalance.text = "当前可用 0疗愈币" weakSelf.tapType = .t1 } if weakSelf.price == 0{ weakSelf.tapType = .t1 weakSelf.btn_tap0.isUserInteractionEnabled = false weakSelf.btn_tap1.isUserInteractionEnabled = false weakSelf.btn_tap2.isUserInteractionEnabled = false } }).disposed(by: disposeBag) } @IBAction func discountByCoinAction(_ sender: TapBtn) { guard balance > 0 else {return} guard balance >= 0 else {return} guard let p = price else{return} //是否能全部抵扣 let allDiscount = balance > price let allDiscount = balance > p if allDiscount{ tapType = .t1 @@ -400,9 +415,10 @@ } @IBAction func chooseAction(_ sender: TapBtn) { guard let p = price else{return} //是否能全部抵扣 let allDiscount = balance > price let allDiscount = balance > p switch sender.tag { case 2001: @@ -493,6 +509,7 @@ } @IBAction func completeAction(_ sender: UIButton) { guard let p = price else{return} var id:Int = 0 var orderId:Int? @@ -543,8 +560,8 @@ } } if balance < price && tapType == .t1{ alertError(msg: "抵扣余额不足");return if tapType == .t1{ paymentByCoin(id: id);return } //进行抵扣 @@ -553,14 +570,7 @@ discountByCoin = 1 } var payType = 1 if tapType == .t1t2 || tapType == .t2{ payType = 2 } if tapType == .t1{ paymentByCoin(id: id);return } let payType = (tapType == .t1t2 || tapType == .t2) ?2:1 Services.placeOrder(orderForm: type, payType: payType, amount: nil, balanceFlag: discountByCoin, orderId: orderId, receiverId: giftUserId, targetId: targetId, vipType: nil).subscribe(onNext: { [weak self] data in guard let weakSelf = self else { return } @@ -592,16 +602,24 @@ } private func paymentByCoin(id:Int){ guard let p = price else{return} guard balance > price else{ CommonAlertView.show(title: "提示", content: "当前余额不足,请先充值", cancelStr: "暂不充值", completeStr: "去充值", isSingle: false) {[weak self] state in if state{ let vc = WalletRechargeVC() self?.push(vc: vc) } //需要支付 if p > 0 { if balance < p{ alertError(msg: "抵扣余额不足");return } return guard balance > p else{ CommonAlertView.show(title: "提示", content: "当前余额不足,请先充值", cancelStr: "暂不充值", completeStr: "去充值", isSingle: false) {[weak self] state in if state{ let vc = WalletRechargeVC() self?.push(vc: vc) } } return } } if businessId != nil{ @@ -611,7 +629,7 @@ self?.courseItemModel?.isBuy = .yes self?.museModel?.isBuy = .yes self?.courseModel?.isBuy = .yes let vc = PaymentOrderResultVC(type: weakSelf.type, id: id, price: weakSelf.price) let vc = PaymentOrderResultVC(type: weakSelf.type, id: id, price: p) self?.push(vc: vc) }).disposed(by: disposeBag) return @@ -623,7 +641,7 @@ self?.courseItemModel?.isBuy = .yes self?.museModel?.isBuy = .yes self?.courseModel?.isBuy = .yes let vc = PaymentOrderResultVC(type: weakSelf.type, id: id, price: weakSelf.price) let vc = PaymentOrderResultVC(type: weakSelf.type, id: id, price: p) self?.push(vc: vc) }).disposed(by: disposeBag) } XQMuse/Root/Home/View/HomeTopMenuView.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="System colors in document resources" minToolsVersion="11.0"/> <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> </dependencies> @@ -11,19 +11,19 @@ <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/> <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> <view contentMode="scaleToFill" id="iN0-l3-epB" customClass="HomeTopMenuView" customModule="XQMuse" customModuleProvider="target"> <rect key="frame" x="0.0" y="0.0" width="332" height="481"/> <rect key="frame" x="0.0" y="0.0" width="406" height="608"/> <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="mKW-dM-vN0"> <rect key="frame" x="0.0" y="0.0" width="332" height="303"/> <rect key="frame" x="0.0" y="0.0" width="406" height="444.33333333333331"/> <subviews> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="home_top_bg" translatesAutoresizingMaskIntoConstraints="NO" id="6fX-5q-86Z"> <rect key="frame" x="0.0" y="0.0" width="332" height="303"/> <rect key="frame" x="0.0" y="0.0" width="406" height="444.33333333333331"/> </imageView> </subviews> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstAttribute="width" secondItem="mKW-dM-vN0" secondAttribute="height" multiplier="1:0.913" id="0G9-DZ-Whu"/> <constraint firstAttribute="width" secondItem="mKW-dM-vN0" secondAttribute="height" multiplier="1:1.0948" id="4ga-s0-Rn7"/> <constraint firstAttribute="bottom" secondItem="6fX-5q-86Z" secondAttribute="bottom" id="5Lw-iu-ysJ"/> <constraint firstItem="6fX-5q-86Z" firstAttribute="leading" secondItem="mKW-dM-vN0" secondAttribute="leading" id="6Gi-WI-i6P"/> <constraint firstItem="6fX-5q-86Z" firstAttribute="top" secondItem="mKW-dM-vN0" secondAttribute="top" id="afK-uA-kHT"/> @@ -31,10 +31,10 @@ </constraints> </view> <collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" dataMode="none" translatesAutoresizingMaskIntoConstraints="NO" id="qBC-HM-Cn0"> <rect key="frame" x="0.0" y="305.66666666666669" width="332" height="157.33333333333331"/> <rect key="frame" x="0.0" y="447" width="406" height="119"/> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="119" id="A1l-yg-7AW"/> <constraint firstAttribute="height" constant="119" id="A1l-yg-7AW"/> </constraints> <collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="10" minimumInteritemSpacing="10" id="1n0-2c-Gsq"> <size key="itemSize" width="128" height="128"/> @@ -44,7 +44,7 @@ </collectionViewFlowLayout> </collectionView> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="hye-ra-wFd"> <rect key="frame" x="0.0" y="472" width="332" height="9"/> <rect key="frame" x="0.0" y="575" width="406" height="9"/> <color key="backgroundColor" red="0.94117647058823528" green="0.94117647058823528" blue="0.94117647058823528" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <constraints> <constraint firstAttribute="height" constant="9" id="LoO-4l-CvD"/> @@ -70,11 +70,11 @@ <outlet property="menu_collectionView" destination="qBC-HM-Cn0" id="uq1-Wy-qlH"/> <outlet property="menu_height" destination="A1l-yg-7AW" id="AQM-ma-8Fv"/> </connections> <point key="canvasLocation" x="90.07633587786259" y="-110.21126760563381"/> <point key="canvasLocation" x="146.56488549618319" y="-65.492957746478879"/> </view> </objects> <resources> <image name="home_top_bg" width="390" height="427"/> <image name="home_top_bg" width="262" height="284.66665649414062"/> <systemColor name="systemBackgroundColor"> <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> </systemColor> XQMuse/Root/Login/LoginVC.xib
@@ -240,6 +240,12 @@ <action selector="userPrivateTreatyAction:" destination="-1" eventType="touchUpInside" id="xCe-gL-pPa"/> </connections> </button> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="粤ICP备2024292404号-2A" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="KA3-yN-ocu"> <rect key="frame" x="116.66666666666669" y="542.66666666666663" width="160" height="14.333333333333371"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="12"/> <color key="textColor" white="0.33333333329999998" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> <nil key="highlightedColor"/> </label> </subviews> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> @@ -255,6 +261,7 @@ <constraint firstItem="jUu-IQ-vCE" firstAttribute="top" secondItem="Ec8-sg-6R6" secondAttribute="bottom" constant="74" id="D8q-hk-tjK"/> <constraint firstItem="cUd-a4-RTn" firstAttribute="leading" secondItem="x0Y-XG-Xsv" secondAttribute="trailing" constant="10" id="Duu-fF-i6C"/> <constraint firstItem="8PR-dw-BH2" firstAttribute="leading" secondItem="Cxv-rm-1Fq" secondAttribute="leading" constant="31" id="EJX-7K-0Sx"/> <constraint firstItem="KA3-yN-ocu" firstAttribute="centerX" secondItem="Cxv-rm-1Fq" secondAttribute="centerX" id="HQl-s8-tfj"/> <constraint firstItem="cUd-a4-RTn" firstAttribute="centerY" secondItem="8PR-dw-BH2" secondAttribute="centerY" id="HU9-kD-mb5"/> <constraint firstItem="MNJ-Ag-zfE" firstAttribute="centerY" secondItem="6Xe-Xr-eHg" secondAttribute="centerY" constant="-2" id="HWY-A4-Ukq"/> <constraint firstItem="6Xe-Xr-eHg" firstAttribute="leading" secondItem="Cxv-rm-1Fq" secondAttribute="leading" constant="27" id="JBm-Tk-D0z"/> @@ -271,6 +278,7 @@ <constraint firstAttribute="trailing" secondItem="WEh-Dp-WMI" secondAttribute="trailing" constant="31" id="TZ8-4n-Xna"/> <constraint firstItem="Oyy-8c-eua" firstAttribute="top" secondItem="8PR-dw-BH2" secondAttribute="bottom" constant="12" id="VlX-ey-VYY"/> <constraint firstAttribute="trailing" secondItem="3sh-AF-8OT" secondAttribute="trailing" constant="31" id="Xhx-v4-0Qk"/> <constraint firstAttribute="bottomMargin" secondItem="KA3-yN-ocu" secondAttribute="bottom" constant="5" id="bSL-HU-hJd"/> <constraint firstItem="eKb-oX-1Uq" firstAttribute="top" secondItem="Oyy-8c-eua" secondAttribute="bottom" constant="71" id="ee0-52-J9n"/> <constraint firstItem="Afa-A3-2l1" firstAttribute="centerY" secondItem="Ec8-sg-6R6" secondAttribute="centerY" id="eta-B7-cRN"/> <constraint firstItem="ZrE-T5-sl1" firstAttribute="centerX" secondItem="Cxv-rm-1Fq" secondAttribute="centerX" id="g3g-bu-PeO"/> XQMuse/Root/Me/MeVC.swift
@@ -35,6 +35,10 @@ @IBOutlet weak var label_phone: UILabel! @IBOutlet weak var label_vipInfo: UILabel! @IBOutlet weak var label_totalDay: UILabel! @IBOutlet weak var view_otherGradient: GradientView! @IBOutlet weak var view_loveRanking: GradientView! @IBOutlet weak var btn_jump: UIButton! var needLaunch:Bool = true @@ -47,6 +51,15 @@ getData() queryNotice() Services.getTurn(progress: false).subscribe(onNext: {[weak self]data in guard let weakSelf = self else { return } if let m = data.data,m == true{ weakSelf.view_otherGradient.isHidden = false weakSelf.view_loveRanking.isHidden = false weakSelf.btn_jump.isHidden = false } }).disposed(by: disposeBag) } override func viewDidAppear(_ animated: Bool) { @@ -182,12 +195,14 @@ push(vc: vc) } //消息 @IBAction func systemMessageAction(_ sender: UIButton) { guard sceneDelegate!.checkisLoginState() else {return} let vc = NoticeCenterVC() push(vc: vc) } // 设置 @IBAction func settingAction(_ sender: UIButton) { let vc = SettingVC() push(vc: vc) XQMuse/Root/Me/MeVC.xib
@@ -15,6 +15,7 @@ <outlet property="btn_collect" destination="ISF-ez-mrg" id="Evq-fr-yUk"/> <outlet property="btn_customer" destination="9fM-W9-vHq" id="lDM-Ym-HRC"/> <outlet property="btn_history" destination="css-Hl-o5F" id="hNT-9T-ggx"/> <outlet property="btn_jump" destination="nbE-cS-9bV" id="yQF-I5-IYN"/> <outlet property="btn_notice" destination="cNy-lc-dn6" id="iMB-5G-Hna"/> <outlet property="btn_record" destination="ohz-jh-MYr" id="I71-ch-fvw"/> <outlet property="btn_setting" destination="gCl-Xh-n2C" id="QuC-zj-2x4"/> @@ -31,6 +32,8 @@ <outlet property="label_vipInfo" destination="pJK-nH-NXm" id="cHp-Kf-9fB"/> <outlet property="scrollView" destination="eKy-w2-ydR" id="uh0-OR-U8m"/> <outlet property="view" destination="iN0-l3-epB" id="xwB-6q-ebc"/> <outlet property="view_loveRanking" destination="4fN-Be-XLG" id="9tU-8D-5hi"/> <outlet property="view_otherGradient" destination="Tou-KF-MBL" id="4xQ-Qg-vNu"/> <outlet property="view_rank" destination="4fN-Be-XLG" id="3h6-0r-QKI"/> </connections> </placeholder> @@ -46,7 +49,7 @@ <rect key="frame" x="0.0" y="0.0" width="393" height="1283"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="No9-Oz-bER"> <rect key="frame" x="0.0" y="0.0" width="393" height="1219"/> <rect key="frame" x="0.0" y="0.0" width="393" height="925.66666666666663"/> <subviews> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="dFl-Si-mEi"> <rect key="frame" x="14.666666666666664" y="0.0" width="65" height="65"/> @@ -117,10 +120,10 @@ </connections> </view> <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="17.5" translatesAutoresizingMaskIntoConstraints="NO" id="Z1J-zC-UdE"> <rect key="frame" x="12.666666666666657" y="219.33333333333331" width="368" height="999.66666666666674"/> <rect key="frame" x="12.666666666666657" y="219.33333333333331" width="368" height="706.33333333333348"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="4fN-Be-XLG" customClass="GradientView" customModule="XQMuse" customModuleProvider="target"> <rect key="frame" x="0.0" y="0.0" width="368" height="65"/> <view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="4fN-Be-XLG" customClass="GradientView" customModule="XQMuse" customModuleProvider="target"> <rect key="frame" x="0.0" y="-65" width="368" height="65"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="爱心榜单" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="tsY-eX-VkA"> <rect key="frame" x="24.333333333333336" y="21.666666666666657" width="71.666666666666657" height="21.666666666666671"/> @@ -148,7 +151,7 @@ </userDefinedRuntimeAttributes> </view> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="51c-hZ-2BU" customClass="GradientView" customModule="XQMuse" customModuleProvider="target"> <rect key="frame" x="0.0" y="82.666666666666657" width="368" height="495.33333333333337"/> <rect key="frame" x="0.0" y="0.0" width="368" height="495.33333333333331"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="疗愈学习记录" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="gF4-HU-eSo"> <rect key="frame" x="23.999999999999993" y="23" width="107.33333333333331" height="21.666666666666671"/> @@ -156,7 +159,7 @@ <nil key="textColor"/> <nil key="highlightedColor"/> </label> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="nbE-cS-9bV"> <button hidden="YES" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="nbE-cS-9bV"> <rect key="frame" x="322" y="23" width="22" height="22"/> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> <state key="normal" image="btn_more_1"/> @@ -165,16 +168,16 @@ </connections> </button> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="bg_lianh" translatesAutoresizingMaskIntoConstraints="NO" id="LBn-ed-ngx"> <rect key="frame" x="70" y="92.666666666666686" width="228" height="171"/> <rect key="frame" x="70" y="92.666666666666657" width="228" height="170.99999999999997"/> </imageView> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="累积练习天数" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="1zm-h2-b9F"> <rect key="frame" x="136" y="157.33333333333331" width="96" height="22.666666666666657"/> <rect key="frame" x="136" y="157.33333333333334" width="96" height="22.666666666666657"/> <fontDescription key="fontDescription" name="PingFangSC-Regular" family="PingFang SC" pointSize="16"/> <color key="textColor" red="0.082352941176470587" green="0.15294117647058825" blue="0.082352941176470587" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0天" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="YPb-vk-RCa"> <rect key="frame" x="136.66666666666669" y="195.33333333333331" width="94.666666666666686" height="45"/> <rect key="frame" x="136.66666666666669" y="195.33333333333334" width="94.666666666666686" height="45"/> <constraints> <constraint firstAttribute="height" constant="45" id="Ma8-cs-j54"/> </constraints> @@ -183,35 +186,35 @@ <nil key="highlightedColor"/> </label> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="4ho-wk-mFw"> <rect key="frame" x="21.333333333333343" y="303.33333333333337" width="325" height="71"/> <rect key="frame" x="21.333333333333343" y="303.33333333333326" width="325" height="71"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="XmC-Kd-dmq"> <rect key="frame" x="162" y="20.666666666666629" width="1" height="30"/> <rect key="frame" x="162" y="20.666666666666742" width="1" height="30"/> <color key="backgroundColor" red="0.94509803921568625" green="0.95294117647058818" blue="0.94901960784313721" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <constraints> <constraint firstAttribute="width" constant="1" id="hXb-BI-vs2"/> </constraints> </view> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0小时0分" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zZP-3q-D6G"> <rect key="frame" x="163" y="38.666666666666629" width="162" height="18"/> <rect key="frame" x="163" y="38.666666666666742" width="162" height="18"/> <fontDescription key="fontDescription" type="system" pointSize="15"/> <nil key="textColor"/> <nil key="highlightedColor"/> </label> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0天" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="8j2-ya-Clo"> <rect key="frame" x="0.0" y="38.666666666666629" width="162" height="18"/> <rect key="frame" x="0.0" y="38.666666666666742" width="162" height="18"/> <fontDescription key="fontDescription" type="system" pointSize="15"/> <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="Wrx-Ep-1Ev"> <rect key="frame" x="42" y="9.666666666666627" width="78" height="18.333333333333329"/> <rect key="frame" x="42" y="9.6666666666667407" width="78" height="18.333333333333329"/> <fontDescription key="fontDescription" name="PingFangSC-Light" family="PingFang SC" pointSize="13"/> <color key="textColor" red="0.20784313725490194" green="0.20784313725490194" blue="0.20784313725490194" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="lJq-Or-aac"> <rect key="frame" x="30.000000000000004" y="15.666666666666627" width="6.6666666666666679" height="6.6666666666666661"/> <rect key="frame" x="30.000000000000004" y="15.666666666666741" width="6.6666666666666679" height="6.6666666666666661"/> <color key="backgroundColor" red="0.6705882352941176" green="0.89803921568627454" blue="0.68627450980392157" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <constraints> <constraint firstAttribute="width" constant="6.5" id="ODt-X4-p9t"/> @@ -225,13 +228,13 @@ </userDefinedRuntimeAttributes> </view> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="今日练习时长" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ihW-8E-Omi"> <rect key="frame" x="205" y="9.666666666666627" width="78" height="18.333333333333329"/> <rect key="frame" x="205" y="9.6666666666667407" width="78" height="18.333333333333329"/> <fontDescription key="fontDescription" name="PingFangSC-Light" family="PingFang SC" pointSize="13"/> <color key="textColor" red="0.20784313725490194" green="0.20784313725490194" blue="0.20784313725490194" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Tba-o9-bKq"> <rect key="frame" x="193" y="15.666666666666627" width="6.6666666666666572" height="6.6666666666666661"/> <rect key="frame" x="193" y="15.666666666666741" width="6.6666666666666572" height="6.6666666666666661"/> <color key="backgroundColor" red="0.63529411764705879" green="0.84313725490196079" blue="0.80784313725490198" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <constraints> <constraint firstAttribute="width" constant="6.5" id="MST-0N-jSt"/> @@ -277,7 +280,7 @@ <nil key="highlightedColor"/> </label> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_vip_level" translatesAutoresizingMaskIntoConstraints="NO" id="dut-7H-aMv"> <rect key="frame" x="70.333333333333343" y="11.333333333333373" width="95.333333333333343" height="27.666666666666671"/> <rect key="frame" x="70.333333333333343" y="11.333333333333259" width="95.333333333333343" height="27.666666666666671"/> <constraints> <constraint firstAttribute="width" constant="95.5" id="9QQ-4F-lHB"/> <constraint firstAttribute="height" constant="27.5" id="vly-QN-iWG"/> @@ -290,7 +293,7 @@ <nil key="highlightedColor"/> </label> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_more" translatesAutoresizingMaskIntoConstraints="NO" id="IKY-cB-8Vd"> <rect key="frame" x="311.66666666666669" y="20.333333333333371" width="5.3333333333333144" height="10"/> <rect key="frame" x="311.66666666666669" y="20.333333333333258" width="5.3333333333333144" height="10"/> <constraints> <constraint firstAttribute="width" constant="5.5" id="UAN-uc-0l9"/> <constraint firstAttribute="height" constant="10" id="mje-aH-Ehd"/> @@ -342,7 +345,7 @@ </userDefinedRuntimeAttributes> </view> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="CyP-Ht-bW0" customClass="GradientView" customModule="XQMuse" customModuleProvider="target"> <rect key="frame" x="0.0" y="595.66666666666663" width="368" height="193.33333333333337"/> <rect key="frame" x="0.0" y="513" width="368" height="193.33333333333337"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="常用功能" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="vz2-Ss-p4F"> <rect key="frame" x="25" y="27.666666666666629" width="71.666666666666671" height="21.666666666666671"/> @@ -351,10 +354,10 @@ <nil key="highlightedColor"/> </label> <stackView opaque="NO" contentMode="scaleToFill" distribution="fillEqually" translatesAutoresizingMaskIntoConstraints="NO" id="8aG-A7-Fog"> <rect key="frame" x="0.0" y="124.33333333333337" width="368" height="23"/> <rect key="frame" x="0.0" y="124.33333333333326" width="368" height="23"/> <subviews> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="ohz-jh-MYr" customClass="QMUIButton"> <rect key="frame" x="0.0" y="0.0" width="92" height="23"/> <button hidden="YES" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="ohz-jh-MYr" customClass="QMUIButton"> <rect key="frame" x="0.0" y="0.0" width="0.0" height="23"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> <state key="normal" title="学习记录" image="btn_edit"> @@ -369,8 +372,8 @@ <action selector="studyAction:" destination="-1" eventType="touchUpInside" id="t3Z-es-h4a"/> </connections> </button> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="fgQ-MH-nHz" customClass="QMUIButton"> <rect key="frame" x="92" y="0.0" width="92" height="23"/> <button hidden="YES" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="fgQ-MH-nHz" customClass="QMUIButton"> <rect key="frame" x="0.0" y="0.0" width="0.0" height="23"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> <state key="normal" title="我的账户" image="icon_user_2"> @@ -386,7 +389,7 @@ </connections> </button> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="css-Hl-o5F" customClass="QMUIButton"> <rect key="frame" x="184" y="0.0" width="92" height="23"/> <rect key="frame" x="0.0" y="0.0" width="92" height="23"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> <state key="normal" title="观看历史" image="icon_time_2"> @@ -402,7 +405,7 @@ </connections> </button> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="ISF-ez-mrg" customClass="QMUIButton"> <rect key="frame" x="276" y="0.0" width="92" height="23"/> <rect key="frame" x="92" y="0.0" width="92" height="23"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> <state key="normal" title="我的收藏" image="icon_collect"> @@ -415,6 +418,38 @@ </userDefinedRuntimeAttributes> <connections> <action selector="myColletAction:" destination="-1" eventType="touchUpInside" id="vYn-1g-tgD"/> </connections> </button> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="9fM-W9-vHq" customClass="QMUIButton"> <rect key="frame" x="184" y="0.0" width="92" height="23"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> <state key="normal" title="联系客服" image="icon_customer"> <color key="titleColor" red="0.13725490200000001" green="0.13725490200000001" blue="0.13725490200000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> </state> <userDefinedRuntimeAttributes> <userDefinedRuntimeAttribute type="number" keyPath="spacingBetweenImageAndTitle"> <real key="value" value="23.5"/> </userDefinedRuntimeAttribute> </userDefinedRuntimeAttributes> <connections> <action selector="customerAction:" destination="-1" eventType="touchUpInside" id="Qh6-1S-wWO"/> </connections> </button> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="gCl-Xh-n2C" customClass="QMUIButton"> <rect key="frame" x="276" y="0.0" width="92" height="23"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> <state key="normal" title="设置" image="icon_setting"> <color key="titleColor" red="0.13725490200000001" green="0.13725490200000001" blue="0.13725490200000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> </state> <userDefinedRuntimeAttributes> <userDefinedRuntimeAttribute type="number" keyPath="spacingBetweenImageAndTitle"> <real key="value" value="23.5"/> </userDefinedRuntimeAttribute> </userDefinedRuntimeAttributes> <connections> <action selector="settingAction:" destination="-1" eventType="touchUpInside" id="I2H-D6-zdo"/> </connections> </button> </subviews> @@ -436,20 +471,20 @@ </userDefinedRuntimeAttribute> </userDefinedRuntimeAttributes> </view> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Tou-KF-MBL" customClass="GradientView" customModule="XQMuse" customModuleProvider="target"> <rect key="frame" x="0.0" y="806.66666666666663" width="368" height="193"/> <view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Tou-KF-MBL" customClass="GradientView" customModule="XQMuse" customModuleProvider="target"> <rect key="frame" x="0.0" y="706.33333333333326" width="368" height="193"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="其他功能" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="3A8-V9-qVy"> <rect key="frame" x="25" y="27.333333333333258" width="71.666666666666671" height="21.666666666666671"/> <rect key="frame" x="25" y="27.333333333333371" width="71.666666666666671" height="21.666666666666671"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="18"/> <color key="textColor" red="0.13725490200000001" green="0.13725490200000001" blue="0.13725490200000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> <stackView opaque="NO" contentMode="scaleToFill" distribution="fillEqually" translatesAutoresizingMaskIntoConstraints="NO" id="Omi-TP-JuV"> <rect key="frame" x="0.0" y="124" width="368" height="23"/> <rect key="frame" x="0.0" y="97" width="368" height="50"/> <subviews> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="EZo-PT-9vW" customClass="QMUIButton"> <rect key="frame" x="0.0" y="0.0" width="92" height="23"/> <button hidden="YES" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="EZo-PT-9vW" customClass="QMUIButton"> <rect key="frame" x="0.0" y="0.0" width="0.0" height="50"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> <state key="normal" title="我的已购" image="icon_buy"> @@ -464,40 +499,8 @@ <action selector="paymentCourseAction:" destination="-1" eventType="touchUpInside" id="Tnq-iq-nI0"/> </connections> </button> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="9fM-W9-vHq" customClass="QMUIButton"> <rect key="frame" x="92" y="0.0" width="92" height="23"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> <state key="normal" title="联系客服" image="icon_customer"> <color key="titleColor" red="0.13725490200000001" green="0.13725490200000001" blue="0.13725490200000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> </state> <userDefinedRuntimeAttributes> <userDefinedRuntimeAttribute type="number" keyPath="spacingBetweenImageAndTitle"> <real key="value" value="23.5"/> </userDefinedRuntimeAttribute> </userDefinedRuntimeAttributes> <connections> <action selector="customerAction:" destination="-1" eventType="touchUpInside" id="Qh6-1S-wWO"/> </connections> </button> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="gCl-Xh-n2C" customClass="QMUIButton"> <rect key="frame" x="184" y="0.0" width="92" height="23"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> <state key="normal" title="设置" image="icon_setting"> <color key="titleColor" red="0.13725490200000001" green="0.13725490200000001" blue="0.13725490200000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> </state> <userDefinedRuntimeAttributes> <userDefinedRuntimeAttribute type="number" keyPath="spacingBetweenImageAndTitle"> <real key="value" value="23.5"/> </userDefinedRuntimeAttribute> </userDefinedRuntimeAttributes> <connections> <action selector="settingAction:" destination="-1" eventType="touchUpInside" id="I2H-D6-zdo"/> </connections> </button> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="503-ii-Lw9" customClass="QMUIButton"> <rect key="frame" x="276" y="0.0" width="92" height="23"/> <rect key="frame" x="0.0" y="0.0" width="92" height="50"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> <state key="normal" title="分享赚钱" image="icon_share"> @@ -512,6 +515,24 @@ <action selector="shareAction:" destination="-1" eventType="touchUpInside" id="GjN-ls-QGE"/> </connections> </button> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="CWK-p3-BUm"> <rect key="frame" x="92" y="0.0" width="92" height="50"/> <fontDescription key="fontDescription" type="system" pointSize="17"/> <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="95E-qm-lja"> <rect key="frame" x="184" y="0.0" width="92" height="50"/> <fontDescription key="fontDescription" type="system" pointSize="17"/> <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="N7N-gO-EXJ"> <rect key="frame" x="276" y="0.0" width="92" height="50"/> <fontDescription key="fontDescription" type="system" pointSize="17"/> <nil key="textColor"/> <nil key="highlightedColor"/> </label> </subviews> </stackView> </subviews> XQMuse/Root/Me/TCell/BlackUserTCell.swift
New file @@ -0,0 +1,42 @@ // // BlackUserTCell.swift // XQMuse // // Created by 无故事王国 on 2024/12/18. // import UIKit import RxSwift class BlackUserTCell: UITableViewCell { private var userModel:SimpleUserInfoModel? @IBOutlet weak var avatarImage: UIImageView! @IBOutlet weak var label_name: UILabel! @IBOutlet weak var btn_cancel: UIButton! private var disposeBag = DisposeBag() override func awakeFromNib() { super.awakeFromNib() // Initialization code selectionStyle = .none avatarImage.layer.cornerRadius = 20 } func setModel(_ model:SimpleUserInfoModel){ userModel = model avatarImage.sd_setImage(with: URL(string: model.avatar)) label_name.text = model.nickname } @IBAction func tapAction(_ sender: UIButton) { CommonAlertView.show(title: "提示", content: "是否从黑名单移除此人?") {[weak self] state in guard let weakSelf = self else { return } if state{ Services.blackUser(appuserId: weakSelf.userModel!.id).subscribe(onNext: {_ in NotificationCenter.default.post(name: Refresh_Black_Noti, object: nil) }).disposed(by: weakSelf.disposeBag) } } } } XQMuse/Root/Me/TCell/BlackUserTCell.xib
New file @@ -0,0 +1,71 @@ <?xml version="1.0" encoding="UTF-8"?> <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="23084"/> <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> </dependencies> <objects> <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/> <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> <tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" rowHeight="128" id="KGk-i7-Jjw" customClass="BlackUserTCell" customModule="XQMuse" customModuleProvider="target"> <rect key="frame" x="0.0" y="0.0" width="320" height="128"/> <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM"> <rect key="frame" x="0.0" y="0.0" width="320" height="128"/> <autoresizingMask key="autoresizingMask"/> <subviews> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="4FB-v7-aJd"> <rect key="frame" x="21.666666666666671" y="44" width="40" height="40"/> <constraints> <constraint firstAttribute="width" constant="40" id="L4Q-ik-wW5"/> <constraint firstAttribute="height" constant="40" id="jG0-rw-pV0"/> </constraints> </imageView> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="6R5-Mk-gyd"> <rect key="frame" x="73.666666666666671" y="57.000000000000007" width="31" height="14.333333333333336"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="12"/> <nil key="textColor"/> <nil key="highlightedColor"/> </label> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="sMf-xd-PQd"> <rect key="frame" x="238" y="50.333333333333336" width="72" height="27.333333333333336"/> <state key="normal" title="Button"/> <buttonConfiguration key="configuration" style="gray" title="取消拉黑"> <fontDescription key="titleFontDescription" type="system" weight="medium" pointSize="12"/> <color key="baseForegroundColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> </buttonConfiguration> <connections> <action selector="tapAction:" destination="KGk-i7-Jjw" eventType="touchUpInside" id="52i-v4-5I6"/> </connections> </button> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Cgh-3T-I4m"> <rect key="frame" x="21.666666666666657" y="127" width="298.33333333333337" height="1"/> <color key="backgroundColor" red="0.93333333333333335" green="0.93333333333333335" blue="0.93333333333333335" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <constraints> <constraint firstAttribute="height" constant="1" id="ttF-df-1pq"/> </constraints> </view> </subviews> <constraints> <constraint firstItem="sMf-xd-PQd" firstAttribute="centerY" secondItem="H2p-sc-9uM" secondAttribute="centerY" id="8cK-pX-QpF"/> <constraint firstItem="4FB-v7-aJd" firstAttribute="centerY" secondItem="H2p-sc-9uM" secondAttribute="centerY" id="LdP-WJ-s6Q"/> <constraint firstAttribute="bottom" secondItem="Cgh-3T-I4m" secondAttribute="bottom" id="bFk-67-3yr"/> <constraint firstItem="6R5-Mk-gyd" firstAttribute="centerY" secondItem="H2p-sc-9uM" secondAttribute="centerY" id="fcK-8U-WqM"/> <constraint firstItem="4FB-v7-aJd" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="21.5" id="fe6-Ol-h10"/> <constraint firstAttribute="trailing" secondItem="sMf-xd-PQd" secondAttribute="trailing" constant="10" id="g6i-0m-C0p"/> <constraint firstAttribute="trailing" secondItem="Cgh-3T-I4m" secondAttribute="trailing" id="kNk-1M-kxV"/> <constraint firstItem="6R5-Mk-gyd" firstAttribute="leading" secondItem="4FB-v7-aJd" secondAttribute="trailing" constant="12" id="pUC-ka-CV0"/> <constraint firstItem="Cgh-3T-I4m" firstAttribute="leading" secondItem="4FB-v7-aJd" secondAttribute="leading" id="re6-MM-y7o"/> </constraints> </tableViewCellContentView> <connections> <outlet property="avatarImage" destination="4FB-v7-aJd" id="7re-9g-KvC"/> <outlet property="btn_cancel" destination="sMf-xd-PQd" id="Vmf-uu-oJ5"/> <outlet property="label_name" destination="6R5-Mk-gyd" id="QWg-jD-DQi"/> </connections> <point key="canvasLocation" x="4.5801526717557248" y="50"/> </tableViewCell> </objects> </document> XQMuse/Root/Me/VC/BlackListVC.swift
New file @@ -0,0 +1,73 @@ // // BlackListVC.swift // XQMuse // // Created by 无故事王国 on 2024/12/18. // import UIKit import RxRelay import RxSwift let Refresh_Black_Noti = Notification.Name.init("Refresh_Black_Noti") class BalckListViewModel:RefreshInnerModel<SimpleUserInfoModel>{ override func api() -> (Observable<BaseResponse<BaseResponseList<SimpleUserInfoModel>>>)? { return Services.blackUserList(pageCurr: page) } } class BlackListVC: BaseVC { private var tableView:UITableView! private var viewModel = BalckListViewModel() override func viewDidLoad() { super.viewDidLoad() title = "黑名单" viewModel.beginRefresh() } override func setUI() { tableView = UITableView(frame: .zero,style: .plain) tableView.delegate = self tableView.dataSource = self tableView.separatorStyle = .none tableView.register(UINib(nibName: "BlackUserTCell", bundle: nil), forCellReuseIdentifier: "_BlackUserTCell") view.addSubview(tableView) tableView.snp.makeConstraints { make in make.edges.equalToSuperview() } viewModel.configure(tableView) } override func setRx() { NotificationCenter.default.rx.notification(Refresh_Black_Noti).take(until: self.rx.deallocated).subscribe(onNext: {[weak self] _ in self?.viewModel.beginRefresh() }).disposed(by: disposeBag) } } extension BlackListVC:UITableViewDelegate{ } extension BlackListVC:UITableViewDataSource{ func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return viewModel.dataSource.value?.list.count ?? 0 } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "_BlackUserTCell", for: indexPath) as! BlackUserTCell cell.setModel(viewModel.dataSource.value!.list[indexPath.row]) return cell } func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { return 60 } } XQMuse/Root/Me/VC/InviteVC.xib
@@ -28,7 +28,7 @@ <rect key="frame" x="0.0" y="0.0" width="393" height="852"/> <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <subviews> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="top" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="bg_invite" translatesAutoresizingMaskIntoConstraints="NO" id="IZY-Nj-jD0"> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="bg_invite" translatesAutoresizingMaskIntoConstraints="NO" id="IZY-Nj-jD0"> <rect key="frame" x="0.0" y="0.0" width="393" height="852"/> </imageView> <scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Kj8-pf-QQp"> XQMuse/Root/Me/VC/LevelVC.xib
@@ -32,8 +32,12 @@ <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="bg_level" translatesAutoresizingMaskIntoConstraints="NO" id="wUb-cZ-2ur"> <rect key="frame" x="0.0" y="0.0" width="364" height="113.66666666666667"/> </imageView> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_vip_level" translatesAutoresizingMaskIntoConstraints="NO" id="h9t-tx-RMl"> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_vip_level" translatesAutoresizingMaskIntoConstraints="NO" id="h9t-tx-RMl"> <rect key="frame" x="11" y="18.333333333333329" width="95.666666666666671" height="27.666666666666671"/> <constraints> <constraint firstAttribute="width" constant="95.670000000000002" id="bbp-wX-Xlt"/> <constraint firstAttribute="height" constant="27.670000000000002" id="g0M-82-72I"/> </constraints> </imageView> <progressView opaque="NO" contentMode="scaleToFill" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="vEE-PO-MmZ"> <rect key="frame" x="14.333333333333343" y="63.666666666666671" width="335" height="6"/> XQMuse/Root/Me/VC/LogoutAccountVC.swift
@@ -18,8 +18,18 @@ super.viewDidLoad() title = "注销账号" Services.getTurn(progress: false).subscribe(onNext: {[weak self]data in guard let weakSelf = self else { return } if let m = data.data,m == true{ weakSelf.label_content.attributedText = AttributedStringbuilder.build().add(string: "请认真阅读并理解,注销账号将产生以下后果:\n", withFont: .systemFont(ofSize: 16, weight: .medium), withColor: .black.withAlphaComponent(0.6),lineSpace: 10) .add(string: "1、账号信息、第三方授权、认证身份将被清空和取消;\n2、所有使用、收藏、关注列表和购买记录将被清空;\n3、账户中所有的余额将被清空;\n4、账户对应的会员身份与权益将被取消;\n5、您在平台发布的内容将做匿名处理。\n\n", withFont: .systemFont(ofSize: 14, weight: .medium), withColor: .black.withAlphaComponent(0.6), lineSpace: 7) .add(string: "一经确认,以上内容将无法恢复,请谨慎考虑后决定。\n\n", withFont: .systemFont(ofSize: 14, weight: .medium), withColor: .black.withAlphaComponent(0.6),lineSpace: 7) .add(string: "根据相关法律法规,注销泉疗愈账号并不代表注销前的账号行为和相关责任得到豁免或减轻。", withFont: .systemFont(ofSize: 14, weight: .medium), withColor: .black.withAlphaComponent(0.6),lineSpace: 7).mutableAttributedString } }).disposed(by: disposeBag) label_content.attributedText = AttributedStringbuilder.build().add(string: "请认真阅读并理解,注销账号将产生以下后果:\n", withFont: .systemFont(ofSize: 16, weight: .medium), withColor: .black.withAlphaComponent(0.6),lineSpace: 10) .add(string: "1、账号信息、第三方授权、认证身份将被清空和取消;\n2、所有使用、收藏、关注列表和购买记录将被清空;\n3、账户中所有的余额将被清空;\n4、账户对应的会员身份与权益将被取消;\n5、您在平台发布的内容将做匿名处理。\n\n", withFont: .systemFont(ofSize: 14, weight: .medium), withColor: .black.withAlphaComponent(0.6), lineSpace: 7) .add(string: "1、账号信息、第三方授权、认证身份将被清空和取消;\n2、所有使用、收藏、关注列表将被清空;\n3、账户对应的会员身份与权益将被取消;\n4、您在平台发布的内容将做匿名处理。\n\n", withFont: .systemFont(ofSize: 14, weight: .medium), withColor: .black.withAlphaComponent(0.6), lineSpace: 7) .add(string: "一经确认,以上内容将无法恢复,请谨慎考虑后决定。\n\n", withFont: .systemFont(ofSize: 14, weight: .medium), withColor: .black.withAlphaComponent(0.6),lineSpace: 7) .add(string: "根据相关法律法规,注销泉疗愈账号并不代表注销前的账号行为和相关责任得到豁免或减轻。", withFont: .systemFont(ofSize: 14, weight: .medium), withColor: .black.withAlphaComponent(0.6),lineSpace: 7).mutableAttributedString XQMuse/Root/Me/VC/SettingVC.swift
@@ -58,6 +58,11 @@ push(vc: vc) } @IBAction func blackListAction(_ sender: TapBtn) { let vc = BlackListVC() push(vc: vc) } @IBAction func treatyAction(_ sender: TapBtn) { let vc = TreatyVC() push(vc: vc) XQMuse/Root/Me/VC/SettingVC.xib
@@ -24,7 +24,7 @@ <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <subviews> <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="QyJ-S3-Hmq"> <rect key="frame" x="7" y="83" width="382" height="288"/> <rect key="frame" x="7" y="83" width="382" height="336"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="F30-OV-73c" customClass="TapBtn" customModule="XQMuse" customModuleProvider="target"> <rect key="frame" x="0.0" y="0.0" width="382" height="48"/> @@ -131,8 +131,43 @@ <action selector="aboutUsAction:" destination="-1" eventType="touchUpInside" id="N3z-Cr-91f"/> </connections> </view> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="UeB-2r-ZNF" customClass="TapBtn" customModule="XQMuse" customModuleProvider="target"> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Jbb-2k-2iU" customClass="TapBtn" customModule="XQMuse" customModuleProvider="target"> <rect key="frame" x="0.0" y="144" width="382" height="48"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="黑名单" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="5Pc-0O-M1R"> <rect key="frame" x="11.666666666666668" y="15" width="44.666666666666657" height="18"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="15"/> <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_more" translatesAutoresizingMaskIntoConstraints="NO" id="XMe-JP-aaG"> <rect key="frame" x="360" y="18.666666666666657" width="6" height="10.666666666666664"/> </imageView> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Dzf-1w-RgJ"> <rect key="frame" x="8.6666666666666572" y="47.666666666666686" width="365" height="0.3333333333333357"/> <color key="backgroundColor" red="0.85490196080000003" green="0.85490196080000003" blue="0.85490196080000003" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <constraints> <constraint firstAttribute="height" constant="0.5" id="Cja-WU-tzG"/> </constraints> </view> </subviews> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstItem="Dzf-1w-RgJ" firstAttribute="leading" secondItem="Jbb-2k-2iU" secondAttribute="leading" constant="8.5" id="Bpm-Sh-bLC"/> <constraint firstAttribute="trailing" secondItem="XMe-JP-aaG" secondAttribute="trailing" constant="16" id="EFx-8F-CJz"/> <constraint firstAttribute="trailing" secondItem="Dzf-1w-RgJ" secondAttribute="trailing" constant="8.5" id="Hbx-jC-nDm"/> <constraint firstAttribute="bottom" secondItem="Dzf-1w-RgJ" secondAttribute="bottom" id="UjV-l6-hr1"/> <constraint firstItem="5Pc-0O-M1R" firstAttribute="leading" secondItem="Jbb-2k-2iU" secondAttribute="leading" constant="11.5" id="abl-WC-NKK"/> <constraint firstAttribute="height" constant="48" id="gPt-4u-u2x"/> <constraint firstItem="5Pc-0O-M1R" firstAttribute="centerY" secondItem="Jbb-2k-2iU" secondAttribute="centerY" id="rcr-C3-cF2"/> <constraint firstItem="XMe-JP-aaG" firstAttribute="centerY" secondItem="Jbb-2k-2iU" secondAttribute="centerY" id="tXv-aY-HRk"/> </constraints> <connections> <action selector="blackListAction:" destination="-1" eventType="touchUpInside" id="tfB-Xj-V5I"/> </connections> </view> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="UeB-2r-ZNF" customClass="TapBtn" customModule="XQMuse" customModuleProvider="target"> <rect key="frame" x="0.0" y="192" width="382" height="48"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="版本更新" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="gMu-uO-B2v"> <rect key="frame" x="11.666666666666668" y="15" width="59.666666666666657" height="18"/> @@ -141,7 +176,7 @@ <nil key="highlightedColor"/> </label> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_more" translatesAutoresizingMaskIntoConstraints="NO" id="Fcf-aE-CQR"> <rect key="frame" x="360" y="18.666666666666657" width="6" height="10.666666666666664"/> <rect key="frame" x="360" y="18.666666666666686" width="6" height="10.666666666666664"/> </imageView> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="L5Z-5G-cW3"> <rect key="frame" x="8.6666666666666572" y="47.666666666666686" width="365" height="0.3333333333333357"/> @@ -175,7 +210,7 @@ </connections> </view> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ta8-pP-aEf" customClass="TapBtn" customModule="XQMuse" customModuleProvider="target"> <rect key="frame" x="0.0" y="192" width="382" height="48"/> <rect key="frame" x="0.0" y="240" width="382" height="48"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="注销账号" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="tVJ-zS-iAQ"> <rect key="frame" x="11.666666666666668" y="15" width="59.666666666666657" height="18"/> @@ -210,7 +245,7 @@ </connections> </view> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="UKx-wx-JbB" customClass="TapBtn" customModule="XQMuse" customModuleProvider="target"> <rect key="frame" x="0.0" y="240" width="382" height="48"/> <rect key="frame" x="0.0" y="288" width="382" height="48"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="协议政策" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="bcv-yx-5hJ"> <rect key="frame" x="11.666666666666668" y="15" width="59.666666666666657" height="18"/> @@ -244,7 +279,7 @@ </userDefinedRuntimeAttributes> </stackView> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="yK9-0E-44J"> <rect key="frame" x="7" y="380" width="382" height="49.666666666666686"/> <rect key="frame" x="7" y="428" width="382" height="49.666666666666686"/> <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <constraints> <constraint firstAttribute="height" constant="49.5" id="7pi-r8-XGT"/> @@ -265,7 +300,7 @@ </connections> </button> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="7uR-yB-LEb"> <rect key="frame" x="7" y="439" width="382" height="49.666666666666686"/> <rect key="frame" x="7" y="487" width="382" height="49.666666666666629"/> <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <constraints> <constraint firstAttribute="height" constant="49.5" id="gU8-HE-2Kr"/> XQMuse/Root/Me/VC/WalletVC.swift
@@ -10,8 +10,8 @@ class WalletVC: BaseVC { @IBOutlet weak var label_balance: UILabel! @IBOutlet weak var label_recharge: UILabel! @IBOutlet weak var label_income: UILabel! // @IBOutlet weak var label_recharge: UILabel! // @IBOutlet weak var label_income: UILabel! private var walletModel:WalletModel? @@ -34,8 +34,8 @@ if let m = data.data{ self.walletModel = m self.label_balance.text = m.balance.jq_formatFloat self.label_recharge.text = m.recharge.jq_formatFloat self.label_income.text = m.income.jq_formatFloat // self.label_recharge.text = m.recharge.jq_formatFloat // self.label_income.text = m.income.jq_formatFloat } }).disposed(by: disposeBag) } XQMuse/Root/Me/VC/WalletVC.xib
@@ -12,8 +12,6 @@ <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="WalletVC" customModule="XQMuse" customModuleProvider="target"> <connections> <outlet property="label_balance" destination="ytR-o7-C2p" id="ZJD-cY-KS9"/> <outlet property="label_income" destination="0xP-OZ-ZWR" id="j2F-dD-gQ9"/> <outlet property="label_recharge" destination="RPE-c0-yYK" id="XNA-Kd-EpG"/> <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> </connections> </placeholder> @@ -26,13 +24,13 @@ <rect key="frame" x="0.0" y="0.0" width="393" height="297"/> </imageView> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="KW9-Cu-mZr"> <rect key="frame" x="0.0" y="114" width="393" height="260"/> <rect key="frame" x="14.666666666666657" y="114" width="364" height="201"/> <subviews> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="bg_wallet" translatesAutoresizingMaskIntoConstraints="NO" id="Mnw-W1-t6B"> <rect key="frame" x="0.0" y="0.0" width="393" height="260"/> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="bg_wallet" translatesAutoresizingMaskIntoConstraints="NO" id="Mnw-W1-t6B"> <rect key="frame" x="0.0" y="0.0" width="364" height="201"/> </imageView> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="可用余额(元)" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="1hb-Gu-i11"> <rect key="frame" x="45" y="27.000000000000004" width="93" height="14.666666666666668"/> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="可用余额(元)" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="1hb-Gu-i11"> <rect key="frame" x="45" y="27.000000000000004" width="274" height="14.666666666666668"/> <constraints> <constraint firstAttribute="height" constant="14.5" id="RjS-4t-g8T"/> </constraints> @@ -41,7 +39,7 @@ <nil key="highlightedColor"/> </label> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ytR-o7-C2p"> <rect key="frame" x="45" y="61" width="26.666666666666671" height="30"/> <rect key="frame" x="168.66666666666669" y="61" width="26.666666666666657" height="30"/> <constraints> <constraint firstAttribute="height" constant="30" id="xUB-51-NIU"/> </constraints> @@ -49,41 +47,11 @@ <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <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="bTT-6A-oeC"> <rect key="frame" x="44.999999999999993" y="123.00000000000001" width="74.333333333333314" height="11.666666666666671"/> <constraints> <constraint firstAttribute="height" constant="11.5" id="yb2-0Y-fpK"/> </constraints> <fontDescription key="fontDescription" type="system" pointSize="12"/> <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="2Wj-Qo-uKd"> <rect key="frame" x="229.33333333333334" y="123.00000000000001" width="50.666666666666657" height="11.666666666666671"/> <constraints> <constraint firstAttribute="height" constant="11.5" id="WAM-OA-pHr"/> </constraints> <fontDescription key="fontDescription" type="system" pointSize="12"/> <nil key="textColor"/> <nil key="highlightedColor"/> </label> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="RPE-c0-yYK"> <rect key="frame" x="45" y="143.66666666666669" width="16" height="28.666666666666657"/> <fontDescription key="fontDescription" type="boldSystem" pointSize="24"/> <nil key="textColor"/> <nil key="highlightedColor"/> </label> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="0xP-OZ-ZWR"> <rect key="frame" x="229.33333333333334" y="143.66666666666669" width="16" height="28.666666666666657"/> <fontDescription key="fontDescription" type="boldSystem" pointSize="24"/> <nil key="textColor"/> <nil key="highlightedColor"/> </label> <stackView opaque="NO" contentMode="scaleToFill" distribution="fillEqually" spacing="12.5" translatesAutoresizingMaskIntoConstraints="NO" id="ZnL-wn-1sN"> <rect key="frame" x="28" y="189" width="337" height="49"/> <rect key="frame" x="36" y="130" width="292" height="49"/> <subviews> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="1fa-be-bVw"> <rect key="frame" x="0.0" y="0.0" width="337" height="49"/> <rect key="frame" x="0.0" y="0.0" width="139.66666666666666" height="49"/> <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="18"/> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> @@ -100,8 +68,8 @@ <action selector="withdrawAction:" destination="-1" eventType="touchUpInside" id="Tk2-iT-wdF"/> </connections> </button> <button hidden="YES" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="HHE-qz-hlk"> <rect key="frame" x="0.0" y="0.0" width="0.0" height="49"/> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="HHE-qz-hlk"> <rect key="frame" x="152.33333333333337" y="0.0" width="139.66666666666663" height="49"/> <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="18"/> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> @@ -125,29 +93,24 @@ </stackView> </subviews> <constraints> <constraint firstItem="RPE-c0-yYK" firstAttribute="leading" secondItem="bTT-6A-oeC" secondAttribute="leading" id="1Eh-CW-81b"/> <constraint firstAttribute="bottom" secondItem="ZnL-wn-1sN" secondAttribute="bottom" constant="22" id="2YD-3d-ezA"/> <constraint firstItem="bTT-6A-oeC" firstAttribute="leading" secondItem="1hb-Gu-i11" secondAttribute="leading" id="6Za-ai-Z8R"/> <constraint firstItem="0xP-OZ-ZWR" firstAttribute="leading" secondItem="2Wj-Qo-uKd" secondAttribute="leading" id="72f-tZ-utq"/> <constraint firstItem="1hb-Gu-i11" firstAttribute="leading" secondItem="KW9-Cu-mZr" secondAttribute="leading" constant="45" id="8NB-M1-U1K"/> <constraint firstAttribute="trailing" secondItem="Mnw-W1-t6B" secondAttribute="trailing" id="FXZ-Jy-cvW"/> <constraint firstItem="bTT-6A-oeC" firstAttribute="top" secondItem="ytR-o7-C2p" secondAttribute="bottom" constant="32" id="GMQ-8T-uug"/> <constraint firstAttribute="bottom" secondItem="Mnw-W1-t6B" secondAttribute="bottom" id="PcJ-m8-Jlz"/> <constraint firstItem="ytR-o7-C2p" firstAttribute="leading" secondItem="KW9-Cu-mZr" secondAttribute="leading" constant="45" id="Qri-Sl-Foa"/> <constraint firstAttribute="trailing" secondItem="ZnL-wn-1sN" secondAttribute="trailing" constant="28" id="V81-n1-Bbn"/> <constraint firstItem="RPE-c0-yYK" firstAttribute="top" secondItem="bTT-6A-oeC" secondAttribute="bottom" constant="9" id="XVg-Cc-huj"/> <constraint firstItem="ytR-o7-C2p" firstAttribute="centerX" secondItem="1hb-Gu-i11" secondAttribute="centerX" id="RH5-rJ-7zm"/> <constraint firstAttribute="trailing" secondItem="ZnL-wn-1sN" secondAttribute="trailing" constant="36" id="V81-n1-Bbn"/> <constraint firstItem="Mnw-W1-t6B" firstAttribute="leading" secondItem="KW9-Cu-mZr" secondAttribute="leading" id="YOr-VI-K7v"/> <constraint firstItem="ZnL-wn-1sN" firstAttribute="leading" secondItem="KW9-Cu-mZr" secondAttribute="leading" constant="28" id="Ysd-wz-AY4"/> <constraint firstItem="ZnL-wn-1sN" firstAttribute="leading" secondItem="KW9-Cu-mZr" secondAttribute="leading" constant="36" id="Ysd-wz-AY4"/> <constraint firstItem="Mnw-W1-t6B" firstAttribute="top" secondItem="KW9-Cu-mZr" secondAttribute="top" id="ccW-W7-2rs"/> <constraint firstItem="0xP-OZ-ZWR" firstAttribute="centerY" secondItem="RPE-c0-yYK" secondAttribute="centerY" id="ds8-AI-N3a"/> <constraint firstItem="ZnL-wn-1sN" firstAttribute="top" secondItem="ytR-o7-C2p" secondAttribute="bottom" constant="39" id="cph-hP-8nj"/> <constraint firstItem="ytR-o7-C2p" firstAttribute="top" secondItem="1hb-Gu-i11" secondAttribute="bottom" constant="19.5" id="eL8-lf-wW1"/> <constraint firstItem="2Wj-Qo-uKd" firstAttribute="centerY" secondItem="bTT-6A-oeC" secondAttribute="centerY" id="nt7-iQ-KM7"/> <constraint firstAttribute="trailing" secondItem="2Wj-Qo-uKd" secondAttribute="trailing" constant="113" id="vDo-cj-vR3"/> <constraint firstAttribute="trailing" secondItem="1hb-Gu-i11" secondAttribute="trailing" constant="45" id="oA3-Wn-1Tm"/> <constraint firstItem="1hb-Gu-i11" firstAttribute="centerX" secondItem="KW9-Cu-mZr" secondAttribute="centerX" id="sYZ-5a-ElP"/> <constraint firstItem="1hb-Gu-i11" firstAttribute="top" secondItem="KW9-Cu-mZr" secondAttribute="top" constant="27" id="wjx-0a-bgI"/> </constraints> </view> <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="d4r-tq-ZJ0"> <rect key="frame" x="16" y="382" width="361" height="102"/> <rect key="frame" x="16" y="323" width="361" height="102"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="n8v-Zl-Su5" customClass="TapBtn" customModule="XQMuse" customModuleProvider="target"> <rect key="frame" x="0.0" y="0.0" width="361" height="51"/> @@ -230,19 +193,19 @@ </subviews> </stackView> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="rlo-Ro-eiy" customClass="TapBtn" customModule="XQMuse" customModuleProvider="target"> <rect key="frame" x="14.666666666666657" y="519.66666666666663" width="364" height="66.333333333333371"/> <rect key="frame" x="14.666666666666657" y="460.66666666666669" width="364" height="66.333333333333314"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="推荐心泉疗愈给好友" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="XgZ-h6-scF"> <rect key="frame" x="9.3333333333333357" y="25.333333333333375" width="116.33333333333331" height="15.666666666666668"/> <rect key="frame" x="9.3333333333333357" y="25.333333333333318" width="116.33333333333331" height="15.666666666666668"/> <fontDescription key="fontDescription" type="system" pointSize="13"/> <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="btn_sendGift" translatesAutoresizingMaskIntoConstraints="NO" id="qXC-0b-5WY"> <rect key="frame" x="313.33333333333331" y="21.333333333333371" width="20.666666666666686" height="23.666666666666671"/> <rect key="frame" x="313.33333333333331" y="21.333333333333314" width="20.666666666666686" height="23.666666666666671"/> </imageView> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_more" translatesAutoresizingMaskIntoConstraints="NO" id="ob5-NP-f5y"> <rect key="frame" x="349" y="27.666666666666746" width="6" height="10.666666666666668"/> <rect key="frame" x="349" y="27.666666666666632" width="6" height="10.666666666666668"/> </imageView> </subviews> <color key="backgroundColor" systemColor="systemBackgroundColor"/> @@ -273,9 +236,9 @@ <constraint firstItem="YLf-DI-Qac" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" id="8fh-Bk-03T"/> <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="rlo-Ro-eiy" secondAttribute="trailing" constant="14.5" id="8yy-8k-olj"/> <constraint firstItem="YLf-DI-Qac" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="EAo-wz-7IC"/> <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="KW9-Cu-mZr" secondAttribute="trailing" id="PcZ-V2-diT"/> <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="KW9-Cu-mZr" secondAttribute="trailing" constant="14.5" id="PcZ-V2-diT"/> <constraint firstItem="rlo-Ro-eiy" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" constant="14.5" id="enX-zD-hrJ"/> <constraint firstItem="KW9-Cu-mZr" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" id="lj7-Da-LR3"/> <constraint firstItem="KW9-Cu-mZr" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" constant="14.5" id="lj7-Da-LR3"/> <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="YLf-DI-Qac" secondAttribute="trailing" id="nJw-8K-jzB"/> <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="d4r-tq-ZJ0" secondAttribute="trailing" constant="16" id="ock-wG-9ur"/> <constraint firstItem="rlo-Ro-eiy" firstAttribute="top" secondItem="d4r-tq-ZJ0" secondAttribute="bottom" constant="35.5" id="srM-0i-jqr"/> @@ -287,7 +250,7 @@ </objects> <resources> <image name="bg_voice_top" width="390" height="297"/> <image name="bg_wallet" width="364.66665649414062" height="260"/> <image name="bg_wallet" width="364.66665649414062" height="202.66667175292969"/> <image name="btn_sendGift" width="20.666666030883789" height="23.666666030883789"/> <image name="icon_coin" width="15.666666984558105" height="15.666666984558105"/> <image name="icon_like" width="14.666666984558105" height="13.666666984558105"/> XQMuse/Root/Me/VC/WatchHistoryDetailVC.swift
@@ -98,14 +98,45 @@ func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { let item = viewModel.dataSource.value[indexPath.row] Services.gvieCourseAgain(id: item.id).subscribe(onNext: {[weak self]data in guard let weakSelf = self else { return } if let m = data.data{ let vc = PaymentOrderVC(pendingModel: m, type: weakSelf.viewModel.state.value == 1 ? .muse:.course) JQ_currentViewController().jq_push(vc: vc) if item.paymentStatus == .no{ //音频 if viewModel.state.value == 1{ Services.getMeditationDetail(id: item.businessId).subscribe(onNext: {data in if let m = data.data{ let vc = HomeItemDetailVC(model: m) JQ_currentViewController().jq_push(vc: vc) } }).disposed(by: disposeBag) } }).disposed(by: disposeBag) //课程 if viewModel.state.value == 2{ Services.getCourseDetail(courseId: item.businessId).subscribe(onNext: {data in if let m = data.data{ if m.isVip == .no && m.chargeType == .vipFree{ let vc = VIPCenterVC() JQ_currentNavigationController().pushViewController(vc) }else if m.courseType == .online{ let vc = CourseDetialVC(courseModel: m) JQ_currentViewController().jq_push(vc: vc) }else{ let vc = CourseDetialOfflineVC(courseId: m.id) JQ_currentViewController().jq_push(vc: vc) } } }).disposed(by: disposeBag) } }else{ Services.gvieCourseAgain(id: item.id).subscribe(onNext: {[weak self]data in guard let weakSelf = self else { return } if let m = data.data{ let vc = PaymentOrderVC(pendingModel: m, type: weakSelf.viewModel.state.value == 1 ? .muse:.course) JQ_currentViewController().jq_push(vc: vc) } }).disposed(by: disposeBag) } // if viewModel.state.value == 1{ // //待支付 XQMuse/Root/Network/Models.swift
@@ -296,6 +296,12 @@ } } struct SimpleUserInfoModel:HandyJSON{ var avatar:String = "" var id:Int = 0 var nickname:String = "" } struct TutorInfoModel:HandyJSON{ var id = 0 var tutorIntroduction = "" XQMuse/Root/Network/Services.swift
@@ -370,6 +370,7 @@ return NetworkRequest.request(params: params, method: .get, progress: true) } /// - payType: 支付方式 1=微信 2=支付宝 class func placeOrder(orderForm:PaymentOrderVC.PaymentOrderType,payType:Int,amount:Double? = nil,balanceFlag:Int? = nil,orderId:Int? = nil,receiverId:Int? = nil,targetId:Int? = nil,vipType:Int? = nil)->Observable<BaseResponse<PaymentResultModel>>{ let params = ParamsAppender.build(url: All_Url) params.interface(url: "/order/client/order/order/placeOrder") @@ -389,7 +390,7 @@ /// 苹果支付 /// - Parameters: /// - amount: 购买会员的金额/充值金额 /// - balanceFlag: 是否使用余额抵扣 1=是 2=否 /// - balanceFlag: 是否使用YUE抵扣 1=是 2=否 /// - orderFrom: 订单来源 1=冥想音频 2=课程 3=购买会员 4充值 /// - transactionIdentifier: 苹果订单id /// - vipType: 订单类型为会员时 必传 会员类型 1月度 2季度 3年度 @@ -856,9 +857,25 @@ return NetworkRequest.request(params: params, method: .post, progress: true) } // 1:0 class func getTurn(progress:Bool = true)->Observable<BaseResponse<Bool>>{ let params = ParamsAppender.build(url: All_Url) .interface(url: "/system/system/home/getTurn") return NetworkRequest.request(params: params, method: .get, progress: progress) } class func blackUser(appuserId:Int)->Observable<BaseResponse<SimpleModel>>{ let params = ParamsAppender.build(url: All_Url) .interface(url: "/user/client/app-user/blackUser") .append(key: "appUserId", value: appuserId) return NetworkRequest.request(params: params, method: .post, progress: true) } class func blackUserList(pageCurr:Int,pageSize:Int = 20)->Observable<BaseResponse<BaseResponseList<SimpleUserInfoModel>>>{ let params = ParamsAppender.build(url: All_Url) .interface(url: "/user/client/app-user/blackList") .append(key: "pageCurr", value: pageCurr) .append(key: "pageSize", value: pageSize) return NetworkRequest.request(params: params, method: .get, progress: false) } } XQMuse/Root/PayMusicView/PayMusicVC.swift
@@ -40,6 +40,7 @@ private var btn_handleClose:UIButton! private(set) var audioPlayer:AudioPlayer! private var isAniLoop:Bool = false private var currentPlayState:PayMuiscState = .pause private var meditationModel:MeditationModel?{ didSet{ if let m = meditationModel{ @@ -150,6 +151,7 @@ static func updateStatus(_ state:PayMuiscState,musicName:String? = nil){ if let tabBarVC = JQ_currentViewController().navigationController?.tabBarController as? BaseTabBarVC{ if let vc = tabBarVC.children.filter({$0 is PayMusicVC}).first as? PayMusicVC{ vc.currentPlayState = state vc.btn_handle.isSelected = state == .pause if let musicName{ vc.label_name.text = musicName @@ -164,6 +166,15 @@ } } static func getCurrentStatus()->PayMuiscState{ if let tabBarVC = JQ_currentViewController().navigationController?.tabBarController as? BaseTabBarVC{ if let vc = tabBarVC.children.filter({$0 is PayMusicVC}).first as? PayMusicVC{ return vc.currentPlayState } } return .pause } static func hidden(){ if let tabBarVC = JQ_currentViewController().navigationController?.tabBarController as? BaseTabBarVC{ if let vc = tabBarVC.children.filter({$0 is PayMusicVC}).first{ XQMuse/Root/TreeGroup/TreeTeskVC.swift
@@ -73,6 +73,10 @@ player.play() aPNGSunImageView?.startAnimating() aPNGTreeImageView?.startAnimating() Services.energyExchangeGift(page: 1).subscribe(onNext: {[weak self]data in self?.btn_exchange.isHidden = (data.data?.count ?? 0) == 0 }).disposed(by: disposeBag) } override func viewDidLayoutSubviews() { XQMuse/Root/TreeGroup/TreeTeskVC.xib
@@ -30,7 +30,7 @@ <rect key="frame" x="0.0" y="0.0" width="393" height="852"/> <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="jpV-f9-inW" customClass="TapBtn" customModule="XQMuse" customModuleProvider="target"> <view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="jpV-f9-inW" customClass="TapBtn" customModule="XQMuse" customModuleProvider="target"> <rect key="frame" x="295" y="79" width="98" height="35"/> <subviews> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_gift" translatesAutoresizingMaskIntoConstraints="NO" id="hfb-m4-ng1"> XQMuse/Root/TreeGroup/VC/TreeTeskEnergyExchangeVC.xib
@@ -85,8 +85,8 @@ <rect key="frame" x="0.0" y="187.66666666666663" width="393" height="481"/> <color key="backgroundColor" systemColor="systemBackgroundColor"/> </tableView> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="本次活动与Apple Inc.无关" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="6So-p2-hzW"> <rect key="frame" x="137" y="803" width="119.33333333333331" height="10"/> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="本次活动均与Apple Inc.无关" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="6So-p2-hzW"> <rect key="frame" x="132" y="803" width="129.33333333333337" height="10"/> <fontDescription key="fontDescription" type="system" pointSize="10"/> <color key="textColor" systemColor="systemGray2Color"/> <nil key="highlightedColor"/> XQMuse/Root/TreeGroup/View/TreeTeskListView.xib
@@ -163,7 +163,7 @@ </userDefinedRuntimeAttribute> </userDefinedRuntimeAttributes> </view> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="前往疗愈" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="oyl-lW-Kxr"> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="前往学习" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="oyl-lW-Kxr"> <rect key="frame" x="23" y="0.0" width="67.333333333333329" height="25"/> <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="12"/> <nil key="textColor"/> @@ -244,7 +244,7 @@ </userDefinedRuntimeAttribute> </userDefinedRuntimeAttributes> </view> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="前往疗愈" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="rR9-r5-hle"> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="前往学习" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="rR9-r5-hle"> <rect key="frame" x="23" y="0.0" width="67.333333333333329" height="25"/> <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="13"/> <nil key="textColor"/> XQMuse/SceneDelegate.swift
@@ -15,7 +15,6 @@ var window: UIWindow? func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { sleep(2) SVProgressHUD.setMaximumDismissTimeInterval(1.5) SVProgressHUD.setDefaultMaskType(.custom)