From 0fb7413df54760ac6bd15b90b738e0706de1629e Mon Sep 17 00:00:00 2001
From: 杨锴 <841720330@qq.com>
Date: 星期二, 05 十一月 2024 19:03:09 +0800
Subject: [PATCH] fix bug

---
 XQMuse/Root/Course/VC/CourseDetialVC.swift                                 |   10 
 XQMuse/Root/Me/VC/BindPhone_2_VC.swift                                     |    4 
 XQMuse/Base/BaseTabBarVC.swift                                             |    2 
 XQMuse/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png                   |    0 
 XQMuse/Root/TreeGroup/View/TreeTeskListView.swift                          |  161 ++-
 XQMuse/Root/Plans/View/PlanGuidePromptSupplyView.swift                     |    2 
 XQMuse/Root/TreeGroup/TreeTeskVC.swift                                     |    8 
 XQMuse/Root/Pavilion/PavilionVC.swift                                      |    5 
 XQMuse/Root/.DS_Store                                                      |    0 
 XQMuse/Base/BaseNav.swift                                                  |    2 
 XQMuse/Assets.xcassets/AppIcon.appiconset/notification-icon@2x.png         |    0 
 XQMuse/Assets.xcassets/AppIcon.appiconset/icon.png                         |    0 
 XQMuse.xcodeproj/project.pbxproj                                           |    8 
 XQMuse/Root/Home/VC/BackgroundVoiceVC.swift                                |   13 
 XQMuse/Assets.xcassets/Placeholder/bt_private .imageset/Contents.json      |   22 
 XQMuse/Assets.xcassets/Placeholder/bg_ccc.imageset/bg_ccc@2x.png           |    0 
 XQMuse/Root/Login/VC/ForgotPasswordChangeVC.swift                          |    2 
 XQMuse/Assets.xcassets/AppIcon.appiconset/notification-icon@3x.png         |    0 
 XQMuse/Root/Me/VC/UserProfileVC.swift                                      |  345 ++++-----
 XQMuse/Root/Me/VC/LogoutAccountVC.xib                                      |    7 
 XQMuse/Assets.xcassets/Placeholder/bg_today.imageset/Contents.json         |   22 
 XQMuse/Root/Home/VC/HomeItemListVC.swift                                   |    4 
 XQMuse/Root/Me/VC/AddBankInfoVC.swift                                      |    2 
 XQMuse/Root/Plans/PlanGuideVC.swift                                        |    8 
 XQMuse/Root/Home/TCell/Home_Style_1_TCell.xib                              |    9 
 XQMuse/Assets.xcassets/Placeholder/bt_private .imageset/bt_private @3x.png |    0 
 XQMuse/Root/Home/View/HomeTopMenuView.swift                                |    2 
 XQMuse/Root/Login/LoginVC.xib                                              |   15 
 XQMuse/Root/Login/View/Popup_1_View.swift                                  |    4 
 XQMuse/Root/Me/VC/LogoutAccountVC.swift                                    |    9 
 XQMuse/Assets.xcassets/AppIcon.appiconset/ios-marketing.png                |    0 
 XQMuse/Root/Other/View/CommonAlertSheetView.swift                          |   28 
 XQMuse/Root/Home/TCell/Home_Style_1_TCell.swift                            |    3 
 XQMuse/Root/Me/VC/InviteVC.swift                                           |    2 
 XQMuse/Root/Home/TCell/Home_Style_3_TCell.swift                            |    6 
 XQMuse/Root/Home/TCell/Home_Style_4_TCell.swift                            |    7 
 XQMuse/Root/TreeGroup/View/TreeTeskExchangeSuccessView.xib                 |   10 
 XQMuse/Root/Login/VC/UpdatePhoneVC.swift                                   |    4 
 XQMuse/Assets.xcassets/AppIcon.appiconset/icon-small@3x.png                |    0 
 XQMuse/Root/Home/VC/PaymentOrderVC.swift                                   |   38 
 XQMuse/Assets.xcassets/AppIcon.appiconset/icon@2x.png                      |    0 
 XQMuse/Root/Me/VC/SettingVC.swift                                          |   41 
 XQMuse/Root/Me/VC/VIPCenterVC.xib                                          |   15 
 XQMuse/Root/TreeGroup/TCell/TreeTeskEnergyTCell.swift                      |    4 
 XQMuse/Root/Network/Models.swift                                           |   19 
 XQMuse/Root/Plans/PlanGuide_3_VC.swift                                     |    2 
 XQMuse/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png                   |    0 
 XQMuse/Root/Me/MeVC.xib                                                    |   18 
 XQMuse/Root/Login/VC/ForgotPasswordChangeVC.xib                            |   12 
 XQMuse/Root/TreeGroup/VC/TreeTeskEnergyExchangeVC.swift                    |    2 
 XQMuse/Root/Me/VC/LevelVC.swift                                            |    4 
 XQMuse/Root/Me/VC/BindPhone_1_VC.swift                                     |    2 
 XQMuse/Root/Pavilion/CCell/PavilionItemCell.swift                          |    2 
 XQMuse/Root/Course/VC/CourseVCOfficalCommentVC.swift                       |    4 
 XQMuse/Root/Me/VC/VIPCenterVC.swift                                        |   18 
 XQMuse/Root/Course/TCell/CourseDetail_2_TCell.swift                        |    2 
 XQMuse/Root/Other/View/CommonAlertView.swift                               |    2 
 XQMuse/Root/Pavilion/VC/PavilionDetailVC.swift                             |   64 +
 XQMuse/Root/Home/VC/HomeItemDetailVC.xib                                   |   20 
 XQMuse/Root/Me/VC/ContactCustomerVC.xib                                    |   87 --
 XQMuse/Root/Login/VC/ForgotPasswordInputCodeVC.swift                       |   11 
 XQMuse/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png                   |    0 
 XQMuse/Assets.xcassets/Placeholder/bg_today.imageset/组 20@3x.png           |    0 
 XQMuse/Config/LaunchImageHelper.swift                                      |  253 +++++++
 XQMuse/Root/Me/VC/BindAccountVC.swift                                      |    2 
 XQMuse/Root/Home/CCell/HomeRelaxVoiceCCell.swift                           |    2 
 XQMuse/Root/TreeGroup/View/TreeTeskFirstRuleView.xib                       |   16 
 XQMuse/Root/Me/VC/UserProfileVC.xib                                        |  101 +-
 XQMuse/Root/Me/VC/ContactCustomerVC.swift                                  |   81 +
 XQMuse/Assets.xcassets/Placeholder/bg_today.imageset/组 20@2x.png           |    0 
 XQMuse/Root/Login/VC/RegisterVC.swift                                      |   15 
 XQMuse/Root/Other/View/CommonAlertSheetView.xib                            |   47 +
 XQMuse/Root/Login/VC/ForgotPasswordInputCodeVC.xib                         |   16 
 XQMuse/Root/TreeGroup/View/TreeTeskListView.xib                            |   26 
 XQMuse/Root/Home/CCell/HomeRelaxBanner_2_1_CCell.swift                     |    9 
 XQMuse/Root/Home/CCell/HomeRelaxBanner_2_CCell.swift                       |    8 
 XQMuse/Root/Course/CCell/CourseOfficialItemCCell.xib                       |   12 
 XQMuse/Root/Home/VC/HomeItemDetailVC.swift                                 |   22 
 XQMuse/Root/Me/VC/ContactCustomerDetailVC.swift                            |   21 
 XQMuse/Root/Login/LoginVC.swift                                            |   51 
 XQMuse/Root/Me/VC/ContactCustomerDetailVC.xib                              |   10 
 XQMuse/Root/Home/HomeVC.swift                                              |   58 +
 XQMuse/Config/Enums/Enums.swift                                            |    2 
 XQMuse/Root/Me/VC/SpendingDetailHeaderVC.xib                               |   11 
 XQMuse/Root/Network/Services.swift                                         |   10 
 XQMuse/Root/Home/CCell/Home_Style_4_Inner_1_CCell.swift                    |    7 
 XQMuse/Root/TreeGroup/View/TreeTeskFirstRuleView.swift                     |    4 
 XQMuse/Assets.xcassets/Placeholder/bg_ccc.imageset/Contents.json           |   22 
 XQMuse/Root/Course/VC/CourseVCTeacherSpecialVC.swift                       |    2 
 XQMuse/Config/Def.swift                                                    |    1 
 XQMuse/Root/Home/CCell/Home_Style_4_Inner_CCell.swift                      |   10 
 XQMuse/Root/Login/VC/ForgotPasswordVC.xib                                  |   10 
 XQMuse/Root/Home/VC/SearchContentVC.swift                                  |    6 
 XQMuse/Root/Login/View/Popup_1_View.xib                                    |    6 
 XQMuse/Root/TreeGroup/TCell/TreeTeskEnergyExchangeRecordTCell.swift        |    4 
 XQMuse/Root/Home/VC/SearchVC.swift                                         |   13 
 XQMuse/Assets.xcassets/AppIcon.appiconset/icon-small.png                   |    0 
 XQMuse/Root/Me/VC/SettingVC.xib                                            |   56 +
 XQMuse/Assets.xcassets/AppIcon.appiconset/icon-small@2x.png                |    0 
 XQMuse/Root/Login/VC/ForgotPasswordVC.swift                                |    6 
 XQMuse/Root/Me/VC/AddBankInfoVC.xib                                        |   22 
 XQMuse/Root/Home/CCell/HomeRelaxBannerCCell.swift                          |    9 
 XQMuse/Assets.xcassets/Placeholder/bt_private .imageset/bt_private @2x.png |    0 
 XQMuse/Root/PayMusicView/PayMusicVC.swift                                  |    2 
 XQMuse/Root/Me/MeVC.swift                                                  |   12 
 XQMuse/Root/Plans/PlanGuide_2_VC.swift                                     |    9 
 XQMuse/Root/Pavilion/VC/PavilionSearchVC.xib                               |   12 
 XQMuse/Assets.xcassets/Placeholder/bg_ccc.imageset/bg_ccc@3x.png           |    0 
 XQMuse/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png                   |    0 
 XQMuse/Root/Course/View/CourseDetailHeaderView.swift                       |    2 
 110 files changed, 1,392 insertions(+), 689 deletions(-)

diff --git a/XQMuse.xcodeproj/project.pbxproj b/XQMuse.xcodeproj/project.pbxproj
index aefbb0e..9a6a464 100644
--- a/XQMuse.xcodeproj/project.pbxproj
+++ b/XQMuse.xcodeproj/project.pbxproj
@@ -88,6 +88,7 @@
 		1338A6DE2C76DD5E006CDD15 /* SpendingDetailInfoVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1338A6DC2C76DD5E006CDD15 /* SpendingDetailInfoVC.xib */; };
 		13391E022C73334000B9513F /* PavilionDetailVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13391E012C73334000B9513F /* PavilionDetailVC.xib */; };
 		13391E032C73334000B9513F /* PavilionDetailVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13391E002C73334000B9513F /* PavilionDetailVC.swift */; };
+		1341970B2CD9CDE800D324B7 /* LaunchImageHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1341970A2CD9CDE800D324B7 /* LaunchImageHelper.swift */; };
 		134783CF2C6C86EC0096C736 /* PlaySettingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 134783CE2C6C86EC0096C736 /* PlaySettingView.swift */; };
 		134783D12C6C86F40096C736 /* PlaySettingView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 134783D02C6C86F40096C736 /* PlaySettingView.xib */; };
 		134803D32C76E29E00F4FDDA /* MyCommentListVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 134803D22C76E29E00F4FDDA /* MyCommentListVC.swift */; };
@@ -393,6 +394,7 @@
 		1338A6DC2C76DD5E006CDD15 /* SpendingDetailInfoVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = SpendingDetailInfoVC.xib; sourceTree = "<group>"; };
 		13391E002C73334000B9513F /* PavilionDetailVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PavilionDetailVC.swift; sourceTree = "<group>"; };
 		13391E012C73334000B9513F /* PavilionDetailVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = PavilionDetailVC.xib; sourceTree = "<group>"; };
+		1341970A2CD9CDE800D324B7 /* LaunchImageHelper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LaunchImageHelper.swift; sourceTree = "<group>"; };
 		134783CE2C6C86EC0096C736 /* PlaySettingView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlaySettingView.swift; sourceTree = "<group>"; };
 		134783D02C6C86F40096C736 /* PlaySettingView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = PlaySettingView.xib; sourceTree = "<group>"; };
 		134803D22C76E29E00F4FDDA /* MyCommentListVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyCommentListVC.swift; sourceTree = "<group>"; };
@@ -1097,6 +1099,7 @@
 				13985DB72C69B80D0046B6DC /* Themes.swift */,
 				135B1D1F2C8863D10089A9BE /* Types.swift */,
 				132C4B762CC0E5CA00EA56AF /* XQMuse-Bridging-Header.h */,
+				1341970A2CD9CDE800D324B7 /* LaunchImageHelper.swift */,
 			);
 			path = Config;
 			sourceTree = "<group>";
@@ -1740,6 +1743,7 @@
 				130C070B2C76D8F200ADB098 /* SpendingDetailContentVC.swift in Sources */,
 				131CE0F92C91298E00D1234A /* TreeTeskListView.swift in Sources */,
 				13EC08912C74990B00E00128 /* EmptyCCell.swift in Sources */,
+				1341970B2CD9CDE800D324B7 /* LaunchImageHelper.swift in Sources */,
 				13F24E422C758DF100D2BA90 /* LogoutAccountVC.swift in Sources */,
 				135C2A6E2C7F033300CC2A67 /* CLSlider.swift in Sources */,
 				13649F9F2C770C9C00F4E0EE /* ContactCustomerDetailVC.swift in Sources */,
@@ -1941,7 +1945,7 @@
 					"$(inherited)",
 					"@executable_path/Frameworks",
 				);
-				MARKETING_VERSION = 1.0;
+				MARKETING_VERSION = 1.0.0;
 				OTHER_LDFLAGS = (
 					"$(inherited)",
 					"-ObjC",
@@ -2096,7 +2100,7 @@
 					"$(inherited)",
 					"@executable_path/Frameworks",
 				);
-				MARKETING_VERSION = 1.0;
+				MARKETING_VERSION = 1.0.0;
 				OTHER_LDFLAGS = (
 					"$(inherited)",
 					"-ObjC",
diff --git a/XQMuse/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png b/XQMuse/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png
new file mode 100644
index 0000000..6802947
--- /dev/null
+++ b/XQMuse/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png
Binary files differ
diff --git a/XQMuse/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png b/XQMuse/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png
new file mode 100644
index 0000000..ddb46a8
--- /dev/null
+++ b/XQMuse/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png
Binary files differ
diff --git a/XQMuse/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png b/XQMuse/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png
new file mode 100644
index 0000000..ddb46a8
--- /dev/null
+++ b/XQMuse/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png
Binary files differ
diff --git a/XQMuse/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png b/XQMuse/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png
new file mode 100644
index 0000000..6ce91c9
--- /dev/null
+++ b/XQMuse/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png
Binary files differ
diff --git a/XQMuse/Assets.xcassets/AppIcon.appiconset/icon-small.png b/XQMuse/Assets.xcassets/AppIcon.appiconset/icon-small.png
new file mode 100644
index 0000000..3b3e4b1
--- /dev/null
+++ b/XQMuse/Assets.xcassets/AppIcon.appiconset/icon-small.png
Binary files differ
diff --git a/XQMuse/Assets.xcassets/AppIcon.appiconset/icon-small@2x.png b/XQMuse/Assets.xcassets/AppIcon.appiconset/icon-small@2x.png
new file mode 100644
index 0000000..139ee72
--- /dev/null
+++ b/XQMuse/Assets.xcassets/AppIcon.appiconset/icon-small@2x.png
Binary files differ
diff --git a/XQMuse/Assets.xcassets/AppIcon.appiconset/icon-small@3x.png b/XQMuse/Assets.xcassets/AppIcon.appiconset/icon-small@3x.png
new file mode 100644
index 0000000..494d701
--- /dev/null
+++ b/XQMuse/Assets.xcassets/AppIcon.appiconset/icon-small@3x.png
Binary files differ
diff --git a/XQMuse/Assets.xcassets/AppIcon.appiconset/icon.png b/XQMuse/Assets.xcassets/AppIcon.appiconset/icon.png
new file mode 100644
index 0000000..d3aeacb
--- /dev/null
+++ b/XQMuse/Assets.xcassets/AppIcon.appiconset/icon.png
Binary files differ
diff --git a/XQMuse/Assets.xcassets/AppIcon.appiconset/icon@2x.png b/XQMuse/Assets.xcassets/AppIcon.appiconset/icon@2x.png
new file mode 100644
index 0000000..8213b8a
--- /dev/null
+++ b/XQMuse/Assets.xcassets/AppIcon.appiconset/icon@2x.png
Binary files differ
diff --git a/XQMuse/Assets.xcassets/AppIcon.appiconset/ios-marketing.png b/XQMuse/Assets.xcassets/AppIcon.appiconset/ios-marketing.png
new file mode 100644
index 0000000..d7eda68
--- /dev/null
+++ b/XQMuse/Assets.xcassets/AppIcon.appiconset/ios-marketing.png
Binary files differ
diff --git a/XQMuse/Assets.xcassets/AppIcon.appiconset/notification-icon@2x.png b/XQMuse/Assets.xcassets/AppIcon.appiconset/notification-icon@2x.png
new file mode 100644
index 0000000..1ce4d29
--- /dev/null
+++ b/XQMuse/Assets.xcassets/AppIcon.appiconset/notification-icon@2x.png
Binary files differ
diff --git a/XQMuse/Assets.xcassets/AppIcon.appiconset/notification-icon@3x.png b/XQMuse/Assets.xcassets/AppIcon.appiconset/notification-icon@3x.png
new file mode 100644
index 0000000..ed536dc
--- /dev/null
+++ b/XQMuse/Assets.xcassets/AppIcon.appiconset/notification-icon@3x.png
Binary files differ
diff --git a/XQMuse/Assets.xcassets/Placeholder/bg_ccc.imageset/Contents.json b/XQMuse/Assets.xcassets/Placeholder/bg_ccc.imageset/Contents.json
new file mode 100644
index 0000000..4c6f433
--- /dev/null
+++ b/XQMuse/Assets.xcassets/Placeholder/bg_ccc.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "bg_ccc@2x.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "bg_ccc@3x.png",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}
diff --git a/XQMuse/Assets.xcassets/Placeholder/bg_ccc.imageset/bg_ccc@2x.png b/XQMuse/Assets.xcassets/Placeholder/bg_ccc.imageset/bg_ccc@2x.png
new file mode 100644
index 0000000..3dfa40e
--- /dev/null
+++ b/XQMuse/Assets.xcassets/Placeholder/bg_ccc.imageset/bg_ccc@2x.png
Binary files differ
diff --git a/XQMuse/Assets.xcassets/Placeholder/bg_ccc.imageset/bg_ccc@3x.png b/XQMuse/Assets.xcassets/Placeholder/bg_ccc.imageset/bg_ccc@3x.png
new file mode 100644
index 0000000..8a8058f
--- /dev/null
+++ b/XQMuse/Assets.xcassets/Placeholder/bg_ccc.imageset/bg_ccc@3x.png
Binary files differ
diff --git a/XQMuse/Assets.xcassets/Placeholder/bg_today.imageset/Contents.json b/XQMuse/Assets.xcassets/Placeholder/bg_today.imageset/Contents.json
new file mode 100644
index 0000000..2ba0785
--- /dev/null
+++ b/XQMuse/Assets.xcassets/Placeholder/bg_today.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "组 20@2x.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "组 20@3x.png",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}
diff --git "a/XQMuse/Assets.xcassets/Placeholder/bg_today.imageset/\347\273\204 20@2x.png" "b/XQMuse/Assets.xcassets/Placeholder/bg_today.imageset/\347\273\204 20@2x.png"
new file mode 100644
index 0000000..6083b1c
--- /dev/null
+++ "b/XQMuse/Assets.xcassets/Placeholder/bg_today.imageset/\347\273\204 20@2x.png"
Binary files differ
diff --git "a/XQMuse/Assets.xcassets/Placeholder/bg_today.imageset/\347\273\204 20@3x.png" "b/XQMuse/Assets.xcassets/Placeholder/bg_today.imageset/\347\273\204 20@3x.png"
new file mode 100644
index 0000000..0538471
--- /dev/null
+++ "b/XQMuse/Assets.xcassets/Placeholder/bg_today.imageset/\347\273\204 20@3x.png"
Binary files differ
diff --git a/XQMuse/Assets.xcassets/Placeholder/bt_private .imageset/Contents.json b/XQMuse/Assets.xcassets/Placeholder/bt_private .imageset/Contents.json
new file mode 100644
index 0000000..530050c
--- /dev/null
+++ b/XQMuse/Assets.xcassets/Placeholder/bt_private .imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "bt_private @2x.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "bt_private @3x.png",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}
diff --git a/XQMuse/Assets.xcassets/Placeholder/bt_private .imageset/bt_private @2x.png b/XQMuse/Assets.xcassets/Placeholder/bt_private .imageset/bt_private @2x.png
new file mode 100644
index 0000000..e3463e5
--- /dev/null
+++ b/XQMuse/Assets.xcassets/Placeholder/bt_private .imageset/bt_private @2x.png
Binary files differ
diff --git a/XQMuse/Assets.xcassets/Placeholder/bt_private .imageset/bt_private @3x.png b/XQMuse/Assets.xcassets/Placeholder/bt_private .imageset/bt_private @3x.png
new file mode 100644
index 0000000..677234e
--- /dev/null
+++ b/XQMuse/Assets.xcassets/Placeholder/bt_private .imageset/bt_private @3x.png
Binary files differ
diff --git a/XQMuse/Base/BaseNav.swift b/XQMuse/Base/BaseNav.swift
index c2846ae..3c8a0b6 100644
--- a/XQMuse/Base/BaseNav.swift
+++ b/XQMuse/Base/BaseNav.swift
@@ -88,7 +88,7 @@
 								}
 
 
-								if viewController is TreeTeskVC{
+        if viewController is TreeTeskVC || viewController is HomeVC{
 												if #available(iOS 15.0, *) {
 																navigationBar.standardAppearance.backgroundColor = .white
 																navigationBar.scrollEdgeAppearance?.backgroundColor = .white
diff --git a/XQMuse/Base/BaseTabBarVC.swift b/XQMuse/Base/BaseTabBarVC.swift
index 00ae03a..520b9af 100644
--- a/XQMuse/Base/BaseTabBarVC.swift
+++ b/XQMuse/Base/BaseTabBarVC.swift
@@ -85,7 +85,7 @@
 
 				override func layoutSubviews() {
 								super.layoutSubviews()
-								for (index,item) in subviews.enumerated() {
+        for (_,item) in subviews.enumerated() {
 												if item.classForCoder == NSClassFromString("UITabBarButton"){
 																if (item.value(forKey: "_label") as? UILabel)?.text?.contains("树苗") ?? false{
 																				item.isHidden = true
diff --git a/XQMuse/Config/Def.swift b/XQMuse/Config/Def.swift
index c6b580b..8f43b62 100644
--- a/XQMuse/Config/Def.swift
+++ b/XQMuse/Config/Def.swift
@@ -19,6 +19,7 @@
 
 let locationTool = JQ_LocationTool.instance()
 let ShareAppleKey = ""
+let DocumentPath =  NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.documentDirectory,FileManager.SearchPathDomainMask.userDomainMask,true).last
 
 var sceneDelegate:SceneDelegate? = {
     var uiScreen:UIScene?
diff --git a/XQMuse/Config/Enums/Enums.swift b/XQMuse/Config/Enums/Enums.swift
index fd21202..765ded2 100644
--- a/XQMuse/Config/Enums/Enums.swift
+++ b/XQMuse/Config/Enums/Enums.swift
@@ -136,7 +136,7 @@
 								switch self {
 												case .man:return "男"
 												case .woman:return "女"
-												case .encrypt:return "保密"
+												case .encrypt:return ""
 								}
 				}
 
diff --git a/XQMuse/Config/LaunchImageHelper.swift b/XQMuse/Config/LaunchImageHelper.swift
new file mode 100644
index 0000000..812f181
--- /dev/null
+++ b/XQMuse/Config/LaunchImageHelper.swift
@@ -0,0 +1,253 @@
+//
+//  LaunchImageHelper.swift
+//  XQMuse
+//
+//  Created by 无故事王国 on 2024/11/5.
+//
+
+import Foundation
+
+class LaunchImageHelper {
+    static func snapshotStoryboard(sbName: String, isPortrait: Bool) -> UIImage? {
+        if sbName.isEmpty {
+            return nil
+        }
+
+        let storyboard = UIStoryboard(name: sbName, bundle: nil)
+        guard let vc = storyboard.instantiateInitialViewController() else {
+            return nil
+        }
+
+        vc.view.frame = UIScreen.main.bounds
+        if isPortrait {
+            if vc.view.frame.size.width > vc.view.frame.size.height {
+                vc.view.frame = CGRect(x: 0, y: 0, width: vc.view.frame.size.height, height: vc.view.frame.size.width)
+            }
+        } else {
+            if vc.view.frame.size.width < vc.view.frame.size.height {
+                vc.view.frame = CGRect(x: 0, y: 0, width: vc.view.frame.size.height, height: vc.view.frame.size.width)
+            }
+        }
+
+        vc.view.setNeedsLayout()
+        vc.view.layoutIfNeeded()
+
+        UIGraphicsBeginImageContextWithOptions(vc.view.frame.size, false, UIScreen.main.scale)
+        vc.view.layer.render(in: UIGraphicsGetCurrentContext()!)
+        let image = UIGraphicsGetImageFromCurrentImageContext()
+        UIGraphicsEndImageContext()
+        return image
+    }
+
+    static func snapshotStoryboardForPortrait(sbName: String) -> UIImage? {
+        return snapshotStoryboard(sbName: sbName, isPortrait: true)
+    }
+
+    static func snapshotStoryboardForLandscape(sbName: String) -> UIImage? {
+        return snapshotStoryboard(sbName: sbName, isPortrait: false)
+    }
+
+    static func changeAllLaunchImageToPortrait(_ image: UIImage?) {
+        guard let image = image else {
+            return
+        }
+        // 全部替换为竖屏启动图
+        let resizedImage = resizeImage(image, toPortraitScreenSize: true)
+        BBADynamicLaunchImage.replaceLaunchImage(resizedImage)
+    }
+
+    static func changeAllLaunchImageToLandscape(_ image: UIImage?) {
+        guard let image = image else {
+            return
+        }
+        // 全部替换为横屏启动图
+        let resizedImage = resizeImage(image, toPortraitScreenSize: false)
+        BBADynamicLaunchImage.replaceLaunchImage(resizedImage)
+    }
+
+    static func changePortraitLaunchImage(_ p: UIImage) {
+        // Implementation for this function is missing
+    }
+
+    static func resizeImage(_ image: UIImage, toPortraitScreenSize: Bool) -> UIImage {
+        // Implementation for this function is missing
+        return image
+    }
+}
+
+
+private class BBADynamicLaunchImage {
+    static func launchImageCacheDirectory() -> String? {
+        let bundleID = Bundle.main.infoDictionary?["CFBundleIdentifier"] as? String
+        let fm = FileManager.default
+
+        // iOS13之前
+        if var cachesDirectory = NSSearchPathForDirectoriesInDomains(.cachesDirectory, .userDomainMask, true).first {
+            cachesDirectory.append(contentsOf: "Snapshots")
+            cachesDirectory.append(contentsOf: bundleID!)
+            if fm.fileExists(atPath: cachesDirectory) {
+                return cachesDirectory
+            }
+        }
+
+        // iOS13
+        if let libraryDirectory = NSSearchPathForDirectoriesInDomains(.libraryDirectory, .userDomainMask, true).first {
+            let snapshotsPath = String(format: "%@/SplashBoard/Snapshots/%@ - {DEFAULT GROUP}", libraryDirectory, bundleID ?? "")
+            if fm.fileExists(atPath: snapshotsPath) {
+                return snapshotsPath
+            }
+        }
+
+        return nil
+    }
+
+    static func isSnapShotName(_ name: String) -> Bool {
+        // 新系统后缀
+        let snapshotSuffixs = ".ktx"
+        if name.hasSuffix(snapshotSuffixs) {
+            return true
+        }
+
+        // 老系统后缀
+        let snapshotSuffixs2 = ".png"
+        if name.hasSuffix(snapshotSuffixs2) {
+            return true
+        }
+
+        return false
+    }
+
+    @discardableResult
+    static func replaceLaunchImage(_ replacementImage: UIImage?) -> Bool {
+        guard let image = replacementImage else {return false}
+        return self.replaceLaunchImage(replacementImage: image, compressionQuality: 0.8, customValidation: nil)
+    }
+
+    @discardableResult
+    static func replaceLaunchImage(_ replacementImage: UIImage?, compressionQuality: CGFloat) -> Bool {
+        guard let image = replacementImage else {return false}
+        return self.replaceLaunchImage(replacementImage: image, compressionQuality: compressionQuality, customValidation: nil)
+    }
+
+    static func replaceLaunchImage(replacementImage: UIImage, compressionQuality: CGFloat, customValidation: ((UIImage,UIImage) -> Bool)?) -> Bool {
+
+        let data = replacementImage.jpegData(compressionQuality: compressionQuality)
+        if data == nil {
+            return false
+        }
+
+        //        if !checkImageMatchScreenSize(image: replacementImage) {
+        //            return false
+        //        }
+
+        guard let cacheDir = launchImageCacheDirectory() else {
+            return false
+        }
+
+        let cachesParentDir = NSSearchPathForDirectoriesInDomains(.cachesDirectory, .userDomainMask, true)[0]
+        let tmpDir = (cachesParentDir as NSString).appendingPathComponent("_tmpLaunchImageCaches")
+
+        let fm = FileManager.default
+        if fm.fileExists(atPath: tmpDir) {
+            do {
+                try fm.removeItem(atPath: tmpDir)
+            } catch {
+                return false
+            }
+        }
+
+        do {
+            try fm.moveItem(atPath: cacheDir, toPath: tmpDir)
+        } catch {
+            return false
+        }
+
+        var cacheImageNames = [String]()
+        if let contents = try? fm.contentsOfDirectory(atPath: tmpDir) {
+            for name in contents {
+                if isSnapShotName(name) {
+                    cacheImageNames.append(name)
+                }
+            }
+        }
+
+        for name in cacheImageNames {
+            let filePath = (tmpDir as NSString).appendingPathComponent(name)
+            var result = true
+
+            if customValidation != nil{
+                if let cachedImageData = try? Data(contentsOf: URL(string: filePath)!),let cachedImage = imageFromData(data: cachedImageData as NSData){
+                    result = customValidation!(cachedImage,replacementImage)
+                }
+            }
+
+            if result {
+                do {
+                    try data?.write(to: URL(fileURLWithPath: filePath), options: .atomic)
+                } catch {
+                    return false
+                }
+            }
+        }
+
+
+        try? fm.moveItem(atPath: tmpDir, toPath: cacheDir)
+        if fm.fileExists(atPath: tmpDir) {
+            do {
+                try fm.removeItem(atPath: tmpDir)
+            } catch {
+                return false
+            }
+        }
+
+        return true
+    }
+
+
+
+    static func imageFromData(data: NSData) -> UIImage? {
+        guard let source = CGImageSourceCreateWithData(data, nil) else {
+            return nil
+        }
+
+        if let imageRef = CGImageSourceCreateImageAtIndex(source, 0, nil) {
+            let originImage = UIImage(cgImage: imageRef)
+            return originImage
+        }
+
+        return nil
+    }
+
+    func getImageSize(imageData: NSData) -> CGSize {
+        guard let source = CGImageSourceCreateWithData(imageData, nil) else {
+            return CGSize.zero
+        }
+
+        if let imageRef = CGImageSourceCreateImageAtIndex(source, 0, nil) {
+            let width = CGFloat(imageRef.width)
+            let height = CGFloat(imageRef.height)
+            return CGSize(width: width, height: height)
+        }
+
+        return CGSize.zero
+    }
+
+
+    /// 检查图片大小
+    static func checkImageMatchScreenSize(image: UIImage) -> Bool {
+        let screenSize = CGSize(width: UIScreen.main.bounds.size.width * UIScreen.main.scale,
+                                height: UIScreen.main.bounds.size.height * UIScreen.main.scale)
+        let imageSize = CGSize(width: image.size.width * image.scale,
+                               height: image.size.height * image.scale)
+
+        if imageSize.equalTo(screenSize) {
+            return true
+        }
+
+        if imageSize.equalTo(CGSize(width: screenSize.height, height: screenSize.width)) {
+            return true
+        }
+
+        return false
+    }
+}
diff --git a/XQMuse/Root/.DS_Store b/XQMuse/Root/.DS_Store
index c327c96..f80f8c3 100644
--- a/XQMuse/Root/.DS_Store
+++ b/XQMuse/Root/.DS_Store
Binary files differ
diff --git a/XQMuse/Root/Course/CCell/CourseOfficialItemCCell.xib b/XQMuse/Root/Course/CCell/CourseOfficialItemCCell.xib
index eb769a0..80b4e70 100644
--- a/XQMuse/Root/Course/CCell/CourseOfficialItemCCell.xib
+++ b/XQMuse/Root/Course/CCell/CourseOfficialItemCCell.xib
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="23094" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
     <device id="retina6_12" orientation="portrait" appearance="light"/>
     <dependencies>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="23084"/>
         <capability name="Safe area layout guides" minToolsVersion="9.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
@@ -17,8 +17,12 @@
                 <rect key="frame" x="0.0" y="0.0" width="114" height="109"/>
                 <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                 <subviews>
-                    <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="course_1" translatesAutoresizingMaskIntoConstraints="NO" id="D7q-iI-B0n">
-                        <rect key="frame" x="39.666666666666671" y="29" width="34.666666666666671" height="31.666666666666671"/>
+                    <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="course_1" translatesAutoresizingMaskIntoConstraints="NO" id="D7q-iI-B0n">
+                        <rect key="frame" x="39.666666666666664" y="29" width="34.999999999999993" height="31.666666666666671"/>
+                        <constraints>
+                            <constraint firstAttribute="width" relation="lessThanOrEqual" constant="35" id="A6U-Ns-BoS"/>
+                            <constraint firstAttribute="height" relation="lessThanOrEqual" constant="31.5" id="xu0-nX-9PR"/>
+                        </constraints>
                     </imageView>
                     <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="--" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="eyG-jG-ONh">
                         <rect key="frame" x="51.666666666666664" y="77" width="10.666666666666664" height="14.333333333333329"/>
diff --git a/XQMuse/Root/Course/TCell/CourseDetail_2_TCell.swift b/XQMuse/Root/Course/TCell/CourseDetail_2_TCell.swift
index 901dd01..22adb47 100644
--- a/XQMuse/Root/Course/TCell/CourseDetail_2_TCell.swift
+++ b/XQMuse/Root/Course/TCell/CourseDetail_2_TCell.swift
@@ -50,7 +50,7 @@
                 let vc = VIPCenterVC()
                 JQ_currentViewController().jq_push(vc: vc)
             }else{
-                let vc = PaymentOrderVC(id: m.id,type: .course,giftToOther: true)
+                let vc = PaymentOrderVC(courseItemModel: m,type: .course,giftToOther: true)
                 JQ_currentViewController().jq_push(vc:vc)
             }
 								}
diff --git a/XQMuse/Root/Course/VC/CourseDetialVC.swift b/XQMuse/Root/Course/VC/CourseDetialVC.swift
index 637f0d1..6c5f016 100644
--- a/XQMuse/Root/Course/VC/CourseDetialVC.swift
+++ b/XQMuse/Root/Course/VC/CourseDetialVC.swift
@@ -152,7 +152,7 @@
                     }
 
                     if needPayment{
-                        let attribute    = AttributedStringbuilder.build().add(string: "    疗愈币", withFont: .systemFont(ofSize: 12,weight: .bold), withColor: UIColor(hexString: "#F6F6F6")!).add(string: "\(m.generalPrice.jq_formatFloat)", withFont: .systemFont(ofSize: 21.71, weight: .bold), withColor: UIColor(hexString: "#F6F6F6")!).add(string: "  立即购买     ", withFont: .systemFont(ofSize: 16, weight: .bold), withColor: UIColor(hexString: "#F6F6F6")!).mutableAttributedString
+                        let attribute    = AttributedStringbuilder.build().add(string: "    疗愈币", withFont: .systemFont(ofSize: 12,weight: .bold), withColor: UIColor(hexString: "#F6F6F6")!).add(string: "\(m.iosPrice.jq_formatFloat)", withFont: .systemFont(ofSize: 21.71, weight: .bold), withColor: UIColor(hexString: "#F6F6F6")!).add(string: "  立即购买     ", withFont: .systemFont(ofSize: 16, weight: .bold), withColor: UIColor(hexString: "#F6F6F6")!).mutableAttributedString
                         weakSelf.studyBtn.setAttributedTitle(attribute, for: .normal)
                     }else{
                         let attribute = AttributedStringbuilder.build().add(string: "    立即学习    ", withFont: .systemFont(ofSize: 16, weight: .bold), withColor: UIColor(hexString: "#F6F6F6")!).mutableAttributedString
@@ -164,7 +164,7 @@
 																}else{
                     weakSelf.style = .style2
                     DispatchQueue.main.asyncAfter(delay: 0.5) {
-                        weakSelf.headerView.setVideo(url: m.detailUrl, coverImageUrl: m.coverUrl, delegate: self!)
+                        weakSelf.headerView.setVideo(url: m.detailUrl, coverImageUrl: m.coverUrl.jq_urlEncoded(), delegate: self!)
                     }
                     weakSelf.pageMenu.setItems(["简介"], selectedItemIndex: 0)
 																}
@@ -268,15 +268,15 @@
 																push(vc: vc);return
 												}
 
-												let vc = PaymentOrderVC(id: m.id, type: .course)
+            let vc = PaymentOrderVC(courseItemModel: m, type: .course)
 												push(vc: vc)
 								}
 				}
 
 				@objc func sendGift(_ btn:QMUIButton){
-								if let price = courseDetailModel?.generalPrice{
+        if let price = courseDetailModel?.iosPrice{
 												CourseSendGiftView.show(price:price) {
-                let vc = PaymentOrderVC(id: self.courseDetailModel!.id,type: .course,giftToOther: true)
+                let vc = PaymentOrderVC(courseItemModel: self.courseDetailModel!,type: .course,giftToOther: true)
 																self.push(vc: vc)
 												}
 								}
diff --git a/XQMuse/Root/Course/VC/CourseVCOfficalCommentVC.swift b/XQMuse/Root/Course/VC/CourseVCOfficalCommentVC.swift
index cce13d2..b17c83b 100644
--- a/XQMuse/Root/Course/VC/CourseVCOfficalCommentVC.swift
+++ b/XQMuse/Root/Course/VC/CourseVCOfficalCommentVC.swift
@@ -34,14 +34,14 @@
 
 								Services.getCourseCategory().subscribe(onNext: {data in
 												for v in data.data ?? []{
-																self.subTitleItems.append(TitleItem(id:v.id,title: v.name,coverImage: v.imageUrl))
+																self.subTitleItems.append(TitleItem(id:v.id,title: v.name,coverImage: v.imageUrl.jq_urlEncoded()))
 												}
 												self.collectionView.reloadData()
 								}).disposed(by: disposeBag)
 
 								Services.getCourseBannerList().subscribe(onNext: {data in
 												for (index,v) in (data.data ?? []).enumerated(){
-                self.bannerModels.append(CommonBannerModel(index: index, id: v.id, name: v.name, resource:v.imageUrl, mediaType: .imageUrl,courseId: v.courseId))
+                self.bannerModels.append(CommonBannerModel(index: index, id: v.id, name: v.name, resource:v.imageUrl.jq_urlEncoded(), mediaType: .imageUrl,courseId: v.courseId))
 												}
 												self.collectionView.reloadData()
 								}).disposed(by: disposeBag)
diff --git a/XQMuse/Root/Course/VC/CourseVCTeacherSpecialVC.swift b/XQMuse/Root/Course/VC/CourseVCTeacherSpecialVC.swift
index 7944004..2912e66 100644
--- a/XQMuse/Root/Course/VC/CourseVCTeacherSpecialVC.swift
+++ b/XQMuse/Root/Course/VC/CourseVCTeacherSpecialVC.swift
@@ -36,7 +36,7 @@
 																self.cell0!.setContent(title: "导师简介", content: m.tutorIntroduction)
 																self.cell1!.setItems(m.list)
 																self.tableView?.reloadData()
-																self.headerView.updateVideoUrl(m.videoUrl,autoPlay: false,placeHoderImageUrl: m.coverUrl)
+																self.headerView.updateVideoUrl(m.videoUrl,autoPlay: false,placeHoderImageUrl: m.coverUrl.jq_urlEncoded())
 												}
 								}).disposed(by: disposeBag)
     }
