杨锴
2024-12-27 fe02f75ab7a593f33d60c15308ddf7a974962db4
提交版本: 1.0.0
36个文件已修改
4个文件已删除
7个文件已添加
856 ■■■■ 已修改文件
XQMuse.xcodeproj/project.pbxproj 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XQMuse/Assets.xcassets/Placeholder/bg_wallet.imageset/Contents.json 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XQMuse/Assets.xcassets/Placeholder/bg_wallet.imageset/bg@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
XQMuse/Assets.xcassets/Placeholder/bg_wallet.imageset/bg@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
XQMuse/Assets.xcassets/Placeholder/bg_wallet.imageset/bg_wallet@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
XQMuse/Assets.xcassets/Placeholder/bg_wallet.imageset/bg_wallet@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
XQMuse/Assets.xcassets/Placeholder/home_top_bg.imageset/Contents.json 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XQMuse/Assets.xcassets/Placeholder/home_top_bg.imageset/home_top_bg@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
XQMuse/Assets.xcassets/Placeholder/home_top_bg.imageset/home_top_bg@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
XQMuse/Assets.xcassets/Placeholder/home_top_bg.imageset/image 1.jpeg 补丁 | 查看 | 原始文档 | blame | 历史
XQMuse/Assets.xcassets/Placeholder/home_top_bg.imageset/image.jpeg 补丁 | 查看 | 原始文档 | blame | 历史
XQMuse/Root/Course/TCell/CourseDetail_3_TCell.swift 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XQMuse/Root/Course/VC/CourseDetialOfflineVC.xib 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XQMuse/Root/Course/VC/CourseVCOfficalCommentVC.swift 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XQMuse/Root/Home/CCell/HomeRelaxBannerCCell.swift 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XQMuse/Root/Home/CCell/HomeRelaxBanner_2_CCell.swift 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XQMuse/Root/Home/CCell/HomeRelaxBanner_2_CCell.xib 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XQMuse/Root/Home/CCell/Home_Style_4_Inner_CCell.swift 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
XQMuse/Root/Home/HomeVC.swift 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XQMuse/Root/Home/TCell/Home_Style_1_TCell.swift 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XQMuse/Root/Home/TCell/Home_Style_3_TCell.swift 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XQMuse/Root/Home/TCell/Home_Style_4_TCell.swift 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XQMuse/Root/Home/VC/CommentListVC.swift 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XQMuse/Root/Home/VC/PaymentOrderVC.swift 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XQMuse/Root/Home/View/HomeTopMenuView.xib 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XQMuse/Root/Login/LoginVC.xib 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XQMuse/Root/Me/MeVC.swift 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XQMuse/Root/Me/MeVC.xib 153 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XQMuse/Root/Me/TCell/BlackUserTCell.swift 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XQMuse/Root/Me/TCell/BlackUserTCell.xib 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XQMuse/Root/Me/VC/BlackListVC.swift 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XQMuse/Root/Me/VC/InviteVC.xib 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
XQMuse/Root/Me/VC/LevelVC.xib 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XQMuse/Root/Me/VC/LogoutAccountVC.swift 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XQMuse/Root/Me/VC/SettingVC.swift 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XQMuse/Root/Me/VC/SettingVC.xib 49 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XQMuse/Root/Me/VC/WalletVC.swift 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XQMuse/Root/Me/VC/WalletVC.xib 85 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XQMuse/Root/Me/VC/WatchHistoryDetailVC.swift 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XQMuse/Root/Network/Models.swift 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XQMuse/Root/Network/Services.swift 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XQMuse/Root/PayMusicView/PayMusicVC.swift 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XQMuse/Root/TreeGroup/TreeTeskVC.swift 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XQMuse/Root/TreeGroup/TreeTeskVC.xib 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
XQMuse/Root/TreeGroup/VC/TreeTeskEnergyExchangeVC.xib 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XQMuse/Root/TreeGroup/View/TreeTeskListView.xib 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XQMuse/SceneDelegate.swift 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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.png
Binary files differ
XQMuse/Assets.xcassets/Placeholder/bg_wallet.imageset/bg_wallet@3x.png
Binary 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.png
Binary files differ
XQMuse/Assets.xcassets/Placeholder/home_top_bg.imageset/home_top_bg@3x.png
Binary 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)
@@ -434,6 +434,21 @@
                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{
                private var model:ToDayMeditationModel?
                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)人已参加学习"
                }
                                                }
                                }
                }
                @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() {
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,9 +602,15 @@
    }
    private func paymentByCoin(id:Int){
        guard let p = price else{return}
        //需要支付
        if p > 0 {
            if balance < p{
                alertError(msg: "抵扣余额不足");return
            }
        guard balance > price else{
            guard balance > p  else{
            CommonAlertView.show(title: "提示", content: "当前余额不足,请先充值", cancelStr: "暂不充值", completeStr: "去充值", isSingle: false) {[weak self] state in
                if state{
                    let vc = WalletRechargeVC()
@@ -604,6 +620,8 @@
            return
        }
        }
        if businessId != nil{
            Services.gvieCourseAgain(id: businessId!).subscribe(onNext: {[weak self]data in
                guard let weakSelf = self else { return }
@@ -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,10 +18,20 @@
        super.viewDidLoad()
        title = "注销账号"
        label_content.attributedText =  AttributedStringbuilder.build().add(string: "请认真阅读并理解,注销账号将产生以下后果:\n", withFont: .systemFont(ofSize: 16, weight: .medium), withColor: .black.withAlphaComponent(0.6),lineSpace: 10)
        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、您在平台发布的内容将做匿名处理。\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,7 +98,35 @@
                func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
                                let item = viewModel.dataSource.value[indexPath.row]
        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)
            }
            //课程
            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{
@@ -106,6 +134,9 @@
                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)