diff --git a/XQMuse/Root/Course/View/CourseDetailHeaderView.swift b/XQMuse/Root/Course/View/CourseDetailHeaderView.swift
index af512d1..c29e0ae 100644
--- a/XQMuse/Root/Course/View/CourseDetailHeaderView.swift
+++ b/XQMuse/Root/Course/View/CourseDetailHeaderView.swift
@@ -27,7 +27,7 @@
 								label_title.text = model.courseTitle
 								label_teacher.text = "导师 \(model.tutor)"
 								label_studyNum.text = "\(model.count)人已加入学习"
-								image_cover.sd_setImage(with: URL(string: model.coverUrl))
+								image_cover.sd_setImage(with: URL(string: model.coverUrl.jq_urlEncoded()))
 				}
 
     func setVideo(url:String,coverImageUrl:String,delegate:CLPlayerDelegate){
diff --git a/XQMuse/Root/Home/CCell/HomeRelaxBannerCCell.swift b/XQMuse/Root/Home/CCell/HomeRelaxBannerCCell.swift
index 89f8307..e07fb87 100644
--- a/XQMuse/Root/Home/CCell/HomeRelaxBannerCCell.swift
+++ b/XQMuse/Root/Home/CCell/HomeRelaxBannerCCell.swift
@@ -31,9 +31,8 @@
 				func setMeditationModel(_ model:MeditationModel,showType:DisplayType){
         self.showType = showType
         img_offine.isHidden = true
-								img_cover.sd_setImage(with: URL(string: model.coverUrl))
 
-        let imageUrls = model.coverUrl.components(separatedBy: ",")
+        let imageUrls = model.coverUrl.jq_urlEncoded().components(separatedBy: ",")
         if showType == .horizontal{
             img_cover.sd_setImage(with: URL(string: imageUrls.first))
         }else{
@@ -53,7 +52,7 @@
             case .payment:
                 image_free.isHidden = true
                 view_price.isHidden = false
-                label_price.attributedText = AttributedStringbuilder.build().add(string: "¥", withFont: UIFont(name: "DIN-Bold", size: 7.11) ?? UIFont.systemFont(ofSize: 7, weight: .bold), withColor: .white).add(string: "\(model.generalPrice.jq_formatFloat)", withFont: UIFont(name: "DIN-Bold", size: 11.44) ?? .systemFont(ofSize: 11,weight: .bold), withColor: .white).mutableAttributedString
+                label_price.attributedText = AttributedStringbuilder.build().add(string: "¥", withFont: UIFont(name: "DIN-Bold", size: 7.11) ?? UIFont.systemFont(ofSize: 7, weight: .bold), withColor: .white).add(string: "\(model.iosPrice.jq_formatFloat)", withFont: UIFont(name: "DIN-Bold", size: 11.44) ?? .systemFont(ofSize: 11,weight: .bold), withColor: .white).mutableAttributedString
             default:break
         }
 
@@ -61,7 +60,7 @@
 				}
 
 				func setCourseModel(_ model:CourseModel){
-								img_cover.sd_setImage(with: URL(string: model.coverUrl))
+								img_cover.sd_setImage(with: URL(string: model.coverUrl.jq_urlEncoded()))
 								label_title.text = model.courseTitle
 								label_subTitle.text = model.briefIntroduction
 								label_num.text = "\(model.count)"
@@ -82,7 +81,7 @@
                 case .payment:
                     image_free.isHidden = true
                     view_price.isHidden = false
-                    label_price.attributedText = AttributedStringbuilder.build().add(string: "¥", withFont: UIFont(name: "DIN-Bold", size: 7.11) ?? UIFont.systemFont(ofSize: 7, weight: .bold), withColor: .white).add(string: "\(model.generalPrice.jq_formatFloat)", withFont: UIFont(name: "DIN-Bold", size: 11.44) ?? .systemFont(ofSize: 11,weight: .bold), withColor: .white).mutableAttributedString
+                    label_price.attributedText = AttributedStringbuilder.build().add(string: "¥", withFont: UIFont(name: "DIN-Bold", size: 7.11) ?? UIFont.systemFont(ofSize: 7, weight: .bold), withColor: .white).add(string: "\(model.iosPrice.jq_formatFloat)", withFont: UIFont(name: "DIN-Bold", size: 11.44) ?? .systemFont(ofSize: 11,weight: .bold), withColor: .white).mutableAttributedString
                 default:break
             }
         }
diff --git a/XQMuse/Root/Home/CCell/HomeRelaxBanner_2_1_CCell.swift b/XQMuse/Root/Home/CCell/HomeRelaxBanner_2_1_CCell.swift
index b3e4722..7424f9d 100644
--- a/XQMuse/Root/Home/CCell/HomeRelaxBanner_2_1_CCell.swift
+++ b/XQMuse/Root/Home/CCell/HomeRelaxBanner_2_1_CCell.swift
@@ -40,14 +40,15 @@
 				}
 
 				func setCourseModel(_ model:CourseModel){
-								img_cover.sd_setImage(with: URL(string: model.coverUrl))
+
+        img_cover.sd_setImage(with: URL(string: model.coverUrl.jq_urlEncoded().components(separatedBy: ",").first))
 								label_title.text = model.courseTitle
 								label_subTitle.text = model.briefIntroduction
 								label_num.text = "\(model.count)"
 
         if model.courseType == .online{
             img_offline.isHidden = true
-            setChargePrice(model.chargeType, price: model.generalPrice)
+            setChargePrice(model.chargeType, price: model.iosPrice)
         }else{
             img_offline.isHidden = false
             img_vip.isHidden = true
@@ -57,13 +58,13 @@
 				}
 
     func setMeditationModel(_ model:MeditationModel){
-        img_cover.sd_setImage(with: URL(string: model.coverUrl))
+        img_cover.sd_setImage(with: URL(string: model.coverUrl.jq_urlEncoded().components(separatedBy: ",").first))
         label_title.text = model.meditationTitle
         label_subTitle.text = model.coverDescription
         label_num.text = "\(model.realLearnedNum)"
 
         img_offline.isHidden = true
-        setChargePrice(model.chargeType, price: model.generalPrice)
+        setChargePrice(model.chargeType, price: model.iosPrice)
     }
 
     private func setChargePrice(_ type:ChargeType,price:Double){
diff --git a/XQMuse/Root/Home/CCell/HomeRelaxBanner_2_CCell.swift b/XQMuse/Root/Home/CCell/HomeRelaxBanner_2_CCell.swift
index d67b640..f829cc0 100644
--- a/XQMuse/Root/Home/CCell/HomeRelaxBanner_2_CCell.swift
+++ b/XQMuse/Root/Home/CCell/HomeRelaxBanner_2_CCell.swift
@@ -44,17 +44,17 @@
     }
 
 				func setMeditationModel(_ model:MeditationModel){
-        img_cover.sd_setImage(with: URL(string: model.coverUrl.components(separatedBy: ",").last))
+        img_cover.sd_setImage(with: URL(string: model.coverUrl.jq_urlEncoded().components(separatedBy: ",").last))
 								label_title.text = model.meditationTitle
 								label_subTitle.text = model.coverDescription
 								label_num.text = "\(model.realLearnedNum)"
         img_offline.isHidden = true
 
-        setChargePrice(model.chargeType, price: model.generalPrice)
+        setChargePrice(model.chargeType, price: model.iosPrice)
 				}
 
 				func setCourseModel(_ model:CourseModel){
-								img_cover.sd_setImage(with: URL(string: model.coverUrl.components(separatedBy: ",").last))
+								img_cover.sd_setImage(with: URL(string: model.coverUrl.jq_urlEncoded().components(separatedBy: ",").last))
 								label_title.text = model.courseTitle
 								label_subTitle.text = model.briefIntroduction
 								label_num.text = "\(model.count)"
@@ -62,7 +62,7 @@
 
         if model.courseType == .online{
             img_offline.isHidden = true
-            setChargePrice(model.chargeType, price: model.generalPrice)
+            setChargePrice(model.chargeType, price: model.iosPrice)
         }else{
             img_offline.isHidden = false
             img_vip.isHidden = true
diff --git a/XQMuse/Root/Home/CCell/HomeRelaxVoiceCCell.swift b/XQMuse/Root/Home/CCell/HomeRelaxVoiceCCell.swift
index 3ce5a27..1ccb5e2 100644
--- a/XQMuse/Root/Home/CCell/HomeRelaxVoiceCCell.swift
+++ b/XQMuse/Root/Home/CCell/HomeRelaxVoiceCCell.swift
@@ -18,7 +18,7 @@
     }
 
 				func setModel(_ model:BGMModel){
-								imgView.sd_setImage(with: URL(string: model.imageUrl))
+        imgView.sd_setImage(with: URL(string: model.imageUrl.jq_urlEncoded()))
 				}
 
 }
diff --git a/XQMuse/Root/Home/CCell/Home_Style_4_Inner_1_CCell.swift b/XQMuse/Root/Home/CCell/Home_Style_4_Inner_1_CCell.swift
index a19cc38..7834643 100644
--- a/XQMuse/Root/Home/CCell/Home_Style_4_Inner_1_CCell.swift
+++ b/XQMuse/Root/Home/CCell/Home_Style_4_Inner_1_CCell.swift
@@ -26,10 +26,15 @@
 
 				func setMeditationModel(_ model:MeditationModel,showType:DisplayType){
         self.showType = showType
+
+        if model.id == 0{
+            cover_bgImage.image = UIImage(named: "bt_private");return
+        }
+
 								label_title.text = model.meditationTitle
 								label_subTitle.text = model.coverDescription
 
-        let imgUrls = model.coverUrl.components(separatedBy: ",")
+        let imgUrls = model.coverUrl.jq_urlEncoded().components(separatedBy: ",")
         if showType == .horizontal{
             cover_bgImage.sd_setImage(with: URL(string: imgUrls.first))
         }else{
diff --git a/XQMuse/Root/Home/CCell/Home_Style_4_Inner_CCell.swift b/XQMuse/Root/Home/CCell/Home_Style_4_Inner_CCell.swift
index 5093665..25b4c82 100644
--- a/XQMuse/Root/Home/CCell/Home_Style_4_Inner_CCell.swift
+++ b/XQMuse/Root/Home/CCell/Home_Style_4_Inner_CCell.swift
@@ -43,11 +43,17 @@
 
 
     func setMeditationModel(_ model:MeditationModel,showType:DisplayType){
+
         self.showType = showType
+
+        if model.id == 0{
+            cover_bgImage.image = UIImage(named: "bt_private");return
+        }
+
         label_title.text = model.meditationTitle
         label_subTitle.text = model.coverDescription
 
-        let imgUrls = model.coverUrl.components(separatedBy: ",")
+        let imgUrls = model.coverUrl.jq_urlEncoded().components(separatedBy: ",")
         if showType == .horizontal{
             cover_bgImage.sd_setImage(with: URL(string: imgUrls.first))
         }else{
@@ -64,7 +70,7 @@
             case .payment:
                 image_free.isHidden = true
                 view_price.isHidden = false
-                label_price.attributedText = AttributedStringbuilder.build().add(string: "¥", withFont: UIFont(name: "DIN-Bold", size: 7.11) ?? UIFont.systemFont(ofSize: 7, weight: .bold), withColor: .white).add(string: "\(model.generalPrice.jq_formatFloat)", withFont: UIFont(name: "DIN-Bold", size: 11.44) ?? .systemFont(ofSize: 11,weight: .bold), withColor: .white).mutableAttributedString
+                label_price.attributedText = AttributedStringbuilder.build().add(string: "¥", withFont: UIFont(name: "DIN-Bold", size: 7.11) ?? UIFont.systemFont(ofSize: 7, weight: .bold), withColor: .white).add(string: "\(model.iosPrice.jq_formatFloat)", withFont: UIFont(name: "DIN-Bold", size: 11.44) ?? .systemFont(ofSize: 11,weight: .bold), withColor: .white).mutableAttributedString
             default:break
         }
     }
diff --git a/XQMuse/Root/Home/HomeVC.swift b/XQMuse/Root/Home/HomeVC.swift
index 771cc53..296ad1f 100644
--- a/XQMuse/Root/Home/HomeVC.swift
+++ b/XQMuse/Root/Home/HomeVC.swift
@@ -10,6 +10,7 @@
 import RxSwift
 import MediaPlayer
 import MJRefresh
+import SDWebImage
 
 let SetBGMSuccess_Noti = Notification.Name.init("SetBGMSuccess_Noti")
 
@@ -55,6 +56,12 @@
         })
 
 								getData()
+
+//        DispatchQueue.main.asyncAfter(delay: 3.0) {
+//            Popup_1_View.show(state: .success, title: "修改成功", subtitle: "您的密码已修改成功,快去登录账户吧") {
+//                self.navigationController?.popToRootViewController(animated: true)
+//            }
+//        }
     }
 
 				override func setUI() {
@@ -157,7 +164,7 @@
 								Services.getCategoryListByType(type: 1).subscribe(onNext: { data in
 												var items = [HomeTopMenuItem]()
 												for v in data.data ?? []{
-																let model = HomeTopMenuItem(id: v.id, title: v.categoryName, image: v.firstIconUrl, imageFrom: .url)
+                let model = HomeTopMenuItem(id: v.id, title: v.categoryName, image: v.firstIconUrl.jq_urlEncoded(), imageFrom: .url)
 																items.append(model)
 												}
 
@@ -172,7 +179,7 @@
 								Services.getCategoryListByType(type: 2).subscribe(onNext: { data in
 												var items = [HomeTopMenuItem]()
 												for v in data.data ?? []{
-                let model = HomeTopMenuItem(id: v.id, title: v.categoryName, image: v.secondIconUrl, imageFrom: .url)
+                let model = HomeTopMenuItem(id: v.id, title: v.categoryName, image: v.secondIconUrl.jq_urlEncoded(), imageFrom: .url)
 																items.append(model)
 												}
             self.viewModel.homeBottomMenuItems = items
@@ -185,10 +192,16 @@
 								}).disposed(by: disposeBag)
 
 								Services.getPersonalityPlan().subscribe(onNext: { data in
-												if let m = data.data{
-																self.viewModel.privateTodyModels = m
+            if let m = data.data{
+                if m.count > 0{
+                    self.viewModel.privateTodyModels = m
+                }else{
+                    let m = MeditationModel()
+                    m.id = 0
+                    self.viewModel.privateTodyModels = [m]
+                }
 																self.tableView.reloadRows(at: [IndexPath(row: 1, section: 0)], with: .none)
-												}
+            }
 								}).disposed(by: disposeBag)
 
 								Services.getMeditationAndCateList().subscribe(onNext: { data in
@@ -208,6 +221,31 @@
 																self.tableView.reloadData()
 												}
 								}).disposed(by: disposeBag)
+
+        Services.getLunchPage().subscribe(onNext: {data in
+
+            if let url = data.data{
+                let path = DocumentPath! + "/launchScreen/"
+                let image = SDImageCache(namespace: url.jq_md5String(), diskCacheDirectory: path)
+                let loader = SDImageLoadersManager.shared
+                let manager = SDWebImageManager(cache: image, loader: loader)
+
+                //不存在缓存
+                if image.imageFromDiskCache(forKey: url) == nil{
+                    manager.loadImage(with: URL(string: url), progress: nil) { image, _, _, _, complete, _ in
+                        LaunchImageHelper.changeAllLaunchImageToPortrait(image)
+                    }
+                }
+                else{
+                    //取缓存
+                    if let data = image.diskImageData(forKey: url){
+                        let image = UIImage(data: data)
+                        LaunchImageHelper.changeAllLaunchImageToPortrait(image)
+                    }
+                }
+            }
+
+        }).disposed(by: disposeBag)
 				}
 
 				@objc func searchAction(){
@@ -248,6 +286,8 @@
             if let m = viewModel.todyModel{
                 let vc = HomeItemDetailVC(id: m.id)
                 push(vc: vc)
+            }else{
+                alert(msg: "平台暂未设置今日疗愈")
             }
         }
 
@@ -262,7 +302,13 @@
 								if indexPath.section == 0{
             //每日疗愈
 												let cell = tableView.dequeueReusableCell(withIdentifier: "_Home_Style_1_TCell") as! Home_Style_1_TCell
-												cell.model = viewModel.todyModel
+            if viewModel.todyModel?.id != 0{
+                cell.model = viewModel.todyModel
+                cell.view_data.isHidden = false
+            }else{
+                cell.img_cover.image = UIImage(named: "bg_today")
+                cell.view_data.isHidden = true
+            }
 												return cell
 								}else if indexPath.section == 1{
             //私人定制
diff --git a/XQMuse/Root/Home/TCell/Home_Style_1_TCell.swift b/XQMuse/Root/Home/TCell/Home_Style_1_TCell.swift
index 155c447..a294564 100644
--- a/XQMuse/Root/Home/TCell/Home_Style_1_TCell.swift
+++ b/XQMuse/Root/Home/TCell/Home_Style_1_TCell.swift
@@ -22,7 +22,8 @@
 				@IBOutlet weak var label_title: UILabel!
 				@IBOutlet weak var label_joinNum: UILabel!
 				@IBOutlet weak var img_play: UIImageView!
-				
+    @IBOutlet weak var view_data: UIView!
+    
     override func awakeFromNib() {
         super.awakeFromNib()
 								selectionStyle = .none
diff --git a/XQMuse/Root/Home/TCell/Home_Style_1_TCell.xib b/XQMuse/Root/Home/TCell/Home_Style_1_TCell.xib
index 8a2c700..eba4ee0 100644
--- a/XQMuse/Root/Home/TCell/Home_Style_1_TCell.xib
+++ b/XQMuse/Root/Home/TCell/Home_Style_1_TCell.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="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <objects>
@@ -24,13 +24,13 @@
                         <rect key="frame" x="0.0" y="247.66666666666663" width="398" height="27"/>
                         <subviews>
                             <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="缓解压力|00:00" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="bu5-9N-LaQ">
-                                <rect key="frame" x="19.666666666666664" y="7.3333333333333428" width="81.333333333333343" height="12"/>
+                                <rect key="frame" x="19.666666666666671" y="7.3333333333333428" width="80.999999999999986" height="12"/>
                                 <fontDescription key="fontDescription" type="system" weight="medium" pointSize="10"/>
                                 <color key="textColor" red="0.94901960784313721" green="0.92549019607843142" blue="0.97254901960784312" 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="KpH-Aq-7Pf">
-                                <rect key="frame" x="310.66666666666669" y="7.3333333333333428" width="69.333333333333314" height="12"/>
+                                <rect key="frame" x="312.33333333333331" y="7.3333333333333428" width="67.666666666666686" height="12"/>
                                 <fontDescription key="fontDescription" type="system" weight="medium" pointSize="10"/>
                                 <color key="textColor" red="0.94901960780000005" green="0.92549019610000005" blue="0.97254901959999995" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                 <nil key="highlightedColor"/>
@@ -76,6 +76,7 @@
                 <outlet property="img_play" destination="g9v-rM-WZr" id="eqA-n5-5Qy"/>
                 <outlet property="label_joinNum" destination="KpH-Aq-7Pf" id="51p-uN-6M7"/>
                 <outlet property="label_title" destination="bu5-9N-LaQ" id="TM0-io-hMz"/>
+                <outlet property="view_data" destination="KW7-hr-gUW" id="xQA-2a-Hfe"/>
             </connections>
             <point key="canvasLocation" x="140.45801526717557" y="104.92957746478874"/>
         </tableViewCell>
diff --git a/XQMuse/Root/Home/TCell/Home_Style_3_TCell.swift b/XQMuse/Root/Home/TCell/Home_Style_3_TCell.swift
index f7fbd78..0873903 100644
--- a/XQMuse/Root/Home/TCell/Home_Style_3_TCell.swift
+++ b/XQMuse/Root/Home/TCell/Home_Style_3_TCell.swift
@@ -53,14 +53,14 @@
 
         let isVip = UserViewModel.getAvatarInfo().isVip
 
-        if m.chargeType == .free || (isVip == .yes && m.chargeType == .vipFree){
+        if m.chargeType == .free || (isVip == .yes && m.chargeType == .vipFree) || (m.chargeType == .payment && m.isBuy == .yes){
 												let vc = HomeItemDetailVC(id: m.id)
 												JQ_currentViewController().jq_push(vc: vc)
 												return
 								}
 
-								if m.chargeType == .payment && m.paidStatus == .no{
-            let vc = PaymentOrderVC(id: m.id,type: .muse)
+								if m.chargeType == .payment && m.isBuy == .no{
+            let vc = PaymentOrderVC(museItemModel: m,type: .muse)
 												JQ_currentViewController().jq_push(vc: vc)
 												return
 								}
diff --git a/XQMuse/Root/Home/TCell/Home_Style_4_TCell.swift b/XQMuse/Root/Home/TCell/Home_Style_4_TCell.swift
index 376eabb..fd1fa6b 100644
--- a/XQMuse/Root/Home/TCell/Home_Style_4_TCell.swift
+++ b/XQMuse/Root/Home/TCell/Home_Style_4_TCell.swift
@@ -43,10 +43,13 @@
 				func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
 
         let m = meditationModels[indexPath.row]
+        guard m.id != 0 else{
+            alert(msg: "平台暂未设置私人定制");return
+        }
 
         let isVip = UserViewModel.getAvatarInfo().isVip
 
-        if m.chargeType == .free || (m.chargeType == .vipFree && isVip == .yes) || (m.chargeType == .payment && m.paidStatus == .yes){
+        if m.chargeType == .free || (m.chargeType == .vipFree && isVip == .yes) || (m.chargeType == .payment && m.isBuy == .yes){
             let detailVC = HomeItemDetailVC(id: meditationModels[indexPath.row].id)
             JQ_currentViewController().jq_push(vc: detailVC)
         }else{
@@ -54,7 +57,7 @@
                 let vc = VIPCenterVC()
                 JQ_currentViewController().jq_push(vc: vc)
             }else{
-                let vc = PaymentOrderVC(id: m.id,type: .muse)
+                let vc = PaymentOrderVC(museItemModel: m,type: .muse)
                 JQ_currentViewController().jq_push(vc:vc)
             }
         }
diff --git a/XQMuse/Root/Home/VC/BackgroundVoiceVC.swift b/XQMuse/Root/Home/VC/BackgroundVoiceVC.swift
index 37b0d42..ef990c2 100644
--- a/XQMuse/Root/Home/VC/BackgroundVoiceVC.swift
+++ b/XQMuse/Root/Home/VC/BackgroundVoiceVC.swift
@@ -20,6 +20,7 @@
 				private var playAtIndex:IndexPath?
 				private var tempPlayer:AVPlayer?
 				private var isPlaying:Bool = false
+    private var needPopRoot = false
 
 				override func viewDidDisappear(_ animated: Bool) {
 								super.viewDidDisappear(animated)
@@ -34,6 +35,14 @@
 				override func viewDidLoad() {
         super.viewDidLoad()
 								title = "心泉·疗愈"
+
+        yy_popBlock = { [weak self] in
+            if self?.needPopRoot ?? false{
+                NotificationCenter.default.post(name: PlantGuideQuit_Noti, object: nil, userInfo: nil)
+            }else{
+                self?.navigationController?.popViewController(animated: true)
+            }
+        }
 
 								slider_voice.isEnabled = false
 								slider_voice.value = Float(settingModel?.volume ?? 0.5)
@@ -96,7 +105,11 @@
 												UserDefaultSettingViewModel.saveSetting(settingModel!)
 												audioPlayer.playSceneAt(items[index.row].audioFile)
 												alertSuccess(msg: "设置成功")
+            needPopRoot = true
 												NotificationCenter.default.post(name: SetBGMSuccess_Noti, object: items[index.row])
+            DispatchQueue.main.asyncAfter(delay: 0.6) {
+                self.navigationController?.popViewController()
+            }
 								}
 				}
 
diff --git a/XQMuse/Root/Home/VC/HomeItemDetailVC.swift b/XQMuse/Root/Home/VC/HomeItemDetailVC.swift
index 9428343..061e2b2 100644
--- a/XQMuse/Root/Home/VC/HomeItemDetailVC.swift
+++ b/XQMuse/Root/Home/VC/HomeItemDetailVC.swift
@@ -63,13 +63,17 @@
 								}
 
 								Services.getMeditationDetail(id: id).subscribe(onNext: {[unowned self] data in
-												self.model = data.data
-												self.collect_bitem.image = data.data?.favorite == .yes ? UIImage(named: "btn_collect_1_s"):UIImage(named: "btn_collect_1")
-												self.collect_bitem.tintColor = data.data?.favorite == .yes ? UIColor(hexString: "fe5b60"):.white
-            self.img_background.sd_setImage(with: URL(string: data.data?.backgroundUrl ?? ""))
-												if audioPlayer.meditationModel?.id == data.data?.id{
-																audioPlayer.delegate = self
-												}
+            if let m = data.data{
+                self.model = m
+                let dateTuple = Date.jq_formateToTime_tuple(m.meditationSecondList.first ?? 0)
+                self.label_totalTime.text = String(format: "%02ld:%02ld", dateTuple.hour * 60 + dateTuple.minute,dateTuple.second)
+                self.collect_bitem.image = m.favorite == .yes ? UIImage(named: "btn_collect_1_s"):UIImage(named: "btn_collect_1")
+                self.collect_bitem.tintColor = m.favorite == .yes ? UIColor(hexString: "fe5b60"):.white
+                self.img_background.sd_setImage(with: URL(string: data.data?.backgroundUrl ?? ""))
+                if audioPlayer.meditationModel?.id == m.id{
+                    audioPlayer.delegate = self
+                }
+            }
 								}).disposed(by: disposeBag)
 
         //如果从支付过来的,移除支付
@@ -92,7 +96,7 @@
 
         if let m = model,timeLook > 0{
             Services.watchMuse(id: m.id, timeLook: timeLook).subscribe(onNext: {_ in
-
+                NotificationCenter.default.post(name: TreeTaskUpdate_Noti, object: nil)
             }).disposed(by: disposeBag)
         }
     }
@@ -119,7 +123,7 @@
 								slider_voice.setThumbImage(v1.qmui_snapshotLayerImage(), for: .highlighted)
 								view_coutdown.isHidden = true
 
-								view_function.jq_gradientColor(colorArr: [UIColor.black.withAlphaComponent(0.15).cgColor,UIColor.clear.cgColor], cornerRadius: 0, startPoint: CGPoint(x: 0, y: 1), endPoint: CGPoint(x: 0, y: 0), bounds: nil, locations: nil)
+								view_function.jq_gradientColor(colorArr: [UIColor.black.withAlphaComponent(0.35).cgColor,UIColor.clear.cgColor], cornerRadius: 0, startPoint: CGPoint(x: 0, y: 1), endPoint: CGPoint(x: 0, y: 0), bounds: nil, locations: nil)
 
 				}
 
diff --git a/XQMuse/Root/Home/VC/HomeItemDetailVC.xib b/XQMuse/Root/Home/VC/HomeItemDetailVC.xib
index 7efec0b..7e95c61 100644
--- a/XQMuse/Root/Home/VC/HomeItemDetailVC.xib
+++ b/XQMuse/Root/Home/VC/HomeItemDetailVC.xib
@@ -94,13 +94,13 @@
                             </connections>
                         </button>
                         <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="oe5-fX-A8S" customClass="TapBtn" customModule="XQMuse" customModuleProvider="target">
-                            <rect key="frame" x="351" y="113.33333333333336" width="20" height="37.333333333333329"/>
+                            <rect key="frame" x="348.66666666666669" y="113.33333333333336" width="25" height="37.333333333333329"/>
                             <subviews>
                                 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="btn_comment" translatesAutoresizingMaskIntoConstraints="NO" id="6hW-9j-lFc">
-                                    <rect key="frame" x="0.0" y="0.0" width="20" height="19"/>
+                                    <rect key="frame" x="0.0" y="0.0" width="25" height="19"/>
                                 </imageView>
                                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="IkS-qR-riK">
-                                    <rect key="frame" x="6" y="24" width="8" height="13.333333333333336"/>
+                                    <rect key="frame" x="6" y="24" width="13" height="13.333333333333336"/>
                                     <constraints>
                                         <constraint firstAttribute="height" constant="13.333333333333336" id="cJY-hI-tRV"/>
                                     </constraints>
@@ -110,6 +110,7 @@
                                 </label>
                             </subviews>
                             <constraints>
+                                <constraint firstAttribute="width" relation="greaterThanOrEqual" constant="25" id="0On-N0-3L2"/>
                                 <constraint firstItem="IkS-qR-riK" firstAttribute="leading" secondItem="oe5-fX-A8S" secondAttribute="leading" constant="6" id="8Og-t3-zKZ"/>
                                 <constraint firstItem="6hW-9j-lFc" firstAttribute="top" secondItem="oe5-fX-A8S" secondAttribute="top" id="9f0-MM-MKO"/>
                                 <constraint firstItem="6hW-9j-lFc" firstAttribute="centerX" secondItem="oe5-fX-A8S" secondAttribute="centerX" id="DCO-uI-WCX"/>
@@ -123,13 +124,13 @@
                             </connections>
                         </view>
                         <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="--" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="3" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="xYv-9B-0fk">
-                            <rect key="frame" x="22.666666666666657" y="73" width="257.33333333333337" height="17"/>
+                            <rect key="frame" x="22.666666666666657" y="73" width="348.33333333333337" height="17"/>
                             <fontDescription key="fontDescription" type="system" pointSize="14"/>
                             <color key="textColor" red="1" green="1" blue="1" 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="0CQ-Qn-OOa">
-                            <rect key="frame" x="22.666666666666657" y="20.000000000000004" width="257.33333333333337" height="32.333333333333343"/>
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="--" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="0CQ-Qn-OOa">
+                            <rect key="frame" x="22.666666666666657" y="20.000000000000004" width="348.33333333333337" height="32.333333333333343"/>
                             <fontDescription key="fontDescription" type="system" pointSize="27"/>
                             <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                             <nil key="highlightedColor"/>
@@ -138,20 +139,19 @@
                     <constraints>
                         <constraint firstItem="xYv-9B-0fk" firstAttribute="top" secondItem="0CQ-Qn-OOa" secondAttribute="bottom" constant="20.5" id="3KZ-8O-C20"/>
                         <constraint firstItem="zwK-yd-ILF" firstAttribute="leading" secondItem="vIs-Dn-PVO" secondAttribute="leading" id="AJS-lE-vP8"/>
-                        <constraint firstAttribute="trailing" secondItem="oe5-fX-A8S" secondAttribute="trailing" constant="22" id="AKK-8O-ib9"/>
                         <constraint firstItem="zwK-yd-ILF" firstAttribute="top" secondItem="9ky-8U-0Iq" secondAttribute="bottom" constant="26" id="CE1-LO-1wC"/>
                         <constraint firstItem="xYv-9B-0fk" firstAttribute="leading" secondItem="0CQ-Qn-OOa" secondAttribute="leading" id="Fmy-xW-6Ac"/>
                         <constraint firstItem="P8W-2A-zOo" firstAttribute="centerY" secondItem="zwK-yd-ILF" secondAttribute="centerY" id="IGL-Li-8gU"/>
                         <constraint firstItem="xYv-9B-0fk" firstAttribute="trailing" secondItem="0CQ-Qn-OOa" secondAttribute="trailing" id="J00-LT-ihn"/>
                         <constraint firstItem="Soz-NO-Sl6" firstAttribute="centerX" secondItem="oe5-fX-A8S" secondAttribute="centerX" id="JQk-V6-Wr2"/>
                         <constraint firstItem="rML-fW-BqA" firstAttribute="leading" secondItem="P8W-2A-zOo" secondAttribute="trailing" id="LQh-3z-ZWN"/>
-                        <constraint firstAttribute="height" constant="260" id="Nfj-Hc-QTz"/>
+                        <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="260" id="Nfj-Hc-QTz"/>
                         <constraint firstItem="9ky-8U-0Iq" firstAttribute="top" secondItem="xYv-9B-0fk" secondAttribute="bottom" constant="22" id="NrV-Mq-ATf"/>
                         <constraint firstItem="Soz-NO-Sl6" firstAttribute="top" secondItem="oe5-fX-A8S" secondAttribute="bottom" constant="26" id="QAM-jd-nhq"/>
                         <constraint firstItem="9t3-fS-clT" firstAttribute="centerY" secondItem="9ky-8U-0Iq" secondAttribute="centerY" id="RCH-if-FSR"/>
                         <constraint firstItem="P8W-2A-zOo" firstAttribute="leading" secondItem="zwK-yd-ILF" secondAttribute="trailing" constant="12.5" id="Re5-xC-yA4"/>
                         <constraint firstItem="9ky-8U-0Iq" firstAttribute="leading" secondItem="vIs-Dn-PVO" secondAttribute="leading" constant="23.5" id="Tcc-7u-zff"/>
-                        <constraint firstAttribute="trailing" secondItem="xYv-9B-0fk" secondAttribute="trailing" constant="113" id="WeW-cL-yXy"/>
+                        <constraint firstAttribute="trailing" secondItem="0CQ-Qn-OOa" secondAttribute="trailing" constant="22" id="WUP-DX-tnt"/>
                         <constraint firstItem="xYv-9B-0fk" firstAttribute="leading" secondItem="vIs-Dn-PVO" secondAttribute="leading" constant="22.5" id="a5m-GS-Y4H"/>
                         <constraint firstItem="0CQ-Qn-OOa" firstAttribute="top" secondItem="vIs-Dn-PVO" secondAttribute="top" constant="20" id="az1-qw-mly"/>
                         <constraint firstItem="Soz-NO-Sl6" firstAttribute="leading" secondItem="rML-fW-BqA" secondAttribute="trailing" id="jUL-Yt-qbu"/>
@@ -232,9 +232,9 @@
             </subviews>
             <color key="backgroundColor" systemColor="systemBackgroundColor"/>
             <constraints>
+                <constraint firstAttribute="bottom" secondItem="vIs-Dn-PVO" secondAttribute="bottom" id="8Lx-5h-KB7"/>
                 <constraint firstAttribute="bottom" secondItem="pbM-Fi-Xil" secondAttribute="bottom" id="A2E-n1-Phu"/>
                 <constraint firstItem="vIs-Dn-PVO" firstAttribute="top" secondItem="3rZ-t0-pdK" secondAttribute="bottom" constant="38.5" id="GhF-Jw-JhV"/>
-                <constraint firstAttribute="bottom" secondItem="vIs-Dn-PVO" secondAttribute="bottom" id="IG2-2Q-lSs"/>
                 <constraint firstItem="Qgc-UW-rO1" firstAttribute="centerX" secondItem="pbM-Fi-Xil" secondAttribute="centerX" id="Kd3-PJ-yeJ"/>
                 <constraint firstAttribute="trailing" secondItem="vIs-Dn-PVO" secondAttribute="trailing" id="Lty-fJ-f1s"/>
                 <constraint firstItem="Qgc-UW-rO1" firstAttribute="centerY" secondItem="pbM-Fi-Xil" secondAttribute="centerY" id="M19-kC-51O"/>
diff --git a/XQMuse/Root/Home/VC/HomeItemListVC.swift b/XQMuse/Root/Home/VC/HomeItemListVC.swift
index 49db712..257dfcd 100644
--- a/XQMuse/Root/Home/VC/HomeItemListVC.swift
+++ b/XQMuse/Root/Home/VC/HomeItemListVC.swift
@@ -82,7 +82,7 @@
 
         let isVip = UserViewModel.getAvatarInfo().isVip
 
-        if m.chargeType == .free || (m.chargeType == .vipFree && isVip == .yes) || (m.chargeType == .payment && m.paidStatus == .yes){
+        if m.chargeType == .free || (m.chargeType == .vipFree && isVip == .yes) || (m.chargeType == .payment && m.isBuy == .yes){
             let detailVC = HomeItemDetailVC(id: m.id)
             jq_push(vc: detailVC)
         }else{
@@ -90,7 +90,7 @@
                 let vc = VIPCenterVC()
                 jq_push(vc: vc)
             }else{
-                let vc = PaymentOrderVC(id: m.id,type: .muse)
+                let vc = PaymentOrderVC(museItemModel: m,type: .muse)
                 jq_push(vc: vc)
             }
         }
diff --git a/XQMuse/Root/Home/VC/PaymentOrderVC.swift b/XQMuse/Root/Home/VC/PaymentOrderVC.swift
index bae25cc..7275c78 100644
--- a/XQMuse/Root/Home/VC/PaymentOrderVC.swift
+++ b/XQMuse/Root/Home/VC/PaymentOrderVC.swift
@@ -38,7 +38,8 @@
 				@IBOutlet weak var tf_phone: QMUITextField!
 				@IBOutlet weak var label_walletBalance: UILabel!
 				@IBOutlet weak var btn_isreadAgreement: UIButton!
-				private var id:Int!
+				private var museItemModel:MeditationModel?
+    private var courseItemModel:CourseModel?
 				private var giftUserId:Int?
 				private var giftToOther:Bool!
 				private var courseModel:CourseModel?
@@ -46,9 +47,10 @@
 				private var balance:Double = 0
     private var type:PaymentOrderType!
 
-    init(id:Int,type:PaymentOrderType,giftToOther:Bool = false) {
+    init(museItemModel:MeditationModel? = nil,courseItemModel:CourseModel? = nil,type:PaymentOrderType,giftToOther:Bool = false) {
 								super.init(nibName: nil, bundle: nil)
-								self.id = id
+        self.museItemModel = museItemModel
+        self.courseItemModel = courseItemModel
 								self.giftToOther = giftToOther
         self.type = type
 				}
@@ -66,36 +68,34 @@
 								getBalance()
 
         if type == .course{
-            Services.getCourseDetail(courseId: id).subscribe(onNext: {data in
+            Services.getCourseDetail(courseId: courseItemModel!.id).subscribe(onNext: {data in
                 if let m = data.data{
                     self.courseModel = m
-                    self.image_cover.sd_setImage(with: URL(string: m.coverUrl))
+                    self.image_cover.sd_setImage(with: URL(string: m.coverUrl.jq_urlEncoded()))
                     self.label_courseName.text = m.courseTitle
-                    self.label_price.text = "愈疗币\(m.generalPrice.jq_formatFloat)"
+                    self.label_price.text = "愈疗币\(m.iosPrice.jq_formatFloat)"
                     self.label_teacher.text = "导师\(m.tutor)"
                     self.label_paymentCount.text = "x\(m.count)"
-                    self.label_orderPrice.text = "愈疗币\(m.generalPrice.jq_formatFloat)"
-                    self.label_totalPrice.text = "愈疗币\(m.generalPrice.jq_formatFloat)"
+                    self.label_orderPrice.text = "愈疗币\(m.iosPrice.jq_formatFloat)"
+                    self.label_totalPrice.text = "愈疗币\(m.iosPrice.jq_formatFloat)"
                 }
             }).disposed(by: disposeBag)
         }
 
         if type == .muse{
-            Services.getMeditationDetail(id: id).subscribe(onNext: {data in
+            Services.getMeditationDetail(id: museItemModel!.id).subscribe(onNext: {data in
                 if let m = data.data{
                     self.museModel = m
-                    self.image_cover.sd_setImage(with: URL(string: m.coverUrl))
+                    self.image_cover.sd_setImage(with: URL(string: m.coverUrl.jq_urlEncoded()))
                     self.label_courseName.text = m.meditationTitle
-                    self.label_price.text = "愈疗币\(m.generalPrice.jq_formatFloat)"
+                    self.label_price.text = "愈疗币\(m.iosPrice.jq_formatFloat)"
                     self.label_teacher.text = ""
                     self.label_paymentCount.text = "x1"
-                    self.label_orderPrice.text = "愈疗币\(m.generalPrice.jq_formatFloat)"
-                    self.label_totalPrice.text = "愈疗币\(m.generalPrice.jq_formatFloat)"
+                    self.label_orderPrice.text = "愈疗币\(m.iosPrice.jq_formatFloat)"
+                    self.label_totalPrice.text = "愈疗币\(m.iosPrice.jq_formatFloat)"
                 }
             }).disposed(by: disposeBag)
         }
-
-
     }
 
 				override func setUI() {
@@ -165,12 +165,12 @@
         var id:Int = 0
 
         if let m = courseModel{
-            money = m.generalPrice
+            money = m.iosPrice
             id = m.id
         }
 
         if let m = museModel{
-            money = m.generalPrice
+            money = m.iosPrice
             id = m.id
         }
 
@@ -200,6 +200,10 @@
 
         Services.gvieCourse(orderForm: type, targetId: id,receiverId: giftUserId).subscribe(onNext: {[weak self]data in
             guard let weakSelf = self else { return }
+            self?.museItemModel?.isBuy = .yes
+            self?.courseItemModel?.isBuy = .yes
+            self?.museModel?.isBuy = .yes
+            self?.courseModel?.isBuy = .yes
             let vc = PaymentOrderResultVC(type: weakSelf.type, id: id, price: money)
             self?.push(vc: vc)
         }).disposed(by: disposeBag)
diff --git a/XQMuse/Root/Home/VC/SearchContentVC.swift b/XQMuse/Root/Home/VC/SearchContentVC.swift
index ad4dcd0..d285ae3 100644
--- a/XQMuse/Root/Home/VC/SearchContentVC.swift
+++ b/XQMuse/Root/Home/VC/SearchContentVC.swift
@@ -141,14 +141,14 @@
                         let vc = VIPCenterVC()
                         JQ_currentViewController().jq_push(vc: vc)
                     }else{
-                        let vc = PaymentOrderVC(id: m.id,type: .course,giftToOther: true)
+                        let vc = PaymentOrderVC(courseItemModel: m,type: .course,giftToOther: true)
                         JQ_currentViewController().jq_push(vc:vc)
                     }
                 }
 
             case .muse:
                 let m = museViewModel!.dataSource.value!.list[indexPath.row]
-                if m.chargeType == .free || (m.chargeType == .vipFree && isVip == .yes) || (m.chargeType == .payment && m.paidStatus == .yes){
+                if m.chargeType == .free || (m.chargeType == .vipFree && isVip == .yes) || (m.chargeType == .payment && m.isBuy == .yes){
                     let detailVC = HomeItemDetailVC(id: m.id)
                     JQ_currentViewController().jq_push(vc: detailVC)
                 }else{
@@ -156,7 +156,7 @@
                         let vc = VIPCenterVC()
                         JQ_currentViewController().jq_push(vc: vc)
                     }else{
-                        let vc = PaymentOrderVC(id: m.id,type: .muse)
+                        let vc = PaymentOrderVC(museItemModel: m,type: .muse)
                         JQ_currentViewController().jq_push(vc:vc)
                     }
                 }
diff --git a/XQMuse/Root/Home/VC/SearchVC.swift b/XQMuse/Root/Home/VC/SearchVC.swift
index 4da2fa7..606e913 100644
--- a/XQMuse/Root/Home/VC/SearchVC.swift
+++ b/XQMuse/Root/Home/VC/SearchVC.swift
@@ -106,11 +106,6 @@
 								}).disposed(by: disposeBag)
 				}
 
-				override func viewDidDisappear(_ animated: Bool) {
-								super.viewDidDisappear(animated)
-        SearchCache.writeToPath(serchType)
-				}
-
 				override func setUI() {
 								super.setUI()
 								view.backgroundColor = UIColor(hexString: "f6f6f6")
@@ -129,7 +124,8 @@
 								tableView.delegate = self
 								tableView.dataSource = self
 								tableView.separatorStyle = .none
-								tableView.isScrollEnabled = false
+        tableView.showsVerticalScrollIndicator = false
+        tableView.showsHorizontalScrollIndicator = false
 								tableView.backgroundColor = .clear
 								tableView.register(UINib(nibName: "SearchHotTCell", bundle: nil), forCellReuseIdentifier: "_SearchHotTCell")
 
@@ -169,8 +165,13 @@
 								tf_search.resignFirstResponder()
 								SearchCache.writeToList(tf_search.text!)
 
+        SearchCache.writeToPath(serchType)
+
         let vc = SearchContentVC(content: tf_search.text!, type: serchType)
 								jq_push(vc: vc)
+
+        cacheSearchCollectionView.reloadData()
+        tf_search.text = ""
 				}
 }
 
diff --git a/XQMuse/Root/Home/View/HomeTopMenuView.swift b/XQMuse/Root/Home/View/HomeTopMenuView.swift
index 51f2295..45788b4 100644
--- a/XQMuse/Root/Home/View/HomeTopMenuView.swift
+++ b/XQMuse/Root/Home/View/HomeTopMenuView.swift
@@ -48,7 +48,7 @@
 				}
 
 				func resetTopImage(){
-								if let imgUrl = UserDefaultSettingViewModel.getSetting()?.bgm?.imageUrl{
+								if let imgUrl = UserDefaultSettingViewModel.getSetting()?.bgm?.imageUrl.jq_urlEncoded(){
 												image_top.sd_setImage(with: URL(string: imgUrl))
 								}
 				}
diff --git a/XQMuse/Root/Login/LoginVC.swift b/XQMuse/Root/Login/LoginVC.swift
index 83a583b..21534f1 100644
--- a/XQMuse/Root/Login/LoginVC.swift
+++ b/XQMuse/Root/Login/LoginVC.swift
@@ -62,7 +62,8 @@
 				@IBOutlet weak var btn_sendCode: UIButton!
 				@IBOutlet weak var btn_isRead: UIButton!
     @IBOutlet weak var btn_wechat: UIButton!
-
+    @IBOutlet weak var image_security: UIImageView!
+    
     private var cellularData:CTCellularData!
 
 				private var viewModel = LoginViewModel()
@@ -181,8 +182,10 @@
 								switch viewModel.loginType.value{
 												case .code:
 																tf_content.isSecureTextEntry = false
+                image_security.image = UIImage(named: "icon_code")
 												case .pwd:
 																tf_content.isSecureTextEntry = btn_eye.isSelected
+                image_security.image = UIImage(named: "icon_pwd")
 								}
 				}
 				
@@ -202,8 +205,8 @@
 								guard viewModel.loginPhone.value.jq_isPhone else {alert(msg: "请输入正确手机号");return}
 
         Services.sendCode(phone:tf_phone.text!,type: .codeLogin).subscribe(onNext: {data in
-												if let _ = data.data{
-																sender.jq_openCountDown(60, defultTitle: "发送验证码") {
+            if data.code == 200{
+																sender.jq_openCountDown(60, defultTitle: "获取验证码") {
 																				sender.titleLabel?.font = UIFont.systemFont(ofSize: 12)
 																				sender.setTitleColor(.black.withAlphaComponent(0.3), for: .normal)
 																} completeClouse: {
@@ -218,7 +221,7 @@
 
 								guard viewModel.checkSafe() else {return}
 								guard btn_isRead.isSelected else {
-												alertError(msg: "请阅读并同意《用户注册协议》和《用户隐私协议》");return
+            alert(msg: "请阅读并同意《用户注册协议》和《用户隐私协议》");return
 								}
 
 								Services.loginBy(phone: viewModel.loginPhone.value, content: viewModel.loginContent.value, type: viewModel.loginType.value).subscribe(onNext: { data in
@@ -238,23 +241,31 @@
 				}
 
 				@IBAction func userRegisterTreatyAction(_ sender: UIButton) {
-								let vc = LoginTreatyVC()
-								vc.topIndex = 0
-								vc.clickHandle {[unowned self] state in
-												self.btn_isRead.isSelected = state
-								}
-								vc.modalPresentationStyle = .custom
-								present(vc, animated: true)
+
+        let vc = WebVC(type: .user)
+        vc.title = "用户注册协议"
+        push(vc: vc)
+
+//								let vc = LoginTreatyVC()
+//								vc.topIndex = 0
+//								vc.clickHandle {[unowned self] state in
+//												self.btn_isRead.isSelected = state
+//								}
+//								vc.modalPresentationStyle = .custom
+//								present(vc, animated: true)
 				}
 
 				@IBAction func userPrivateTreatyAction(_ sender: UIButton) {
-								let vc = LoginTreatyVC()
-								vc.topIndex = 1
-								vc.clickHandle {[unowned self] state in
-												self.btn_isRead.isSelected = state
-								}
-								vc.modalPresentationStyle = .custom
-								present(vc, animated: true)
+//								let vc = LoginTreatyVC()
+//								vc.topIndex = 1
+//								vc.clickHandle {[unowned self] state in
+//												self.btn_isRead.isSelected = state
+//								}
+//								vc.modalPresentationStyle = .custom
+//								present(vc, animated: true)
+        let vc = WebVC(type: .privacy)
+        vc.title = "用户隐私协议"
+        push(vc: vc)
 				}
 				
 				@IBAction func registerAction(_ sender: UIButton) {
@@ -264,14 +275,14 @@
 
 				@IBAction func loginByWechatAction(_ sender: UIButton) {
         guard btn_isRead.isSelected else {
-            alertError(msg: "请阅读并同意《用户注册协议》和《用户隐私协议》");return
+            alert(msg: "请阅读并同意《用户注册协议》和《用户隐私协议》");return
         }
         WeChatTools.sendAuthRequest()
 				}
 
 				@IBAction func loginByAppleAction(_ sender: UIButton) {
         guard btn_isRead.isSelected else {
-            alertError(msg: "请阅读并同意《用户注册协议》和《用户隐私协议》");return
+            alert(msg: "请阅读并同意《用户注册协议》和《用户隐私协议》");return
         }
 
         let provider = ASAuthorizationAppleIDProvider() //主要作用是用创建相应的请求,查询用户授权状态
diff --git a/XQMuse/Root/Login/LoginVC.xib b/XQMuse/Root/Login/LoginVC.xib
index ff9ac7c..59f77b1 100644
--- a/XQMuse/Root/Login/LoginVC.xib
+++ b/XQMuse/Root/Login/LoginVC.xib
@@ -18,6 +18,7 @@
                 <outlet property="btn_register" destination="k1h-gO-9vj" id="AxQ-S9-3oN"/>
                 <outlet property="btn_sendCode" destination="cUd-a4-RTn" id="n26-3e-uaI"/>
                 <outlet property="btn_wechat" destination="2Fj-Y0-NYp" id="M7L-LL-Se8"/>
+                <outlet property="image_security" destination="8PR-dw-BH2" id="zYv-ai-058"/>
                 <outlet property="tf_content" destination="x0Y-XG-Xsv" id="GVf-UU-yCe"/>
                 <outlet property="tf_phone" destination="9rD-4T-K6b" id="ynF-y5-xQD"/>
                 <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
@@ -67,7 +68,10 @@
                             <rect key="frame" x="31" y="118" width="24" height="24"/>
                         </imageView>
                         <textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="请输入您的手机号" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="9rD-4T-K6b" customClass="QMUITextField">
-                            <rect key="frame" x="66" y="120.6666666666667" width="111.33333333333331" height="18.666666666666671"/>
+                            <rect key="frame" x="66" y="110" width="296" height="40"/>
+                            <constraints>
+                                <constraint firstAttribute="height" constant="40" id="qpe-84-EuW"/>
+                            </constraints>
                             <fontDescription key="fontDescription" type="system" pointSize="14"/>
                             <textInputTraits key="textInputTraits" keyboardType="numberPad"/>
                             <userDefinedRuntimeAttributes>
@@ -87,7 +91,10 @@
                             <rect key="frame" x="31" y="187" width="24" height="24"/>
                         </imageView>
                         <textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="请输入密码" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="x0Y-XG-Xsv" customClass="QMUITextField">
-                            <rect key="frame" x="66" y="189.66666666666669" width="69.666666666666686" height="18.666666666666657"/>
+                            <rect key="frame" x="66" y="179" width="219" height="40"/>
+                            <constraints>
+                                <constraint firstAttribute="height" constant="40" id="KA0-uB-9Hk"/>
+                            </constraints>
                             <fontDescription key="fontDescription" type="system" pointSize="14"/>
                             <textInputTraits key="textInputTraits"/>
                         </textField>
@@ -185,7 +192,7 @@
                             <rect key="frame" x="295" y="184.66666666666669" width="70" height="29"/>
                             <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/>
                             <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
-                            <state key="normal" title="发送验证码">
+                            <state key="normal" title="获取验证码">
                                 <color key="titleColor" red="0.58823529411764708" green="0.67843137254901964" blue="0.50588235294117645" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                             </state>
                             <connections>
@@ -239,12 +246,14 @@
                         <constraint firstItem="eq2-Wp-Yza" firstAttribute="centerY" secondItem="6Xe-Xr-eHg" secondAttribute="centerY" id="083-Vl-7Nc"/>
                         <constraint firstItem="Ec8-sg-6R6" firstAttribute="top" secondItem="Cxv-rm-1Fq" secondAttribute="top" constant="22" id="1A0-PI-Pgu"/>
                         <constraint firstItem="esZ-HR-QwQ" firstAttribute="centerY" secondItem="6Xe-Xr-eHg" secondAttribute="centerY" id="3EO-Xv-RNw"/>
+                        <constraint firstItem="WEh-Dp-WMI" firstAttribute="trailing" secondItem="9rD-4T-K6b" secondAttribute="trailing" id="8SR-l5-rI9"/>
                         <constraint firstItem="6Xe-Xr-eHg" firstAttribute="top" secondItem="Oyy-8c-eua" secondAttribute="bottom" constant="9" id="9SA-Os-bVk"/>
                         <constraint firstItem="EBj-o7-Mca" firstAttribute="leading" secondItem="Cxv-rm-1Fq" secondAttribute="leading" constant="31" id="B4S-Om-agc"/>
                         <constraint firstItem="k1h-gO-9vj" firstAttribute="centerY" secondItem="EBj-o7-Mca" secondAttribute="centerY" id="Bvm-1l-kEG"/>
                         <constraint firstItem="MNJ-Ag-zfE" firstAttribute="leading" secondItem="esZ-HR-QwQ" secondAttribute="trailing" constant="5" id="C6j-4e-yc6"/>
                         <constraint firstItem="WEh-Dp-WMI" firstAttribute="top" secondItem="jUu-IQ-vCE" secondAttribute="bottom" constant="12" id="CJJ-9i-GMf"/>
                         <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="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" id="HWY-A4-Ukq"/>
diff --git a/XQMuse/Root/Login/VC/ForgotPasswordChangeVC.swift b/XQMuse/Root/Login/VC/ForgotPasswordChangeVC.swift
index d6ff281..cc85409 100644
--- a/XQMuse/Root/Login/VC/ForgotPasswordChangeVC.swift
+++ b/XQMuse/Root/Login/VC/ForgotPasswordChangeVC.swift
@@ -31,7 +31,7 @@
 				
 				override func viewDidLoad() {
         super.viewDidLoad()
-        title = "找回密码"
+        title = "修改密码"
     }
 
 				override func setUI() {
diff --git a/XQMuse/Root/Login/VC/ForgotPasswordChangeVC.xib b/XQMuse/Root/Login/VC/ForgotPasswordChangeVC.xib
index 67d2a0d..7c6017d 100644
--- a/XQMuse/Root/Login/VC/ForgotPasswordChangeVC.xib
+++ b/XQMuse/Root/Login/VC/ForgotPasswordChangeVC.xib
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="23094" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
     <device id="retina6_12" orientation="portrait" appearance="light"/>
     <dependencies>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="23084"/>
         <capability name="Safe area layout guides" minToolsVersion="9.0"/>
         <capability name="System colors in document resources" minToolsVersion="11.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
@@ -22,8 +22,8 @@
             <rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
             <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
             <subviews>
-                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="忘记密码" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="aIe-la-VEd">
-                    <rect key="frame" x="30.999999999999993" y="90" width="89.333333333333314" height="26"/>
+                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="修改密码" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="aIe-la-VEd">
+                    <rect key="frame" x="31" y="90" width="84" height="26"/>
                     <constraints>
                         <constraint firstAttribute="height" constant="26" id="lCe-Vg-TdC"/>
                     </constraints>
@@ -32,7 +32,7 @@
                     <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="54B-JI-JvE">
-                    <rect key="frame" x="31" y="131" width="185.66666666666666" height="14"/>
+                    <rect key="frame" x="31" y="131" width="181" height="14"/>
                     <constraints>
                         <constraint firstAttribute="height" constant="14" id="hZb-2Y-F08"/>
                     </constraints>
@@ -62,7 +62,7 @@
                     </connections>
                 </button>
                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="至少8个字符,不能全是字母或数字" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="XwG-d3-D1z">
-                    <rect key="frame" x="31" y="249.66666666666663" width="227" height="17"/>
+                    <rect key="frame" x="31.000000000000014" y="249.66666666666663" width="221.33333333333337" height="17"/>
                     <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/>
                     <color key="textColor" red="0.6588235294117647" green="0.76078431372549016" blue="0.5725490196078431" alpha="1" colorSpace="calibratedRGB"/>
                     <nil key="highlightedColor"/>
diff --git a/XQMuse/Root/Login/VC/ForgotPasswordInputCodeVC.swift b/XQMuse/Root/Login/VC/ForgotPasswordInputCodeVC.swift
index d40c0a7..46c4b02 100644
--- a/XQMuse/Root/Login/VC/ForgotPasswordInputCodeVC.swift
+++ b/XQMuse/Root/Login/VC/ForgotPasswordInputCodeVC.swift
@@ -48,7 +48,7 @@
 
     override func viewDidLoad() {
         super.viewDidLoad()
-								title = "找回密码"
+								title = "修改密码"
 
 								c1.delegate = self
 								c2.delegate = self
@@ -66,7 +66,7 @@
 												make.left.right.equalToSuperview()
 												make.height.equalTo(30)
 								}
-								label_hint.text = "验证码已发送至:" + phone.jq_blotOutPhone()
+								label_hint.text = "验证码已发送至:" + phone.jq_insertBlank()
 				}
 
 				override func setRx() {
@@ -105,7 +105,12 @@
 								btn_retry.alpha = 0.5
 								timer = Timer(timeInterval: 1.0, repeats: true) {[weak self] t in
 												self?.times -= 1
-												self?.label_retryCode.text = "\(self?.times ?? 0)s后可重新发送验证码"
+
+            self?.label_retryCode.attributedText = AttributedStringbuilder.build()
+                .add(string: "\(self?.times ?? 0)s", withFont: .systemFont(ofSize: 12, weight: .medium), withColor: UIColor(hexStr: "#98B083"))
+                .add(string: "后可重新获取验证码", withFont: .systemFont(ofSize: 12, weight: .medium), withColor: UIColor(hexStr: "#B7B7B7")).mutableAttributedString
+
+//												self?.label_retryCode.text = "\(self?.times ?? 0)s后可重新获取验证码"
 												if self?.times == 0{
 																self?.label_retryCode.text = ""
 																self?.btn_retry.isEnabled = true
diff --git a/XQMuse/Root/Login/VC/ForgotPasswordInputCodeVC.xib b/XQMuse/Root/Login/VC/ForgotPasswordInputCodeVC.xib
index 0cd1381..f897927 100644
--- a/XQMuse/Root/Login/VC/ForgotPasswordInputCodeVC.xib
+++ b/XQMuse/Root/Login/VC/ForgotPasswordInputCodeVC.xib
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="23094" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
     <device id="retina6_12" orientation="portrait" appearance="light"/>
     <dependencies>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="23084"/>
         <capability name="Safe area layout guides" minToolsVersion="9.0"/>
         <capability name="System colors in document resources" minToolsVersion="11.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
@@ -29,8 +29,8 @@
             <rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
             <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
             <subviews>
-                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="忘记密码" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="jDh-kq-o20">
-                    <rect key="frame" x="30.999999999999993" y="90" width="89.333333333333314" height="26"/>
+                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="修改密码" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="jDh-kq-o20">
+                    <rect key="frame" x="31" y="90" width="84" height="26"/>
                     <constraints>
                         <constraint firstAttribute="height" constant="26" id="wIX-wp-8Cr"/>
                     </constraints>
@@ -39,7 +39,7 @@
                     <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="42Y-AF-WYy">
-                    <rect key="frame" x="30.999999999999993" y="131" width="127.33333333333331" height="14"/>
+                    <rect key="frame" x="30.999999999999993" y="131" width="124.33333333333331" height="14"/>
                     <constraints>
                         <constraint firstAttribute="height" constant="14" id="hT6-iS-45s"/>
                     </constraints>
@@ -182,8 +182,8 @@
                         <constraint firstAttribute="height" constant="48" id="XvV-hO-SgT"/>
                     </constraints>
                 </stackView>
-                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0s后可重新发送验证码" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="FGZ-7g-h6V">
-                    <rect key="frame" x="13.999999999999993" y="247" width="126.33333333333331" height="14.333333333333314"/>
+                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0s后可重新获取验证码" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="FGZ-7g-h6V">
+                    <rect key="frame" x="13.999999999999993" y="247" width="123.33333333333331" height="14.333333333333314"/>
                     <fontDescription key="fontDescription" type="system" weight="medium" pointSize="12"/>
                     <color key="textColor" red="0.71764705882352942" green="0.71764705882352942" blue="0.71764705882352942" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                     <nil key="highlightedColor"/>
@@ -215,7 +215,7 @@
                     </constraints>
                     <fontDescription key="fontDescription" type="system" weight="medium" pointSize="15"/>
                     <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
-                    <state key="normal" title="重新发送验证码">
+                    <state key="normal" title="重新获取验证码">
                         <color key="titleColor" red="0.68627450980000004" green="0.79215686269999996" blue="0.59607843140000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                     </state>
                     <userDefinedRuntimeAttributes>
diff --git a/XQMuse/Root/Login/VC/ForgotPasswordVC.swift b/XQMuse/Root/Login/VC/ForgotPasswordVC.swift
index d50e0ca..131777a 100644
--- a/XQMuse/Root/Login/VC/ForgotPasswordVC.swift
+++ b/XQMuse/Root/Login/VC/ForgotPasswordVC.swift
@@ -18,11 +18,7 @@
 
     override func viewDidLoad() {
         super.viewDidLoad()
-								title = "找回密码"
-
-								#if DEBUG
-								tf_phone.text = "18111223301"
-								#endif
+								title = "修改密码"
     }
 
 				override func setUI() {
diff --git a/XQMuse/Root/Login/VC/ForgotPasswordVC.xib b/XQMuse/Root/Login/VC/ForgotPasswordVC.xib
index 9472def..0198fd8 100644
--- a/XQMuse/Root/Login/VC/ForgotPasswordVC.xib
+++ b/XQMuse/Root/Login/VC/ForgotPasswordVC.xib
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="23094" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
     <device id="retina6_12" orientation="portrait" appearance="light"/>
     <dependencies>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="23084"/>
         <capability name="Safe area layout guides" minToolsVersion="9.0"/>
         <capability name="System colors in document resources" minToolsVersion="11.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
@@ -21,8 +21,8 @@
             <rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
             <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
             <subviews>
-                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="忘记密码" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="5Zc-Ks-ApW">
-                    <rect key="frame" x="30.999999999999993" y="90" width="89.333333333333314" height="26"/>
+                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="修改密码" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="5Zc-Ks-ApW">
+                    <rect key="frame" x="31" y="90" width="84" height="26"/>
                     <constraints>
                         <constraint firstAttribute="height" constant="26" id="CF4-AX-aMk"/>
                     </constraints>
@@ -31,7 +31,7 @@
                     <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="kEn-9P-7XH">
-                    <rect key="frame" x="31" y="131" width="86" height="14"/>
+                    <rect key="frame" x="31.000000000000007" y="131" width="83.666666666666686" height="14"/>
                     <constraints>
                         <constraint firstAttribute="height" constant="14" id="Zj2-at-b0v"/>
                     </constraints>
diff --git a/XQMuse/Root/Login/VC/RegisterVC.swift b/XQMuse/Root/Login/VC/RegisterVC.swift
index 69f4423..b344c86 100644
--- a/XQMuse/Root/Login/VC/RegisterVC.swift
+++ b/XQMuse/Root/Login/VC/RegisterVC.swift
@@ -91,7 +91,7 @@
 
         Services.sendCode(phone:viewModel.phone.value,type: .register).subscribe(onNext: {data in
             if data.code == 200{
-																sender.jq_openCountDown(60, defultTitle: "发送验证码") {
+																sender.jq_openCountDown(60, defultTitle: "获取验证码") {
 																				sender.titleLabel?.font = UIFont.systemFont(ofSize: 12)
 																				sender.setTitleColor(.black.withAlphaComponent(0.3), for: .normal)
 																} completeClouse: {
@@ -107,8 +107,11 @@
 								view.endEditing(true)
 								guard viewModel.checkSafe() else {return}
 								guard btn_isRead.isSelected else {
-												alertError(msg: "请阅读并同意《用户注册协议》和《用户隐私协议》");return
+            alert(msg: "请阅读并同意《用户注册协议》和《用户隐私协议》");return
 								}
+
+        guard viewModel.pwd.value.count >= 8 else {alertError(msg: "密码至少8个字符,不能全是字母或数字");return}
+        guard viewModel.pwd.value.jq_isComplexPassword else {alertError(msg: "密码至少8个字符,不能全是字母或数字");return}
 
 								Services.register(cellPhone: viewModel.phone.value, captcha: viewModel.code.value, password: viewModel.pwd.value).subscribe(onNext: {data in
 												if let model = data.data{
@@ -116,9 +119,13 @@
 																UserViewModel.saveLoginInfo(model)
 																Services.getUserInfo().subscribe(onNext: {data in
 																				if let model = data.data{
-                        sceneDelegate?.loginSuccess()
 																								UserViewModel.saveAvatarInfo(model)
-                        self.dismiss(animated: true)
+                        self.dismiss(animated: true) {
+                            JQ_currentViewController().navigationController?.tabBarController?.selectedIndex = 0
+                            DispatchQueue.main.asyncAfter(delay: 0.5) {
+                                sceneDelegate?.loginSuccess()
+                            }
+                        }
 																				}
 																}).disposed(by: self.disposeBag)
 												}
diff --git a/XQMuse/Root/Login/VC/UpdatePhoneVC.swift b/XQMuse/Root/Login/VC/UpdatePhoneVC.swift
index d958739..ec92c2d 100644
--- a/XQMuse/Root/Login/VC/UpdatePhoneVC.swift
+++ b/XQMuse/Root/Login/VC/UpdatePhoneVC.swift
@@ -45,8 +45,8 @@
         }
 
         Services.sendCode(phone:tf_phone.text!,type: .threePlantform).subscribe(onNext: {data in
-            if let _ = data.data{
-                sender.jq_openCountDown(60, defultTitle: "发送验证码") {
+            if data.code == 200{
+                sender.jq_openCountDown(60, defultTitle: "获取验证码") {
                     sender.titleLabel?.font = UIFont.systemFont(ofSize: 12)
                     sender.setTitleColor(.black.withAlphaComponent(0.3), for: .normal)
                 } completeClouse: {
diff --git a/XQMuse/Root/Login/View/Popup_1_View.swift b/XQMuse/Root/Login/View/Popup_1_View.swift
index 8021868..e199965 100644
--- a/XQMuse/Root/Login/View/Popup_1_View.swift
+++ b/XQMuse/Root/Login/View/Popup_1_View.swift
@@ -44,14 +44,14 @@
 								sceneDelegate?.window?.addSubview(popupView)
 								popupView.frame = sceneDelegate?.window?.frame ?? .zero
 
-								var t = 3
+								var t = 2
 								UIView.animate(withDuration: 0.4) {
 												popupView.alpha = 1
 												popupView.view_content.transform = .init(scaleX: 1.0, y: 1.0)
 								}completion: { _ in
 												Timer.scheduledTimer(withTimeInterval: 1.0, repeats: true) { _ in
 																t -= 1
-																popupView.label_times.text = "\(t)s"
+																popupView.label_times.text = "\(min(t,1))s"
 																if t == 0{
 																				popupView.hidden()
 																}
diff --git a/XQMuse/Root/Login/View/Popup_1_View.xib b/XQMuse/Root/Login/View/Popup_1_View.xib
index 953c508..d1eb44f 100644
--- a/XQMuse/Root/Login/View/Popup_1_View.xib
+++ b/XQMuse/Root/Login/View/Popup_1_View.xib
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="23094" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
     <device id="retina6_12" orientation="portrait" appearance="light"/>
     <dependencies>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="23084"/>
         <capability name="Safe area layout guides" minToolsVersion="9.0"/>
         <capability name="System colors in document resources" minToolsVersion="11.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
@@ -40,7 +40,7 @@
                             <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.68999999999999995" colorSpace="custom" customColorSpace="calibratedRGB"/>
                             <nil key="highlightedColor"/>
                         </label>
-                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="3s" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="hJb-yZ-H1O">
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2s" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="hJb-yZ-H1O">
                             <rect key="frame" x="266" y="14" width="21" height="21"/>
                             <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="18"/>
                             <color key="textColor" red="0.67450980392156867" green="0.7803921568627451" blue="0.58823529411764708" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
diff --git a/XQMuse/Root/Me/MeVC.swift b/XQMuse/Root/Me/MeVC.swift
index 92c2150..6c4dad3 100644
--- a/XQMuse/Root/Me/MeVC.swift
+++ b/XQMuse/Root/Me/MeVC.swift
@@ -94,7 +94,7 @@
             self.label_sustainDay.attributedText = AttributedStringbuilder.build().add(string: "0", withFont: .systemFont(ofSize: 23), withColor: UIColor(hexString: "#152715")!).add(string: "天", withFont: .systemFont(ofSize: 12), withColor: UIColor(hexString: "#152715")!).mutableAttributedString
 
             self.image_vipBg.image = UIImage(named: "bg_vip_u")
-            self.label_vipInfo.text = "升级为高级会员,解锁全部体验"
+            self.label_vipInfo.text = "升级为会员,解锁会员专属体验"
             self.label_expirtTime.text = "你还未开通会员服务"
 
         }).disposed(by: disposeBag)
@@ -119,13 +119,13 @@
     private func setUserUI(model:UserInfoModel){
         self.image_userAvatar.sd_setImage(with: URL(string: model.avatar))
         self.label_userName.text = model.nickname
-        self.label_phone.text = model.cellPhone.jq_blotOutPhone()
+        self.label_phone.text = model.cellPhone
 
         self.label_totalDay.attributedText = AttributedStringbuilder.build().add(string: "\(model.cumulative)", withFont: UIFont.init(name: "PingFang-SC-Regular", size: 60)!, withColor: UIColor(hexString: "#152715")!).add(string: "天", withFont: .systemFont(ofSize: 16), withColor: UIColor(hexString: "#152715")!).mutableAttributedString
 
         self.label_sustainDay.attributedText = AttributedStringbuilder.build().add(string: "\(model.continuity)", withFont: .systemFont(ofSize: 23), withColor: UIColor(hexString: "#152715")!).add(string: "天", withFont: .systemFont(ofSize: 12), withColor: UIColor(hexString: "#152715")!).mutableAttributedString
 
-        self.image_medal.sd_setImage(with: URL(string: model.levelIcon))
+        self.image_medal.sd_setImage(with: URL(string: model.levelIcon.jq_urlEncoded()))
 
         let timeTurple = Date.jq_formateToTime_tuple(model.today * 60)
 
@@ -133,11 +133,11 @@
 
         if model.isVip == .yes{
             self.image_vipBg.image = UIImage(named: "bg_vip")
-            self.label_vipInfo.text = "你已是高级会员"
-            self.label_expirtTime.text = model.vipExpireTime + "到期"
+            self.label_vipInfo.text = "您将享受所有会员专享音频,尽情畅游心泉·疗愈世界"
+            self.label_expirtTime.text = model.vipExpireTime.components(separatedBy: " ").first! + "到期"
         }else{
             self.image_vipBg.image = UIImage(named: "bg_vip_u")
-            self.label_vipInfo.text = "升级为高级会员,解锁全部体验"
+            self.label_vipInfo.text = "升级为会员,解锁会员专属体验"
             self.label_expirtTime.text = "你还未开通会员服务"
         }
     }
diff --git a/XQMuse/Root/Me/MeVC.xib b/XQMuse/Root/Me/MeVC.xib
index 4fefff4..a4d1e43 100644
--- a/XQMuse/Root/Me/MeVC.xib
+++ b/XQMuse/Root/Me/MeVC.xib
@@ -63,7 +63,7 @@
                                     </userDefinedRuntimeAttributes>
                                 </imageView>
                                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="请先登录" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Xiq-PE-zPH">
-                                    <rect key="frame" x="86" y="17.666666666666671" width="67.666666666666686" height="20.333333333333329"/>
+                                    <rect key="frame" x="86" y="17.666666666666671" width="210" height="20.333333333333329"/>
                                     <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                     <color key="textColor" red="0.082352941176470587" green="0.15294117647058825" blue="0.082352941176470587" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                     <nil key="highlightedColor"/>
@@ -86,7 +86,7 @@
                                             <color key="textColor" red="0.039215686274509803" green="0.25882352941176467" blue="0.074509803921568626" 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="pJK-nH-NXm">
+                                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="升级为会员,解锁会员专属体验" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="pJK-nH-NXm">
                                             <rect key="frame" x="19" y="85" width="139.33333333333334" height="12"/>
                                             <fontDescription key="fontDescription" type="system" pointSize="10"/>
                                             <color key="textColor" red="0.039215686270000001" green="0.25882352939999997" blue="0.074509803920000006" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
@@ -284,13 +284,13 @@
                                                             </constraints>
                                                         </imageView>
                                                         <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="查看详情" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="flg-Hv-HHC">
-                                                            <rect key="frame" x="266.66666666666669" y="18.666666666666742" width="44" height="13.333333333333336"/>
+                                                            <rect key="frame" x="264.66666666666669" y="18.666666666666742" width="44" height="13.333333333333336"/>
                                                             <fontDescription key="fontDescription" type="system" pointSize="11"/>
                                                             <color key="textColor" red="0.40392156862745099" green="0.40392156862745099" blue="0.40392156862745099" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                                             <nil key="highlightedColor"/>
                                                         </label>
-                                                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="IKY-cB-8Vd">
-                                                            <rect key="frame" x="316.66666666666669" y="20.333333333333371" width="5.3333333333333144" height="10"/>
+                                                        <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"/>
                                                             <constraints>
                                                                 <constraint firstAttribute="width" constant="5.5" id="UAN-uc-0l9"/>
                                                                 <constraint firstAttribute="height" constant="10" id="mje-aH-Ehd"/>
@@ -299,14 +299,14 @@
                                                     </subviews>
                                                     <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                                                     <constraints>
-                                                        <constraint firstAttribute="trailing" secondItem="IKY-cB-8Vd" secondAttribute="trailing" constant="3" id="Bxd-yS-Xk9"/>
+                                                        <constraint firstAttribute="trailing" secondItem="IKY-cB-8Vd" secondAttribute="trailing" constant="8" id="Bxd-yS-Xk9"/>
                                                         <constraint firstItem="IKY-cB-8Vd" firstAttribute="centerY" secondItem="n62-aO-gnS" secondAttribute="centerY" id="GIW-CX-om4"/>
                                                         <constraint firstItem="z63-U0-xCY" firstAttribute="leading" secondItem="n62-aO-gnS" secondAttribute="leading" constant="4.5" id="MIn-56-hSL"/>
                                                         <constraint firstItem="IKY-cB-8Vd" firstAttribute="centerY" secondItem="flg-Hv-HHC" secondAttribute="centerY" id="Wz3-II-c2W"/>
                                                         <constraint firstItem="dut-7H-aMv" firstAttribute="leading" secondItem="z63-U0-xCY" secondAttribute="trailing" constant="10" id="bMN-qR-89Z"/>
                                                         <constraint firstItem="z63-U0-xCY" firstAttribute="centerY" secondItem="n62-aO-gnS" secondAttribute="centerY" id="eWq-BR-eYS"/>
                                                         <constraint firstItem="dut-7H-aMv" firstAttribute="centerY" secondItem="z63-U0-xCY" secondAttribute="centerY" id="lXT-MR-Dt1"/>
-                                                        <constraint firstItem="IKY-cB-8Vd" firstAttribute="leading" secondItem="flg-Hv-HHC" secondAttribute="trailing" constant="6" id="ve2-NZ-tDu"/>
+                                                        <constraint firstItem="IKY-cB-8Vd" firstAttribute="leading" secondItem="flg-Hv-HHC" secondAttribute="trailing" constant="3" id="ve2-NZ-tDu"/>
                                                         <constraint firstAttribute="height" constant="50.5" id="xbT-9l-3ue"/>
                                                     </constraints>
                                                     <connections>
@@ -543,7 +543,7 @@
                                     <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
                                     <state key="normal" image="icon_profileSetting"/>
                                     <connections>
-                                        <action selector="userProfileAction:" destination="-1" eventType="touchUpInside" id="f8T-XY-tt1"/>
+                                        <action selector="settingAction:" destination="-1" eventType="touchUpInside" id="yff-k5-poL"/>
                                     </connections>
                                 </button>
                                 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="cNy-lc-dn6" customClass="NoticeBtn" customModule="XQMuse" customModuleProvider="target">
@@ -584,6 +584,7 @@
                                 <constraint firstAttribute="trailing" secondItem="uES-HP-Bfe" secondAttribute="trailing" constant="21.5" id="gPj-cP-mH9"/>
                                 <constraint firstItem="dFl-Si-mEi" firstAttribute="leading" secondItem="No9-Oz-bER" secondAttribute="leading" constant="14.5" id="hZd-x5-wiC"/>
                                 <constraint firstAttribute="trailing" secondItem="Z1J-zC-UdE" secondAttribute="trailing" constant="12.5" id="j06-P7-YsO"/>
+                                <constraint firstItem="cNy-lc-dn6" firstAttribute="leading" secondItem="Xiq-PE-zPH" secondAttribute="trailing" constant="10" id="jeQ-bV-hW9"/>
                                 <constraint firstItem="Xiq-PE-zPH" firstAttribute="leading" secondItem="dFl-Si-mEi" secondAttribute="trailing" constant="6.5" id="k6Q-5X-UXd"/>
                                 <constraint firstItem="uES-HP-Bfe" firstAttribute="centerY" secondItem="Xiq-PE-zPH" secondAttribute="centerY" id="l8f-di-yWr"/>
                                 <constraint firstItem="uES-HP-Bfe" firstAttribute="leading" secondItem="cNy-lc-dn6" secondAttribute="trailing" constant="24.5" id="lxo-L4-nFQ"/>
@@ -625,6 +626,7 @@
         <image name="icon_collect" width="24.666666030883789" height="21"/>
         <image name="icon_customer" width="23" height="23"/>
         <image name="icon_love" width="28" height="25"/>
+        <image name="icon_more" width="6" height="10.666666984558105"/>
         <image name="icon_msg" width="19" height="17.666666030883789"/>
         <image name="icon_profileSetting" width="20.666666030883789" height="18.666666030883789"/>
         <image name="icon_setting" width="24" height="22"/>
diff --git a/XQMuse/Root/Me/VC/AddBankInfoVC.swift b/XQMuse/Root/Me/VC/AddBankInfoVC.swift
index 0707948..c8dfb83 100644
--- a/XQMuse/Root/Me/VC/AddBankInfoVC.swift
+++ b/XQMuse/Root/Me/VC/AddBankInfoVC.swift
@@ -120,7 +120,7 @@
 								}
 
         Services.sendCode(phone:tf_phone.text!,type: .addBank).subscribe(onNext: {_ in
-												sender.jq_openCountDown(60, defultTitle: "发送验证码") {
+												sender.jq_openCountDown(60, defultTitle: "获取验证码") {
 																sender.titleLabel?.font = UIFont.systemFont(ofSize: 12)
 																sender.setTitleColor(.black.withAlphaComponent(0.3), for: .normal)
 												} completeClouse: {
diff --git a/XQMuse/Root/Me/VC/AddBankInfoVC.xib b/XQMuse/Root/Me/VC/AddBankInfoVC.xib
index 152e270..0943bcf 100644
--- a/XQMuse/Root/Me/VC/AddBankInfoVC.xib
+++ b/XQMuse/Root/Me/VC/AddBankInfoVC.xib
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="23094" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
     <device id="retina6_12" orientation="portrait" appearance="light"/>
     <dependencies>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="23084"/>
         <capability name="Safe area layout guides" minToolsVersion="9.0"/>
         <capability name="System colors in document resources" minToolsVersion="11.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
@@ -33,7 +33,7 @@
                             <rect key="frame" x="0.0" y="0.0" width="365" height="50"/>
                             <subviews>
                                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="开户行:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="hKJ-gl-2cy">
-                                    <rect key="frame" x="10.000000000000004" y="15.333333333333327" width="57.333333333333343" height="19.333333333333329"/>
+                                    <rect key="frame" x="10" y="15.333333333333327" width="56" height="19.333333333333329"/>
                                     <fontDescription key="fontDescription" type="system" pointSize="16"/>
                                     <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="sRGB"/>
                                     <nil key="highlightedColor"/>
@@ -58,7 +58,7 @@
                             <rect key="frame" x="0.0" y="50" width="365" height="50"/>
                             <subviews>
                                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="卡号:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="x3A-cI-UqF">
-                                    <rect key="frame" x="10" y="15.333333333333341" width="41" height="19.333333333333329"/>
+                                    <rect key="frame" x="10" y="15.333333333333341" width="40" height="19.333333333333329"/>
                                     <fontDescription key="fontDescription" type="system" pointSize="16"/>
                                     <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="sRGB"/>
                                     <nil key="highlightedColor"/>
@@ -94,7 +94,7 @@
                             <rect key="frame" x="0.0" y="0.0" width="365" height="50"/>
                             <subviews>
                                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="持卡人:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Wd8-Qe-HeI">
-                                    <rect key="frame" x="10.000000000000004" y="15.333333333333341" width="57.333333333333343" height="19.333333333333329"/>
+                                    <rect key="frame" x="10" y="15.333333333333341" width="56" height="19.333333333333329"/>
                                     <fontDescription key="fontDescription" type="system" pointSize="16"/>
                                     <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="sRGB"/>
                                     <nil key="highlightedColor"/>
@@ -129,7 +129,7 @@
                             <rect key="frame" x="0.0" y="50" width="365" height="50"/>
                             <subviews>
                                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="身份证号:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="rNC-EN-G1G">
-                                    <rect key="frame" x="10" y="15.333333333333341" width="73.666666666666671" height="19.333333333333329"/>
+                                    <rect key="frame" x="10" y="15.333333333333341" width="71.666666666666671" height="19.333333333333329"/>
                                     <fontDescription key="fontDescription" type="system" pointSize="16"/>
                                     <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="sRGB"/>
                                     <nil key="highlightedColor"/>
@@ -169,7 +169,7 @@
                             <rect key="frame" x="0.0" y="100" width="365" height="50"/>
                             <subviews>
                                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="手机号:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ASX-h9-DTo">
-                                    <rect key="frame" x="10.000000000000004" y="15.333333333333313" width="57.333333333333343" height="19.333333333333329"/>
+                                    <rect key="frame" x="10" y="15.333333333333313" width="56" height="19.333333333333329"/>
                                     <fontDescription key="fontDescription" type="system" pointSize="16"/>
                                     <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="sRGB"/>
                                     <nil key="highlightedColor"/>
@@ -209,13 +209,13 @@
                             <rect key="frame" x="0.0" y="150" width="365" height="50"/>
                             <subviews>
                                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="请输入验证码:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Ck5-E9-RWu">
-                                    <rect key="frame" x="10" y="15.333333333333313" width="106.33333333333333" height="19.333333333333329"/>
+                                    <rect key="frame" x="10" y="15.333333333333313" width="103.66666666666667" height="19.333333333333329"/>
                                     <fontDescription key="fontDescription" type="system" pointSize="16"/>
                                     <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="sRGB"/>
                                     <nil key="highlightedColor"/>
                                 </label>
                                 <textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="请输入" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="fdw-nZ-t66" customClass="QMUITextField">
-                                    <rect key="frame" x="126.33333333333334" y="14.666666666666686" width="100" height="21"/>
+                                    <rect key="frame" x="123.66666666666666" y="14.666666666666686" width="100" height="21"/>
                                     <constraints>
                                         <constraint firstAttribute="width" constant="100" id="d1y-dU-luk"/>
                                     </constraints>
@@ -235,10 +235,10 @@
                                     </constraints>
                                 </view>
                                 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="nRC-hW-ER0">
-                                    <rect key="frame" x="272" y="9" width="82" height="32"/>
+                                    <rect key="frame" x="274" y="9" width="80" height="32"/>
                                     <fontDescription key="fontDescription" type="system" weight="medium" pointSize="16"/>
                                     <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
-                                    <state key="normal" title="发送验证码">
+                                    <state key="normal" title="获取验证码">
                                         <color key="titleColor" red="0.54117647058823526" green="0.68235294117647061" blue="0.396078431372549" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                     </state>
                                     <connections>
diff --git a/XQMuse/Root/Me/VC/BindAccountVC.swift b/XQMuse/Root/Me/VC/BindAccountVC.swift
index 416d21c..0e1888c 100644
--- a/XQMuse/Root/Me/VC/BindAccountVC.swift
+++ b/XQMuse/Root/Me/VC/BindAccountVC.swift
@@ -15,7 +15,7 @@
     override func viewDidLoad() {
         super.viewDidLoad()
 								title = "账号绑定"
-								label_phone.text = UserViewModel.getAvatarInfo().cellPhone.jq_blotOutPhone()
+								label_phone.text = UserViewModel.getAvatarInfo().cellPhone
         label_wechatBind.text = UserViewModel.getAvatarInfo().wxOpenId.isEmpty ? "未绑定":"已绑定"
     }
 
diff --git a/XQMuse/Root/Me/VC/BindPhone_1_VC.swift b/XQMuse/Root/Me/VC/BindPhone_1_VC.swift
index d3e69b8..a38e543 100644
--- a/XQMuse/Root/Me/VC/BindPhone_1_VC.swift
+++ b/XQMuse/Root/Me/VC/BindPhone_1_VC.swift
@@ -18,7 +18,7 @@
 								title = "绑定手机号"
 
 								//原型设计漏洞,可绕过原手机号的验证,直接通过截取Token修改新手机号【产品要求:涉及到的时候再优化 2024-09-19】
-								label_phone.text = UserViewModel.getAvatarInfo().cellPhone.jq_blotOutPhone()
+								label_phone.text = UserViewModel.getAvatarInfo().cellPhone
     }
 
 				override func viewDidLayoutSubviews() {
diff --git a/XQMuse/Root/Me/VC/BindPhone_2_VC.swift b/XQMuse/Root/Me/VC/BindPhone_2_VC.swift
index d334cca..6bd3b1f 100644
--- a/XQMuse/Root/Me/VC/BindPhone_2_VC.swift
+++ b/XQMuse/Root/Me/VC/BindPhone_2_VC.swift
@@ -21,8 +21,8 @@
 
 				@IBAction func sendCodeAction(_ sender: UIButton) {
         Services.sendCode(phone:tf_phone.text!,type: .exchangePhone).subscribe(onNext: { data in
-												if let _ = data.data{
-																sender.jq_openCountDown(60, defultTitle: "发送验证码") {
+												if data.code == 200{
+																sender.jq_openCountDown(60, defultTitle: "获取验证码") {
 																				sender.titleLabel?.font = UIFont.systemFont(ofSize: 12)
 																				sender.setTitleColor(.black.withAlphaComponent(0.3), for: .normal)
 																} completeClouse: {
diff --git a/XQMuse/Root/Me/VC/ContactCustomerDetailVC.swift b/XQMuse/Root/Me/VC/ContactCustomerDetailVC.swift
index 28c88c2..508328f 100644
--- a/XQMuse/Root/Me/VC/ContactCustomerDetailVC.swift
+++ b/XQMuse/Root/Me/VC/ContactCustomerDetailVC.swift
@@ -37,20 +37,21 @@
 								Services.commonQuestionDetailBy(id: model.id).subscribe(onNext: {[weak self] data in
 												if let m = data.data{
 																self?.webView.loadHTMLString(m.content.jq_wrapHtml(), baseURL: nil)
+                self?.image_qrCode.sd_setImage(with: URL(string: m.customerServiceQrCode))
 												}
 								}).disposed(by: disposeBag)
 								
 
-								if let image = customerImage{
-												self.image_qrCode.image = image
-								}else{
-												Services.getCustomerCode().subscribe(onNext: {data in
-																if let m = data.data{
-																				self.customerImage = UIImage.jq_GenerateQRCode(with: m, width: 200)
-																				self.image_qrCode.image = self.customerImage
-																}
-												}).disposed(by: disposeBag)
-								}
+//								if let image = customerImage{
+//												self.image_qrCode.image = image
+//								}else{
+//												Services.getCustomerCode().subscribe(onNext: {data in
+//																if let m = data.data{
+//																				self.customerImage = UIImage.jq_GenerateQRCode(with: m, width: 200)
+//																				self.image_qrCode.image = self.customerImage
+//																}
+//												}).disposed(by: disposeBag)
+//								}
     }
 
 				override func setUI() {
diff --git a/XQMuse/Root/Me/VC/ContactCustomerDetailVC.xib b/XQMuse/Root/Me/VC/ContactCustomerDetailVC.xib
index 54a8ec6..4439add 100644
--- a/XQMuse/Root/Me/VC/ContactCustomerDetailVC.xib
+++ b/XQMuse/Root/Me/VC/ContactCustomerDetailVC.xib
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="23094" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
     <device id="retina6_12" orientation="portrait" appearance="light"/>
     <dependencies>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="23084"/>
         <capability name="Safe area layout guides" minToolsVersion="9.0"/>
         <capability name="System colors in document resources" minToolsVersion="11.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
@@ -73,14 +73,14 @@
                     </constraints>
                 </view>
                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="咨询客服" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="WL0-dE-4xa">
-                    <rect key="frame" x="172" y="803.66666666666663" width="49.333333333333343" height="14.333333333333371"/>
+                    <rect key="frame" x="172.66666666666666" y="803.66666666666663" width="48" height="14.333333333333371"/>
                     <fontDescription key="fontDescription" type="system" pointSize="12"/>
                     <color key="textColor" red="0.098039215686274508" green="0.12941176470588234" blue="0.24313725490196078" alpha="0.67000000000000004" colorSpace="custom" customColorSpace="sRGB"/>
                     <nil key="highlightedColor"/>
                 </label>
-                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="2kC-yj-fW4">
+                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="2kC-yj-fW4">
                     <rect key="frame" x="148.66666666666666" y="703.66666666666663" width="96" height="96"/>
-                    <color key="backgroundColor" red="0.098039215690000001" green="0.12941176469999999" blue="0.24313725489999999" alpha="0.67000000000000004" colorSpace="custom" customColorSpace="sRGB"/>
+                    <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                     <constraints>
                         <constraint firstAttribute="width" constant="96" id="Idf-Z4-2b1"/>
                         <constraint firstAttribute="height" constant="96" id="n5B-wR-B6d"/>
diff --git a/XQMuse/Root/Me/VC/ContactCustomerVC.swift b/XQMuse/Root/Me/VC/ContactCustomerVC.swift
index 4e334c2..9ac1df7 100644
--- a/XQMuse/Root/Me/VC/ContactCustomerVC.swift
+++ b/XQMuse/Root/Me/VC/ContactCustomerVC.swift
@@ -7,6 +7,7 @@
 
 import UIKit
 import RxSwift
+import JQTools
 
 class ContactCustomerViewModel:RefreshInnerModel<CommonQuestionModel>{
 				override func api() -> (Observable<BaseResponse<BaseResponseList<CommonQuestionModel>>>)? {
@@ -17,8 +18,13 @@
 class ContactCustomerVC: BaseVC {
 
 				@IBOutlet weak var tableView: UITableView!
-				@IBOutlet weak var image_qrCode: UIImageView!
-				
+    private var customerImageView:UIImageView?
+
+    private var headView:UIView = {
+        let v = UIView()
+        return v
+    }()
+
 				private var viewModel = ContactCustomerViewModel()
 				private var customerImage:UIImage?
 
@@ -26,7 +32,28 @@
         super.viewDidLoad()
 								title = "联系客服"
 
-								tableView.separatorStyle = .none
+        headView.bounds = CGRect(x: 0, y: 0, width: JQ_ScreenW, height: 248)
+        customerImageView = UIImageView()
+        headView.addSubview(customerImageView!)
+        customerImageView!.snp.makeConstraints { make in
+            make.top.equalTo(50.5)
+            make.centerX.equalToSuperview()
+            make.width.height.equalTo(130.8)
+        }
+
+        let hintL = UILabel()
+        hintL.text = "扫码添加客服微信"
+        hintL.textColor = UIColor(hexString: "#333333")
+        hintL.font = .systemFont(ofSize: 13, weight: .medium)
+        headView.addSubview(hintL)
+        hintL.snp.makeConstraints { make in
+            make.top.equalTo(customerImageView!.snp.bottom).offset(13)
+            make.centerX.equalToSuperview()
+        }
+
+        tableView.tableHeaderView = headView
+        tableView.separatorStyle = .none
+        tableView.backgroundColor = .clear
 								tableView.delegate = self
 								tableView.dataSource = self
 								tableView.showsVerticalScrollIndicator = false
@@ -37,25 +64,24 @@
 
 								Services.getCustomerCode().subscribe(onNext: {data in
 												if let m = data.data{
-																self.customerImage = UIImage.jq_GenerateQRCode(with: m, width: 200)
-																self.image_qrCode.image = self.customerImage
+                self.customerImageView?.sd_setImage(with: URL(string: m))
 												}
 								}).disposed(by: disposeBag)
 
-        let longPress = UILongPressGestureRecognizer(target: self, action: #selector(longPressCopyAction(_:)))
-        longPress.minimumPressDuration = 0.8
-        image_qrCode.isUserInteractionEnabled = true
-        image_qrCode.addGestureRecognizer(longPress)
+//        let longPress = UILongPressGestureRecognizer(target: self, action: #selector(longPressCopyAction(_:)))
+//        longPress.minimumPressDuration = 0.8
+//        image_qrCode.isUserInteractionEnabled = true
+//        image_qrCode.addGestureRecognizer(longPress)
     }
 
     @objc private  func longPressCopyAction(_ gesture:UILongPressGestureRecognizer){
-        if gesture.state == .began{
-            if let img = image_qrCode.image{
-                image_qrCode.isUserInteractionEnabled = false
-                UIImageWriteToSavedPhotosAlbum(img, nil,nil, nil)
-                alertSuccess(msg: "保存成功")
-            }
-        }
+//        if gesture.state == .began{
+//            if let img = image_qrCode.image{
+//                image_qrCode.isUserInteractionEnabled = false
+//                UIImageWriteToSavedPhotosAlbum(img, nil,nil, nil)
+//                alertSuccess(msg: "保存成功")
+//            }
+//        }
     }
 }
 
@@ -74,6 +100,29 @@
 								return cell
 				}
 
+    func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
+        return 51
+    }
+
+    func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
+
+        var headView  = tableView.dequeueReusableHeaderFooterView(withIdentifier: "headerView")
+        if headView == nil{
+            headView = UITableViewHeaderFooterView(reuseIdentifier: "headerView")
+            headView?.contentView.backgroundColor = .white
+            let label = UILabel()
+            label.text = "问题类型"
+            label.font = .systemFont(ofSize: 15, weight: .bold)
+            headView?.contentView.addSubview(label)
+            label.snp.makeConstraints { make in
+                make.left.equalTo(18)
+                make.bottom.equalToSuperview().offset(-4.5)
+            }
+        }
+        headView?.backgroundColor = .white
+        return headView
+    }
+
 				func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
 								return viewModel.dataSource.value?.list.count ?? 0
 				}
diff --git a/XQMuse/Root/Me/VC/ContactCustomerVC.xib b/XQMuse/Root/Me/VC/ContactCustomerVC.xib
index 30eecba..6ce3057 100644
--- a/XQMuse/Root/Me/VC/ContactCustomerVC.xib
+++ b/XQMuse/Root/Me/VC/ContactCustomerVC.xib
@@ -11,7 +11,6 @@
     <objects>
         <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="ContactCustomerVC" customModule="XQMuse" customModuleProvider="target">
             <connections>
-                <outlet property="image_qrCode" destination="5jI-tQ-uLM" id="Fxg-dZ-zU2"/>
                 <outlet property="tableView" destination="cf6-0I-xxB" id="kE1-aF-snG"/>
                 <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
             </connections>
@@ -21,85 +20,31 @@
             <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="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="bg_voice_top" translatesAutoresizingMaskIntoConstraints="NO" id="eRQ-03-F3I">
-                    <rect key="frame" x="0.0" y="0.0" width="393" height="297"/>
+                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="bg_task_f" translatesAutoresizingMaskIntoConstraints="NO" id="d1C-cp-vrj">
+                    <rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
                 </imageView>
-                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Qdl-41-EV1">
-                    <rect key="frame" x="130.33333333333331" y="106.66666666666667" width="132.33333333333331" height="132.33333333333331"/>
-                    <subviews>
-                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="5jI-tQ-uLM">
-                            <rect key="frame" x="0.0" y="0.0" width="132.33333333333334" height="132.33333333333334"/>
-                        </imageView>
-                    </subviews>
-                    <color key="backgroundColor" systemColor="systemBackgroundColor"/>
-                    <constraints>
-                        <constraint firstAttribute="width" constant="132.5" id="3xI-p5-QcI"/>
-                        <constraint firstAttribute="trailing" secondItem="5jI-tQ-uLM" secondAttribute="trailing" id="75F-nx-DFC"/>
-                        <constraint firstItem="5jI-tQ-uLM" firstAttribute="top" secondItem="Qdl-41-EV1" secondAttribute="top" id="AvE-uP-sXr"/>
-                        <constraint firstItem="5jI-tQ-uLM" firstAttribute="leading" secondItem="Qdl-41-EV1" secondAttribute="leading" id="DpG-ZI-XEO"/>
-                        <constraint firstAttribute="height" constant="132.5" id="ffo-MU-W1a"/>
-                        <constraint firstAttribute="bottom" secondItem="5jI-tQ-uLM" secondAttribute="bottom" id="g7M-oD-LE2"/>
-                    </constraints>
-                </view>
-                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="fc3-8Q-v5s">
-                    <rect key="frame" x="145" y="252.00000000000003" width="103.33333333333331" height="31.333333333333343"/>
-                    <constraints>
-                        <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="12.5" id="GbW-jb-gwo"/>
-                    </constraints>
-                    <string key="text">扫码添加客服微信
-(长按保存图片)</string>
-                    <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/>
-                    <nil key="textColor"/>
-                    <nil key="highlightedColor"/>
-                </label>
-                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Kph-H0-jYO">
-                    <rect key="frame" x="0.0" y="339.66666666666674" width="393" height="478.33333333333326"/>
-                    <subviews>
-                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="问题类型" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="aYd-s7-IT0">
-                            <rect key="frame" x="17.999999999999996" y="31.999999999999996" width="59.666666666666657" height="14.333333333333332"/>
-                            <constraints>
-                                <constraint firstAttribute="height" constant="14.5" id="ZBR-Iq-kZa"/>
-                            </constraints>
-                            <fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
-                            <nil key="textColor"/>
-                            <nil key="highlightedColor"/>
-                        </label>
-                        <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" style="plain" separatorStyle="default" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="-1" estimatedSectionHeaderHeight="-1" sectionFooterHeight="-1" estimatedSectionFooterHeight="-1" translatesAutoresizingMaskIntoConstraints="NO" id="cf6-0I-xxB">
-                            <rect key="frame" x="0.0" y="50.999999999999972" width="393" height="427.33333333333326"/>
-                            <color key="backgroundColor" systemColor="systemBackgroundColor"/>
-                        </tableView>
-                    </subviews>
-                    <color key="backgroundColor" systemColor="systemBackgroundColor"/>
-                    <constraints>
-                        <constraint firstItem="aYd-s7-IT0" firstAttribute="top" secondItem="Kph-H0-jYO" secondAttribute="top" constant="32" id="1LK-Hp-TQm"/>
-                        <constraint firstAttribute="bottom" secondItem="cf6-0I-xxB" secondAttribute="bottom" id="5tn-Bo-4he"/>
-                        <constraint firstItem="aYd-s7-IT0" firstAttribute="leading" secondItem="Kph-H0-jYO" secondAttribute="leading" constant="18" id="GqS-Np-07g"/>
-                        <constraint firstItem="cf6-0I-xxB" firstAttribute="leading" secondItem="Kph-H0-jYO" secondAttribute="leading" id="Ofc-BY-Wqi"/>
-                        <constraint firstItem="cf6-0I-xxB" firstAttribute="top" secondItem="aYd-s7-IT0" secondAttribute="bottom" constant="4.5" id="gpz-TQ-avQ"/>
-                        <constraint firstAttribute="trailing" secondItem="cf6-0I-xxB" secondAttribute="trailing" id="j7I-Y3-ieq"/>
-                    </constraints>
-                </view>
+                <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" style="plain" separatorStyle="default" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="-1" estimatedSectionHeaderHeight="-1" sectionFooterHeight="-1" estimatedSectionFooterHeight="-1" translatesAutoresizingMaskIntoConstraints="NO" id="cf6-0I-xxB">
+                    <rect key="frame" x="0.0" y="59" width="393" height="759"/>
+                    <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                </tableView>
             </subviews>
             <viewLayoutGuide key="safeArea" id="fnl-2z-Ty3"/>
             <color key="backgroundColor" systemColor="systemBackgroundColor"/>
             <constraints>
-                <constraint firstItem="fc3-8Q-v5s" firstAttribute="centerX" secondItem="fnl-2z-Ty3" secondAttribute="centerX" id="6Ul-xw-5ay"/>
-                <constraint firstItem="eRQ-03-F3I" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="6gV-vl-oVQ"/>
-                <constraint firstItem="fc3-8Q-v5s" firstAttribute="top" secondItem="Qdl-41-EV1" secondAttribute="bottom" constant="13" id="7zz-7V-nFb"/>
-                <constraint firstItem="Qdl-41-EV1" firstAttribute="top" secondItem="fnl-2z-Ty3" secondAttribute="top" constant="47.5" id="9lB-L9-Qr2"/>
-                <constraint firstItem="fnl-2z-Ty3" firstAttribute="bottom" secondItem="Kph-H0-jYO" secondAttribute="bottom" id="AyY-VT-MA6"/>
-                <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="Kph-H0-jYO" secondAttribute="trailing" id="RCa-FS-6eC"/>
-                <constraint firstItem="eRQ-03-F3I" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" id="S88-LS-Gq1"/>
-                <constraint firstItem="Qdl-41-EV1" firstAttribute="centerX" secondItem="fnl-2z-Ty3" secondAttribute="centerX" id="UgY-bA-Bs9"/>
-                <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="eRQ-03-F3I" secondAttribute="trailing" id="b9W-Du-LpC"/>
-                <constraint firstItem="Kph-H0-jYO" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" id="bse-U0-2rA"/>
-                <constraint firstItem="Kph-H0-jYO" firstAttribute="top" secondItem="eRQ-03-F3I" secondAttribute="bottom" constant="42.5" id="hlP-SK-cY2"/>
+                <constraint firstAttribute="bottom" secondItem="d1C-cp-vrj" secondAttribute="bottom" id="Ak8-y8-vAD"/>
+                <constraint firstItem="d1C-cp-vrj" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" id="Bug-6T-IZY"/>
+                <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="d1C-cp-vrj" secondAttribute="trailing" id="FsY-3f-DVG"/>
+                <constraint firstItem="cf6-0I-xxB" firstAttribute="trailing" secondItem="fnl-2z-Ty3" secondAttribute="trailing" id="Fu8-xi-zh2"/>
+                <constraint firstItem="fnl-2z-Ty3" firstAttribute="bottom" secondItem="cf6-0I-xxB" secondAttribute="bottom" id="SnM-6n-0ji"/>
+                <constraint firstItem="cf6-0I-xxB" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" id="Zgg-py-H3r"/>
+                <constraint firstItem="d1C-cp-vrj" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="ami-vu-Rsz"/>
+                <constraint firstItem="cf6-0I-xxB" firstAttribute="top" secondItem="fnl-2z-Ty3" secondAttribute="top" id="dyc-nI-4mt"/>
             </constraints>
-            <point key="canvasLocation" x="59" y="21"/>
+            <point key="canvasLocation" x="58.778625954198468" y="20.422535211267608"/>
         </view>
     </objects>
     <resources>
-        <image name="bg_voice_top" width="390" height="297"/>
+        <image name="bg_task_f" width="300" height="263"/>
         <systemColor name="systemBackgroundColor">
             <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
         </systemColor>
diff --git a/XQMuse/Root/Me/VC/InviteVC.swift b/XQMuse/Root/Me/VC/InviteVC.swift
index 571c863..6de0983 100644
--- a/XQMuse/Root/Me/VC/InviteVC.swift
+++ b/XQMuse/Root/Me/VC/InviteVC.swift
@@ -42,7 +42,7 @@
     @IBAction func shareAction(_ sender: UIButton) {
 
         let string = String(format: "%@%@?userId=%ld", ShareUrl,"/poster/poster",UserViewModel.getAvatarInfo().id)
-        ShareView.show(URL(string: string)!, title: "心泉疗愈", desc: "心泉疗愈1")
+        ShareView.show(URL(string: string)!, title: "心泉·疗愈", desc: "心泉疗愈1")
 
     }
 }
diff --git a/XQMuse/Root/Me/VC/LevelVC.swift b/XQMuse/Root/Me/VC/LevelVC.swift
index 2f37089..aa00f37 100644
--- a/XQMuse/Root/Me/VC/LevelVC.swift
+++ b/XQMuse/Root/Me/VC/LevelVC.swift
@@ -29,10 +29,10 @@
 																}
 
 																self.image_level.sd_setImage(with: URL(string: m.levelIcon))
-																self.label_currentLevel.text = String(format: "%ld/%ld", m.level,10)
+                self.label_currentLevel.text = String(format: "%ld/%ld", m.growthValue,m.nextLevel)
 
 																self.label_nextLevel.isHidden = m.level == 10
-																self.label_nextLevel.text = String(format: "你离下一等级还差%ld经验值,加油!", m.growthValue,m.nextLevel)
+																self.label_nextLevel.text = String(format: "你离下一等级还差%ld经验值,加油!",m.differenceLevel)
 
 																self.webView.loadHTMLString(m.content.jq_wrapHtml(), baseURL: nil)
 												}
diff --git a/XQMuse/Root/Me/VC/LogoutAccountVC.swift b/XQMuse/Root/Me/VC/LogoutAccountVC.swift
index 2fdc47d..2cc1ffd 100644
--- a/XQMuse/Root/Me/VC/LogoutAccountVC.swift
+++ b/XQMuse/Root/Me/VC/LogoutAccountVC.swift
@@ -19,12 +19,17 @@
     }
 				@IBAction func completeAction(_ sender: UIButton) {
 								Services.deleteUser().subscribe(onNext: {data in
-												CommonAlertView.show(title: "提示", content: "已提交注销申请,请耐心等待平台审核", cancelStr: nil, completeStr: "确定", isSingle: true) { _ in
+												CommonAlertView.show(title: "提示", content: "注销成功", cancelStr: nil, completeStr: "确定", isSingle: true) { _ in
 																sceneDelegate?.needLogin()
 												}
 								}).disposed(by: disposeBag)
 				}
-				
+
+    @IBAction func quitAction(_ sender: UIButton) {
+        self.navigationController?.popViewController()
+    }
+    
+
 				override func viewDidLayoutSubviews() {
 								super.viewDidLayoutSubviews()
 								btn_logout.jq_gradientNibColor(colorArr: [UIColor(hexStr: "#8EA47A").cgColor,UIColor(hexStr: "#AFCA98").cgColor], cornerRadius: 20)
diff --git a/XQMuse/Root/Me/VC/LogoutAccountVC.xib b/XQMuse/Root/Me/VC/LogoutAccountVC.xib
index cdf8c93..9f3b12a 100644
--- a/XQMuse/Root/Me/VC/LogoutAccountVC.xib
+++ b/XQMuse/Root/Me/VC/LogoutAccountVC.xib
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="23094" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
     <device id="retina6_12" orientation="portrait" appearance="light"/>
     <dependencies>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="23084"/>
         <capability name="Safe area layout guides" minToolsVersion="9.0"/>
         <capability name="System colors in document resources" minToolsVersion="11.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
@@ -43,6 +43,9 @@
                                     <color key="value" red="0.54117647058823526" green="0.68235294117647061" blue="0.396078431372549" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                 </userDefinedRuntimeAttribute>
                             </userDefinedRuntimeAttributes>
+                            <connections>
+                                <action selector="quitAction:" destination="-1" eventType="touchUpInside" id="IMV-fK-p8K"/>
+                            </connections>
                         </button>
                         <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="4Xo-o1-mrz">
                             <rect key="frame" x="170.66666666666663" y="0.0" width="142.33333333333337" height="40"/>
diff --git a/XQMuse/Root/Me/VC/SettingVC.swift b/XQMuse/Root/Me/VC/SettingVC.swift
index 0559046..56076d9 100644
--- a/XQMuse/Root/Me/VC/SettingVC.swift
+++ b/XQMuse/Root/Me/VC/SettingVC.swift
@@ -13,6 +13,7 @@
     @IBOutlet weak var btn_exchange: UIButton!
     @IBOutlet weak var btn_logout: UIButton!
     @IBOutlet weak var btn_dispel: TapBtn!
+    @IBOutlet weak var label_version: UILabel!
     
     override func viewDidLoad() {
         super.viewDidLoad()
@@ -21,6 +22,10 @@
         btn_exchange.isHidden = UserViewModel.getLoginInfo()?.accessToken.isEmpty ?? true
         btn_logout.isHidden = UserViewModel.getLoginInfo()?.accessToken.isEmpty ?? true
         btn_dispel.isHidden = UserViewModel.getLoginInfo()?.accessToken.isEmpty ?? true
+
+        if let appVersion = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String {
+            label_version.text = JQTool.currentVersion()
+        }
     }
 
 				override func setUI() {
@@ -56,25 +61,31 @@
 								push(vc: vc)
 				}
 
-				@IBAction func exchangeAccountAction(_ sender: UIButton) {
-        CommonAlertView.show(title: "提示", content: "是否切换当前账号?") {[weak self] s in
-            if s{
-                sceneDelegate?.needLogin()
-                self?.btn_exchange.isHidden = true
-                self?.btn_logout.isHidden = true
-                self?.btn_dispel.isHidden = true
-            }
+    @IBAction func checkVersion(_ sender: TapBtn) {
+        JQTool.checkVersion(appid: "") { stat, model, url in
+            
         }
+    }
+
+				@IBAction func exchangeAccountAction(_ sender: UIButton) {
+//        CommonAlertView.show(title: "提示", content: "是否切换当前账号?") {[weak self] s in
+//            if s{
+                sceneDelegate?.needLogin()
+                self.btn_exchange.isHidden = true
+                self.btn_logout.isHidden = true
+                self.btn_dispel.isHidden = true
+//            }
+//        }
 				}
 
 				@IBAction func quitAccountAction(_ sender: UIButton) {
-        CommonAlertView.show(title: "提示", content: "是否退出当前账号?") {[weak self] s in
-            if s{
+//        CommonAlertView.show(title: "提示", content: "是否退出当前账号?") {[weak self] s in
+//            if s{
                 sceneDelegate?.needLogin()
-                self?.btn_exchange.isHidden = true
-                self?.btn_logout.isHidden = true
-                self?.btn_dispel.isHidden = true
-            }
-        }
+                self.btn_exchange.isHidden = true
+                self.btn_logout.isHidden = true
+                self.btn_dispel.isHidden = true
+//            }
+//        }
 				}
 }
diff --git a/XQMuse/Root/Me/VC/SettingVC.xib b/XQMuse/Root/Me/VC/SettingVC.xib
index cf24470..fa937b3 100644
--- a/XQMuse/Root/Me/VC/SettingVC.xib
+++ b/XQMuse/Root/Me/VC/SettingVC.xib
@@ -14,6 +14,7 @@
                 <outlet property="btn_dispel" destination="ta8-pP-aEf" id="cYz-J5-XFi"/>
                 <outlet property="btn_exchange" destination="yK9-0E-44J" id="Dlg-Zq-IOs"/>
                 <outlet property="btn_logout" destination="7uR-yB-LEb" id="scc-Tc-lfH"/>
+                <outlet property="label_version" destination="IK1-Xd-41F" id="pKX-Sr-qOw"/>
                 <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
             </connections>
         </placeholder>
@@ -23,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="240"/>
+                    <rect key="frame" x="7" y="83" width="382" height="288"/>
                     <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"/>
@@ -130,8 +131,51 @@
                                 <action selector="aboutUsAction:" destination="-1" eventType="touchUpInside" id="N3z-Cr-91f"/>
                             </connections>
                         </view>
-                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ta8-pP-aEf" customClass="TapBtn" customModule="XQMuse" customModuleProvider="target">
+                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="UeB-2r-ZNF" 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="gMu-uO-B2v">
+                                    <rect key="frame" x="11.666666666666668" y="15" width="59.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="Fcf-aE-CQR">
+                                    <rect key="frame" x="360" y="18.666666666666657" 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"/>
+                                    <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="J75-p6-6cN"/>
+                                    </constraints>
+                                </view>
+                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="1.0.0" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="IK1-Xd-41F">
+                                    <rect key="frame" x="318.33333333333331" y="15" width="31.666666666666686" height="18"/>
+                                    <fontDescription key="fontDescription" type="system" pointSize="15"/>
+                                    <nil key="textColor"/>
+                                    <nil key="highlightedColor"/>
+                                </label>
+                            </subviews>
+                            <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+                            <constraints>
+                                <constraint firstItem="L5Z-5G-cW3" firstAttribute="leading" secondItem="UeB-2r-ZNF" secondAttribute="leading" constant="8.5" id="2Mo-vS-HT5"/>
+                                <constraint firstItem="Fcf-aE-CQR" firstAttribute="centerY" secondItem="UeB-2r-ZNF" secondAttribute="centerY" id="5sX-Qo-RuQ"/>
+                                <constraint firstAttribute="bottom" secondItem="L5Z-5G-cW3" secondAttribute="bottom" id="8Na-OA-mMq"/>
+                                <constraint firstAttribute="trailing" secondItem="L5Z-5G-cW3" secondAttribute="trailing" constant="8.5" id="DA3-NI-kTy"/>
+                                <constraint firstAttribute="trailing" secondItem="Fcf-aE-CQR" secondAttribute="trailing" constant="16" id="Dl1-ch-jrV"/>
+                                <constraint firstItem="Fcf-aE-CQR" firstAttribute="leading" secondItem="IK1-Xd-41F" secondAttribute="trailing" constant="10" id="cHc-uL-Z1x"/>
+                                <constraint firstItem="IK1-Xd-41F" firstAttribute="centerY" secondItem="gMu-uO-B2v" secondAttribute="centerY" id="hp3-w7-pnw"/>
+                                <constraint firstItem="gMu-uO-B2v" firstAttribute="leading" secondItem="UeB-2r-ZNF" secondAttribute="leading" constant="11.5" id="lHO-Pt-WQF"/>
+                                <constraint firstItem="gMu-uO-B2v" firstAttribute="centerY" secondItem="UeB-2r-ZNF" secondAttribute="centerY" id="nLT-wN-42F"/>
+                                <constraint firstAttribute="height" constant="48" id="wXm-em-1ey"/>
+                            </constraints>
+                            <connections>
+                                <action selector="checkVersion:" destination="-1" eventType="touchUpInside" id="qNB-Fr-hcr"/>
+                            </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"/>
                             <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"/>
@@ -140,7 +184,7 @@
                                     <nil key="highlightedColor"/>
                                 </label>
                                 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_more" translatesAutoresizingMaskIntoConstraints="NO" id="azP-kc-GSH">
-                                    <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="nd7-cz-feh">
                                     <rect key="frame" x="8.6666666666666572" y="47.666666666666686" width="365" height="0.3333333333333357"/>
@@ -166,7 +210,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="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="bcv-yx-5hJ">
                                     <rect key="frame" x="11.666666666666668" y="15" width="59.666666666666657" height="18"/>
@@ -200,7 +244,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="332" width="382" height="49.666666666666686"/>
+                    <rect key="frame" x="7" y="380" 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"/>
@@ -221,7 +265,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="391" width="382" height="49.666666666666686"/>
+                    <rect key="frame" x="7" y="439" 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="gU8-HE-2Kr"/>
diff --git a/XQMuse/Root/Me/VC/SpendingDetailHeaderVC.xib b/XQMuse/Root/Me/VC/SpendingDetailHeaderVC.xib
index 1b68dbb..5e62ff5 100644
--- a/XQMuse/Root/Me/VC/SpendingDetailHeaderVC.xib
+++ b/XQMuse/Root/Me/VC/SpendingDetailHeaderVC.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>
@@ -25,12 +25,12 @@
                 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="FLL-3F-OgN">
                     <rect key="frame" x="14" y="100" width="365" height="259"/>
                     <subviews>
-                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="QxB-tg-ivp">
+                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="bg_ccc" translatesAutoresizingMaskIntoConstraints="NO" id="QxB-tg-ivp">
                             <rect key="frame" x="0.0" y="0.0" width="365" height="259"/>
-                            <color key="backgroundColor" red="0.59215686270000001" green="0.59215686270000001" blue="0.59215686270000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                         </imageView>
                         <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="可用余额(元)" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="5wO-F5-AbK">
-                            <rect key="frame" x="135" y="53" width="95.333333333333314" height="21"/>
+                            <rect key="frame" x="136" y="53" width="93" height="21"/>
                             <constraints>
                                 <constraint firstAttribute="height" constant="21" id="grS-X9-lbC"/>
                             </constraints>
@@ -103,6 +103,7 @@
         </view>
     </objects>
     <resources>
+        <image name="bg_ccc" width="362" height="258"/>
         <image name="bg_voice_top" width="390" height="297"/>
         <systemColor name="systemBackgroundColor">
             <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
diff --git a/XQMuse/Root/Me/VC/UserProfileVC.swift b/XQMuse/Root/Me/VC/UserProfileVC.swift
index d323209..eb95c22 100644
--- a/XQMuse/Root/Me/VC/UserProfileVC.swift
+++ b/XQMuse/Root/Me/VC/UserProfileVC.swift
@@ -15,217 +15,210 @@
 
 class UserProfileVC: BaseVC {
 
-				@IBOutlet weak var image_user: UIImageView!
-				@IBOutlet weak var tf_nickName: QMUITextField!
-				@IBOutlet weak var tf_realName: QMUITextField!
-				@IBOutlet weak var tf_sign: QMUITextField!
-				@IBOutlet weak var tf_gender: QMUITextField!
-				@IBOutlet weak var tf_birthday: QMUITextField!
-				@IBOutlet weak var tf_degree: QMUITextField!
-				@IBOutlet weak var tf_industry: QMUITextField!
-				@IBOutlet weak var tf_company: QMUITextField!
-				@IBOutlet weak var tf_job: QMUITextField!
-				@IBOutlet weak var tf_address: QMUITextField!
-				@IBOutlet weak var tf_birthland: QMUITextField!
-				@IBOutlet weak var tf_email: QMUITextField!
+    @IBOutlet weak var image_user: UIImageView!
+    @IBOutlet weak var tf_nickName: QMUITextField!
+    @IBOutlet weak var tf_realName: QMUITextField!
+    @IBOutlet weak var tf_sign: QMUITextField!
+    @IBOutlet weak var tf_gender: QMUITextField!
+    @IBOutlet weak var tf_birthday: QMUITextField!
+    @IBOutlet weak var tf_degree: QMUITextField!
+    @IBOutlet weak var tf_industry: QMUITextField!
+    @IBOutlet weak var tf_company: QMUITextField!
+    @IBOutlet weak var tf_job: QMUITextField!
+    @IBOutlet weak var tf_address: QMUITextField!
+    @IBOutlet weak var tf_birthland: QMUITextField!
+    @IBOutlet weak var tf_email: QMUITextField!
     @IBOutlet weak var image_placeholder: UIImageView!
-    
-				private var clipSize = CGSize(width: JQ_ScreenW, height: JQ_ScreenW) //裁剪大小
-				private var clipFrame:CGRect{
-								get{
-												if clipSize.width == 0 || clipSize.height == 0 {
-																assert(false,"未设置裁剪框大小")
-												}
 
-												var clipFrame = CGRect.zero
-												clipFrame.size = clipSize
-												clipFrame.origin = CGPoint(x: (JQ_ScreenW - clipSize.width)/2.0, y: (JQ_ScreenH - clipSize.width)/2.0)
-												return clipFrame
-								}
-				}
+    private var userClipAvar:UIImage?
 
-				override func viewDidLoad() {
-								super.viewDidLoad()
-								title = "个人资料"
+    private var clipSize = CGSize(width: JQ_ScreenW, height: JQ_ScreenW) //裁剪大小
+    private var clipFrame:CGRect{
+        get{
+            if clipSize.width == 0 || clipSize.height == 0 {
+                assert(false,"未设置裁剪框大小")
+            }
 
-        image_placeholder.isHidden = !UserViewModel.getAvatarInfo().avatar.isEmpty
+            var clipFrame = CGRect.zero
+            clipFrame.size = clipSize
+            clipFrame.origin = CGPoint(x: (JQ_ScreenW - clipSize.width)/2.0, y: (JQ_ScreenH - clipSize.width)/2.0)
+            return clipFrame
+        }
+    }
+
+    override func viewDidLoad() {
+        super.viewDidLoad()
+        title = "个人资料"
+
+
+        let saveBtn = UIButton(type: .custom)
+        saveBtn.setTitle("保存", for: .normal)
+        saveBtn.titleLabel?.font = .systemFont(ofSize: 15)
+        saveBtn.setTitleColor(UIColor(hexString: "#353535"), for: .normal)
+        saveBtn.addTarget(self, action: #selector(saveAction), for: .touchUpInside)
+        navigationItem.rightBarButtonItem = UIBarButtonItem(customView: saveBtn)
+
+//        image_placeholder.isHidden = !UserViewModel.getAvatarInfo().avatar.isEmpty
 
         if let url = URL(string: UserViewModel.getAvatarInfo().avatar){
             image_user.sd_setImage(with: url)
         }
 
-								tf_nickName.text = UserViewModel.getAvatarInfo().nickname
-								tf_realName.text = UserViewModel.getAvatarInfo().realname
-								tf_sign.text = UserViewModel.getAvatarInfo().signature
-								tf_gender.text = UserViewModel.getAvatarInfo().gender.rawTitle
-								tf_birthday.text = UserViewModel.getAvatarInfo().birthday
-								tf_degree.text = UserViewModel.getAvatarInfo().education
-								tf_industry.text = UserViewModel.getAvatarInfo().industry
-								tf_company.text = UserViewModel.getAvatarInfo().company
-								tf_job.text = UserViewModel.getAvatarInfo().occupation
-								tf_address.text = UserViewModel.getAvatarInfo().location
-								tf_birthland.text = UserViewModel.getAvatarInfo().hometown
-								tf_email.text = UserViewModel.getAvatarInfo().email
+        tf_nickName.text = UserViewModel.getAvatarInfo().nickname
+        tf_realName.text = UserViewModel.getAvatarInfo().realname
+        tf_sign.text = UserViewModel.getAvatarInfo().signature
+        tf_gender.text = UserViewModel.getAvatarInfo().gender.rawTitle
+        tf_birthday.text = UserViewModel.getAvatarInfo().birthday
+        tf_degree.text = UserViewModel.getAvatarInfo().education
+        tf_industry.text = UserViewModel.getAvatarInfo().industry
+        tf_company.text = UserViewModel.getAvatarInfo().company
+        tf_job.text = UserViewModel.getAvatarInfo().occupation
+        tf_address.text = UserViewModel.getAvatarInfo().location
+        tf_birthland.text = UserViewModel.getAvatarInfo().hometown
+        tf_email.text = UserViewModel.getAvatarInfo().email
 
-        yy_popBlock = {[weak self] in
+        tf_nickName.maximumTextLength = 12
+
+    }
+
+    override func setUI() {
+        super.setUI()
+        view.backgroundColor = UIColor(hexString:"#fafafa")
+        tf_gender.delegate = self
+        tf_birthday.delegate = self
+        image_user.isUserInteractionEnabled = true
+        let tap = UITapGestureRecognizer(target: self, action: #selector(selectUserProfile))
+        tap.numberOfTapsRequired = 1
+        image_user.addGestureRecognizer(tap)
+    }
+
+    @objc func saveAction(){
+        let nickname = tf_nickName.text
+        let realname = tf_realName.text
+        let signature = tf_sign.text
+        let gender = GenderType.GenderBy(tf_gender.text!)
+        let birthday = tf_birthday.text
+        let education = tf_degree.text
+        let industry = tf_industry.text
+        let company = tf_company.text
+        let occupation = tf_job.text
+        let location = tf_address.text
+        let hometown = tf_birthland.text
+        let email = tf_email.text
+
+        Services.updateUserInfo(birthday: birthday, company: company, education: education, email: email, gender: gender, hometown: hometown, industry: industry, location: location, nickname: nickname, realname: realname, occupation: occupation, signature: signature).subscribe(onNext: {data in
+            NotificationCenter.default.post(name: UpdateUserProfile_Noti, object: nil)
+            alertSuccess(msg: "修改成功")
+        }).disposed(by: disposeBag)
+
+        userClipAvar?.uploadImg().subscribe(onNext: {[weak self]imageUrl in
             guard let weakSelf = self else { return }
-            let nickname = weakSelf.tf_nickName.text
-            let realname = weakSelf.tf_realName.text
-            let signature = weakSelf.tf_sign.text
-            let gender = GenderType.GenderBy(weakSelf.tf_gender.text!)
-            let birthday = weakSelf.tf_birthday.text
-            let education = weakSelf.tf_degree.text
-            let industry = weakSelf.tf_industry.text
-            let company = weakSelf.tf_company.text
-            let occupation = weakSelf.tf_job.text
-            let location = weakSelf.tf_address.text
-            let hometown = weakSelf.tf_birthland.text
-            let email = weakSelf.tf_email.text
+            Services.updateUserAvatar(imageUrl).subscribe(onNext: {data in
+                weakSelf.image_user.sd_setImage(with: URL(string: imageUrl.jq_urlEncoded())!)
+                weakSelf.image_placeholder.isHidden = true
+                NotificationCenter.default.post(name: UpdateUserProfile_Noti, object: nil)
+            }).disposed(by: weakSelf.disposeBag)
+        }).disposed(by: disposeBag)
+    }
 
-            if nickname != UserViewModel.getAvatarInfo().nickname
-                || realname != UserViewModel.getAvatarInfo().realname
-                || signature != UserViewModel.getAvatarInfo().signature
-                || gender != UserViewModel.getAvatarInfo().gender
-                || birthday != UserViewModel.getAvatarInfo().birthday
-                || education != UserViewModel.getAvatarInfo().education
-                || industry != UserViewModel.getAvatarInfo().industry
-                || company != UserViewModel.getAvatarInfo().company
-                || occupation != UserViewModel.getAvatarInfo().occupation
-                || location != UserViewModel.getAvatarInfo().location
-                || hometown != UserViewModel.getAvatarInfo().hometown
-                || email != UserViewModel.getAvatarInfo().email{
+    @objc func selectUserProfile(){
+        CommonAlertSheetView.show(items: ["从相册选择"]) {[unowned self] index in
+            if index == 0{
 
-                CommonAlertView.show(title: "提示", content: "是否保存修改?",cancelStr: "不保存",completeStr: "保存") { state in
-                    if state{
-                        Services.updateUserInfo(birthday: birthday, company: company, education: education, email: email, gender: gender, hometown: hometown, industry: industry, location: location, nickname: nickname, realname: realname, occupation: occupation, signature: signature).subscribe(onNext: {data in
-                            NotificationCenter.default.post(name: UpdateUserProfile_Noti, object: nil)
-                            weakSelf.navigationController?.popViewController(animated: true)
-                        }).disposed(by: weakSelf.disposeBag)
-                    }else{
-                        weakSelf.navigationController?.popViewController(animated: true)
-                    }
-                }
+                let p = TZImagePickerController(maxImagesCount: 1, columnNumber: 3, delegate: self)
+                p!.modalPresentationStyle = .fullScreen
+                p!.allowTakeVideo = false
+                p!.allowTakePicture = false
+                p!.sortAscendingByModificationDate = true
+                p!.scaleAspectFillCrop = true
+                p!.allowPickingVideo = false
+                p!.maxImagesCount = 1
+                p!.allowCrop = true
+                p!.cropRect = self.clipFrame
+                self.present(p!, animated: true, completion: nil)
+
+//                guard UIImagePickerController.isSourceTypeAvailable(.camera) else{
+//                    alertError(msg: "当前设备相机不可用");return
+//                }
+//
+//                let p = UIImagePickerController()
+//                p.delegate = self
+//                p.modalPresentationStyle = .fullScreen
+//                p.allowsEditing = true
+//                p.sourceType = .camera
+//                p.cameraDevice = .front
+//                self.present(p, animated: true)
             }else{
-                weakSelf.navigationController?.popViewController(animated: true)
+
             }
         }
-				}
-
-				override func setUI() {
-								super.setUI()
-								view.backgroundColor = UIColor(hexString:"#fafafa")
-								tf_gender.delegate = self
-								tf_birthday.delegate = self
-								image_user.isUserInteractionEnabled = true
-								let tap = UITapGestureRecognizer(target: self, action: #selector(selectUserProfile))
-								tap.numberOfTapsRequired = 1
-								image_user.addGestureRecognizer(tap)
-				}
-
-				@objc func selectUserProfile(){
-								CommonAlertSheetView.show(items: ["拍照","从相册选择"]) {[unowned self] index in
-												if index == 0{
-
-																guard UIImagePickerController.isSourceTypeAvailable(.camera) else{
-																				alertError(msg: "当前设备相机不可用");return
-																}
-
-																let p = UIImagePickerController()
-																p.delegate = self
-																p.modalPresentationStyle = .fullScreen
-																p.allowsEditing = true
-																p.sourceType = .camera
-																p.cameraDevice = .front
-																self.present(p, animated: true)
-												}else{
-																let p = TZImagePickerController(maxImagesCount: 1, columnNumber: 3, delegate: self)
-																p!.modalPresentationStyle = .fullScreen
-																p!.allowTakeVideo = false
-																p!.allowTakePicture = false
-																p!.sortAscendingByModificationDate = true
-																p!.scaleAspectFillCrop = true
-																p!.allowPickingVideo = false
-																p!.maxImagesCount = 1
-																p!.allowCrop = true
-																p!.cropRect = self.clipFrame
-																self.present(p!, animated: true, completion: nil)
-												}
-								}
-				}
+    }
 }
 
 extension UserProfileVC:QMUITextFieldDelegate{
-				func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
+    func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
 
-								if textField == tf_gender{
-												let items = ["男","女","保密"]
-												CommonAlertSheetView.show(items: items) { index in
-																guard textField.text != items[index] else {return}
-																textField.text = items[index]
-												}
-								}
+        if textField == tf_gender{
+            let items = ["男","女","保密"]
+            CommonAlertSheetView.show(items: items,hiddenTitle: true) { index in
+                guard textField.text != items[index] else {return}
+                if items[index] == "保密"{
+                    textField.text = ""
+                }else{
+                    textField.text = items[index]
+                }
+            }
+        }
 
-								if textField == tf_birthday{
-												view.endEditing(true)
-												BitrhdayPickerView.show(title: "", type: .YMD) {[weak self] date in
+        if textField == tf_birthday{
+            view.endEditing(true)
+            BitrhdayPickerView.show(title: "", type: .YMD) {[weak self] date in
                 self?.tf_birthday.text = date.jq_format("yyyy-MM-dd")
-												}
-												return false
-								}
-
-								return false
-				}
+            }
+            return false
+        }
+        return false
+    }
 }
 
 extension UserProfileVC:TZImagePickerControllerDelegate{
-				public func imagePickerController(_ picker: TZImagePickerController!, didFinishPickingPhotos photos: [UIImage]!, sourceAssets assets: [Any]!, isSelectOriginalPhoto: Bool) {
-								picker.selectedAssets = NSMutableArray(array: assets)
+    public func imagePickerController(_ picker: TZImagePickerController!, didFinishPickingPhotos photos: [UIImage]!, sourceAssets assets: [Any]!, isSelectOriginalPhoto: Bool) {
+        picker.selectedAssets = NSMutableArray(array: assets)
 
         if let photo = photos.first{
-            photo.jq_scaled(to: CGSize(width: 250, height: 250)).uploadImg().subscribe(onNext: {[weak self]imageUrl in
-                guard let weakSelf = self else { return }
-                Services.updateUserAvatar(imageUrl).subscribe(onNext: {data in
-                    weakSelf.image_placeholder.isHidden = true
-                    weakSelf.image_user.sd_setImage(with: URL(string: imageUrl)!)
-                    NotificationCenter.default.post(name: UpdateUserProfile_Noti, object: nil)
-                }).disposed(by: weakSelf.disposeBag)
-            }).disposed(by: disposeBag)
+            self.userClipAvar = photo.jq_scaled(to: CGSize(width: 250, height: 250))
+//            self.image_placeholder.isHidden = true
         }
-				}
+    }
 
-				public func imagePickerController(_ picker: TZImagePickerController!, didFinishPickingAndEditingVideo coverImage: UIImage!, outputPath: String!, error errorMsg: String!) {
+    public func imagePickerController(_ picker: TZImagePickerController!, didFinishPickingAndEditingVideo coverImage: UIImage!, outputPath: String!, error errorMsg: String!) {
 
-				}
+    }
 }
 
 extension UserProfileVC:UIImagePickerControllerDelegate & UINavigationControllerDelegate{
-				//成功选取
-				public func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
+    //成功选取
+    public func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
 
-								var image:UIImage?
-								image = (info[UIImagePickerController.InfoKey.originalImage] as! UIImage)
-								let corpperVC = VPImageCropperViewController(image: image!, cropFrame: clipFrame, limitScaleRatio: Int(image!.scale))
-								corpperVC.modalPresentationStyle = .fullScreen
-								DispatchQueue.main.asyncAfter(deadline: .now()+1.0) {
-												JQ_currentViewController().present(corpperVC, animated: true, completion: nil)
-								}
+        var image:UIImage?
+        image = (info[UIImagePickerController.InfoKey.originalImage] as! UIImage)
+        let corpperVC = VPImageCropperViewController(image: image!, cropFrame: clipFrame, limitScaleRatio: Int(image!.scale))
+        corpperVC.modalPresentationStyle = .fullScreen
+        DispatchQueue.main.asyncAfter(deadline: .now()+1.0) {
+            JQ_currentViewController().present(corpperVC, animated: true, completion: nil)
+        }
 
-								unowned let weakSelf = self
-								corpperVC.imageCropperHandler { (vc, image) in
-            image.uploadImg().subscribe(onNext: {imageUrl in
-                Services.updateUserAvatar(imageUrl).subscribe(onNext: {data in
-                    weakSelf.image_user.sd_setImage(with: URL(string: imageUrl)!)
-                    weakSelf.image_placeholder.isHidden = true
-                    NotificationCenter.default.post(name: UpdateUserProfile_Noti, object: nil)
-                }).disposed(by: weakSelf.disposeBag)
-            }).disposed(by: weakSelf.disposeBag)
-								} cancelClouse: {
-												corpperVC.dismiss(animated: true) {
+        unowned let weakSelf = self
+        corpperVC.imageCropperHandler { (vc, image) in
+            weakSelf.userClipAvar = image
+//            weakSelf.image_placeholder.isHidden = true
+        } cancelClouse: {
+            corpperVC.dismiss(animated: true) {
 
-												}
-								}
-								picker.dismiss(animated: true) {
+            }
+        }
+        picker.dismiss(animated: true) {
 
-								}
-				}
+        }
+    }
 }
diff --git a/XQMuse/Root/Me/VC/UserProfileVC.xib b/XQMuse/Root/Me/VC/UserProfileVC.xib
index 85ce5d8..1fe9799 100644
--- a/XQMuse/Root/Me/VC/UserProfileVC.xib
+++ b/XQMuse/Root/Me/VC/UserProfileVC.xib
@@ -39,7 +39,7 @@
                     <rect key="frame" x="0.0" y="59" width="393" height="759"/>
                     <subviews>
                         <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="Qz0-bC-W38">
-                            <rect key="frame" x="146.66666666666666" y="80" width="100" height="100"/>
+                            <rect key="frame" x="146.66666666666666" y="27" width="100" height="100"/>
                             <color key="backgroundColor" red="0.4039215686" green="0.4039215686" blue="0.4039215686" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                             <constraints>
                                 <constraint firstAttribute="height" constant="100" id="1cn-SA-RtQ"/>
@@ -53,27 +53,28 @@
                             </userDefinedRuntimeAttributes>
                         </imageView>
                         <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_imgPlaceHolder" translatesAutoresizingMaskIntoConstraints="NO" id="cF8-lO-m5L">
-                            <rect key="frame" x="180.66666666666666" y="114.33333333333333" width="31.666666666666657" height="31.333333333333329"/>
+                            <rect key="frame" x="180.66666666666666" y="61.333333333333336" width="31.666666666666657" height="31.333333333333336"/>
                             <constraints>
                                 <constraint firstAttribute="height" constant="31.5" id="E7F-rL-NBo"/>
                                 <constraint firstAttribute="width" constant="31.5" id="NeW-Nj-hGD"/>
                             </constraints>
                         </imageView>
                         <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="ZqJ-fT-wgQ">
-                            <rect key="frame" x="0.0" y="210" width="393" height="600"/>
+                            <rect key="frame" x="0.0" y="157" width="393" height="600"/>
                             <subviews>
                                 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="W8z-Hs-75j">
                                     <rect key="frame" x="0.0" y="0.0" width="393" height="50"/>
                                     <subviews>
                                         <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="昵称" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="fv9-E0-tp4">
-                                            <rect key="frame" x="16" y="17.333333333333314" width="26" height="15.666666666666664"/>
-                                            <fontDescription key="fontDescription" type="system" pointSize="13"/>
-                                            <nil key="textColor"/>
+                                            <rect key="frame" x="16" y="17.333333333333343" width="26" height="15.666666666666664"/>
+                                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/>
+                                            <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                             <nil key="highlightedColor"/>
                                         </label>
                                         <textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="点击输入" textAlignment="right" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="xDs-61-9P0" customClass="QMUITextField">
                                             <rect key="frame" x="42" y="0.0" width="335" height="50"/>
-                                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/>
+                                            <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                            <fontDescription key="fontDescription" type="system" pointSize="13"/>
                                             <textInputTraits key="textInputTraits"/>
                                             <userDefinedRuntimeAttributes>
                                                 <userDefinedRuntimeAttribute type="color" keyPath="placeholderColor">
@@ -107,13 +108,13 @@
                                     <subviews>
                                         <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="姓名" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zxo-Oa-ujz">
                                             <rect key="frame" x="16" y="17.333333333333314" width="26" height="15.666666666666664"/>
-                                            <fontDescription key="fontDescription" type="system" pointSize="13"/>
-                                            <nil key="textColor"/>
+                                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/>
+                                            <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                             <nil key="highlightedColor"/>
                                         </label>
                                         <textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="点击输入" textAlignment="right" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="7Wv-tW-0JD" customClass="QMUITextField">
                                             <rect key="frame" x="42" y="0.0" width="335" height="50"/>
-                                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/>
+                                            <fontDescription key="fontDescription" type="system" pointSize="13"/>
                                             <textInputTraits key="textInputTraits"/>
                                             <userDefinedRuntimeAttributes>
                                                 <userDefinedRuntimeAttribute type="color" keyPath="placeholderColor">
@@ -147,13 +148,14 @@
                                     <subviews>
                                         <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="签名" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="imv-PF-klz">
                                             <rect key="frame" x="16" y="17.333333333333314" width="26" height="15.666666666666664"/>
-                                            <fontDescription key="fontDescription" type="system" pointSize="13"/>
-                                            <nil key="textColor"/>
+                                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/>
+                                            <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                             <nil key="highlightedColor"/>
                                         </label>
                                         <textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="点击输入" textAlignment="right" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="HRg-rk-jcD" customClass="QMUITextField">
                                             <rect key="frame" x="42" y="0.0" width="335" height="50"/>
-                                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/>
+                                            <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                            <fontDescription key="fontDescription" type="system" pointSize="13"/>
                                             <textInputTraits key="textInputTraits"/>
                                             <userDefinedRuntimeAttributes>
                                                 <userDefinedRuntimeAttribute type="color" keyPath="placeholderColor">
@@ -190,13 +192,14 @@
                                             <constraints>
                                                 <constraint firstAttribute="width" constant="30" id="fzZ-XP-FuZ"/>
                                             </constraints>
-                                            <fontDescription key="fontDescription" type="system" pointSize="13"/>
-                                            <nil key="textColor"/>
+                                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/>
+                                            <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                             <nil key="highlightedColor"/>
                                         </label>
-                                        <textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="请选择" textAlignment="right" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="eyM-56-9BV" customClass="QMUITextField">
+                                        <textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" textAlignment="right" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="eyM-56-9BV" customClass="QMUITextField">
                                             <rect key="frame" x="46" y="0.0" width="320" height="50"/>
-                                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/>
+                                            <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                            <fontDescription key="fontDescription" type="system" pointSize="13"/>
                                             <textInputTraits key="textInputTraits"/>
                                             <userDefinedRuntimeAttributes>
                                                 <userDefinedRuntimeAttribute type="color" keyPath="placeholderColor">
@@ -242,13 +245,14 @@
                                             <constraints>
                                                 <constraint firstAttribute="width" constant="30" id="TBD-JC-CIF"/>
                                             </constraints>
-                                            <fontDescription key="fontDescription" type="system" pointSize="13"/>
-                                            <nil key="textColor"/>
+                                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/>
+                                            <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                             <nil key="highlightedColor"/>
                                         </label>
-                                        <textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="请选择" textAlignment="right" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="mG1-O5-m2h" customClass="QMUITextField">
+                                        <textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" textAlignment="right" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="mG1-O5-m2h" customClass="QMUITextField">
                                             <rect key="frame" x="46" y="0.0" width="320" height="50"/>
-                                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/>
+                                            <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                            <fontDescription key="fontDescription" type="system" pointSize="13"/>
                                             <textInputTraits key="textInputTraits"/>
                                             <userDefinedRuntimeAttributes>
                                                 <userDefinedRuntimeAttribute type="color" keyPath="placeholderColor">
@@ -257,7 +261,7 @@
                                             </userDefinedRuntimeAttributes>
                                         </textField>
                                         <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="8aT-z4-IIe">
-                                            <rect key="frame" x="16" y="49.666666666666629" width="361" height="0.3333333333333357"/>
+                                            <rect key="frame" x="16" y="49.666666666666686" width="361" height="0.3333333333333357"/>
                                             <color key="backgroundColor" red="0.93333333330000001" green="0.93333333330000001" blue="0.93333333330000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                             <constraints>
                                                 <constraint firstAttribute="height" constant="0.5" id="zp9-cE-Fcd"/>
@@ -290,14 +294,15 @@
                                     <rect key="frame" x="0.0" y="250" width="393" height="50"/>
                                     <subviews>
                                         <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="学历" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Lr9-FF-35j">
-                                            <rect key="frame" x="16" y="17.333333333333371" width="26" height="15.666666666666664"/>
-                                            <fontDescription key="fontDescription" type="system" pointSize="13"/>
-                                            <nil key="textColor"/>
+                                            <rect key="frame" x="16" y="17.333333333333314" width="26" height="15.666666666666664"/>
+                                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/>
+                                            <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                             <nil key="highlightedColor"/>
                                         </label>
                                         <textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="点击输入" textAlignment="right" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="NG9-8J-4PE" customClass="QMUITextField">
                                             <rect key="frame" x="42" y="0.0" width="335" height="50"/>
-                                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/>
+                                            <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                            <fontDescription key="fontDescription" type="system" pointSize="13"/>
                                             <textInputTraits key="textInputTraits"/>
                                             <userDefinedRuntimeAttributes>
                                                 <userDefinedRuntimeAttribute type="color" keyPath="placeholderColor">
@@ -331,13 +336,14 @@
                                     <subviews>
                                         <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="行业" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Vsd-1g-qdV">
                                             <rect key="frame" x="16" y="17.333333333333371" width="26" height="15.666666666666664"/>
-                                            <fontDescription key="fontDescription" type="system" pointSize="13"/>
-                                            <nil key="textColor"/>
+                                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/>
+                                            <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                             <nil key="highlightedColor"/>
                                         </label>
                                         <textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="点击输入" textAlignment="right" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="OLk-lo-tWN" customClass="QMUITextField">
                                             <rect key="frame" x="42" y="0.0" width="335" height="50"/>
-                                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/>
+                                            <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                            <fontDescription key="fontDescription" type="system" pointSize="13"/>
                                             <textInputTraits key="textInputTraits"/>
                                             <userDefinedRuntimeAttributes>
                                                 <userDefinedRuntimeAttribute type="color" keyPath="placeholderColor">
@@ -371,13 +377,14 @@
                                     <subviews>
                                         <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="公司" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="bCL-7v-fEV">
                                             <rect key="frame" x="16" y="17.333333333333371" width="26" height="15.666666666666664"/>
-                                            <fontDescription key="fontDescription" type="system" pointSize="13"/>
-                                            <nil key="textColor"/>
+                                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/>
+                                            <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                             <nil key="highlightedColor"/>
                                         </label>
                                         <textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="点击输入" textAlignment="right" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="oBn-y6-tL8" customClass="QMUITextField">
                                             <rect key="frame" x="42" y="0.0" width="335" height="50"/>
-                                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/>
+                                            <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                            <fontDescription key="fontDescription" type="system" pointSize="13"/>
                                             <textInputTraits key="textInputTraits"/>
                                             <userDefinedRuntimeAttributes>
                                                 <userDefinedRuntimeAttribute type="color" keyPath="placeholderColor">
@@ -411,13 +418,14 @@
                                     <subviews>
                                         <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="职业" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="F4W-m1-aF5">
                                             <rect key="frame" x="16" y="17.333333333333371" width="26" height="15.666666666666664"/>
-                                            <fontDescription key="fontDescription" type="system" pointSize="13"/>
-                                            <nil key="textColor"/>
+                                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/>
+                                            <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                             <nil key="highlightedColor"/>
                                         </label>
                                         <textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="点击输入" textAlignment="right" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="Shq-k9-lMd" customClass="QMUITextField">
                                             <rect key="frame" x="42" y="0.0" width="335" height="50"/>
-                                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/>
+                                            <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                            <fontDescription key="fontDescription" type="system" pointSize="13"/>
                                             <textInputTraits key="textInputTraits"/>
                                             <userDefinedRuntimeAttributes>
                                                 <userDefinedRuntimeAttribute type="color" keyPath="placeholderColor">
@@ -451,13 +459,14 @@
                                     <subviews>
                                         <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="所在地" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="4yt-IS-YWS">
                                             <rect key="frame" x="16" y="17.333333333333371" width="39" height="15.666666666666664"/>
-                                            <fontDescription key="fontDescription" type="system" pointSize="13"/>
-                                            <nil key="textColor"/>
+                                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/>
+                                            <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                             <nil key="highlightedColor"/>
                                         </label>
                                         <textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="点击输入" textAlignment="right" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="apd-WL-Sql" customClass="QMUITextField">
                                             <rect key="frame" x="55" y="0.0" width="322" height="50"/>
-                                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/>
+                                            <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                            <fontDescription key="fontDescription" type="system" pointSize="13"/>
                                             <textInputTraits key="textInputTraits"/>
                                             <userDefinedRuntimeAttributes>
                                                 <userDefinedRuntimeAttribute type="color" keyPath="placeholderColor">
@@ -491,13 +500,14 @@
                                     <subviews>
                                         <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="故乡" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="3mI-9I-yxT">
                                             <rect key="frame" x="16" y="17.333333333333371" width="26" height="15.666666666666664"/>
-                                            <fontDescription key="fontDescription" type="system" pointSize="13"/>
-                                            <nil key="textColor"/>
+                                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/>
+                                            <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                             <nil key="highlightedColor"/>
                                         </label>
                                         <textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="点击输入" textAlignment="right" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="8Mk-n3-NN5" customClass="QMUITextField">
                                             <rect key="frame" x="42" y="0.0" width="335" height="50"/>
-                                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/>
+                                            <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                            <fontDescription key="fontDescription" type="system" pointSize="13"/>
                                             <textInputTraits key="textInputTraits"/>
                                             <userDefinedRuntimeAttributes>
                                                 <userDefinedRuntimeAttribute type="color" keyPath="placeholderColor">
@@ -531,13 +541,14 @@
                                     <subviews>
                                         <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="邮箱" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qeP-Ob-ndd">
                                             <rect key="frame" x="16" y="17.333333333333371" width="26" height="15.666666666666664"/>
-                                            <fontDescription key="fontDescription" type="system" pointSize="13"/>
-                                            <nil key="textColor"/>
+                                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/>
+                                            <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                             <nil key="highlightedColor"/>
                                         </label>
                                         <textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="点击输入" textAlignment="right" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="S2r-9H-Zt2" customClass="QMUITextField">
                                             <rect key="frame" x="42" y="0.0" width="335" height="50"/>
-                                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/>
+                                            <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                            <fontDescription key="fontDescription" type="system" pointSize="13"/>
                                             <textInputTraits key="textInputTraits"/>
                                             <userDefinedRuntimeAttributes>
                                                 <userDefinedRuntimeAttribute type="color" keyPath="placeholderColor">
@@ -577,7 +588,7 @@
                         <constraint firstAttribute="bottom" secondItem="ZqJ-fT-wgQ" secondAttribute="bottom" id="J9F-4M-m4d"/>
                         <constraint firstItem="ZqJ-fT-wgQ" firstAttribute="top" secondItem="Qz0-bC-W38" secondAttribute="bottom" constant="30" id="Wv9-8J-cFo"/>
                         <constraint firstAttribute="trailing" secondItem="ZqJ-fT-wgQ" secondAttribute="trailing" id="ZN4-gA-jGw"/>
-                        <constraint firstItem="Qz0-bC-W38" firstAttribute="top" secondItem="QFv-GO-e0l" secondAttribute="top" constant="80" id="aZ4-SM-G5A"/>
+                        <constraint firstItem="Qz0-bC-W38" firstAttribute="top" secondItem="QFv-GO-e0l" secondAttribute="top" constant="27" id="aZ4-SM-G5A"/>
                         <constraint firstItem="ZqJ-fT-wgQ" firstAttribute="leading" secondItem="QFv-GO-e0l" secondAttribute="leading" id="tK0-be-0Qw"/>
                     </constraints>
                 </scrollView>
diff --git a/XQMuse/Root/Me/VC/VIPCenterVC.swift b/XQMuse/Root/Me/VC/VIPCenterVC.swift
index ab1b820..a9d2e2a 100644
--- a/XQMuse/Root/Me/VC/VIPCenterVC.swift
+++ b/XQMuse/Root/Me/VC/VIPCenterVC.swift
@@ -11,8 +11,11 @@
 
 class VIPCenterVC: BaseVC {
 
-				@IBOutlet weak var collectionView: UICollectionView!
+    @IBOutlet weak var bg_vip: UIImageView!
+    @IBOutlet weak var label_vipHint: UILabel!
+    @IBOutlet weak var collectionView: UICollectionView!
     @IBOutlet weak var btn_isRead: UIButton!
+    @IBOutlet weak var label_expirtTime: UILabel!
     private var selectIndex = 0
 
     private var productList = Set<String>()
@@ -39,6 +42,17 @@
                 return p1.price.doubleValue < p2.price.doubleValue
             }
             self.collectionView.reloadData()
+        }
+
+
+        if UserViewModel.getAvatarInfo().isVip == .yes{
+            self.bg_vip.image = UIImage(named: "bg_vip")
+            self.label_vipHint.text = "您将享受所有会员专享音频,尽情畅游心泉·疗愈世界"
+            self.label_expirtTime.text = UserViewModel.getAvatarInfo().vipExpireTime.components(separatedBy: " ").first! + "到期"
+        }else{
+            self.bg_vip.image = UIImage(named: "bg_vip_u")
+            self.label_vipHint.text = "升级为会员,解锁会员专属体验"
+            self.label_expirtTime.text = "你还未开通会员服务"
         }
     }
 
@@ -130,7 +144,7 @@
 								}
 
 								label_price  = UILabel()
-								label_price.attributedText = AttributedStringbuilder.build().add(string: "¥", withFont: .systemFont(ofSize: 15, weight:.heavy), withColor: UIColor(hexString: "#353535")!).add(string: "199", withFont: .systemFont(ofSize: 20, weight:.heavy), withColor: UIColor(hexString: "#353535")!).mutableAttributedString
+								label_price.attributedText = AttributedStringbuilder.build().add(string: "¥", withFont: .systemFont(ofSize: 15, weight:.heavy), withColor: UIColor(hexString: "#353535")!).add(string: "0", withFont: .systemFont(ofSize: 20, weight:.heavy), withColor: UIColor(hexString: "#353535")!).mutableAttributedString
 								label_price.textAlignment = .center
 								label_price.font = .systemFont(ofSize: 16, weight: .medium)
 								contentView.addSubview(label_price)
diff --git a/XQMuse/Root/Me/VC/VIPCenterVC.xib b/XQMuse/Root/Me/VC/VIPCenterVC.xib
index 2466840..0aee0e1 100644
--- a/XQMuse/Root/Me/VC/VIPCenterVC.xib
+++ b/XQMuse/Root/Me/VC/VIPCenterVC.xib
@@ -11,8 +11,11 @@
     <objects>
         <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="VIPCenterVC" customModule="XQMuse" customModuleProvider="target">
             <connections>
+                <outlet property="bg_vip" destination="w2X-DC-MsM" id="eUS-mm-b27"/>
                 <outlet property="btn_isRead" destination="6ZY-8B-NMH" id="vPj-36-S58"/>
                 <outlet property="collectionView" destination="Ue5-Zy-CjC" id="lPV-ex-sdB"/>
+                <outlet property="label_expirtTime" destination="9TG-o4-3iP" id="gfB-ZZ-lSf"/>
+                <outlet property="label_vipHint" destination="teL-7U-G1S" id="PaY-O3-zF6"/>
                 <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
             </connections>
         </placeholder>
@@ -36,6 +39,12 @@
                                         <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="bg_vip_u" translatesAutoresizingMaskIntoConstraints="NO" id="w2X-DC-MsM">
                                             <rect key="frame" x="0.0" y="0.0" width="365" height="113.33333333333333"/>
                                         </imageView>
+                                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="到期" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="9TG-o4-3iP">
+                                            <rect key="frame" x="332.66666666666669" y="87.333333333333329" width="14" height="9"/>
+                                            <fontDescription key="fontDescription" type="system" pointSize="7"/>
+                                            <color key="textColor" red="0.039215686270000001" green="0.25882352939999997" blue="0.074509803920000006" 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="YxW-A0-Oga">
                                             <rect key="frame" x="19.666666666666657" y="23.333333333333329" width="142" height="21"/>
                                             <constraints>
@@ -45,7 +54,7 @@
                                             <color key="textColor" red="0.039215686274509803" green="0.25882352941176467" blue="0.074509803921568626" 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="teL-7U-G1S">
+                                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="升级为会员,解锁会员专属体验" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="teL-7U-G1S">
                                             <rect key="frame" x="19" y="85.999999999999986" width="139.33333333333334" height="12"/>
                                             <fontDescription key="fontDescription" type="system" pointSize="10"/>
                                             <color key="textColor" red="0.039215686274509803" green="0.25882352941176467" blue="0.074509803921568626" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
@@ -53,6 +62,8 @@
                                         </label>
                                     </subviews>
                                     <constraints>
+                                        <constraint firstAttribute="trailing" secondItem="9TG-o4-3iP" secondAttribute="trailing" constant="18.5" id="6XA-hA-h9j"/>
+                                        <constraint firstItem="9TG-o4-3iP" firstAttribute="centerY" secondItem="teL-7U-G1S" secondAttribute="centerY" id="FJQ-kB-MaP"/>
                                         <constraint firstAttribute="width" secondItem="h8a-aO-hri" secondAttribute="height" multiplier="1:0.311" id="HXf-AV-84L"/>
                                         <constraint firstAttribute="bottom" secondItem="w2X-DC-MsM" secondAttribute="bottom" id="Id9-B8-cpn"/>
                                         <constraint firstAttribute="trailing" secondItem="w2X-DC-MsM" secondAttribute="trailing" id="UQH-42-3iR"/>
@@ -200,7 +211,7 @@
                 <constraint firstItem="Qa1-cj-VoU" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="m1A-Bv-NWm"/>
                 <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="VLP-Hy-naC" secondAttribute="trailing" id="ul0-Xj-7Nb"/>
             </constraints>
-            <point key="canvasLocation" x="140" y="21"/>
+            <point key="canvasLocation" x="139.69465648854961" y="20.422535211267608"/>
         </view>
     </objects>
     <resources>
diff --git a/XQMuse/Root/Network/Models.swift b/XQMuse/Root/Network/Models.swift
index fab92ab..84a1e50 100644
--- a/XQMuse/Root/Network/Models.swift
+++ b/XQMuse/Root/Network/Models.swift
@@ -96,11 +96,11 @@
 				var showType: DisplayType = .horizontal
 }
 
-struct MeditationModel:HandyJSON{
+class MeditationModel:HandyJSON{
 				var backgroundUrl: String = ""
 				var cateId: Int = 0
 				var chargeType:ChargeType = .free
-				var paidStatus:ConditionType = .no //是否购买
+				var isBuy:ConditionType = .no //是否购买
 				var coverDescription: String = ""
 				var coverUrl: String = ""
 				var detailDescription: String = ""
@@ -109,7 +109,7 @@
 				var iconUrl: String = ""
 				var id: Int = 0
 				var questionCount:Int = 0
-				var iosPrice: Int = 0
+    var iosPrice: Double = 0
 				var listingStatus: Int = 0
 				var meditationTitle: String = ""
 				var realLearnedNum: Int = 0
@@ -120,6 +120,9 @@
 				var favorite:ConditionType = .no // 是否收藏:1:是 2:否
     var tutor:String = ""
     var meditationMusicList = [String]()
+    var meditationSecondList = [Int]() //时长
+
+    required init(){}
 }
 
 class CommentModel:HandyJSON{
@@ -166,7 +169,7 @@
     var courseId:String?
 }
 
-struct CourseModel:HandyJSON{
+class CourseModel:HandyJSON{
 				var address:String = ""
 				var addressDetail:String = ""
 				var briefIntroduction:String = ""
@@ -182,7 +185,7 @@
 				var headers = [String]()
 				var id: Int = 0
     var businessId:Int = 0 // 课程/音频id 收藏用
-				var iosPrice: Int = 0
+    var iosPrice: Double = 0
 				var isBuy: ConditionType = .no
 				var isVip: ConditionType = .no
 				var latitude: Int = 0
@@ -196,6 +199,8 @@
 
 				var list2 = [CourseModel]()
 				var list = [CourseItemModel]()
+
+    required init(){}
 }
 
 struct CourseItemModel:HandyJSON{
@@ -336,7 +341,7 @@
 				var status: Int = 0
 				var updateBy: String = ""
 				var updateTime: String = ""
-				var worth: Int = 0
+    var worth: Double = 0
 }
 
 struct EnergyExchangeRecordModel:HandyJSON{
@@ -345,7 +350,7 @@
 				var id: Int = 0
 				var name: String = ""
 				var status:ConditionType = .no
-				var worth: Int = 0
+    var worth: Double = 0
 				var code:String = ""
 }
 
diff --git a/XQMuse/Root/Network/Services.swift b/XQMuse/Root/Network/Services.swift
index b66273f..2369e36 100644
--- a/XQMuse/Root/Network/Services.swift
+++ b/XQMuse/Root/Network/Services.swift
@@ -82,7 +82,7 @@
         return NetworkRequest.request(params: params, method: .post,encoding: JSONEncoding(), progress: true)
     }
 
-				/// 发送验证码
+				/// 获取验证码
     class func sendCode(phone:String,type:SendCodeType)->Observable<BaseResponse<SimpleModel>>{
 								let params = ParamsAppender.build(url: All_Url)
 								params.interface(url: "/auth/app/sendCaptchaCode")
@@ -425,7 +425,7 @@
         let params = ParamsAppender.build(url: All_Url)
         params.interface(url: "/user/client/app-user/updateUserAvatar")
             .append(key: "avatar", value: imageUrl)
-        return NetworkRequest.request(params: params, method: .post, progress: true)
+        return NetworkRequest.request(params: params, method: .post, progress: false)
     }
 
 				/// 支付成功
@@ -750,4 +750,10 @@
 												.append(key: "apipost_id", value: "37771d0cf0e312")
 								return NetworkRequest.request(params: params, method: .post, progress: false)
 				}
+
+    class func getLunchPage()->Observable<BaseResponse<String>>{
+        let params = ParamsAppender.build(url: All_Url)
+            .interface(url: "/system/system/page/getPage")
+        return NetworkRequest.request(params: params, method: .post,encoding: JSONEncoding(), progress: false)
+    }
 }
diff --git a/XQMuse/Root/Other/View/CommonAlertSheetView.swift b/XQMuse/Root/Other/View/CommonAlertSheetView.swift
index 4ac98fa..8de2f64 100644
--- a/XQMuse/Root/Other/View/CommonAlertSheetView.swift
+++ b/XQMuse/Root/Other/View/CommonAlertSheetView.swift
@@ -14,23 +14,32 @@
 				@IBOutlet weak var tableView: UITableView!
 				@IBOutlet weak var cons_tableHei: NSLayoutConstraint!
 				@IBOutlet weak var cons_viewBottom: NSLayoutConstraint!
-
+    @IBOutlet weak var cons_titleH: NSLayoutConstraint!
+    @IBOutlet weak var view_title: UIView!
+    
 				private var items = [String]()
 				private var clouse:((Int)->Void)!
+    private var hiddenTitle:Bool = false
 
 				override func awakeFromNib() {
 								super.awakeFromNib()
 								alpha = 0
+
 								cons_viewBottom.constant = -JQ_ScreenW
 								layoutIfNeeded()
 								tableView.delegate = self
 								tableView.dataSource = self
 								tableView.separatorStyle = .none
+        tableView.isScrollEnabled = false
 								tableView.register(CommonAlertSheetTCell.self, forCellReuseIdentifier: "TCell")
 				}
 
-				static func show(items:[String],clouse:@escaping (Int)->Void){
+    static func show(items:[String],hiddenTitle:Bool = false,clouse:@escaping (Int)->Void){
 								let alertView = CommonAlertSheetView.jq_loadNibView()
+        alertView.hiddenTitle = hiddenTitle
+        alertView.cons_titleH.constant = hiddenTitle ? 0:56
+        alertView.view_title.isHidden = hiddenTitle
+
 								alertView.frame = sceneDelegate?.window?.frame ?? .zero
 								alertView.cons_tableHei.constant = CGFloat(items.count * 56)
 								sceneDelegate?.window?.addSubview(alertView)
@@ -48,7 +57,13 @@
 
 				override func layoutSubviews() {
 								super.layoutSubviews()
-								let totalH = Double(items.count * 56) + UIDevice.jq_safeEdges.bottom + 56
+        var totalH:Double = 0
+        if hiddenTitle{
+            totalH = Double(items.count * 56) + UIDevice.jq_safeEdges.bottom + 56.0
+        }else{
+            totalH = Double(items.count * 56) + UIDevice.jq_safeEdges.bottom + 56.0 + 56.0
+        }
+
 								view_container.jq_addCorners(corner: [.topLeft,.topRight], radius: 20,height: totalH)
 				}
 
@@ -82,6 +97,11 @@
 				func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
 								let cell = tableView.dequeueReusableCell(withIdentifier: "TCell") as! CommonAlertSheetTCell
 								cell.label_content.text = items[indexPath.row]
+        if hiddenTitle{
+            cell.label_content.textColor = UIColor(hexString: "#6B6B6B")
+        }else{
+            cell.label_content.textColor = UIColor(hexString: "#92A87D")
+        }
 								return cell
 				}
 
@@ -109,7 +129,7 @@
 								}
 
 								let lineView = UIView()
-								lineView.backgroundColor = UIColor(hexStr: "#979797").withAlphaComponent(0.05)
+								lineView.backgroundColor = UIColor(hexStr: "#979797").withAlphaComponent(0.1)
 								contentView.addSubview(lineView)
 								lineView.snp.makeConstraints { make in
 												make.left.equalTo(15)
diff --git a/XQMuse/Root/Other/View/CommonAlertSheetView.xib b/XQMuse/Root/Other/View/CommonAlertSheetView.xib
index 67069e5..4cf3e32 100644
--- a/XQMuse/Root/Other/View/CommonAlertSheetView.xib
+++ b/XQMuse/Root/Other/View/CommonAlertSheetView.xib
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="23094" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
     <device id="retina6_12" orientation="portrait" appearance="light"/>
     <dependencies>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="23084"/>
         <capability name="Safe area layout guides" minToolsVersion="9.0"/>
         <capability name="System colors in document resources" minToolsVersion="11.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
@@ -16,10 +16,10 @@
             <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
             <subviews>
                 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ZCi-js-xyb">
-                    <rect key="frame" x="0.0" y="654" width="393" height="198"/>
+                    <rect key="frame" x="0.0" y="597.66666666666663" width="393" height="254.33333333333337"/>
                     <subviews>
                         <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="5zv-r1-Tbh">
-                            <rect key="frame" x="0.0" y="100" width="393" height="56"/>
+                            <rect key="frame" x="0.0" y="156.33333333333337" width="393" height="56"/>
                             <constraints>
                                 <constraint firstAttribute="height" constant="56" id="UcK-me-kEd"/>
                             </constraints>
@@ -33,22 +33,55 @@
                             </connections>
                         </button>
                         <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" style="plain" separatorStyle="default" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="-1" estimatedSectionHeaderHeight="-1" sectionFooterHeight="-1" estimatedSectionFooterHeight="-1" translatesAutoresizingMaskIntoConstraints="NO" id="G6i-xu-rUK">
-                            <rect key="frame" x="0.0" y="0.0" width="393" height="100"/>
+                            <rect key="frame" x="0.0" y="56.333333333333371" width="393" height="100"/>
                             <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                             <constraints>
                                 <constraint firstAttribute="height" constant="100" id="g8g-XN-qDa"/>
                             </constraints>
                         </tableView>
+                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="A58-yH-MOT">
+                            <rect key="frame" x="0.0" y="56" width="393" height="0.3333333333333357"/>
+                            <color key="backgroundColor" red="0.59215686274509804" green="0.59215686274509804" blue="0.59215686274509804" alpha="0.10000000000000001" colorSpace="custom" customColorSpace="sRGB"/>
+                            <constraints>
+                                <constraint firstAttribute="height" constant="0.5" id="FQN-4O-z5O"/>
+                            </constraints>
+                        </view>
+                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="hTf-8X-Zlq">
+                            <rect key="frame" x="0.0" y="0.0" width="393" height="56"/>
+                            <subviews>
+                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="更换头像" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Z6W-qo-71h">
+                                    <rect key="frame" x="166.66666666666666" y="0.0" width="59.666666666666657" height="56"/>
+                                    <constraints>
+                                        <constraint firstAttribute="height" constant="56" id="rvj-tn-KX3"/>
+                                    </constraints>
+                                    <fontDescription key="fontDescription" type="system" weight="medium" pointSize="15"/>
+                                    <color key="textColor" red="0.41960784313725491" green="0.41960784313725491" blue="0.41960784313725491" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                    <nil key="highlightedColor"/>
+                                </label>
+                            </subviews>
+                            <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+                            <constraints>
+                                <constraint firstAttribute="height" constant="56" id="Erd-6b-f1H"/>
+                                <constraint firstItem="Z6W-qo-71h" firstAttribute="centerY" secondItem="hTf-8X-Zlq" secondAttribute="centerY" id="Qwd-T4-Viw"/>
+                                <constraint firstItem="Z6W-qo-71h" firstAttribute="centerX" secondItem="hTf-8X-Zlq" secondAttribute="centerX" id="n42-9q-Gxf"/>
+                            </constraints>
+                        </view>
                     </subviews>
                     <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                     <constraints>
                         <constraint firstItem="5zv-r1-Tbh" firstAttribute="top" secondItem="G6i-xu-rUK" secondAttribute="bottom" id="9nv-QU-lZP"/>
+                        <constraint firstItem="hTf-8X-Zlq" firstAttribute="leading" secondItem="ZCi-js-xyb" secondAttribute="leading" id="C1F-jK-YO0"/>
                         <constraint firstItem="G6i-xu-rUK" firstAttribute="leading" secondItem="ZCi-js-xyb" secondAttribute="leading" id="CDM-qJ-EpR"/>
                         <constraint firstAttribute="trailing" secondItem="G6i-xu-rUK" secondAttribute="trailing" id="CXj-DB-txN"/>
                         <constraint firstItem="5zv-r1-Tbh" firstAttribute="leading" secondItem="ZCi-js-xyb" secondAttribute="leading" id="GTh-3u-KPb"/>
+                        <constraint firstItem="G6i-xu-rUK" firstAttribute="top" secondItem="A58-yH-MOT" secondAttribute="bottom" id="J7W-gt-1S7"/>
+                        <constraint firstAttribute="trailing" secondItem="A58-yH-MOT" secondAttribute="trailing" id="Rpr-dp-8u7"/>
+                        <constraint firstItem="A58-yH-MOT" firstAttribute="top" secondItem="hTf-8X-Zlq" secondAttribute="bottom" id="ZbK-DD-bh1"/>
+                        <constraint firstItem="hTf-8X-Zlq" firstAttribute="top" secondItem="ZCi-js-xyb" secondAttribute="top" id="lRg-Jc-vzk"/>
                         <constraint firstAttribute="trailing" secondItem="5zv-r1-Tbh" secondAttribute="trailing" id="sac-WK-U2U"/>
                         <constraint firstAttribute="bottomMargin" secondItem="5zv-r1-Tbh" secondAttribute="bottom" id="t8S-hN-Jjh"/>
-                        <constraint firstItem="G6i-xu-rUK" firstAttribute="top" secondItem="ZCi-js-xyb" secondAttribute="top" id="u2B-VM-PMP"/>
+                        <constraint firstAttribute="trailing" secondItem="hTf-8X-Zlq" secondAttribute="trailing" id="ueK-WC-wfq"/>
+                        <constraint firstItem="A58-yH-MOT" firstAttribute="leading" secondItem="ZCi-js-xyb" secondAttribute="leading" id="zRe-xm-hdW"/>
                     </constraints>
                 </view>
             </subviews>
@@ -61,9 +94,11 @@
             </constraints>
             <connections>
                 <outlet property="cons_tableHei" destination="g8g-XN-qDa" id="dhx-xA-6hC"/>
+                <outlet property="cons_titleH" destination="Erd-6b-f1H" id="Db7-Kk-iDQ"/>
                 <outlet property="cons_viewBottom" destination="0uK-bT-T9v" id="Dcm-l0-a8b"/>
                 <outlet property="tableView" destination="G6i-xu-rUK" id="afR-iG-9IN"/>
                 <outlet property="view_container" destination="ZCi-js-xyb" id="Mk8-7J-xes"/>
+                <outlet property="view_title" destination="hTf-8X-Zlq" id="8or-uu-f3F"/>
             </connections>
             <point key="canvasLocation" x="139.69465648854961" y="20.422535211267608"/>
         </view>
diff --git a/XQMuse/Root/Other/View/CommonAlertView.swift b/XQMuse/Root/Other/View/CommonAlertView.swift
index 4d5bdac..ca75341 100644
--- a/XQMuse/Root/Other/View/CommonAlertView.swift
+++ b/XQMuse/Root/Other/View/CommonAlertView.swift
@@ -80,7 +80,7 @@
 
 				override func layoutSubviews() {
 								super.layoutSubviews()
-								btn_complete.localGradientColor(cornerRadius: 20)
+        btn_complete.localGradientColor(cornerRadius: 20,bounds: CGRect(x: 0, y: 0, width: JQ_ScreenW - 85 * 2, height: 40))
 				}
 
 
diff --git a/XQMuse/Root/Pavilion/CCell/PavilionItemCell.swift b/XQMuse/Root/Pavilion/CCell/PavilionItemCell.swift
index 2c6414c..63ca103 100644
--- a/XQMuse/Root/Pavilion/CCell/PavilionItemCell.swift
+++ b/XQMuse/Root/Pavilion/CCell/PavilionItemCell.swift
@@ -24,7 +24,7 @@
     }
 
 				func setPavilionDetailModel(_ model:PavilionDetailModel){
-								image_cover.sd_setImage(with: URL(string: model.coverUrl))
+								image_cover.sd_setImage(with: URL(string: model.coverUrl.jq_urlEncoded()))
 								label_title.text = model.hallName
 								view_distance.isHidden = model.distance < 0
 								if model.distance >= 1000{
diff --git a/XQMuse/Root/Pavilion/PavilionVC.swift b/XQMuse/Root/Pavilion/PavilionVC.swift
index 01f1293..da71fc1 100644
--- a/XQMuse/Root/Pavilion/PavilionVC.swift
+++ b/XQMuse/Root/Pavilion/PavilionVC.swift
@@ -53,8 +53,11 @@
 
 
 				@IBAction func searchAction(_ sender: Any) {
+        let tempViewModel = PavilionViewModel()
+        tempViewModel.location.accept(viewModel.location.value)
+
 								let searchVC = PavilionSearchVC()
-								searchVC.viewModel = viewModel
+								searchVC.viewModel = tempViewModel
 								push(vc: searchVC)
 				}
 
diff --git a/XQMuse/Root/Pavilion/VC/PavilionDetailVC.swift b/XQMuse/Root/Pavilion/VC/PavilionDetailVC.swift
index 9732bdd..34af10e 100644
--- a/XQMuse/Root/Pavilion/VC/PavilionDetailVC.swift
+++ b/XQMuse/Root/Pavilion/VC/PavilionDetailVC.swift
@@ -21,6 +21,7 @@
 				@IBOutlet weak var label_openTime: UILabel!
 				@IBOutlet weak var cons_webHei: NSLayoutConstraint!
 
+    private var barStyle:UIStatusBarStyle = .lightContent
 				private var id:Int!
     private var detailModel:PavilionDetailModel?
 
@@ -43,6 +44,7 @@
 								title = "疗愈馆详情"
 								scrollView.contentInsetAdjustmentBehavior = .never
 								webView.scrollView.isScrollEnabled = false
+        scrollView.delegate = self
 
 								Services.getPavlilonDetail(id: id).subscribe(onNext: {data in
 												if let m = data.data{
@@ -56,7 +58,7 @@
 																if bannerUrl.count > 0{
 																				var items = [CommonBannerModel]()
 																				for (index,v) in bannerUrl.enumerated(){
-																								items.append(CommonBannerModel(index: index, id: index, name: nil, resource: v, mediaType: .imageUrl))
+                        items.append(CommonBannerModel(index: index, id: index, name: nil, resource: v.jq_urlEncoded(), mediaType: .imageUrl))
 																				}
 																				self.view_bannerBg.setItems(items: items)
 																				self.view_bannerBg.collectionView.backgroundColor = .clear
@@ -153,8 +155,62 @@
 				}
 
 
-				override var preferredStatusBarStyle: UIStatusBarStyle{
-								return .lightContent
-				}
+    override var preferredStatusBarStyle: UIStatusBarStyle{
+        return barStyle
+    }
 
 }
+
+extension PavilionDetailVC:UIScrollViewDelegate{
+    func scrollViewDidScroll(_ scrollView: UIScrollView) {
+
+        let v = min(scrollView.contentOffset.y / JQ_NavBarHeight, 1)
+        navigationController?.navigationBar.standardAppearance.backgroundColor = .white.withAlphaComponent(v)
+
+        if v > 0{
+            (navigationItem.leftBarButtonItem?.customView as? UIButton)?.setImage(UIImage(named: "btn_back")?.withTintColor(.black.withAlphaComponent(v)), for: .normal)
+
+            (navigationItem.rightBarButtonItem?.customView as? UIButton)?.setImage(UIImage(named: "btn_back")?.withTintColor(.black.withAlphaComponent(v)), for: .normal)
+//            collect_bitem.tintColor = .black
+//            share_bitem.tintColor = .black
+
+            self.navigationController?.navigationBar.titleTextAttributes = [.foregroundColor:Def_NavFontColor.withAlphaComponent(v),.font:Def_NavFont]
+            barStyle = .darkContent
+
+        }else{
+//            collect_bitem.tintColor =  self.courseDetailModel?.isCollect == .yes ? UIColor(hexString: "#fe5b60"):.white
+//            share_bitem.tintColor = .white
+
+            (navigationItem.leftBarButtonItem?.customView as? UIButton)?.setImage(UIImage(named: "btn_back")?.withTintColor(.white), for: .normal)
+            self.navigationController?.navigationBar.titleTextAttributes = [.foregroundColor:UIColor.white,.font:Def_NavFont]
+        }
+
+        if v == 1{
+            barStyle = .darkContent
+            setNeedsStatusBarAppearanceUpdate()
+        }else{
+            barStyle = .lightContent
+            setNeedsStatusBarAppearanceUpdate()
+        }
+
+//        if let table = scrollView as? UITableView{
+//            if v > 0{
+//                table.contentInset = UIEdgeInsets(top: JQ_NavBarHeight + 9, left: 0, bottom: 118, right: 0)
+//            }else{
+//                table.contentInset = UIEdgeInsets(top: 0, left: 0, bottom: 118, right: 0)
+//            }
+//        }
+
+//        let offSetY = scrollView.contentOffset.y + CGRectGetHeight(scrollView.frame) / 2;
+
+//        if let currentIndex = tableView?.indexPathForRow(at: CGPoint(x: 0, y: offSetY)){
+//
+//            if !isAnimationing{
+//                if currentShowIndex != currentIndex{
+//                    currentShowIndex = currentIndex
+//                    pageMenu.selectedItemIndex = currentIndex.row
+//                }
+//            }
+//        }
+    }
+}
diff --git a/XQMuse/Root/Pavilion/VC/PavilionSearchVC.xib b/XQMuse/Root/Pavilion/VC/PavilionSearchVC.xib
index 937b9e2..f9e7c51 100644
--- a/XQMuse/Root/Pavilion/VC/PavilionSearchVC.xib
+++ b/XQMuse/Root/Pavilion/VC/PavilionSearchVC.xib
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="23094" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
     <device id="retina6_12" orientation="portrait" appearance="light"/>
     <dependencies>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="23084"/>
         <capability name="Safe area layout guides" minToolsVersion="9.0"/>
         <capability name="System colors in document resources" minToolsVersion="11.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
@@ -25,14 +25,14 @@
                     <rect key="frame" x="21.666666666666657" y="80.666666666666671" width="306" height="49.000000000000014"/>
                     <subviews>
                         <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_search" translatesAutoresizingMaskIntoConstraints="NO" id="hNQ-kz-xpp">
-                            <rect key="frame" x="34" y="13.333333333333329" width="22.333333333333329" height="22"/>
+                            <rect key="frame" x="15.33333333333333" y="13.333333333333329" width="22.666666666666679" height="22"/>
                             <constraints>
                                 <constraint firstAttribute="width" constant="22.5" id="KpR-0C-YFT"/>
                                 <constraint firstAttribute="height" constant="22" id="LHs-vU-Px6"/>
                             </constraints>
                         </imageView>
                         <textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="搜索你附近的疗愈馆" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="NAr-DA-yxv">
-                            <rect key="frame" x="68.000000000000014" y="0.0" width="226.33333333333337" height="49"/>
+                            <rect key="frame" x="47.333333333333314" y="0.0" width="247" height="49"/>
                             <fontDescription key="fontDescription" type="system" weight="medium" pointSize="12"/>
                             <textInputTraits key="textInputTraits"/>
                         </textField>
@@ -40,11 +40,11 @@
                     <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                     <constraints>
                         <constraint firstAttribute="bottom" secondItem="NAr-DA-yxv" secondAttribute="bottom" id="0Sg-DS-zeb"/>
-                        <constraint firstItem="NAr-DA-yxv" firstAttribute="leading" secondItem="hNQ-kz-xpp" secondAttribute="trailing" constant="11.5" id="Qqk-Gb-mjh"/>
+                        <constraint firstItem="NAr-DA-yxv" firstAttribute="leading" secondItem="hNQ-kz-xpp" secondAttribute="trailing" constant="9.5" id="Qqk-Gb-mjh"/>
                         <constraint firstItem="NAr-DA-yxv" firstAttribute="top" secondItem="amB-PO-kjr" secondAttribute="top" id="UXp-Jq-JiI"/>
                         <constraint firstAttribute="height" constant="49" id="bXE-9n-1MF"/>
                         <constraint firstItem="hNQ-kz-xpp" firstAttribute="centerY" secondItem="amB-PO-kjr" secondAttribute="centerY" id="goC-db-zlE"/>
-                        <constraint firstItem="hNQ-kz-xpp" firstAttribute="leading" secondItem="amB-PO-kjr" secondAttribute="leading" constant="34" id="ix8-dD-VnV"/>
+                        <constraint firstItem="hNQ-kz-xpp" firstAttribute="leading" secondItem="amB-PO-kjr" secondAttribute="leading" constant="15.5" id="ix8-dD-VnV"/>
                         <constraint firstAttribute="trailing" secondItem="NAr-DA-yxv" secondAttribute="trailing" constant="11.5" id="n1k-s3-h9Q"/>
                     </constraints>
                     <userDefinedRuntimeAttributes>
diff --git a/XQMuse/Root/PayMusicView/PayMusicVC.swift b/XQMuse/Root/PayMusicView/PayMusicVC.swift
index bf0d700..49a0c82 100644
--- a/XQMuse/Root/PayMusicView/PayMusicVC.swift
+++ b/XQMuse/Root/PayMusicView/PayMusicVC.swift
@@ -37,7 +37,7 @@
 				private var meditationModel:MeditationModel?{
 								didSet{
 												if let m = meditationModel{
-																coverImage.sd_setImage(with: URL(string: m.coverUrl),placeholderImage: UIImage(named: "login_top_bg"))
+																coverImage.sd_setImage(with: URL(string: m.coverUrl.jq_urlEncoded()),placeholderImage: UIImage(named: "login_top_bg"))
 																label_name.text = m.meditationTitle
 												}
 								}
diff --git a/XQMuse/Root/Plans/PlanGuideVC.swift b/XQMuse/Root/Plans/PlanGuideVC.swift
index 5fd10aa..3fb11b0 100644
--- a/XQMuse/Root/Plans/PlanGuideVC.swift
+++ b/XQMuse/Root/Plans/PlanGuideVC.swift
@@ -11,8 +11,6 @@
 
 let PlantGuideQuit_Noti = Notification.Name.init(rawValue: "PlantGuideQuit_Noti")
 
-let backgroundVoiceUrl = "https://xqgwzh.obs.cn-south-1.myhuaweicloud.com/question/backgroundQuestion.wav"
-
 class PlanGuideVC: BaseVC {
 
 				@IBOutlet weak var view_gradient: UIView!
@@ -68,11 +66,13 @@
 				override func viewWillAppear(_ animated: Bool) {
 								super.viewWillAppear(animated)
 								player.play()
+        bgplayer.play()
 				}
 
 				override func viewDidDisappear(_ animated: Bool) {
 								super.viewDidDisappear(animated)
 								player.pause()
+//        bgplayer.pause()
 				}
 
 				override func setUI() {
@@ -134,11 +134,11 @@
 																				let vc = PlanGuide_1_VC()
 																				self?.jq_push(vc: vc)
 																case .toSeting:
-																				self?.dismiss(animated: true) {
+//																				self?.dismiss(animated: true) {
 																								let vc = BackgroundVoiceVC()
 																								vc.hidesBottomBarWhenPushed = true
 																								JQ_currentNavigationController().pushViewController(vc)
-																				}
+//																				}
 												}
 								}
 				}
diff --git a/XQMuse/Root/Plans/PlanGuide_2_VC.swift b/XQMuse/Root/Plans/PlanGuide_2_VC.swift
index 19531cc..fd6546c 100644
--- a/XQMuse/Root/Plans/PlanGuide_2_VC.swift
+++ b/XQMuse/Root/Plans/PlanGuide_2_VC.swift
@@ -8,6 +8,8 @@
 import UIKit
 import JQTools
 
+let AnswerAgain_Noti = Notification.Name.init("AnswerAgain_Noti")
+
 class PlanGuide_2_VC: BaseVC {
 
 				@IBOutlet weak var label_title: UILabel!
@@ -40,6 +42,13 @@
 								btn.isHidden = true
 				}
 
+    override func setRx() {
+        NotificationCenter.default.rx.notification(AnswerAgain_Noti).take(until: self.rx.deallocated).subscribe(onNext: {[weak self] _ in
+            self?.questionIndex = 0
+            self?.nextQuestion()
+        }).disposed(by: disposeBag)
+    }
+
 				override func setUI() {
 
 								btn_sure.tag = 1000
diff --git a/XQMuse/Root/Plans/PlanGuide_3_VC.swift b/XQMuse/Root/Plans/PlanGuide_3_VC.swift
index 3803240..f96cef5 100644
--- a/XQMuse/Root/Plans/PlanGuide_3_VC.swift
+++ b/XQMuse/Root/Plans/PlanGuide_3_VC.swift
@@ -30,7 +30,6 @@
 				override func viewDidLoad() {
 								super.viewDidLoad()
 
-								var topIndex = 0
 								Services.getTag().subscribe(onNext: { data in
 												self.items = Array<TagModel>.splitArray((data.data ?? []), subArraySize: 3)
 
@@ -77,6 +76,7 @@
 				}
 
 				@IBAction func previousAction(_ sender: UIButton) {
+        NotificationCenter.default.post(name: AnswerAgain_Noti, object: nil)
 								self.navigationController?.popViewController()
 				}
 
diff --git a/XQMuse/Root/Plans/View/PlanGuidePromptSupplyView.swift b/XQMuse/Root/Plans/View/PlanGuidePromptSupplyView.swift
index 6e88110..4ac2d14 100644
--- a/XQMuse/Root/Plans/View/PlanGuidePromptSupplyView.swift
+++ b/XQMuse/Root/Plans/View/PlanGuidePromptSupplyView.swift
@@ -58,7 +58,7 @@
 				}
 
 				@IBAction func submitAndNextAction(_ sender: UIButton) {
-								clouse?("")
+        clouse?(textView.text)
 								closeAction()
 				}
 				@IBAction func nextAction(_ sender: UIButton) {
diff --git a/XQMuse/Root/TreeGroup/TCell/TreeTeskEnergyExchangeRecordTCell.swift b/XQMuse/Root/TreeGroup/TCell/TreeTeskEnergyExchangeRecordTCell.swift
index 694a2b4..9c12e30 100644
--- a/XQMuse/Root/TreeGroup/TCell/TreeTeskEnergyExchangeRecordTCell.swift
+++ b/XQMuse/Root/TreeGroup/TCell/TreeTeskEnergyExchangeRecordTCell.swift
@@ -30,8 +30,8 @@
 
 				func setEnergyExchangeRecordModel(_ model:EnergyExchangeRecordModel){
 								label_title.text = model.name
-								image_cover.sd_setImage(with: URL(string: model.coverUrl))
-								label_price.text = "奖品价值:¥\(model.worth)"
+        image_cover.sd_setImage(with: URL(string: model.coverUrl.jq_urlEncoded()))
+								label_price.text = String(format: "奖品价值:¥%.2lf", model.worth)
 								label_energy.text = "所需能量值:\(model.energyValue)"
 								label_state.text = model.status == .yes ? "已领取":"待领取"
 								view_state.backgroundColor = model.status == .yes ? UIColor(hexString: "#B1CA99")! : UIColor(hexString: "#D0D0D0")!
diff --git a/XQMuse/Root/TreeGroup/TCell/TreeTeskEnergyTCell.swift b/XQMuse/Root/TreeGroup/TCell/TreeTeskEnergyTCell.swift
index b2ff824..cdb31ba 100644
--- a/XQMuse/Root/TreeGroup/TCell/TreeTeskEnergyTCell.swift
+++ b/XQMuse/Root/TreeGroup/TCell/TreeTeskEnergyTCell.swift
@@ -30,9 +30,9 @@
 				func setEnergyExchangeGiftModel(_ model:EnergyExchangeGiftModel){
 								image_exchanged.isHidden = model.receiveStatus == .no
 								view_container.alpha = model.receiveStatus == .yes ? 0.5:1
-								image_cover.sd_setImage(with: URL(string: model.coverUrl))
+        image_cover.sd_setImage(with: URL(string: model.coverUrl.jq_urlEncoded()))
 								label_title.text = model.name
-								label_price.text = "奖品价值:¥\(model.worth)"
+								label_price.text = String(format: "奖品价值:¥%.2lf", model.worth)
 								label_energy.text = "所需能量值:\(model.energyValue)"
 				}
 }
diff --git a/XQMuse/Root/TreeGroup/TreeTeskVC.swift b/XQMuse/Root/TreeGroup/TreeTeskVC.swift
index 11c3734..76ca601 100644
--- a/XQMuse/Root/TreeGroup/TreeTeskVC.swift
+++ b/XQMuse/Root/TreeGroup/TreeTeskVC.swift
@@ -11,6 +11,8 @@
 import APNGKit
 import UserDefaultsStore
 
+let TreeTaskUpdate_Noti = Notification.Name.init(rawValue: "TreeTaskUpdate_Noti")
+
 class TreeTeskVC: BaseVC {
 
 				private let cacheTreeInfoModel = UserDefaultsStore<TreeInfoModel>(uniqueIdentifier: "cacheTreeInfoModel")!
@@ -147,6 +149,7 @@
 								}
 				}
 
+
 				private func getTreeData(){
 
 								//缓存的树苗信息
@@ -199,6 +202,10 @@
 																self?.aPNGTreeImageView?.startAnimating()
 												}
 								}
+
+        NotificationCenter.default.rx.notification(TreeTaskUpdate_Noti).take(until: self.rx.deallocated).subscribe(onNext: {[weak self] _ in
+            self?.getTreeData()
+        }).disposed(by: disposeBag)
 
 								taskListView.swipeClouse {[unowned self] dirition in
 												guard self.treeTeskListSwipe != dirition else {return}
@@ -298,6 +305,7 @@
                 weakSelf.treeInfoModel?.energyValue = 0
                 weakSelf.treeInfoModel?.nextLevel = m.nextLevel
                 weakSelf.updateTreeInfo()
+                NotificationCenter.default.post(name: UpdateUserProfile_Noti, object: nil)
 												}
 								}).disposed(by: disposeBag)
 
diff --git a/XQMuse/Root/TreeGroup/VC/TreeTeskEnergyExchangeVC.swift b/XQMuse/Root/TreeGroup/VC/TreeTeskEnergyExchangeVC.swift
index 6e0751e..04ef4a6 100644
--- a/XQMuse/Root/TreeGroup/VC/TreeTeskEnergyExchangeVC.swift
+++ b/XQMuse/Root/TreeGroup/VC/TreeTeskEnergyExchangeVC.swift
@@ -100,7 +100,7 @@
 												return
 								}
 
-								let attribute = AttributedStringbuilder.build().add(string: "是否确认使用\(m.energyValue)能量值兑换当前礼品?\n兑换后系统将自动扣除能量值", withFont: .systemFont(ofSize: 14, weight: .medium), withColor: .black.withAlphaComponent(0.59), indent: 0, lineSpace: 6).mutableAttributedString
+								let attribute = AttributedStringbuilder.build().add(string: "是否确认使用  \(m.energyValue)  能量值兑换当前礼品?\n兑换后系统将自动扣除能量值", withFont: .systemFont(ofSize: 14, weight: .medium), withColor: .black.withAlphaComponent(0.59), indent: 0, lineSpace: 6).mutableAttributedString
 
 								CommonAlertView.show(title: "提示", attribute: attribute, isSingle: false, cancelStr: "再想想", completeStr: "确认") { state in
 												if state{
diff --git a/XQMuse/Root/TreeGroup/View/TreeTeskExchangeSuccessView.xib b/XQMuse/Root/TreeGroup/View/TreeTeskExchangeSuccessView.xib
index 314a5ed..31fce08 100644
--- a/XQMuse/Root/TreeGroup/View/TreeTeskExchangeSuccessView.xib
+++ b/XQMuse/Root/TreeGroup/View/TreeTeskExchangeSuccessView.xib
@@ -15,7 +15,7 @@
             <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
             <subviews>
                 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="4ru-7s-yUN">
-                    <rect key="frame" x="24" y="191.33333333333334" width="345" height="469.33333333333326"/>
+                    <rect key="frame" x="24" y="199.66666666666666" width="345" height="452.66666666666674"/>
                     <subviews>
                         <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="兑换成功" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="uwa-22-p1n">
                             <rect key="frame" x="136.66666666666666" y="17" width="71.666666666666657" height="21"/>
@@ -60,16 +60,14 @@
                                 <constraint firstAttribute="width" secondItem="GQk-cT-1IF" secondAttribute="height" multiplier="1:1" id="IQg-YH-wfl"/>
                             </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="Xal-zI-HOg">
-                            <rect key="frame" x="75.333333333333329" y="347.66666666666663" width="194.66666666666669" height="33.666666666666686"/>
-                            <string key="text">可添加助教微信,了解课程详情
-长按保存图片</string>
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="可添加助教微信,了解课程详情" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Xal-zI-HOg">
+                            <rect key="frame" x="75.333333333333329" y="347.66666666666674" width="194.66666666666669" height="17"/>
                             <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/>
                             <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.59999999999999998" colorSpace="custom" customColorSpace="sRGB"/>
                             <nil key="highlightedColor"/>
                         </label>
                         <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="h25-4Z-I8T">
-                            <rect key="frame" x="37" y="405.33333333333326" width="271" height="40"/>
+                            <rect key="frame" x="37" y="388.66666666666674" width="271" height="40"/>
                             <color key="backgroundColor" red="0.56470588239999997" green="0.65490196079999996" blue="0.48627450979999998" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                             <constraints>
                                 <constraint firstAttribute="height" constant="40" id="om4-Kn-hqq"/>
diff --git a/XQMuse/Root/TreeGroup/View/TreeTeskFirstRuleView.swift b/XQMuse/Root/TreeGroup/View/TreeTeskFirstRuleView.swift
index 21675ad..eef83a2 100644
--- a/XQMuse/Root/TreeGroup/View/TreeTeskFirstRuleView.swift
+++ b/XQMuse/Root/TreeGroup/View/TreeTeskFirstRuleView.swift
@@ -34,7 +34,7 @@
 								ruleView.label_title.text = title
 								ruleView.label_content.attributedText = AttributedStringbuilder.build().add(string:content, withFont: .systemFont(ofSize: 14), withColor: .black.withAlphaComponent(0.59), lineSpace: 7).mutableAttributedString
 								ruleView.label_content.textAlignment = textAlignment
-								ruleView.cons_hei.constant = height
+//								ruleView.cons_hei.constant = height
 								ruleView.cons_textTop.constant = textTopOffset
 
 								sceneDelegate?.window?.addSubview(ruleView)
@@ -58,6 +58,6 @@
 				
 				override func layoutSubviews() {
 								super.layoutSubviews()
-								btn_complete.localGradientColor(cornerRadius: 20)
+        btn_complete.localGradientColor(cornerRadius: 20,bounds: btn_complete.frame)
 				}
 }
diff --git a/XQMuse/Root/TreeGroup/View/TreeTeskFirstRuleView.xib b/XQMuse/Root/TreeGroup/View/TreeTeskFirstRuleView.xib
index 51bd1c5..c5d1090 100644
--- a/XQMuse/Root/TreeGroup/View/TreeTeskFirstRuleView.xib
+++ b/XQMuse/Root/TreeGroup/View/TreeTeskFirstRuleView.xib
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="23094" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
     <device id="retina6_12" orientation="portrait" appearance="light"/>
     <dependencies>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="23084"/>
         <capability name="Safe area layout guides" minToolsVersion="9.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
@@ -19,12 +19,12 @@
                     <subviews>
                         <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="top" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="bg_task_f" translatesAutoresizingMaskIntoConstraints="NO" id="WfK-ob-Idw">
                             <rect key="frame" x="0.0" y="0.0" width="303" height="263"/>
-                            <constraints>
-                                <constraint firstAttribute="height" constant="263" id="lGv-pt-EKd"/>
-                            </constraints>
                         </imageView>
                         <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="心泉之树" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="FMr-RI-3OU">
-                            <rect key="frame" x="114.66666666666666" y="24" width="73.666666666666657" height="21"/>
+                            <rect key="frame" x="115.66666666666666" y="24" width="71.666666666666657" height="21"/>
+                            <constraints>
+                                <constraint firstAttribute="height" constant="21" id="F4t-Os-4qR"/>
+                            </constraints>
                             <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="18"/>
                             <color key="textColor" red="0.5725490196078431" green="0.6588235294117647" blue="0.49411764705882355" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                             <nil key="highlightedColor"/>
@@ -49,7 +49,7 @@
                             </connections>
                         </button>
                         <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="H2A-aP-FsC">
-                            <rect key="frame" x="18" y="67" width="267" height="83.666666666666686"/>
+                            <rect key="frame" x="18" y="67" width="267" height="84"/>
                             <string key="text">亲爱的家人,感谢您用心的交流。
 现在,您心灵之树的种子已经植入这片沃土,请以农夫的心态用心浇灌,不久的将来,将会长成苍天大树,结出丰硕的果实。加油哦!</string>
                             <fontDescription key="fontDescription" type="system" pointSize="14"/>
@@ -67,6 +67,7 @@
                         <constraint firstAttribute="trailing" secondItem="H2A-aP-FsC" secondAttribute="trailing" constant="18" id="VYt-T5-9ey"/>
                         <constraint firstAttribute="bottom" secondItem="WfK-ob-Idw" secondAttribute="bottom" id="ZIv-kU-o3f"/>
                         <constraint firstItem="FMr-RI-3OU" firstAttribute="top" secondItem="26Z-P3-SaG" secondAttribute="top" constant="24" id="eZF-5D-9f9"/>
+                        <constraint firstItem="2QG-Gl-6ul" firstAttribute="top" secondItem="H2A-aP-FsC" secondAttribute="bottom" constant="55" id="lIu-Jb-9la"/>
                         <constraint firstItem="H2A-aP-FsC" firstAttribute="leading" secondItem="26Z-P3-SaG" secondAttribute="leading" constant="18" id="mW0-7f-lsE"/>
                         <constraint firstAttribute="trailing" secondItem="WfK-ob-Idw" secondAttribute="trailing" id="vPP-Rj-LSs"/>
                         <constraint firstItem="2QG-Gl-6ul" firstAttribute="leading" secondItem="26Z-P3-SaG" secondAttribute="leading" constant="40" id="zVU-Mf-5Ks"/>
@@ -86,7 +87,6 @@
             </constraints>
             <connections>
                 <outlet property="btn_complete" destination="2QG-Gl-6ul" id="tZP-OV-q0r"/>
-                <outlet property="cons_hei" destination="lGv-pt-EKd" id="xdE-vZ-Lqf"/>
                 <outlet property="cons_textTop" destination="6Ld-uV-0JF" id="kcH-v6-5sG"/>
                 <outlet property="label_content" destination="H2A-aP-FsC" id="QFU-Ck-bRT"/>
                 <outlet property="label_title" destination="FMr-RI-3OU" id="X2O-g1-Hvv"/>
diff --git a/XQMuse/Root/TreeGroup/View/TreeTeskListView.swift b/XQMuse/Root/TreeGroup/View/TreeTeskListView.swift
index c5dbf38..66fde61 100644
--- a/XQMuse/Root/TreeGroup/View/TreeTeskListView.swift
+++ b/XQMuse/Root/TreeGroup/View/TreeTeskListView.swift
@@ -10,90 +10,112 @@
 import RxSwift
 
 enum TreeTeskListSwipe{
-				case up
-				case down
+    case up
+    case down
 }
 
 class TreeTeskListView: UIView,JQNibView{
 
-				@IBOutlet weak var view_sign: UIView!
-				@IBOutlet weak var view_sign_cricle: UIView!
-				@IBOutlet weak var label_sign: UILabel!
-				@IBOutlet weak var tap_sign: TapBtn!
-				
-				private var clouse:((TreeTeskListSwipe)->Void)?
+    @IBOutlet weak var view_sign: UIView!
+    @IBOutlet weak var view_sign_cricle: UIView!
+    @IBOutlet weak var label_sign: UILabel!
+    @IBOutlet weak var tap_sign: TapBtn!
+
+    @IBOutlet weak var view_task1: UIView!
+    @IBOutlet weak var label_task1: UILabel!
+    @IBOutlet weak var view_task1_cricle: UIView!
+
+    @IBOutlet weak var view_task2: UIView!
+    @IBOutlet weak var label_task2: UILabel!
+    @IBOutlet weak var view_task2_cricle: UIView!
+
+
+    private var clouse:((TreeTeskListSwipe)->Void)?
     private var signClouse:(()->Void)?
-				private var disposeBag = DisposeBag()
+    private var disposeBag = DisposeBag()
 
-				private var treeInfoModel:TreeInfoModel?
+    private var treeInfoModel:TreeInfoModel?
 
-				override func awakeFromNib() {
-								super.awakeFromNib()
+    override func awakeFromNib() {
+        super.awakeFromNib()
 
-								//添加一个上滑手势
-								let swipe = UISwipeGestureRecognizer()
-								swipe.direction = .up
-								swipe.numberOfTouchesRequired = 1
-								self.addGestureRecognizer(swipe)
+        //添加一个上滑手势
+        let swipe = UISwipeGestureRecognizer()
+        swipe.direction = .up
+        swipe.numberOfTouchesRequired = 1
+        self.addGestureRecognizer(swipe)
 
-								//手势响应
-								swipe.rx.event
-												.subscribe(onNext: {[unowned self] recognizer in
-																//这个点是滑动的起点
-																let point = recognizer.location(in: recognizer.view)
-																print(point)
-																if point.y <= 50{
-																				self.clouse?(.up)
-																}
-												}).disposed(by: disposeBag)
+        //手势响应
+        swipe.rx.event
+            .subscribe(onNext: {[unowned self] recognizer in
+                //这个点是滑动的起点
+                let point = recognizer.location(in: recognizer.view)
+                print(point)
+                if point.y <= 50{
+                    self.clouse?(.up)
+                }
+            }).disposed(by: disposeBag)
 
-								//添加一个上滑手势
-								let swipeDown = UISwipeGestureRecognizer()
-								swipeDown.direction = .down
-								swipeDown.numberOfTouchesRequired = 1
-								self.addGestureRecognizer(swipeDown)
+        //添加一个上滑手势
+        let swipeDown = UISwipeGestureRecognizer()
+        swipeDown.direction = .down
+        swipeDown.numberOfTouchesRequired = 1
+        self.addGestureRecognizer(swipeDown)
 
-								//手势响应
-								swipeDown.rx.event
-												.subscribe(onNext: { recognizer in
-																//这个点是滑动的起点
-																let point = recognizer.location(in: recognizer.view)
-																print(point)
-																if point.y <= 50{
-																				self.clouse?(.down)
-																}
-												}).disposed(by: disposeBag)
-				}
+        //手势响应
+        swipeDown.rx.event
+            .subscribe(onNext: { recognizer in
+                //这个点是滑动的起点
+                let point = recognizer.location(in: recognizer.view)
+                print(point)
+                if point.y <= 50{
+                    self.clouse?(.down)
+                }
+            }).disposed(by: disposeBag)
+    }
 
-				func swipeClouse(clouse:@escaping (TreeTeskListSwipe)->Void){
-								self.clouse = clouse
-				}
+    func swipeClouse(clouse:@escaping (TreeTeskListSwipe)->Void){
+        self.clouse = clouse
+    }
 
     func signSuccess(signClouse:@escaping ()->Void){
         self.signClouse = signClouse
     }
 
 
-				func setTreeInfoModel(_ model:TreeInfoModel){
-								self.treeInfoModel = model
+    func setTreeInfoModel(_ model:TreeInfoModel){
+        self.treeInfoModel = model
 
-								if model.isSign == .yes{
-												tap_sign.isUserInteractionEnabled = false
-												label_sign.text = "已签到"
-												view_sign.backgroundColor = .gray.withAlphaComponent(0.2)
-												label_sign.textColor = .white
-												view_sign_cricle.jq_borderColor = .gray.withAlphaComponent(0.2)
-								}else{
-												tap_sign.isUserInteractionEnabled = true
-												label_sign.text = "打卡签到"
-												view_sign.backgroundColor = .white
-												label_sign.textColor = UIColor(hexString: "#4E4E4E")
-								}
-				}
+        if model.isSign == .yes{
+            tap_sign.isUserInteractionEnabled = false
+            label_sign.text = "已签到"
+            view_sign.backgroundColor = .gray.withAlphaComponent(0.2)
+            label_sign.textColor = .white
+            view_sign_cricle.jq_borderColor = .gray.withAlphaComponent(0.2)
+        }
+        //        else{
+        //												tap_sign.isUserInteractionEnabled = true
+        //												label_sign.text = "打卡签到"
+        //												view_sign.backgroundColor = .white
+        //												label_sign.textColor = UIColor(hexString: "#4E4E4E")
+        //								}
 
-				@IBAction func signAction(_ sender: TapBtn) {
+        if model.taskOne == .yes{
+            view_task1.backgroundColor = .gray.withAlphaComponent(0.2)
+            label_task1.textColor = .white
+            view_task1_cricle.jq_borderColor = .gray.withAlphaComponent(0.2)
+        }
+
+        if model.taskTwo == .yes{
+            view_task2.backgroundColor = .gray.withAlphaComponent(0.2)
+            label_task2.textColor = .white
+            view_task2_cricle.jq_borderColor = .gray.withAlphaComponent(0.2)
+        }
+    }
+
+    @IBAction func signAction(_ sender: TapBtn) {
         guard sceneDelegate!.checkisLoginState() else {return}
-        
+
         Services.treeTaskSign().subscribe(onNext: {[weak self] _ in
             guard let weakSelf = self else { return }
             weakSelf.signClouse?()
@@ -127,11 +149,16 @@
                 }
             }
         }).disposed(by: disposeBag)
+    }
 
+    @IBAction func toMuse1(_ sender: TapBtn) {
+        guard treeInfoModel?.taskOne == .no else {return}
+        JQ_currentViewController().tabBarController?.selectedIndex = 0
+    }
 
-				}
+    @IBAction func toMuse2(_ sender: TapBtn) {
+        guard treeInfoModel?.taskTwo == .no else {return}
+        JQ_currentViewController().tabBarController?.selectedIndex = 0
+    }
 
-				@IBAction func toMuse(_ sender: TapBtn) {
-								JQ_currentViewController().tabBarController?.selectedIndex = 0
-				}
 }
diff --git a/XQMuse/Root/TreeGroup/View/TreeTeskListView.xib b/XQMuse/Root/TreeGroup/View/TreeTeskListView.xib
index 27c86fd..902901a 100644
--- a/XQMuse/Root/TreeGroup/View/TreeTeskListView.xib
+++ b/XQMuse/Root/TreeGroup/View/TreeTeskListView.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>
@@ -21,7 +21,7 @@
                             <rect key="frame" x="50.666666666666664" y="17.333333333333329" width="17.666666666666664" height="17.666666666666671"/>
                         </imageView>
                         <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="任务列表" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="pYG-Qr-ArP">
-                            <rect key="frame" x="75" y="15.999999999999998" width="69.333333333333314" height="20.333333333333329"/>
+                            <rect key="frame" x="75" y="15.999999999999998" width="67.666666666666686" height="20.333333333333329"/>
                             <fontDescription key="fontDescription" type="system" pointSize="17"/>
                             <nil key="textColor"/>
                             <nil key="highlightedColor"/>
@@ -54,7 +54,7 @@
                                     <rect key="frame" x="25.333333333333336" y="16" width="10.666666666666664" height="10.666666666666664"/>
                                 </imageView>
                                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="每日打卡签到【+10能量值】" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="3pD-LK-hZd">
-                                    <rect key="frame" x="44.333333333333329" y="14.333333333333329" width="148" height="14.333333333333336"/>
+                                    <rect key="frame" x="44.333333333333329" y="14.333333333333329" width="144.66666666666669" height="14.333333333333336"/>
                                     <fontDescription key="fontDescription" type="system" pointSize="12"/>
                                     <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                     <nil key="highlightedColor"/>
@@ -135,7 +135,7 @@
                                     <rect key="frame" x="25.333333333333336" y="16" width="10.666666666666664" height="10.666666666666664"/>
                                 </imageView>
                                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="每日冥想满30分钟【+10能量值】" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Kag-M2-m2v">
-                                    <rect key="frame" x="44.333333333333329" y="14.333333333333314" width="178.33333333333337" height="14.333333333333336"/>
+                                    <rect key="frame" x="44.333333333333329" y="14.333333333333314" width="174.66666666666669" height="14.333333333333336"/>
                                     <fontDescription key="fontDescription" type="system" pointSize="12"/>
                                     <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                     <nil key="highlightedColor"/>
@@ -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"/>
@@ -206,7 +206,7 @@
                                 </userDefinedRuntimeAttribute>
                             </userDefinedRuntimeAttributes>
                             <connections>
-                                <action selector="toMuse:" destination="iN0-l3-epB" eventType="touchUpInside" id="UNZ-J1-qIE"/>
+                                <action selector="toMuse1:" destination="iN0-l3-epB" eventType="touchUpInside" id="VYs-9e-HzQ"/>
                             </connections>
                         </view>
                         <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ZUs-Tp-QZ9" customClass="TapBtn" customModule="XQMuse" customModuleProvider="target">
@@ -216,7 +216,7 @@
                                     <rect key="frame" x="25.333333333333336" y="16" width="10.666666666666664" height="10.666666666666664"/>
                                 </imageView>
                                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="每日冥想满60分钟【+20能量值】" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="1oV-nk-0EQ">
-                                    <rect key="frame" x="44.333333333333314" y="14.333333333333343" width="180" height="14.333333333333336"/>
+                                    <rect key="frame" x="44.333333333333329" y="14.333333333333343" width="176.66666666666669" height="14.333333333333336"/>
                                     <fontDescription key="fontDescription" type="system" pointSize="12"/>
                                     <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                     <nil key="highlightedColor"/>
@@ -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"/>
@@ -287,7 +287,7 @@
                                 </userDefinedRuntimeAttribute>
                             </userDefinedRuntimeAttributes>
                             <connections>
-                                <action selector="toMuse:" destination="iN0-l3-epB" eventType="touchUpInside" id="9EX-0O-UFY"/>
+                                <action selector="toMuse2:" destination="iN0-l3-epB" eventType="touchUpInside" id="3Z2-GE-GNB"/>
                             </connections>
                         </view>
                     </subviews>
@@ -305,9 +305,15 @@
             <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
             <connections>
                 <outlet property="label_sign" destination="Vzb-As-8Sv" id="jv7-Zj-Xma"/>
+                <outlet property="label_task1" destination="oyl-lW-Kxr" id="4w7-Fq-BCL"/>
+                <outlet property="label_task2" destination="rR9-r5-hle" id="b4s-FK-Gao"/>
                 <outlet property="tap_sign" destination="QeN-rl-gb6" id="eP4-E2-KLg"/>
                 <outlet property="view_sign" destination="bLC-YH-CzV" id="wAt-7y-Hql"/>
                 <outlet property="view_sign_cricle" destination="vuQ-La-6pi" id="jIF-NF-3jH"/>
+                <outlet property="view_task1" destination="mTi-vt-g8O" id="JRU-Fd-QdP"/>
+                <outlet property="view_task1_cricle" destination="bo4-x0-d08" id="vgz-lc-htd"/>
+                <outlet property="view_task2" destination="y6n-Lx-kuE" id="axr-5m-JW8"/>
+                <outlet property="view_task2_cricle" destination="x7l-eb-8TL" id="ah5-HL-0WD"/>
             </connections>
             <point key="canvasLocation" x="64.885496183206101" y="154.22535211267606"/>
         </view>

--
Gitblit v1.7.1