From 7e417f3cdda6e7c1bd141867851e4944a429d067 Mon Sep 17 00:00:00 2001
From: 杨锴 <841720330@qq.com>
Date: 星期三, 11 九月 2024 16:22:08 +0800
Subject: [PATCH] fix UI

---
 XQMuse/Base/BaseTabBarVC.swift                                                       |    6 
 XQMuse/Root/Other/View/CommonAlertView.xib                                           |   20 
 XQMuse/Root/TreeGroup/View/TreeTeskListView.swift                                    |  103 ++
 XQMuse/Assets.xcassets/Icons/icon_task_s.imageset/icon_task_s@3x.png                 |    0 
 XQMuse/Root/TreeGroup/TreeTeskVC.swift                                               |  200 ++++
 XQMuse/Assets.xcassets/Icons/icon_exchanged.imageset/Contents.json                   |   22 
 XQMuse/Assets.xcassets/Icons/icon_task_s.imageset/icon_task_s@2x.png                 |    0 
 XQMuse/Base/BaseNav.swift                                                            |   13 
 XQMuse/Assets.xcassets/Icons/icon_exchange_1.imageset/icon_exchange@2x.png           |    0 
 XQMuse/Assets.xcassets/Placeholder/icon_signSuccess.imageset/Contents.json           |   22 
 XQMuse.xcodeproj/project.pbxproj                                                     |   96 ++
 XQMuse/Root/TreeGroup/View/TreeTeskFirstRuleView.xib                                 |  101 ++
 XQMuse/Root/TreeGroup/TCell/TreeTeskEnergyExchangeRecordTCell.xib                    |  175 ++++
 XQMuse/Root/TreeGroup/TreeTeskVC.xib                                                 |  212 +++++
 XQMuse/Root/TreeGroup/TCell/TreeTeskDetailListTCell.xib                              |   60 +
 XQMuse/Assets.xcassets/Icons/icon_watering.imageset/icon_watering@3x.png             |    0 
 XQMuse/Root/TreeGroup/TCell/TreeTeskDetailListTCell.swift                            |   16 
 XQMuse/Root/TreeGroup/View/TreeTeskListView.xib                                      |  320 ++++++++
 XQMuse/Assets.xcassets/Icons/icon_exchanged.imageset/icon_exchanged@2x.png           |    0 
 XQMuse/Assets.xcassets/Icons/icon_gift.imageset/Contents.json                        |   22 
 XQMuse/Root/TreeGroup/VC/TreeTeskEnergyExchangeRecordVC.swift                        |   45 +
 XQMuse/Assets.xcassets/Icons/icon_gift.imageset/icon_gift@2x.png                     |    0 
 XQMuse/Config/Types.swift                                                            |    2 
 XQMuse/Assets.xcassets/Icons/icon_energy.imageset/Contents.json                      |   22 
 XQMuse/Assets.xcassets/Icons/icon_energy.imageset/icon_energy@3x.png                 |    0 
 XQMuse/Root/TreeGroup/VC/TreeTeskDetailListVC.swift                                  |   67 +
 XQMuse/Root/TreeGroup/View/TreeTeskFirstRuleView.swift                               |   63 +
 XQMuse/Assets.xcassets/Placeholder/icon_signSuccess.imageset/icon_signSuccess@3x.png |    0 
 XQMuse/Root/TreeGroup/View/TreeTeskExchangeSuccessView.xib                           |  133 +++
 XQMuse/Assets.xcassets/Icons/icon_watering.imageset/icon_watering@2x.png             |    0 
 XQMuse/Assets.xcassets/Icons/icon_task_title.imageset/icon_task_title@3x.png         |    0 
 XQMuse/Assets.xcassets/Icons/icon_task_title.imageset/Contents.json                  |   22 
 XQMuse/Assets.xcassets/Placeholder/bg_task_f.imageset/Contents.json                  |   22 
 XQMuse/Root/TreeGroup/VC/TreeTeskDetailVC.xib                                        |   70 +
 XQMuse/Assets.xcassets/Placeholder/bg_task_f.imageset/bg_task_f@2x.png               |    0 
 XQMuse/Assets.xcassets/Icons/icon_task_title.imageset/icon_task_title@2x.png         |    0 
 XQMuse/Assets.xcassets/Placeholder/icon_signSuccess.imageset/icon_signSuccess@2x.png |    0 
 XQMuse/Assets.xcassets/Placeholder/bg_task_f.imageset/bg_task_f@3x.png               |    0 
 XQMuse/Root/TreeGroup/TCell/TreeTeskEnergyTCell.swift                                |   28 
 XQMuse/Root/TreeGroup/TCell/TreeTeskEnergyExchangeRecordTCell.swift                  |   30 
 XQMuse/Root/TreeGroup/VC/TreeTeskEnergyExchangeVC.xib                                |  108 ++
 XQMuse/Root/Network/Models.swift                                                     |    2 
 XQMuse/Root/TreeGroup/TCell/TreeTeskEnergyTCell.xib                                  |   99 ++
 XQMuse/Assets.xcassets/Icons/icon_exchange_1.imageset/icon_exchange@3x.png           |    0 
 XQMuse/Root/TreeGroup/View/TreeTeskExchangeSuccessView.swift                         |   41 +
 XQMuse/Root/TreeGroup/VC/TreeTeskEnergyExchangeVC.swift                              |   70 +
 XQMuse/Assets.xcassets/Icons/icon_energy.imageset/icon_energy@2x.png                 |    0 
 XQMuse/Assets.xcassets/Icons/icon_exchange_1.imageset/Contents.json                  |   22 
 XQMuse/Assets.xcassets/Icons/icon_gift.imageset/icon_gift@3x.png                     |    0 
 XQMuse/Assets.xcassets/Icons/icon_task_s.imageset/Contents.json                      |   22 
 XQMuse/Root/TreeGroup/VC/TreeTeskDetailVC.swift                                      |  102 ++
 XQMuse/Root/Other/View/CommonAlertView.swift                                         |   14 
 XQMuse/Assets.xcassets/Icons/icon_exchanged.imageset/icon_exchanged@3x.png           |    0 
 XQMuse/Assets.xcassets/Icons/icon_watering.imageset/Contents.json                    |   22 
 54 files changed, 2,342 insertions(+), 52 deletions(-)

diff --git a/XQMuse.xcodeproj/project.pbxproj b/XQMuse.xcodeproj/project.pbxproj
index 546832f..750a350 100644
--- a/XQMuse.xcodeproj/project.pbxproj
+++ b/XQMuse.xcodeproj/project.pbxproj
@@ -9,6 +9,11 @@
 /* Begin PBXBuildFile section */
 		1300BD3B2C6DFB1C000BCA5E /* VIPCenterVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1300BD3A2C6DFB1C000BCA5E /* VIPCenterVC.xib */; };
 		1300BD3C2C6DFB1C000BCA5E /* VIPCenterVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1300BD392C6DFB1C000BCA5E /* VIPCenterVC.swift */; };
+		130602862C9178F60019ECDE /* TreeTeskExchangeSuccessView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 130602852C9178F60019ECDE /* TreeTeskExchangeSuccessView.swift */; };
+		130602882C91790B0019ECDE /* TreeTeskExchangeSuccessView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 130602872C91790B0019ECDE /* TreeTeskExchangeSuccessView.xib */; };
+		1306028A2C917CD20019ECDE /* TreeTeskEnergyExchangeRecordVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 130602892C917CD20019ECDE /* TreeTeskEnergyExchangeRecordVC.swift */; };
+		1306028D2C917D3E0019ECDE /* TreeTeskEnergyExchangeRecordTCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1306028B2C917D3E0019ECDE /* TreeTeskEnergyExchangeRecordTCell.swift */; };
+		1306028E2C917D3E0019ECDE /* TreeTeskEnergyExchangeRecordTCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1306028C2C917D3E0019ECDE /* TreeTeskEnergyExchangeRecordTCell.xib */; };
 		1308C9B12C7DCDC80017A9FC /* SearchHotTCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1308C9B02C7DCDC80017A9FC /* SearchHotTCell.xib */; };
 		1308C9B22C7DCDC80017A9FC /* SearchHotTCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1308C9AF2C7DCDC80017A9FC /* SearchHotTCell.swift */; };
 		130913EA2C6DE33200418201 /* PaymentOrderResultVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 130913E92C6DE33200418201 /* PaymentOrderResultVC.xib */; };
@@ -36,6 +41,8 @@
 		130F94672C7DAB27003A348B /* SearchHistoryCCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 130F94652C7DAB27003A348B /* SearchHistoryCCell.xib */; };
 		131111812C749085002877FC /* StudyListVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1311117F2C749084002877FC /* StudyListVC.swift */; };
 		131111822C749085002877FC /* StudyListVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 131111802C749084002877FC /* StudyListVC.xib */; };
+		131CE0F92C91298E00D1234A /* TreeTeskListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 131CE0F82C91298E00D1234A /* TreeTeskListView.swift */; };
+		131CE0FB2C91299400D1234A /* TreeTeskListView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 131CE0FA2C91299400D1234A /* TreeTeskListView.xib */; };
 		131E75C42C6B87C500E2C85D /* ForgotPasswordChangeVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 131E75C32C6B87C400E2C85D /* ForgotPasswordChangeVC.xib */; };
 		131E75C52C6B87C500E2C85D /* ForgotPasswordChangeVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 131E75C22C6B87C400E2C85D /* ForgotPasswordChangeVC.swift */; };
 		1324A6452C805B4000AA5098 /* FlyFlowerSong.otf in Resources */ = {isa = PBXBuildFile; fileRef = 1324A6442C805B4000AA5098 /* FlyFlowerSong.otf */; };
@@ -110,6 +117,11 @@
 		135C2A732C7F033300CC2A67 /* CLPlayerConfigure.swift in Sources */ = {isa = PBXBuildFile; fileRef = 135C2A612C7F033300CC2A67 /* CLPlayerConfigure.swift */; };
 		135C2A742C7F033300CC2A67 /* CLPlayerDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 135C2A622C7F033300CC2A67 /* CLPlayerDelegate.swift */; };
 		135C2A752C7F033300CC2A67 /* CLPlayerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 135C2A632C7F033300CC2A67 /* CLPlayerView.swift */; };
+		135D091C2C91674700658880 /* TreeTeskDetailListVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 135D091B2C91674700658880 /* TreeTeskDetailListVC.swift */; };
+		135D09202C9167F800658880 /* TreeTeskDetailListTCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 135D091F2C9167F700658880 /* TreeTeskDetailListTCell.xib */; };
+		135D09212C9167F800658880 /* TreeTeskDetailListTCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 135D091E2C9167F700658880 /* TreeTeskDetailListTCell.swift */; };
+		135D09242C916BBC00658880 /* TreeTeskEnergyExchangeVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 135D09232C916BBC00658880 /* TreeTeskEnergyExchangeVC.xib */; };
+		135D09252C916BBC00658880 /* TreeTeskEnergyExchangeVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 135D09222C916BBC00658880 /* TreeTeskEnergyExchangeVC.swift */; };
 		13649F9A2C7709CD00F4E0EE /* ContactCustomerTCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13649F992C7709CD00F4E0EE /* ContactCustomerTCell.xib */; };
 		13649F9B2C7709CD00F4E0EE /* ContactCustomerTCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13649F982C7709CD00F4E0EE /* ContactCustomerTCell.swift */; };
 		13649F9E2C770C9C00F4E0EE /* ContactCustomerDetailVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13649F9D2C770C9C00F4E0EE /* ContactCustomerDetailVC.xib */; };
@@ -141,6 +153,8 @@
 		137ECAD32C783C2000C338BE /* bg.mov in Resources */ = {isa = PBXBuildFile; fileRef = 137ECAD22C783C2000C338BE /* bg.mov */; };
 		137ECAD62C783C7700C338BE /* TreeTeskVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 137ECAD42C783C7700C338BE /* TreeTeskVC.swift */; };
 		137ECAD72C783C7700C338BE /* TreeTeskVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 137ECAD52C783C7700C338BE /* TreeTeskVC.xib */; };
+		13846C782C9163BB0078B68F /* TreeTeskDetailVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13846C762C9163BB0078B68F /* TreeTeskDetailVC.swift */; };
+		13846C792C9163BB0078B68F /* TreeTeskDetailVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13846C772C9163BB0078B68F /* TreeTeskDetailVC.xib */; };
 		1385DFFA2C6C4EBC00AADB1F /* RefreshModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1385DFF92C6C4EBC00AADB1F /* RefreshModel.swift */; };
 		1385E0002C6C4F1200AADB1F /* NetworkRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1385DFFB2C6C4F1200AADB1F /* NetworkRequest.swift */; };
 		1385E0022C6C4F1200AADB1F /* Services.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1385DFFD2C6C4F1200AADB1F /* Services.swift */; };
@@ -234,6 +248,8 @@
 		13CBCCE42C747C3D00C67701 /* NoticeCenterUserRepeaceDetailVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13CBCCE22C747C3D00C67701 /* NoticeCenterUserRepeaceDetailVC.xib */; };
 		13D256B42C6C68E7006FC2D7 /* ShareView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13D256B32C6C68E7006FC2D7 /* ShareView.swift */; };
 		13D256B72C6C68F8006FC2D7 /* ShareView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13D256B62C6C68F8006FC2D7 /* ShareView.xib */; };
+		13DC34EE2C913E77007E1B61 /* TreeTeskFirstRuleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13DC34ED2C913E77007E1B61 /* TreeTeskFirstRuleView.swift */; };
+		13DC34F02C913E7F007E1B61 /* TreeTeskFirstRuleView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13DC34EF2C913E7F007E1B61 /* TreeTeskFirstRuleView.xib */; };
 		13E0FBF92C6C8BDE009997AE /* CountdownChooseListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13E0FBF82C6C8BDE009997AE /* CountdownChooseListView.swift */; };
 		13E0FBFB2C6C8BE3009997AE /* CountdownChooseListView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13E0FBFA2C6C8BE3009997AE /* CountdownChooseListView.xib */; };
 		13E160202C6CB8930027F781 /* CommentListVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13E1601F2C6CB8930027F781 /* CommentListVC.xib */; };
@@ -245,6 +261,8 @@
 		13EA70052C75FA16005DF280 /* WalletRechargeVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13EA70032C75FA16005DF280 /* WalletRechargeVC.xib */; };
 		13EC08902C74990B00E00128 /* EmptyCCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13EC088F2C74990B00E00128 /* EmptyCCell.xib */; };
 		13EC08912C74990B00E00128 /* EmptyCCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13EC088E2C74990B00E00128 /* EmptyCCell.swift */; };
+		13ED09482C916FD30018BB10 /* TreeTeskEnergyTCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13ED09472C916FD30018BB10 /* TreeTeskEnergyTCell.xib */; };
+		13ED09492C916FD30018BB10 /* TreeTeskEnergyTCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13ED09462C916FD30018BB10 /* TreeTeskEnergyTCell.swift */; };
 		13EFCDBE2C6DCF5800B51AE6 /* HomeTyroGuideVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13EFCDBD2C6DCF5800B51AE6 /* HomeTyroGuideVC.swift */; };
 		13EFCDC12C6DD27A00B51AE6 /* PaymentOrderVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13EFCDBF2C6DD27A00B51AE6 /* PaymentOrderVC.swift */; };
 		13EFCDC22C6DD27A00B51AE6 /* PaymentOrderVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13EFCDC02C6DD27A00B51AE6 /* PaymentOrderVC.xib */; };
@@ -274,6 +292,11 @@
 /* Begin PBXFileReference section */
 		1300BD392C6DFB1C000BCA5E /* VIPCenterVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VIPCenterVC.swift; sourceTree = "<group>"; };
 		1300BD3A2C6DFB1C000BCA5E /* VIPCenterVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = VIPCenterVC.xib; sourceTree = "<group>"; };
+		130602852C9178F60019ECDE /* TreeTeskExchangeSuccessView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TreeTeskExchangeSuccessView.swift; sourceTree = "<group>"; };
+		130602872C91790B0019ECDE /* TreeTeskExchangeSuccessView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TreeTeskExchangeSuccessView.xib; sourceTree = "<group>"; };
+		130602892C917CD20019ECDE /* TreeTeskEnergyExchangeRecordVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TreeTeskEnergyExchangeRecordVC.swift; sourceTree = "<group>"; };
+		1306028B2C917D3E0019ECDE /* TreeTeskEnergyExchangeRecordTCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TreeTeskEnergyExchangeRecordTCell.swift; sourceTree = "<group>"; };
+		1306028C2C917D3E0019ECDE /* TreeTeskEnergyExchangeRecordTCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TreeTeskEnergyExchangeRecordTCell.xib; sourceTree = "<group>"; };
 		1308C9AF2C7DCDC80017A9FC /* SearchHotTCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchHotTCell.swift; sourceTree = "<group>"; };
 		1308C9B02C7DCDC80017A9FC /* SearchHotTCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = SearchHotTCell.xib; sourceTree = "<group>"; };
 		130913E82C6DE33200418201 /* PaymentOrderResultVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentOrderResultVC.swift; sourceTree = "<group>"; };
@@ -301,6 +324,8 @@
 		130F94652C7DAB27003A348B /* SearchHistoryCCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = SearchHistoryCCell.xib; sourceTree = "<group>"; };
 		1311117F2C749084002877FC /* StudyListVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StudyListVC.swift; sourceTree = "<group>"; };
 		131111802C749084002877FC /* StudyListVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = StudyListVC.xib; sourceTree = "<group>"; };
+		131CE0F82C91298E00D1234A /* TreeTeskListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TreeTeskListView.swift; sourceTree = "<group>"; };
+		131CE0FA2C91299400D1234A /* TreeTeskListView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TreeTeskListView.xib; sourceTree = "<group>"; };
 		131E75C22C6B87C400E2C85D /* ForgotPasswordChangeVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ForgotPasswordChangeVC.swift; sourceTree = "<group>"; };
 		131E75C32C6B87C400E2C85D /* ForgotPasswordChangeVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ForgotPasswordChangeVC.xib; sourceTree = "<group>"; };
 		1324A6442C805B4000AA5098 /* FlyFlowerSong.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = FlyFlowerSong.otf; sourceTree = "<group>"; };
@@ -375,6 +400,11 @@
 		135C2A612C7F033300CC2A67 /* CLPlayerConfigure.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CLPlayerConfigure.swift; sourceTree = "<group>"; };
 		135C2A622C7F033300CC2A67 /* CLPlayerDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CLPlayerDelegate.swift; sourceTree = "<group>"; };
 		135C2A632C7F033300CC2A67 /* CLPlayerView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CLPlayerView.swift; sourceTree = "<group>"; };
+		135D091B2C91674700658880 /* TreeTeskDetailListVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TreeTeskDetailListVC.swift; sourceTree = "<group>"; };
+		135D091E2C9167F700658880 /* TreeTeskDetailListTCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TreeTeskDetailListTCell.swift; sourceTree = "<group>"; };
+		135D091F2C9167F700658880 /* TreeTeskDetailListTCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TreeTeskDetailListTCell.xib; sourceTree = "<group>"; };
+		135D09222C916BBC00658880 /* TreeTeskEnergyExchangeVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TreeTeskEnergyExchangeVC.swift; sourceTree = "<group>"; };
+		135D09232C916BBC00658880 /* TreeTeskEnergyExchangeVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TreeTeskEnergyExchangeVC.xib; sourceTree = "<group>"; };
 		13649F982C7709CD00F4E0EE /* ContactCustomerTCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContactCustomerTCell.swift; sourceTree = "<group>"; };
 		13649F992C7709CD00F4E0EE /* ContactCustomerTCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ContactCustomerTCell.xib; sourceTree = "<group>"; };
 		13649F9C2C770C9C00F4E0EE /* ContactCustomerDetailVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContactCustomerDetailVC.swift; sourceTree = "<group>"; };
@@ -406,6 +436,8 @@
 		137ECAD22C783C2000C338BE /* bg.mov */ = {isa = PBXFileReference; lastKnownFileType = video.quicktime; path = bg.mov; sourceTree = "<group>"; };
 		137ECAD42C783C7700C338BE /* TreeTeskVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TreeTeskVC.swift; sourceTree = "<group>"; };
 		137ECAD52C783C7700C338BE /* TreeTeskVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TreeTeskVC.xib; sourceTree = "<group>"; };
+		13846C762C9163BB0078B68F /* TreeTeskDetailVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TreeTeskDetailVC.swift; sourceTree = "<group>"; };
+		13846C772C9163BB0078B68F /* TreeTeskDetailVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TreeTeskDetailVC.xib; sourceTree = "<group>"; };
 		1385DFF92C6C4EBC00AADB1F /* RefreshModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RefreshModel.swift; sourceTree = "<group>"; };
 		1385DFFB2C6C4F1200AADB1F /* NetworkRequest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NetworkRequest.swift; sourceTree = "<group>"; };
 		1385DFFD2C6C4F1200AADB1F /* Services.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Services.swift; sourceTree = "<group>"; };
@@ -501,6 +533,8 @@
 		13CBCCE22C747C3D00C67701 /* NoticeCenterUserRepeaceDetailVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = NoticeCenterUserRepeaceDetailVC.xib; sourceTree = "<group>"; };
 		13D256B32C6C68E7006FC2D7 /* ShareView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShareView.swift; sourceTree = "<group>"; };
 		13D256B62C6C68F8006FC2D7 /* ShareView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ShareView.xib; sourceTree = "<group>"; };
+		13DC34ED2C913E77007E1B61 /* TreeTeskFirstRuleView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TreeTeskFirstRuleView.swift; sourceTree = "<group>"; };
+		13DC34EF2C913E7F007E1B61 /* TreeTeskFirstRuleView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TreeTeskFirstRuleView.xib; sourceTree = "<group>"; };
 		13E0FBF82C6C8BDE009997AE /* CountdownChooseListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CountdownChooseListView.swift; sourceTree = "<group>"; };
 		13E0FBFA2C6C8BE3009997AE /* CountdownChooseListView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = CountdownChooseListView.xib; sourceTree = "<group>"; };
 		13E1601E2C6CB8930027F781 /* CommentListVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommentListVC.swift; sourceTree = "<group>"; };
@@ -512,6 +546,8 @@
 		13EA70032C75FA16005DF280 /* WalletRechargeVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = WalletRechargeVC.xib; sourceTree = "<group>"; };
 		13EC088E2C74990B00E00128 /* EmptyCCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmptyCCell.swift; sourceTree = "<group>"; };
 		13EC088F2C74990B00E00128 /* EmptyCCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = EmptyCCell.xib; sourceTree = "<group>"; };
+		13ED09462C916FD30018BB10 /* TreeTeskEnergyTCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TreeTeskEnergyTCell.swift; sourceTree = "<group>"; };
+		13ED09472C916FD30018BB10 /* TreeTeskEnergyTCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TreeTeskEnergyTCell.xib; sourceTree = "<group>"; };
 		13EFCDBD2C6DCF5800B51AE6 /* HomeTyroGuideVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeTyroGuideVC.swift; sourceTree = "<group>"; };
 		13EFCDBF2C6DD27A00B51AE6 /* PaymentOrderVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentOrderVC.swift; sourceTree = "<group>"; };
 		13EFCDC02C6DD27A00B51AE6 /* PaymentOrderVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = PaymentOrderVC.xib; sourceTree = "<group>"; };
@@ -608,6 +644,19 @@
 				13649F9D2C770C9C00F4E0EE /* ContactCustomerDetailVC.xib */,
 			);
 			path = VC;
+			sourceTree = "<group>";
+		};
+		131CE0F32C91295600D1234A /* View */ = {
+			isa = PBXGroup;
+			children = (
+				131CE0F82C91298E00D1234A /* TreeTeskListView.swift */,
+				131CE0FA2C91299400D1234A /* TreeTeskListView.xib */,
+				13DC34ED2C913E77007E1B61 /* TreeTeskFirstRuleView.swift */,
+				13DC34EF2C913E7F007E1B61 /* TreeTeskFirstRuleView.xib */,
+				130602852C9178F60019ECDE /* TreeTeskExchangeSuccessView.swift */,
+				130602872C91790B0019ECDE /* TreeTeskExchangeSuccessView.xib */,
+			);
+			path = View;
 			sourceTree = "<group>";
 		};
 		131E75C62C6B87CC00E2C85D /* VC */ = {
@@ -730,6 +779,19 @@
 			path = CLPlayer;
 			sourceTree = "<group>";
 		};
+		135D091D2C9167E600658880 /* TCell */ = {
+			isa = PBXGroup;
+			children = (
+				135D091E2C9167F700658880 /* TreeTeskDetailListTCell.swift */,
+				135D091F2C9167F700658880 /* TreeTeskDetailListTCell.xib */,
+				13ED09462C916FD30018BB10 /* TreeTeskEnergyTCell.swift */,
+				13ED09472C916FD30018BB10 /* TreeTeskEnergyTCell.xib */,
+				1306028B2C917D3E0019ECDE /* TreeTeskEnergyExchangeRecordTCell.swift */,
+				1306028C2C917D3E0019ECDE /* TreeTeskEnergyExchangeRecordTCell.xib */,
+			);
+			path = TCell;
+			sourceTree = "<group>";
+		};
 		136C7C7E2C771CCB004540CD /* PayMusicView */ = {
 			isa = PBXGroup;
 			children = (
@@ -800,6 +862,9 @@
 		137ECAD12C783C0700C338BE /* TreeGroup */ = {
 			isa = PBXGroup;
 			children = (
+				135D091D2C9167E600658880 /* TCell */,
+				13846C752C9163960078B68F /* VC */,
+				131CE0F32C91295600D1234A /* View */,
 				137ECADB2C78578A00C338BE /* Pngs */,
 				137ECADA2C78577F00C338BE /* mov */,
 				137ECAD42C783C7700C338BE /* TreeTeskVC.swift */,
@@ -834,6 +899,19 @@
 				13C5838D2C86A4F90071BCBE /* apngb-animated-level-5.png */,
 			);
 			path = Pngs;
+			sourceTree = "<group>";
+		};
+		13846C752C9163960078B68F /* VC */ = {
+			isa = PBXGroup;
+			children = (
+				13846C762C9163BB0078B68F /* TreeTeskDetailVC.swift */,
+				13846C772C9163BB0078B68F /* TreeTeskDetailVC.xib */,
+				135D091B2C91674700658880 /* TreeTeskDetailListVC.swift */,
+				135D09222C916BBC00658880 /* TreeTeskEnergyExchangeVC.swift */,
+				135D09232C916BBC00658880 /* TreeTeskEnergyExchangeVC.xib */,
+				130602892C917CD20019ECDE /* TreeTeskEnergyExchangeRecordVC.swift */,
+			);
+			path = VC;
 			sourceTree = "<group>";
 		};
 		1385DFF82C6C4EB500AADB1F /* ViewModel */ = {
@@ -1244,6 +1322,7 @@
 				13C9DDD72C8EE8EB0008946B /* apngb-animated-level-9.png in Resources */,
 				13F24E3D2C75866100D2BA90 /* BindPhone_3_VC.xib in Resources */,
 				13CBC5D92C73532B00BC66C7 /* MeVC.xib in Resources */,
+				13DC34F02C913E7F007E1B61 /* TreeTeskFirstRuleView.xib in Resources */,
 				1385E0072C6C558200AADB1F /* HomeRelaxBanner_2_CCell.xib in Resources */,
 				131111822C749085002877FC /* StudyListVC.xib in Resources */,
 				132EB01D2C6B32B200990429 /* RegisterVC.xib in Resources */,
@@ -1253,6 +1332,7 @@
 				1331391A2C742A0C009E179E /* UserProfileVC.xib in Resources */,
 				135C2A712C7F033300CC2A67 /* CLPlayer.bundle in Resources */,
 				13334FDC2C7321BE00914086 /* PavilionItemCell.xib in Resources */,
+				13846C792C9163BB0078B68F /* TreeTeskDetailVC.xib in Resources */,
 				1333DC7E2C72E7A500D8ACAE /* CourseSendGiftView.xib in Resources */,
 				132C40292C816003002E3270 /* SourceHanSerifCN-Medium.otf in Resources */,
 				13C9DDD52C8EE8EB0008946B /* apngb-animated-level-6.png in Resources */,
@@ -1267,6 +1347,7 @@
 				13FB6D842C6EEFE900A0685D /* MenuListTCell.xib in Resources */,
 				13B06A082C78A0D300477FA9 /* apngb-animated-level-1.png in Resources */,
 				138F0C362C7597CA0072A16C /* HelpCenterVC.xib in Resources */,
+				131CE0FB2C91299400D1234A /* TreeTeskListView.xib in Resources */,
 				134803D72C76E3E000F4FDDA /* WatchHistoryVC.xib in Resources */,
 				1377768E2C6AFD25004FF994 /* LoginVC.xib in Resources */,
 				134CC7E02C73283700EAEFB7 /* PavilionSearchVC.xib in Resources */,
@@ -1275,6 +1356,7 @@
 				13CBCCE02C74793D00C67701 /* NoticeCenterSysDetailVC.xib in Resources */,
 				132C7EF32C8FE3BF00A4CA18 /* ChooseOptTitleView.xib in Resources */,
 				130ED7E82C6AEF5900D0736E /* Home_Style_4_TCell.xib in Resources */,
+				135D09242C916BBC00658880 /* TreeTeskEnergyExchangeVC.xib in Resources */,
 				13649F9A2C7709CD00F4E0EE /* ContactCustomerTCell.xib in Resources */,
 				13391E022C73334000B9513F /* PavilionDetailVC.xib in Resources */,
 				13EC08902C74990B00E00128 /* EmptyCCell.xib in Resources */,
@@ -1298,6 +1380,7 @@
 				13BF65DD2C80407600E20F0E /* PlanGuideVC.xib in Resources */,
 				137175C82C6C3C6D00B38EF1 /* Agenda-Light.otf in Resources */,
 				13CBCCE42C747C3D00C67701 /* NoticeCenterUserRepeaceDetailVC.xib in Resources */,
+				135D09202C9167F800658880 /* TreeTeskDetailListTCell.xib in Resources */,
 				13985DA22C69B2440046B6DC /* Base in Resources */,
 				13649F9E2C770C9C00F4E0EE /* ContactCustomerDetailVC.xib in Resources */,
 				1324A6492C80632500AA5098 /* SourceHanSerifCN-Regular.otf in Resources */,
@@ -1305,6 +1388,7 @@
 				138FE0E32C757DE900A964E8 /* BindPhone_2_VC.xib in Resources */,
 				130F94672C7DAB27003A348B /* SearchHistoryCCell.xib in Resources */,
 				139C165A2C6A053000A924D9 /* Home_Style_2_TCell.xib in Resources */,
+				1306028E2C917D3E0019ECDE /* TreeTeskEnergyExchangeRecordTCell.xib in Resources */,
 				13C583882C86A29A0071BCBE /* apngb-animated-level-2.png in Resources */,
 				1300BD3B2C6DFB1C000BCA5E /* VIPCenterVC.xib in Resources */,
 				139466482C6B8E0200F6FB15 /* UpdatePhoneVC.xib in Resources */,
@@ -1315,6 +1399,8 @@
 				13271D852C75EF8200DE1328 /* AddBankInfoVC.xib in Resources */,
 				1377B40D2C6D936A00CF7CA5 /* CommentUserInputContentTCell.xib in Resources */,
 				137175CC2C6C412A00B38EF1 /* BackgroundVoiceVC.xib in Resources */,
+				130602882C91790B0019ECDE /* TreeTeskExchangeSuccessView.xib in Resources */,
+				13ED09482C916FD30018BB10 /* TreeTeskEnergyTCell.xib in Resources */,
 				13BF65EB2C804BE100E20F0E /* apngb-animated-flow.png in Resources */,
 				13FAD54E2C901D6300566998 /* SearchContentVC.xib in Resources */,
 				137776932C6AFE69004FF994 /* SearchVC.xib in Resources */,
@@ -1445,12 +1531,14 @@
 				130913EB2C6DE33200418201 /* PaymentOrderResultVC.swift in Sources */,
 				135C2A742C7F033300CC2A67 /* CLPlayerDelegate.swift in Sources */,
 				13A0A8AF2C74757200DF08B6 /* MessageTCell.swift in Sources */,
+				13ED09492C916FD30018BB10 /* TreeTeskEnergyTCell.swift in Sources */,
 				13FB6D7E2C6EE27100A0685D /* CourseOfficialItemCCell.swift in Sources */,
 				137ABE342C6B3F64003A91C5 /* ForgotPasswordVC.swift in Sources */,
 				13EFCDBE2C6DCF5800B51AE6 /* HomeTyroGuideVC.swift in Sources */,
 				134A45322C6E0D6400538D78 /* CourseVCOfficalCommentVC.swift in Sources */,
 				135C2A692C7F033300CC2A67 /* CLPlayerContentPanelCell.swift in Sources */,
 				139C16602C6A0FBB00A924D9 /* TestLeftRightCollectionViewFlowLayout.swift in Sources */,
+				1306028D2C917D3E0019ECDE /* TreeTeskEnergyExchangeRecordTCell.swift in Sources */,
 				13985DC72C69E9550046B6DC /* CourseVC.swift in Sources */,
 				13A379FD2C75B7280038D5C8 /* BindAccountVC.swift in Sources */,
 				135C2A6A2C7F033300CC2A67 /* CLPlayerContentPanelHeadView.swift in Sources */,
@@ -1461,6 +1549,7 @@
 				13FB6D8A2C6EFB4D00A0685D /* CourseDetailHeaderView.swift in Sources */,
 				13985DB82C69B80D0046B6DC /* Themes.swift in Sources */,
 				13985DD02C69F2A80046B6DC /* HomeHeaderVC.swift in Sources */,
+				135D09212C9167F800658880 /* TreeTeskDetailListTCell.swift in Sources */,
 				130AA4A92C72F71700F20944 /* CourseDetialVideoVC.swift in Sources */,
 				1336EFA52C6DEB550075E070 /* HoverHeaderFlowLayout.swift in Sources */,
 				13985DB52C69B7DF0046B6DC /* Def.swift in Sources */,
@@ -1486,12 +1575,15 @@
 				139F1F602C81AE840055CE8F /* PlanGuidePromptView.swift in Sources */,
 				13985DC42C69E0BF0046B6DC /* HomeTopMenuCCell.swift in Sources */,
 				1385E00A2C6C57A900AADB1F /* HomeItemDetailVC.swift in Sources */,
+				1306028A2C917CD20019ECDE /* TreeTeskEnergyExchangeRecordVC.swift in Sources */,
+				13846C782C9163BB0078B68F /* TreeTeskDetailVC.swift in Sources */,
 				1333DC7C2C72E78F00D8ACAE /* CourseSendGiftView.swift in Sources */,
 				13391E032C73334000B9513F /* PavilionDetailVC.swift in Sources */,
 				134783CF2C6C86EC0096C736 /* PlaySettingView.swift in Sources */,
 				135C2A722C7F033300CC2A67 /* CLPlayer.swift in Sources */,
 				13F24E3E2C75866100D2BA90 /* BindPhone_3_VC.swift in Sources */,
 				135C2A6F2C7F033300CC2A67 /* CLGCDTimer.swift in Sources */,
+				130602862C9178F60019ECDE /* TreeTeskExchangeSuccessView.swift in Sources */,
 				139C16592C6A053000A924D9 /* Home_Style_2_TCell.swift in Sources */,
 				130B76592C6C4963006371AF /* HomeRelaxVoiceCCell.swift in Sources */,
 				137ABE382C6B6641003A91C5 /* WebVC.swift in Sources */,
@@ -1503,6 +1595,7 @@
 				1331391B2C742A0C009E179E /* UserProfileVC.swift in Sources */,
 				13E0FBF92C6C8BDE009997AE /* CountdownChooseListView.swift in Sources */,
 				135C2A6B2C7F033300CC2A67 /* CLPlayerContentView.swift in Sources */,
+				135D09252C916BBC00658880 /* TreeTeskEnergyExchangeVC.swift in Sources */,
 				13A659472C6F4B9E00F731FA /* CourseDetail_1_TCell.swift in Sources */,
 				130ED7EE2C6AF05C00D0736E /* Home_Style_4_Inner_CCell.swift in Sources */,
 				139C165D2C6A0AC600A924D9 /* Home_Style_3_TCell.swift in Sources */,
@@ -1523,6 +1616,7 @@
 				130ED7E72C6AEF5900D0736E /* Home_Style_4_TCell.swift in Sources */,
 				1308C9B22C7DCDC80017A9FC /* SearchHotTCell.swift in Sources */,
 				130C070B2C76D8F200ADB098 /* SpendingDetailContentVC.swift in Sources */,
+				131CE0F92C91298E00D1234A /* TreeTeskListView.swift in Sources */,
 				13EC08912C74990B00E00128 /* EmptyCCell.swift in Sources */,
 				13F24E422C758DF100D2BA90 /* LogoutAccountVC.swift in Sources */,
 				135C2A6E2C7F033300CC2A67 /* CLSlider.swift in Sources */,
@@ -1545,7 +1639,9 @@
 				136C7C7D2C7715C9004540CD /* BitrhdayPickerView.swift in Sources */,
 				13334FDB2C7321BE00914086 /* PavilionItemCell.swift in Sources */,
 				13A6594B2C6F4F2D00F731FA /* CourseDetail_2_TCell.swift in Sources */,
+				135D091C2C91674700658880 /* TreeTeskDetailListVC.swift in Sources */,
 				134803D32C76E29E00F4FDDA /* MyCommentListVC.swift in Sources */,
+				13DC34EE2C913E77007E1B61 /* TreeTeskFirstRuleView.swift in Sources */,
 				1377768D2C6AFD25004FF994 /* LoginVC.swift in Sources */,
 				13FB6D852C6EEFE900A0685D /* MenuListTCell.swift in Sources */,
 				134803D92C76ED6400F4FDDA /* WatchHistoryDetailVC.swift in Sources */,
diff --git a/XQMuse/Assets.xcassets/Icons/icon_energy.imageset/Contents.json b/XQMuse/Assets.xcassets/Icons/icon_energy.imageset/Contents.json
new file mode 100644
index 0000000..f576e4b
--- /dev/null
+++ b/XQMuse/Assets.xcassets/Icons/icon_energy.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "icon_energy@2x.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "icon_energy@3x.png",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}
diff --git a/XQMuse/Assets.xcassets/Icons/icon_energy.imageset/icon_energy@2x.png b/XQMuse/Assets.xcassets/Icons/icon_energy.imageset/icon_energy@2x.png
new file mode 100644
index 0000000..a9890f0
--- /dev/null
+++ b/XQMuse/Assets.xcassets/Icons/icon_energy.imageset/icon_energy@2x.png
Binary files differ
diff --git a/XQMuse/Assets.xcassets/Icons/icon_energy.imageset/icon_energy@3x.png b/XQMuse/Assets.xcassets/Icons/icon_energy.imageset/icon_energy@3x.png
new file mode 100644
index 0000000..e41564c
--- /dev/null
+++ b/XQMuse/Assets.xcassets/Icons/icon_energy.imageset/icon_energy@3x.png
Binary files differ
diff --git a/XQMuse/Assets.xcassets/Icons/icon_exchange_1.imageset/Contents.json b/XQMuse/Assets.xcassets/Icons/icon_exchange_1.imageset/Contents.json
new file mode 100644
index 0000000..30f6854
--- /dev/null
+++ b/XQMuse/Assets.xcassets/Icons/icon_exchange_1.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "icon_exchange@2x.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "icon_exchange@3x.png",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}
diff --git a/XQMuse/Assets.xcassets/Icons/icon_exchange_1.imageset/icon_exchange@2x.png b/XQMuse/Assets.xcassets/Icons/icon_exchange_1.imageset/icon_exchange@2x.png
new file mode 100644
index 0000000..9ba9516
--- /dev/null
+++ b/XQMuse/Assets.xcassets/Icons/icon_exchange_1.imageset/icon_exchange@2x.png
Binary files differ
diff --git a/XQMuse/Assets.xcassets/Icons/icon_exchange_1.imageset/icon_exchange@3x.png b/XQMuse/Assets.xcassets/Icons/icon_exchange_1.imageset/icon_exchange@3x.png
new file mode 100644
index 0000000..71d309c
--- /dev/null
+++ b/XQMuse/Assets.xcassets/Icons/icon_exchange_1.imageset/icon_exchange@3x.png
Binary files differ
diff --git a/XQMuse/Assets.xcassets/Icons/icon_exchanged.imageset/Contents.json b/XQMuse/Assets.xcassets/Icons/icon_exchanged.imageset/Contents.json
new file mode 100644
index 0000000..0958fdf
--- /dev/null
+++ b/XQMuse/Assets.xcassets/Icons/icon_exchanged.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "icon_exchanged@2x.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "icon_exchanged@3x.png",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}
diff --git a/XQMuse/Assets.xcassets/Icons/icon_exchanged.imageset/icon_exchanged@2x.png b/XQMuse/Assets.xcassets/Icons/icon_exchanged.imageset/icon_exchanged@2x.png
new file mode 100644
index 0000000..cf91095
--- /dev/null
+++ b/XQMuse/Assets.xcassets/Icons/icon_exchanged.imageset/icon_exchanged@2x.png
Binary files differ
diff --git a/XQMuse/Assets.xcassets/Icons/icon_exchanged.imageset/icon_exchanged@3x.png b/XQMuse/Assets.xcassets/Icons/icon_exchanged.imageset/icon_exchanged@3x.png
new file mode 100644
index 0000000..7e899fd
--- /dev/null
+++ b/XQMuse/Assets.xcassets/Icons/icon_exchanged.imageset/icon_exchanged@3x.png
Binary files differ
diff --git a/XQMuse/Assets.xcassets/Icons/icon_gift.imageset/Contents.json b/XQMuse/Assets.xcassets/Icons/icon_gift.imageset/Contents.json
new file mode 100644
index 0000000..e3d2881
--- /dev/null
+++ b/XQMuse/Assets.xcassets/Icons/icon_gift.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "icon_gift@2x.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "icon_gift@3x.png",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}
diff --git a/XQMuse/Assets.xcassets/Icons/icon_gift.imageset/icon_gift@2x.png b/XQMuse/Assets.xcassets/Icons/icon_gift.imageset/icon_gift@2x.png
new file mode 100644
index 0000000..39206cb
--- /dev/null
+++ b/XQMuse/Assets.xcassets/Icons/icon_gift.imageset/icon_gift@2x.png
Binary files differ
diff --git a/XQMuse/Assets.xcassets/Icons/icon_gift.imageset/icon_gift@3x.png b/XQMuse/Assets.xcassets/Icons/icon_gift.imageset/icon_gift@3x.png
new file mode 100644
index 0000000..2212eed
--- /dev/null
+++ b/XQMuse/Assets.xcassets/Icons/icon_gift.imageset/icon_gift@3x.png
Binary files differ
diff --git a/XQMuse/Assets.xcassets/Icons/icon_task_s.imageset/Contents.json b/XQMuse/Assets.xcassets/Icons/icon_task_s.imageset/Contents.json
new file mode 100644
index 0000000..461df14
--- /dev/null
+++ b/XQMuse/Assets.xcassets/Icons/icon_task_s.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "icon_task_s@2x.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "icon_task_s@3x.png",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}
diff --git a/XQMuse/Assets.xcassets/Icons/icon_task_s.imageset/icon_task_s@2x.png b/XQMuse/Assets.xcassets/Icons/icon_task_s.imageset/icon_task_s@2x.png
new file mode 100644
index 0000000..0628ef7
--- /dev/null
+++ b/XQMuse/Assets.xcassets/Icons/icon_task_s.imageset/icon_task_s@2x.png
Binary files differ
diff --git a/XQMuse/Assets.xcassets/Icons/icon_task_s.imageset/icon_task_s@3x.png b/XQMuse/Assets.xcassets/Icons/icon_task_s.imageset/icon_task_s@3x.png
new file mode 100644
index 0000000..ce7e6c3
--- /dev/null
+++ b/XQMuse/Assets.xcassets/Icons/icon_task_s.imageset/icon_task_s@3x.png
Binary files differ
diff --git a/XQMuse/Assets.xcassets/Icons/icon_task_title.imageset/Contents.json b/XQMuse/Assets.xcassets/Icons/icon_task_title.imageset/Contents.json
new file mode 100644
index 0000000..e68f387
--- /dev/null
+++ b/XQMuse/Assets.xcassets/Icons/icon_task_title.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "icon_task_title@2x.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "icon_task_title@3x.png",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}
diff --git a/XQMuse/Assets.xcassets/Icons/icon_task_title.imageset/icon_task_title@2x.png b/XQMuse/Assets.xcassets/Icons/icon_task_title.imageset/icon_task_title@2x.png
new file mode 100644
index 0000000..fa03d98
--- /dev/null
+++ b/XQMuse/Assets.xcassets/Icons/icon_task_title.imageset/icon_task_title@2x.png
Binary files differ
diff --git a/XQMuse/Assets.xcassets/Icons/icon_task_title.imageset/icon_task_title@3x.png b/XQMuse/Assets.xcassets/Icons/icon_task_title.imageset/icon_task_title@3x.png
new file mode 100644
index 0000000..b2429f9
--- /dev/null
+++ b/XQMuse/Assets.xcassets/Icons/icon_task_title.imageset/icon_task_title@3x.png
Binary files differ
diff --git a/XQMuse/Assets.xcassets/Icons/icon_watering.imageset/Contents.json b/XQMuse/Assets.xcassets/Icons/icon_watering.imageset/Contents.json
new file mode 100644
index 0000000..064c845
--- /dev/null
+++ b/XQMuse/Assets.xcassets/Icons/icon_watering.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "icon_watering@2x.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "icon_watering@3x.png",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}
diff --git a/XQMuse/Assets.xcassets/Icons/icon_watering.imageset/icon_watering@2x.png b/XQMuse/Assets.xcassets/Icons/icon_watering.imageset/icon_watering@2x.png
new file mode 100644
index 0000000..c1cb557
--- /dev/null
+++ b/XQMuse/Assets.xcassets/Icons/icon_watering.imageset/icon_watering@2x.png
Binary files differ
diff --git a/XQMuse/Assets.xcassets/Icons/icon_watering.imageset/icon_watering@3x.png b/XQMuse/Assets.xcassets/Icons/icon_watering.imageset/icon_watering@3x.png
new file mode 100644
index 0000000..2322343
--- /dev/null
+++ b/XQMuse/Assets.xcassets/Icons/icon_watering.imageset/icon_watering@3x.png
Binary files differ
diff --git a/XQMuse/Assets.xcassets/Placeholder/bg_task_f.imageset/Contents.json b/XQMuse/Assets.xcassets/Placeholder/bg_task_f.imageset/Contents.json
new file mode 100644
index 0000000..8534ba6
--- /dev/null
+++ b/XQMuse/Assets.xcassets/Placeholder/bg_task_f.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "bg_task_f@2x.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "bg_task_f@3x.png",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}
diff --git a/XQMuse/Assets.xcassets/Placeholder/bg_task_f.imageset/bg_task_f@2x.png b/XQMuse/Assets.xcassets/Placeholder/bg_task_f.imageset/bg_task_f@2x.png
new file mode 100644
index 0000000..5eefd39
--- /dev/null
+++ b/XQMuse/Assets.xcassets/Placeholder/bg_task_f.imageset/bg_task_f@2x.png
Binary files differ
diff --git a/XQMuse/Assets.xcassets/Placeholder/bg_task_f.imageset/bg_task_f@3x.png b/XQMuse/Assets.xcassets/Placeholder/bg_task_f.imageset/bg_task_f@3x.png
new file mode 100644
index 0000000..0536e87
--- /dev/null
+++ b/XQMuse/Assets.xcassets/Placeholder/bg_task_f.imageset/bg_task_f@3x.png
Binary files differ
diff --git a/XQMuse/Assets.xcassets/Placeholder/icon_signSuccess.imageset/Contents.json b/XQMuse/Assets.xcassets/Placeholder/icon_signSuccess.imageset/Contents.json
new file mode 100644
index 0000000..b2e97b4
--- /dev/null
+++ b/XQMuse/Assets.xcassets/Placeholder/icon_signSuccess.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "icon_signSuccess@2x.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "icon_signSuccess@3x.png",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}
diff --git a/XQMuse/Assets.xcassets/Placeholder/icon_signSuccess.imageset/icon_signSuccess@2x.png b/XQMuse/Assets.xcassets/Placeholder/icon_signSuccess.imageset/icon_signSuccess@2x.png
new file mode 100644
index 0000000..081f564
--- /dev/null
+++ b/XQMuse/Assets.xcassets/Placeholder/icon_signSuccess.imageset/icon_signSuccess@2x.png
Binary files differ
diff --git a/XQMuse/Assets.xcassets/Placeholder/icon_signSuccess.imageset/icon_signSuccess@3x.png b/XQMuse/Assets.xcassets/Placeholder/icon_signSuccess.imageset/icon_signSuccess@3x.png
new file mode 100644
index 0000000..fbf0f32
--- /dev/null
+++ b/XQMuse/Assets.xcassets/Placeholder/icon_signSuccess.imageset/icon_signSuccess@3x.png
Binary files differ
diff --git a/XQMuse/Base/BaseNav.swift b/XQMuse/Base/BaseNav.swift
index 0e994ff..dbe40a8 100644
--- a/XQMuse/Base/BaseNav.swift
+++ b/XQMuse/Base/BaseNav.swift
@@ -86,6 +86,19 @@
 												navigationBar.standardAppearance.titleTextAttributes  = [.foregroundColor:Def_NavFontColor,.font:Def_NavFont]
 												navigationBar.scrollEdgeAppearance?.titleTextAttributes  = [.foregroundColor:Def_NavFontColor,.font:Def_NavFont]
 								}
+
+
+								if viewController is TreeTeskVC{
+												if #available(iOS 15.0, *) {
+																navigationBar.standardAppearance.backgroundColor = .white
+																navigationBar.scrollEdgeAppearance?.backgroundColor = .white
+																navigationBar.standardAppearance.titleTextAttributes  = [.foregroundColor:UIColor.black,.font:Def_NavFont]
+																navigationBar.scrollEdgeAppearance?.titleTextAttributes  = [.foregroundColor:UIColor.black,.font:Def_NavFont]
+												}else{
+																navigationBar.setBackgroundImage(UIImage(), for: .default)
+																navigationBar.shadowImage = UIImage()
+												}
+								}
 				}
 
 				//侧滑
diff --git a/XQMuse/Base/BaseTabBarVC.swift b/XQMuse/Base/BaseTabBarVC.swift
index 8f24df5..00ae03a 100644
--- a/XQMuse/Base/BaseTabBarVC.swift
+++ b/XQMuse/Base/BaseTabBarVC.swift
@@ -87,11 +87,11 @@
 								super.layoutSubviews()
 								for (index,item) in subviews.enumerated() {
 												if item.classForCoder == NSClassFromString("UITabBarButton"){
-																if index == 4{
+																if (item.value(forKey: "_label") as? UILabel)?.text?.contains("树苗") ?? false{
 																				item.isHidden = true
+																}else{
+																				item.isHidden = false
 																}
-//																if index == 3{item.jq_x -= 20}
-//																if index == 4{item.jq_x += 20}
 												}
 								}
 								unselectedItemTintColor = UIColor(hexStr: "#4E4E4E")
diff --git a/XQMuse/Config/Types.swift b/XQMuse/Config/Types.swift
index 8a58405..ac8391d 100644
--- a/XQMuse/Config/Types.swift
+++ b/XQMuse/Config/Types.swift
@@ -24,6 +24,8 @@
 				case guide = 4
 				/// 课程/冥想
 				case course = 5
+				/// 树苗规则
+				case treeRule = 6
 }
 
 
diff --git a/XQMuse/Root/Network/Models.swift b/XQMuse/Root/Network/Models.swift
index 222c9cb..9ed3bc3 100644
--- a/XQMuse/Root/Network/Models.swift
+++ b/XQMuse/Root/Network/Models.swift
@@ -14,6 +14,8 @@
 				var volume:Double = 0.5
 				var bgm:BGMModel?
 				var playModel:PlayMode = .line
+
+				var userFirstOpenTreeTask = true //第一次打开树苗
 }
 
 
diff --git a/XQMuse/Root/Other/View/CommonAlertView.swift b/XQMuse/Root/Other/View/CommonAlertView.swift
index 94af98e..4d5bdac 100644
--- a/XQMuse/Root/Other/View/CommonAlertView.swift
+++ b/XQMuse/Root/Other/View/CommonAlertView.swift
@@ -54,11 +54,20 @@
 								alertView.layoutSubviews()
 				}
 
-				static func show(title:String,attribute:NSMutableAttributedString,isSingle:Bool = false, clouse:@escaping (Bool)->Void){
+				static func show(title:String,attribute:NSMutableAttributedString,isSingle:Bool = false,cancelStr:String? = nil,completeStr:String? = nil, clouse:@escaping (Bool)->Void){
 								let alertView = CommonAlertView.jq_loadNibView()
 								alertView.label_title.text = title
 								alertView.btn_cancel.isHidden = isSingle
 								alertView.label_content.attributedText = attribute
+
+								if cancelStr != nil{
+												alertView.btn_cancel.setTitle(cancelStr!, for: .normal)
+								}
+
+								if completeStr != nil{
+												alertView.btn_complete.setTitle(completeStr!, for: .normal)
+								}
+
 								alertView.clouse = clouse
 								alertView.frame = sceneDelegate?.window?.frame ?? .zero
 								sceneDelegate?.window?.addSubview(alertView)
@@ -71,8 +80,7 @@
 
 				override func layoutSubviews() {
 								super.layoutSubviews()
-								btn_complete.jq_gradientNibColor(colorArr:  [UIColor(hexStr: "#8EA47A").cgColor,UIColor(hexStr: "#AFCA98").cgColor], cornerRadius: 20)
-//								btn_complete.localGradientColor(cornerRadius: 20)
+								btn_complete.localGradientColor(cornerRadius: 20)
 				}
 
 
diff --git a/XQMuse/Root/Other/View/CommonAlertView.xib b/XQMuse/Root/Other/View/CommonAlertView.xib
index e0be956..6e67a2b 100644
--- a/XQMuse/Root/Other/View/CommonAlertView.xib
+++ b/XQMuse/Root/Other/View/CommonAlertView.xib
@@ -28,7 +28,7 @@
                             <nil key="highlightedColor"/>
                         </label>
                         <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="raL-bN-qOz">
-                            <rect key="frame" x="30" y="85" width="243" height="20"/>
+                            <rect key="frame" x="21" y="85" width="261" height="20"/>
                             <constraints>
                                 <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="20" id="hYQ-ML-EmM"/>
                             </constraints>
@@ -36,23 +36,31 @@
                             <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.58999999999999997" colorSpace="custom" customColorSpace="calibratedRGB"/>
                             <nil key="highlightedColor"/>
                         </label>
-                        <stackView opaque="NO" contentMode="scaleToFill" distribution="fillEqually" spacing="10" translatesAutoresizingMaskIntoConstraints="NO" id="fy8-sq-PJ2">
+                        <stackView opaque="NO" contentMode="scaleToFill" distribution="fillEqually" spacing="39" translatesAutoresizingMaskIntoConstraints="NO" id="fy8-sq-PJ2">
                             <rect key="frame" x="40" y="160" width="223" height="40"/>
                             <subviews>
                                 <button hidden="YES" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="x3p-KY-6M2">
                                     <rect key="frame" x="0.0" y="0.0" width="0.0" height="40"/>
-                                    <color key="backgroundColor" red="0.75294117647058822" green="0.75294117647058822" blue="0.75294117647058822" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                    <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                                     <constraints>
                                         <constraint firstAttribute="height" constant="40" id="OWJ-IA-1NL"/>
                                     </constraints>
                                     <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.54117647058823526" green="0.68235294117647061" blue="0.396078431372549" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                    </state>
                                     <userDefinedRuntimeAttributes>
                                         <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB">
                                             <real key="value" value="20"/>
                                         </userDefinedRuntimeAttribute>
                                         <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/>
+                                        <userDefinedRuntimeAttribute type="color" keyPath="ld_borderColorXIB">
+                                            <color key="value" red="0.54117647059999996" green="0.68235294120000001" blue="0.39607843139999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                        </userDefinedRuntimeAttribute>
+                                        <userDefinedRuntimeAttribute type="number" keyPath="ld_borderWidthXIB">
+                                            <real key="value" value="1"/>
+                                        </userDefinedRuntimeAttribute>
                                     </userDefinedRuntimeAttributes>
                                     <connections>
                                         <action selector="closeAction:" destination="iN0-l3-epB" eventType="touchUpInside" id="qjm-NM-7gd"/>
@@ -86,9 +94,9 @@
                         <constraint firstAttribute="bottom" secondItem="fy8-sq-PJ2" secondAttribute="bottom" constant="20" id="A10-oV-IHK"/>
                         <constraint firstItem="fy8-sq-PJ2" firstAttribute="top" secondItem="raL-bN-qOz" secondAttribute="bottom" constant="55" id="Ar9-mL-jBv"/>
                         <constraint firstAttribute="trailing" secondItem="fy8-sq-PJ2" secondAttribute="trailing" constant="40" id="CKl-pv-K77"/>
-                        <constraint firstAttribute="trailing" secondItem="raL-bN-qOz" secondAttribute="trailing" constant="30" id="T4d-qj-pFi"/>
+                        <constraint firstAttribute="trailing" secondItem="raL-bN-qOz" secondAttribute="trailing" constant="21" id="T4d-qj-pFi"/>
                         <constraint firstItem="8x2-bB-pNn" firstAttribute="centerX" secondItem="MnH-T0-9ye" secondAttribute="centerX" id="cVP-So-X9I"/>
-                        <constraint firstItem="raL-bN-qOz" firstAttribute="leading" secondItem="MnH-T0-9ye" secondAttribute="leading" constant="30" id="lDV-JW-sCh"/>
+                        <constraint firstItem="raL-bN-qOz" firstAttribute="leading" secondItem="MnH-T0-9ye" secondAttribute="leading" constant="21" id="lDV-JW-sCh"/>
                         <constraint firstItem="8x2-bB-pNn" firstAttribute="top" secondItem="MnH-T0-9ye" secondAttribute="top" constant="24" id="mGE-YB-U7v"/>
                         <constraint firstItem="raL-bN-qOz" firstAttribute="top" secondItem="8x2-bB-pNn" secondAttribute="bottom" constant="43" id="oSb-O8-R6D"/>
                         <constraint firstItem="fy8-sq-PJ2" firstAttribute="leading" secondItem="MnH-T0-9ye" secondAttribute="leading" constant="40" id="yKt-aE-ake"/>
diff --git a/XQMuse/Root/TreeGroup/TCell/TreeTeskDetailListTCell.swift b/XQMuse/Root/TreeGroup/TCell/TreeTeskDetailListTCell.swift
new file mode 100644
index 0000000..b0600a9
--- /dev/null
+++ b/XQMuse/Root/TreeGroup/TCell/TreeTeskDetailListTCell.swift
@@ -0,0 +1,16 @@
+//
+//  TreeTeskDetailListTCell.swift
+//  XQMuse
+//
+//  Created by 无故事王国 on 2024/9/11.
+//
+
+import UIKit
+
+class TreeTeskDetailListTCell: UITableViewCell {
+
+    override func awakeFromNib() {
+        super.awakeFromNib()
+								selectionStyle = .none
+    }
+}
diff --git a/XQMuse/Root/TreeGroup/TCell/TreeTeskDetailListTCell.xib b/XQMuse/Root/TreeGroup/TCell/TreeTeskDetailListTCell.xib
new file mode 100644
index 0000000..fe1960a
--- /dev/null
+++ b/XQMuse/Root/TreeGroup/TCell/TreeTeskDetailListTCell.xib
@@ -0,0 +1,60 @@
+<?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">
+    <device id="retina6_12" orientation="portrait" appearance="light"/>
+    <dependencies>
+        <deployment identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
+        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
+        <tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" rowHeight="93" id="KGk-i7-Jjw" customClass="TreeTeskDetailListTCell" customModule="XQMuse" customModuleProvider="target">
+            <rect key="frame" x="0.0" y="0.0" width="493" height="93"/>
+            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+            <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
+                <rect key="frame" x="0.0" y="0.0" width="493" height="93"/>
+                <autoresizingMask key="autoresizingMask"/>
+                <subviews>
+                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0.00" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Glz-Zy-F1n">
+                        <rect key="frame" x="449" y="38" width="30" height="17"/>
+                        <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/>
+                        <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="sRGB"/>
+                        <nil key="highlightedColor"/>
+                    </label>
+                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="--" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="jNm-iE-MEv">
+                        <rect key="frame" x="14" y="16" width="13.333333333333336" height="17"/>
+                        <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/>
+                        <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="sRGB"/>
+                        <nil key="highlightedColor"/>
+                    </label>
+                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="yyyy-MM-dd HH:mm:ss" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="gtf-gz-3zb">
+                        <rect key="frame" x="14" y="35" width="154.33333333333334" height="17"/>
+                        <fontDescription key="fontDescription" type="system" pointSize="14"/>
+                        <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.40000000000000002" colorSpace="custom" customColorSpace="sRGB"/>
+                        <nil key="highlightedColor"/>
+                    </label>
+                    <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="d4H-i8-xi4">
+                        <rect key="frame" x="14" y="92.666666666666671" width="465" height="0.3333333333333286"/>
+                        <color key="backgroundColor" red="0.83137254901960778" green="0.83137254901960778" blue="0.83137254901960778" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                        <constraints>
+                            <constraint firstAttribute="height" constant="0.40000000000000002" id="dnM-2V-iAe"/>
+                        </constraints>
+                    </view>
+                </subviews>
+                <constraints>
+                    <constraint firstItem="Glz-Zy-F1n" firstAttribute="centerY" secondItem="H2p-sc-9uM" secondAttribute="centerY" id="4og-V7-th8"/>
+                    <constraint firstItem="gtf-gz-3zb" firstAttribute="leading" secondItem="jNm-iE-MEv" secondAttribute="leading" id="58i-v0-xvl"/>
+                    <constraint firstItem="jNm-iE-MEv" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="14" id="Euv-Lj-WCy"/>
+                    <constraint firstItem="jNm-iE-MEv" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="16" id="J01-3p-4HP"/>
+                    <constraint firstItem="d4H-i8-xi4" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="14" id="Ozt-NZ-jJ8"/>
+                    <constraint firstAttribute="trailing" secondItem="Glz-Zy-F1n" secondAttribute="trailing" constant="14" id="Vnd-xe-bxz"/>
+                    <constraint firstItem="gtf-gz-3zb" firstAttribute="top" secondItem="jNm-iE-MEv" secondAttribute="bottom" constant="2" id="hbP-uM-Jtp"/>
+                    <constraint firstAttribute="trailing" secondItem="d4H-i8-xi4" secondAttribute="trailing" constant="14" id="wru-ei-aXK"/>
+                    <constraint firstAttribute="bottom" secondItem="d4H-i8-xi4" secondAttribute="bottom" id="x9k-J8-fj9"/>
+                </constraints>
+            </tableViewCellContentView>
+            <point key="canvasLocation" x="197.70992366412213" y="36.971830985915496"/>
+        </tableViewCell>
+    </objects>
+</document>
diff --git a/XQMuse/Root/TreeGroup/TCell/TreeTeskEnergyExchangeRecordTCell.swift b/XQMuse/Root/TreeGroup/TCell/TreeTeskEnergyExchangeRecordTCell.swift
new file mode 100644
index 0000000..f4e949f
--- /dev/null
+++ b/XQMuse/Root/TreeGroup/TCell/TreeTeskEnergyExchangeRecordTCell.swift
@@ -0,0 +1,30 @@
+//
+//  TreeTeskEnergyExchangeRecordTCell.swift
+//  XQMuse
+//
+//  Created by 无故事王国 on 2024/9/11.
+//
+
+import UIKit
+import JQTools
+
+class TreeTeskEnergyExchangeRecordTCell: UITableViewCell {
+
+				@IBOutlet weak var view_container: UIView!
+				@IBOutlet weak var view_info: UIView!
+				@IBOutlet weak var view_code: UIView!
+				@IBOutlet weak var view_state: UIView!
+				
+    override func awakeFromNib() {
+        super.awakeFromNib()
+								selectionStyle = .none
+    }
+
+				override func layoutSubviews() {
+								super.layoutSubviews()
+								view_container.jq_addShadows(shadowColor: UIColor(hexString: "#EBEBEB")!, corner: 10, radius: 4, offset: CGSize(width: 0, height: 2), opacity: 1)
+								view_state.jq_addCorners(corner: [.bottomLeft,.topRight], radius: 10)
+				}
+
+
+}
diff --git a/XQMuse/Root/TreeGroup/TCell/TreeTeskEnergyExchangeRecordTCell.xib b/XQMuse/Root/TreeGroup/TCell/TreeTeskEnergyExchangeRecordTCell.xib
new file mode 100644
index 0000000..822b4e3
--- /dev/null
+++ b/XQMuse/Root/TreeGroup/TCell/TreeTeskEnergyExchangeRecordTCell.xib
@@ -0,0 +1,175 @@
+<?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">
+    <device id="retina6_12" orientation="portrait" appearance="light"/>
+    <dependencies>
+        <deployment identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/>
+        <capability name="System colors in document resources" minToolsVersion="11.0"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
+        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
+        <tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" rowHeight="244" id="KGk-i7-Jjw" customClass="TreeTeskEnergyExchangeRecordTCell" customModule="XQMuse" customModuleProvider="target">
+            <rect key="frame" x="0.0" y="0.0" width="468" height="244"/>
+            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+            <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
+                <rect key="frame" x="0.0" y="0.0" width="468" height="244"/>
+                <autoresizingMask key="autoresizingMask"/>
+                <subviews>
+                    <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Kvf-jK-fIA">
+                        <rect key="frame" x="13" y="6" width="442" height="120"/>
+                        <subviews>
+                            <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="3fv-ja-9kr">
+                                <rect key="frame" x="0.0" y="0.0" width="442" height="120"/>
+                                <subviews>
+                                    <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="qLn-vi-HZe">
+                                        <rect key="frame" x="0.0" y="0.0" width="442" height="78"/>
+                                        <subviews>
+                                            <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="owe-zF-I6L">
+                                                <rect key="frame" x="11" y="14" width="50" height="50"/>
+                                                <color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.40000000000000002" colorSpace="custom" customColorSpace="sRGB"/>
+                                                <constraints>
+                                                    <constraint firstAttribute="width" constant="50" id="3XP-pV-XBp"/>
+                                                    <constraint firstAttribute="height" constant="50" id="JbZ-0G-o5n"/>
+                                                </constraints>
+                                                <userDefinedRuntimeAttributes>
+                                                    <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/>
+                                                    <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB">
+                                                        <real key="value" value="4"/>
+                                                    </userDefinedRuntimeAttribute>
+                                                </userDefinedRuntimeAttributes>
+                                            </imageView>
+                                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="WtU-Jl-cYE">
+                                                <rect key="frame" x="71" y="14" width="31.666666666666671" height="14.333333333333336"/>
+                                                <fontDescription key="fontDescription" type="system" weight="medium" pointSize="12"/>
+                                                <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="sRGB"/>
+                                                <nil key="highlightedColor"/>
+                                            </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="XYi-0C-yik">
+                                                <rect key="frame" x="71" y="36.333333333333336" width="64.333333333333314" height="12"/>
+                                                <fontDescription key="fontDescription" type="system" weight="medium" pointSize="10"/>
+                                                <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.59999999999999998" 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="BQ5-Kp-B8d">
+                                                <rect key="frame" x="71" y="56.333333333333336" width="68" height="12.000000000000007"/>
+                                                <fontDescription key="fontDescription" type="system" weight="medium" pointSize="10"/>
+                                                <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.59999999999999998" colorSpace="custom" customColorSpace="sRGB"/>
+                                                <nil key="highlightedColor"/>
+                                            </label>
+                                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Q8E-mB-4rp">
+                                                <rect key="frame" x="370" y="0.0" width="72" height="28"/>
+                                                <subviews>
+                                                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="待领取" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="mbs-Qr-YmI">
+                                                        <rect key="frame" x="0.0" y="0.0" width="72" height="28"/>
+                                                        <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/>
+                                                        <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                                        <nil key="highlightedColor"/>
+                                                    </label>
+                                                </subviews>
+                                                <color key="backgroundColor" red="0.69411764705882351" green="0.792156862745098" blue="0.59999999999999998" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                                <constraints>
+                                                    <constraint firstItem="mbs-Qr-YmI" firstAttribute="top" secondItem="Q8E-mB-4rp" secondAttribute="top" id="6s5-ZB-8Ec"/>
+                                                    <constraint firstAttribute="bottom" secondItem="mbs-Qr-YmI" secondAttribute="bottom" id="Yfi-Vz-A7S"/>
+                                                    <constraint firstAttribute="height" constant="28" id="hSD-n6-1yf"/>
+                                                    <constraint firstAttribute="width" constant="72" id="kCI-Yh-0ej"/>
+                                                    <constraint firstAttribute="trailing" secondItem="mbs-Qr-YmI" secondAttribute="trailing" id="m17-cD-O9a"/>
+                                                    <constraint firstItem="mbs-Qr-YmI" firstAttribute="leading" secondItem="Q8E-mB-4rp" secondAttribute="leading" id="sxB-DE-Pkq"/>
+                                                </constraints>
+                                            </view>
+                                        </subviews>
+                                        <constraints>
+                                            <constraint firstItem="XYi-0C-yik" firstAttribute="top" secondItem="WtU-Jl-cYE" secondAttribute="bottom" constant="8" id="DT4-tL-Jkl"/>
+                                            <constraint firstAttribute="height" constant="78" id="LVN-rh-pa9"/>
+                                            <constraint firstItem="WtU-Jl-cYE" firstAttribute="leading" secondItem="owe-zF-I6L" secondAttribute="trailing" constant="10" id="Mbu-cY-Ydw"/>
+                                            <constraint firstItem="Q8E-mB-4rp" firstAttribute="top" secondItem="qLn-vi-HZe" secondAttribute="top" id="Si2-Sd-pyP"/>
+                                            <constraint firstItem="XYi-0C-yik" firstAttribute="leading" secondItem="WtU-Jl-cYE" secondAttribute="leading" id="Uu9-ps-02q"/>
+                                            <constraint firstItem="WtU-Jl-cYE" firstAttribute="top" secondItem="owe-zF-I6L" secondAttribute="top" id="cPj-iQ-rb0"/>
+                                            <constraint firstAttribute="trailing" secondItem="Q8E-mB-4rp" secondAttribute="trailing" id="fKX-BQ-avF"/>
+                                            <constraint firstItem="owe-zF-I6L" firstAttribute="centerY" secondItem="qLn-vi-HZe" secondAttribute="centerY" id="nJ1-Xl-3hX"/>
+                                            <constraint firstItem="BQ5-Kp-B8d" firstAttribute="top" secondItem="XYi-0C-yik" secondAttribute="bottom" constant="8" id="wIn-r5-VQu"/>
+                                            <constraint firstItem="BQ5-Kp-B8d" firstAttribute="leading" secondItem="WtU-Jl-cYE" secondAttribute="leading" id="xK2-D6-PAR"/>
+                                            <constraint firstItem="owe-zF-I6L" firstAttribute="leading" secondItem="qLn-vi-HZe" secondAttribute="leading" constant="11" id="xMr-Bo-peP"/>
+                                        </constraints>
+                                    </view>
+                                    <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="DZM-ob-eeu">
+                                        <rect key="frame" x="0.0" y="78" width="442" height="42"/>
+                                        <subviews>
+                                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="khj-1M-AnE">
+                                                <rect key="frame" x="11" y="0.0" width="420" height="1"/>
+                                                <color key="backgroundColor" red="0.59215686274509804" green="0.59215686274509804" blue="0.59215686274509804" alpha="0.089999999999999997" colorSpace="custom" customColorSpace="sRGB"/>
+                                                <constraints>
+                                                    <constraint firstAttribute="height" constant="1" id="f5X-Jd-xae"/>
+                                                </constraints>
+                                            </view>
+                                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="olh-fD-Ozh">
+                                                <rect key="frame" x="11" y="6" width="420" height="30"/>
+                                                <subviews>
+                                                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="领取验证码:--" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="emz-hg-MQM">
+                                                        <rect key="frame" x="0.0" y="0.0" width="420" height="30"/>
+                                                        <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="12"/>
+                                                        <color key="textColor" red="0.56470588235294117" green="0.65490196078431373" blue="0.48627450980392156" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                                        <nil key="highlightedColor"/>
+                                                    </label>
+                                                </subviews>
+                                                <color key="backgroundColor" red="0.55686274509803924" green="0.64313725490196072" blue="0.47843137254901957" alpha="0.17999999999999999" colorSpace="custom" customColorSpace="sRGB"/>
+                                                <constraints>
+                                                    <constraint firstAttribute="trailing" secondItem="emz-hg-MQM" secondAttribute="trailing" id="JZY-OH-CrJ"/>
+                                                    <constraint firstItem="emz-hg-MQM" firstAttribute="leading" secondItem="olh-fD-Ozh" secondAttribute="leading" id="NLX-MB-Dod"/>
+                                                    <constraint firstItem="emz-hg-MQM" firstAttribute="top" secondItem="olh-fD-Ozh" secondAttribute="top" id="Qpg-Fu-J4t"/>
+                                                    <constraint firstAttribute="bottom" secondItem="emz-hg-MQM" secondAttribute="bottom" id="WBw-Cg-C6k"/>
+                                                    <constraint firstAttribute="height" constant="30" id="iMa-Gs-CsP"/>
+                                                </constraints>
+                                                <userDefinedRuntimeAttributes>
+                                                    <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/>
+                                                    <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB">
+                                                        <real key="value" value="4"/>
+                                                    </userDefinedRuntimeAttribute>
+                                                </userDefinedRuntimeAttributes>
+                                            </view>
+                                        </subviews>
+                                        <constraints>
+                                            <constraint firstAttribute="trailing" secondItem="khj-1M-AnE" secondAttribute="trailing" constant="11" id="3d1-8n-mdd"/>
+                                            <constraint firstAttribute="trailing" secondItem="olh-fD-Ozh" secondAttribute="trailing" constant="11" id="JX4-ak-Q7C"/>
+                                            <constraint firstItem="olh-fD-Ozh" firstAttribute="top" secondItem="khj-1M-AnE" secondAttribute="bottom" constant="5" id="McK-HZ-Joi"/>
+                                            <constraint firstItem="olh-fD-Ozh" firstAttribute="leading" secondItem="DZM-ob-eeu" secondAttribute="leading" constant="11" id="a2K-iE-pAK"/>
+                                            <constraint firstItem="khj-1M-AnE" firstAttribute="top" secondItem="DZM-ob-eeu" secondAttribute="top" id="gnt-aw-AsY"/>
+                                            <constraint firstItem="khj-1M-AnE" firstAttribute="leading" secondItem="DZM-ob-eeu" secondAttribute="leading" constant="11" id="qKF-Ie-RcC"/>
+                                            <constraint firstAttribute="bottom" secondItem="olh-fD-Ozh" secondAttribute="bottom" constant="6" id="r4c-Bp-QND"/>
+                                        </constraints>
+                                    </view>
+                                </subviews>
+                            </stackView>
+                        </subviews>
+                        <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+                        <constraints>
+                            <constraint firstItem="3fv-ja-9kr" firstAttribute="leading" secondItem="Kvf-jK-fIA" secondAttribute="leading" id="14T-uF-P03"/>
+                            <constraint firstItem="3fv-ja-9kr" firstAttribute="top" secondItem="Kvf-jK-fIA" secondAttribute="top" id="QYb-qw-jgN"/>
+                            <constraint firstAttribute="trailing" secondItem="3fv-ja-9kr" secondAttribute="trailing" id="pSk-wR-YVe"/>
+                            <constraint firstAttribute="bottom" secondItem="3fv-ja-9kr" secondAttribute="bottom" id="qfG-EX-P4P"/>
+                        </constraints>
+                    </view>
+                </subviews>
+                <constraints>
+                    <constraint firstItem="Kvf-jK-fIA" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="13" id="QI6-Cr-UDY"/>
+                    <constraint firstItem="Kvf-jK-fIA" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="6" id="bI0-t2-Ngo"/>
+                    <constraint firstAttribute="trailing" secondItem="Kvf-jK-fIA" secondAttribute="trailing" constant="13" id="bZn-0g-pPK"/>
+                    <constraint firstAttribute="bottom" secondItem="Kvf-jK-fIA" secondAttribute="bottom" priority="750" constant="6" id="lMJ-Qm-gdn"/>
+                </constraints>
+            </tableViewCellContentView>
+            <connections>
+                <outlet property="view_code" destination="DZM-ob-eeu" id="b1H-JY-pFF"/>
+                <outlet property="view_container" destination="Kvf-jK-fIA" id="KWA-qV-HeU"/>
+                <outlet property="view_info" destination="qLn-vi-HZe" id="n3M-yH-GAU"/>
+                <outlet property="view_state" destination="Q8E-mB-4rp" id="m22-Qp-ENY"/>
+            </connections>
+            <point key="canvasLocation" x="123.66412213740458" y="24.647887323943664"/>
+        </tableViewCell>
+    </objects>
+    <resources>
+        <systemColor name="systemBackgroundColor">
+            <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+        </systemColor>
+    </resources>
+</document>
diff --git a/XQMuse/Root/TreeGroup/TCell/TreeTeskEnergyTCell.swift b/XQMuse/Root/TreeGroup/TCell/TreeTeskEnergyTCell.swift
new file mode 100644
index 0000000..cb85aa2
--- /dev/null
+++ b/XQMuse/Root/TreeGroup/TCell/TreeTeskEnergyTCell.swift
@@ -0,0 +1,28 @@
+//
+//  TreeTeskEnergyTCell.swift
+//  XQMuse
+//
+//  Created by 无故事王国 on 2024/9/11.
+//
+
+import UIKit
+import JQTools
+
+class TreeTeskEnergyTCell: UITableViewCell {
+
+				@IBOutlet weak var view_container: UIView!
+
+				override func awakeFromNib() {
+        super.awakeFromNib()
+								selectionStyle = .none
+    }
+
+				override func layoutSubviews() {
+								super.layoutSubviews()
+								view_container.jq_addShadows(shadowColor: UIColor(hexString: "#EBEBEB")!, corner: 10, radius: 4, offset: CGSize(width: 0, height: 2), opacity: 1)
+				}
+
+				func isExchanged(_ state:Bool){
+								view_container.alpha = state == true ? 0.5:1
+				}
+}
diff --git a/XQMuse/Root/TreeGroup/TCell/TreeTeskEnergyTCell.xib b/XQMuse/Root/TreeGroup/TCell/TreeTeskEnergyTCell.xib
new file mode 100644
index 0000000..75aeaa0
--- /dev/null
+++ b/XQMuse/Root/TreeGroup/TCell/TreeTeskEnergyTCell.xib
@@ -0,0 +1,99 @@
+<?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">
+    <device id="retina6_12" orientation="portrait" appearance="light"/>
+    <dependencies>
+        <deployment identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/>
+        <capability name="System colors in document resources" minToolsVersion="11.0"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
+        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
+        <tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" rowHeight="149" id="KGk-i7-Jjw" customClass="TreeTeskEnergyTCell" customModule="XQMuse" customModuleProvider="target">
+            <rect key="frame" x="0.0" y="0.0" width="477" height="149"/>
+            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+            <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
+                <rect key="frame" x="0.0" y="0.0" width="477" height="149"/>
+                <autoresizingMask key="autoresizingMask"/>
+                <subviews>
+                    <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="woz-r3-sT7">
+                        <rect key="frame" x="13" y="6" width="451" height="137"/>
+                        <subviews>
+                            <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="e5F-Yd-WS5">
+                                <rect key="frame" x="11" y="43.666666666666657" width="50" height="50"/>
+                                <color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.40000000000000002" colorSpace="custom" customColorSpace="sRGB"/>
+                                <constraints>
+                                    <constraint firstAttribute="width" constant="50" id="Iyf-X2-uW5"/>
+                                    <constraint firstAttribute="height" constant="50" id="kwz-cW-a3N"/>
+                                </constraints>
+                                <userDefinedRuntimeAttributes>
+                                    <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/>
+                                    <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB">
+                                        <real key="value" value="4"/>
+                                    </userDefinedRuntimeAttribute>
+                                </userDefinedRuntimeAttributes>
+                            </imageView>
+                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ngg-7A-Acy">
+                                <rect key="frame" x="71" y="43.666666666666664" width="31" height="14.333333333333336"/>
+                                <fontDescription key="fontDescription" type="system" weight="medium" pointSize="12"/>
+                                <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="sRGB"/>
+                                <nil key="highlightedColor"/>
+                            </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="Ur6-cY-xSA">
+                                <rect key="frame" x="71" y="66" width="64.333333333333314" height="12"/>
+                                <fontDescription key="fontDescription" type="system" weight="medium" pointSize="10"/>
+                                <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.59999999999999998" 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="zFc-Mw-j6J">
+                                <rect key="frame" x="71" y="86" width="68" height="12"/>
+                                <fontDescription key="fontDescription" type="system" weight="medium" pointSize="10"/>
+                                <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.59999999999999998" colorSpace="custom" customColorSpace="sRGB"/>
+                                <nil key="highlightedColor"/>
+                            </label>
+                            <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_exchange_1" translatesAutoresizingMaskIntoConstraints="NO" id="Os2-bB-bZ9">
+                                <rect key="frame" x="400" y="45.666666666666657" width="46" height="46"/>
+                            </imageView>
+                            <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_exchanged" translatesAutoresizingMaskIntoConstraints="NO" id="8Vp-5D-KCR">
+                                <rect key="frame" x="306" y="37" width="78" height="63"/>
+                            </imageView>
+                        </subviews>
+                        <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+                        <constraints>
+                            <constraint firstItem="zFc-Mw-j6J" firstAttribute="leading" secondItem="ngg-7A-Acy" secondAttribute="leading" id="2k7-U4-ceq"/>
+                            <constraint firstItem="Ur6-cY-xSA" firstAttribute="leading" secondItem="ngg-7A-Acy" secondAttribute="leading" id="3Nq-S5-BaN"/>
+                            <constraint firstItem="e5F-Yd-WS5" firstAttribute="centerY" secondItem="woz-r3-sT7" secondAttribute="centerY" id="596-qk-Xep"/>
+                            <constraint firstItem="Ur6-cY-xSA" firstAttribute="top" secondItem="ngg-7A-Acy" secondAttribute="bottom" constant="8" id="A0D-Rc-UKY"/>
+                            <constraint firstAttribute="trailing" secondItem="Os2-bB-bZ9" secondAttribute="trailing" constant="5" id="BIV-6J-uOb"/>
+                            <constraint firstItem="Os2-bB-bZ9" firstAttribute="centerY" secondItem="woz-r3-sT7" secondAttribute="centerY" id="BeI-1L-eVv"/>
+                            <constraint firstItem="ngg-7A-Acy" firstAttribute="top" secondItem="e5F-Yd-WS5" secondAttribute="top" id="No0-7Z-z4X"/>
+                            <constraint firstItem="Os2-bB-bZ9" firstAttribute="leading" secondItem="8Vp-5D-KCR" secondAttribute="trailing" constant="16" id="cz7-5y-Zho"/>
+                            <constraint firstItem="e5F-Yd-WS5" firstAttribute="leading" secondItem="woz-r3-sT7" secondAttribute="leading" constant="11" id="f8F-jO-0Pg"/>
+                            <constraint firstItem="ngg-7A-Acy" firstAttribute="leading" secondItem="e5F-Yd-WS5" secondAttribute="trailing" constant="10" id="huy-v2-7HT"/>
+                            <constraint firstItem="8Vp-5D-KCR" firstAttribute="centerY" secondItem="woz-r3-sT7" secondAttribute="centerY" id="kDz-bP-NY1"/>
+                            <constraint firstItem="zFc-Mw-j6J" firstAttribute="top" secondItem="Ur6-cY-xSA" secondAttribute="bottom" constant="8" id="zlR-gk-9Hs"/>
+                        </constraints>
+                    </view>
+                </subviews>
+                <constraints>
+                    <constraint firstAttribute="bottom" secondItem="woz-r3-sT7" secondAttribute="bottom" constant="6" id="JHS-O8-PHq"/>
+                    <constraint firstItem="woz-r3-sT7" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="13" id="Nb5-JZ-hdZ"/>
+                    <constraint firstAttribute="trailing" secondItem="woz-r3-sT7" secondAttribute="trailing" constant="13" id="jCi-H5-zeG"/>
+                    <constraint firstItem="woz-r3-sT7" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="6" id="yam-WY-E5R"/>
+                </constraints>
+            </tableViewCellContentView>
+            <connections>
+                <outlet property="view_container" destination="woz-r3-sT7" id="Jjw-os-T4t"/>
+            </connections>
+            <point key="canvasLocation" x="258.77862595419845" y="57.394366197183103"/>
+        </tableViewCell>
+    </objects>
+    <resources>
+        <image name="icon_exchange_1" width="46" height="46"/>
+        <image name="icon_exchanged" width="78" height="63"/>
+        <systemColor name="systemBackgroundColor">
+            <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+        </systemColor>
+    </resources>
+</document>
diff --git a/XQMuse/Root/TreeGroup/TreeTeskVC.swift b/XQMuse/Root/TreeGroup/TreeTeskVC.swift
index 4f0e327..469f18e 100644
--- a/XQMuse/Root/TreeGroup/TreeTeskVC.swift
+++ b/XQMuse/Root/TreeGroup/TreeTeskVC.swift
@@ -40,6 +40,20 @@
 
 class TreeTeskVC: BaseVC {
 
+				@IBOutlet weak var view_energy: UIView!
+				@IBOutlet weak var icon_energy: UILabel!
+				@IBOutlet weak var btn_exchange: TapBtn!
+				@IBOutlet weak var btn_watering: UIButton!
+				@IBOutlet weak var view_group: UIView!
+				@IBOutlet weak var view_group_inner: UIView!
+				@IBOutlet weak var btn_seedingAgain: UIButton!
+				@IBOutlet weak var view_progressTotal: UIView!
+				@IBOutlet weak var view_progress: UIView!
+				@IBOutlet weak var cons_progressHei: NSLayoutConstraint!
+				@IBOutlet weak var label_progress: UILabel!
+				
+				private var tempEnergy:Int = 0
+
 				private lazy var player:AVPlayer = {
 								let bgPath = Bundle.main.url(forResource: "bg", withExtension: "mov")
 								let p = AVPlayer(url: bgPath!)
@@ -48,10 +62,18 @@
 				}()
 
 				private lazy var playerLayer:AVPlayerLayer = {
-								 let pLayer = AVPlayerLayer()
+								let pLayer = AVPlayerLayer()
 								pLayer.videoGravity = .resize
 								return pLayer
 				}()
+
+				private lazy var taskListView:TreeTeskListView = {
+								let view = TreeTeskListView.jq_loadNibView()
+								return view
+				}()
+
+				private var treeTeskListSwipe:TreeTeskListSwipe = .down
+				private var settingModel = UserDefaultSettingViewModel.getSetting()
 
 				private var treeImage = UIImageView()
 				private var aPNGTreeImageView:APNGImageView?
@@ -81,30 +103,79 @@
 				override func viewDidLayoutSubviews() {
 								super.viewDidLayoutSubviews()
 								playerLayer.frame = view.frame
+
+								view.bringSubviewToFront(self.view_energy)
+								view.bringSubviewToFront(self.btn_exchange)
+								view.bringSubviewToFront(self.btn_watering)
+								view.bringSubviewToFront(self.view_group)
+								view.bringSubviewToFront(self.btn_seedingAgain)
+								view.bringSubviewToFront(self.taskListView)
+
+								btn_seedingAgain.jq_borderWidth = 1
+								btn_seedingAgain.jq_borderColor = UIColor(hexString: "#8AAE65")
+								btn_seedingAgain.jq_addShadows(shadowColor: .white, corner: 20, radius: 5, offset: CGSize(width: 0, height: 0), opacity: 1)
+
+								taskListView.jq_addCorners(corner: [.topLeft,.topRight], radius: 20)
 				}
 
-    override func viewDidLoad() {
-        super.viewDidLoad()
-
+				override func viewDidLoad() {
+								super.viewDidLoad()
+								title = "树苗打卡站"
 								treeLevel = .level_1
-    }
+
+								if settingModel!.userFirstOpenTreeTask{
+												DispatchQueue.main.asyncAfter(delay: 2.0) {
+																let h = (JQ_ScreenW - 90) * 0.8766
+																TreeTeskFirstRuleView.show(title: "心泉之树", content:"亲爱的家人,感谢您用心的交流。\n现在,您心灵之树的种子已经植入这片沃土,请以农夫的心态用心浇灌,不久的将来,将会长成苍天大树,结出丰硕的果实。加油哦!",textAlignment: .left,height: h,textTopOffset: 22)
+												}
+								}
+
+								let h = (JQ_ScreenW - 90) * 0.7729
+								TreeTeskFirstRuleView.show(title: "升级", content:"恭喜!你的树苗已升级为XX阶段!",textAlignment: .center,height: h,textTopOffset: 57)
+
+								DispatchQueue.main.asyncAfter(deadline: .now()+2.0) {
+												self.setProgress(current: 900, total: 1800)
+								}
+
+				}
 
 				override func setUI() {
+
+								let btn = UIButton(type: .custom)
+								btn.setTitle("规则说明", for: .normal)
+								btn.setTitleColor(.black.withAlphaComponent(0.55), for: .normal)
+								btn.titleLabel?.font = .systemFont(ofSize: 14, weight: .medium)
+								btn.addTarget(self, action: #selector(ruleAction), for: .touchUpInside)
+
+								navigationItem.rightBarButtonItem = UIBarButtonItem(customView: btn)
+
+								btn_exchange.jq_cornerPartWithNib(byRoundingCorners: [.topLeft,.bottomLeft], radii: 17.5, size: CGSizeMake(98, 35))
+
 								playerLayer.player = player
 								view.layer.addSublayer(playerLayer)
 								player.play()
+
+								view_group_inner.jq_addCorners(corner: [.topLeft,.bottomRight], radius: 8)
 
 
 								if let sunApngImage = try? APNGImage(fileURL: Bundle.main.url(forResource: "apngb-animated_sun", withExtension: "png")!){
 												sunApngImage.numberOfPlays = 2
 												aPNGSunImageView = APNGImageView(image: sunApngImage)
 												view.addSubview(aPNGSunImageView!)
+												aPNGSunImageView?.layer.zPosition = -998
 												aPNGSunImageView!.snp.makeConstraints { make in
 																make.edges.equalToSuperview()
 												}
 												aPNGSunImageView!.startAnimating()
 								}
 								updateAni()
+
+								view.addSubview(taskListView)
+								taskListView.snp.makeConstraints { make in
+												make.left.right.equalToSuperview()
+												make.bottom.equalToSuperview().offset((JQ_ScreenW * 0.655 - 50))
+												make.height.equalTo(JQ_ScreenW * 0.655)
+								}
 				}
 
 				override func setRx() {
@@ -126,39 +197,100 @@
 																self?.aPNGTreeImageView?.startAnimating()
 												}
 								}
+
+								taskListView.swipeClouse {[unowned self] dirition in
+												guard self.treeTeskListSwipe != dirition else {return}
+												self.treeTeskListSwipe = dirition
+												switch dirition{
+																case .down:
+																				UIView.animate(withDuration: 0.3) {
+																								self.taskListView.snp.updateConstraints { make in
+																												make.left.right.equalToSuperview()
+																												make.bottom.equalToSuperview().offset((JQ_ScreenW * 0.655 - 50))
+																												make.height.equalTo(JQ_ScreenW * 0.655)
+																								}
+																								self.view.layoutIfNeeded()
+																				}
+																case .up:
+																				UIView.animate(withDuration: 0.3) {
+																								self.taskListView.snp.updateConstraints { make in
+																												make.left.right.equalToSuperview()
+																												make.bottom.equalToSuperview()
+																												make.height.equalTo(JQ_ScreenW * 0.655)
+																								}
+																								self.view.layoutIfNeeded()
+																				}
+												}
+								}
+				}
+
+				// 0 - 100
+				private func setProgress(current:Int,total:Int){
+
+								let pix = view_progressTotal.height / Double(total)
+								let px = Double(current) * pix
+								let max = view_progressTotal.height - 5
+								cons_progressHei.constant = min(px,max)
+
+								self.label_progress.attributedText = AttributedStringbuilder.build().add(string: "\(current)", withFont: .systemFont(ofSize: 12, weight: .bold), withColor: .white, indent: 0, lineSpace: 0).add(string: "\n/\(total)", withFont: .systemFont(ofSize: 11,weight: .thin), withColor: .white).mutableAttributedString
+								self.label_progress.textAlignment = .center
+
+								UIView.animate(withDuration: 1.5) {
+												self.view_progressTotal.layoutIfNeeded()
+												self.view_progress.jq_gradientColor(colorArr: [UIColor(hexString: "#FCFECA")!.cgColor,UIColor(hexString: "#3CB56A")!.cgColor], cornerRadius: 2.5,startPoint: CGPoint(x: 0, y: 0),endPoint: CGPoint(x: 1, y: 1),clear: true)
+								}
+				}
+
+				//能量明细
+				@IBAction func energyDetailAction(_ sender: TapBtn) {
+
+								let vc = TreeTeskDetailVC()
+								push(vc: vc)
+				}
+
+				//兑换
+				@IBAction func exchangeAction(_ sender: TapBtn) {
+								let vc = TreeTeskEnergyExchangeVC()
+								push(vc: vc)
+				}
+
+				@IBAction func wateringAction(_ sender: UIButton) {
+								if let waterApngImage = try? APNGImage(fileURL: Bundle.main.url(forResource: "apngb-animated-flow", withExtension:"png")!){
+												waterApngImage.numberOfPlays = 2
+												aPNGActionImageView = APNGImageView(image: waterApngImage)
+												aPNGActionImageView!.alpha = 0
+												aPNGSunImageView?.contentMode = .scaleToFill
+												view.addSubview(aPNGActionImageView!)
+												aPNGActionImageView!.snp.makeConstraints { make in
+																make.center.equalToSuperview().inset(UIEdgeInsets(top: 90, left: 140, bottom: 0, right: 0))
+																make.width.equalTo(200)
+																make.height.equalTo(150)
+												}
+												UIView.animate(withDuration: 0.5) {
+																self.aPNGActionImageView!.alpha = 1.0
+												}
+												aPNGActionImageView!.startAnimating()
+
+												aPNGActionImageView!.onOnePlayDone.delegate(on: self) {[unowned self] a,b in
+																if b == 2{
+																				UIView.animate(withDuration: 0.5) {
+																								self.aPNGActionImageView!.alpha = 0
+																				}completion: { _ in
+																								self.aPNGActionImageView!.removeFromSuperview()
+																				}
+																}
+												}
+								}
 				}
 
 				@objc func jumpAction(){
-
 								treeLevel = TreeLevel(rawValue: treeLevel.rawValue + 1) ?? TreeLevel.level_1
+				}
 
-
-//								if let waterApngImage = try? APNGImage(fileURL: Bundle.main.url(forResource: "apngb-animated-flow", withExtension:"png")!){
-//												waterApngImage.numberOfPlays = 2
-//												aPNGActionImageView = APNGImageView(image: waterApngImage)
-//												aPNGActionImageView!.alpha = 0
-//												aPNGSunImageView?.contentMode = .scaleToFill
-//												view.addSubview(aPNGActionImageView!)
-//												aPNGActionImageView!.snp.makeConstraints { make in
-//																make.center.equalToSuperview().inset(UIEdgeInsets(top: 90, left: 140, bottom: 0, right: 0))
-//																make.width.equalTo(200)
-//																make.height.equalTo(150)
-//												}
-//												UIView.animate(withDuration: 0.5) {
-//																self.aPNGActionImageView!.alpha = 1.0
-//												}
-//												aPNGActionImageView!.startAnimating()
-//
-//												aPNGActionImageView!.onOnePlayDone.delegate(on: self) {[unowned self] a,b in
-//																if b == 2{
-//																				UIView.animate(withDuration: 0.5) {
-//																								self.aPNGActionImageView!.alpha = 0
-//																				}completion: { _ in
-//																								self.aPNGActionImageView!.removeFromSuperview()
-//																				}
-//																}
-//												}
-//								}
+				@objc func ruleAction(){
+								let vc = WebVC(type: .treeRule)
+								vc.title = "规则说明"
+								push(vc: vc)
 				}
 
 				private func updateAni(){
@@ -184,7 +316,7 @@
 																view.addSubview(aPNGTreeImageView!)
 												}
 
-//												aPNGTreeImageView!.backgroundColor = .red.withAlphaComponent(0.1)
+												//												aPNGTreeImageView!.backgroundColor = .red.withAlphaComponent(0.1)
 												let scale:Double = 0.55
 
 												aPNGTreeImageView!.snp.remakeConstraints { make in
diff --git a/XQMuse/Root/TreeGroup/TreeTeskVC.xib b/XQMuse/Root/TreeGroup/TreeTeskVC.xib
index 13222ca..a78fab8 100644
--- a/XQMuse/Root/TreeGroup/TreeTeskVC.xib
+++ b/XQMuse/Root/TreeGroup/TreeTeskVC.xib
@@ -1,22 +1,222 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="13142" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+<?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">
+    <device id="retina6_12" orientation="portrait" appearance="light"/>
     <dependencies>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12042"/>
+        <deployment identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/>
         <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"/>
     </dependencies>
     <objects>
-        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="TreeTeskVC" customModuleProvider="target">
+        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="TreeTeskVC" customModule="XQMuse" customModuleProvider="target">
             <connections>
+                <outlet property="btn_exchange" destination="jpV-f9-inW" id="KXs-DA-fPF"/>
+                <outlet property="btn_seedingAgain" destination="3gR-ZK-wtr" id="kgw-Nc-OTf"/>
+                <outlet property="btn_watering" destination="gww-ob-FiX" id="EPL-IN-psj"/>
+                <outlet property="cons_progressHei" destination="J7Y-Xp-9Df" id="g0o-xA-o9q"/>
+                <outlet property="icon_energy" destination="9Xg-17-kuV" id="Kv8-bS-FDh"/>
+                <outlet property="label_progress" destination="wTZ-b3-Kud" id="wKt-Wc-bC9"/>
                 <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
+                <outlet property="view_energy" destination="fz4-8h-sWT" id="366-Cs-T4o"/>
+                <outlet property="view_group" destination="ry3-dr-0vG" id="R3L-kX-IBJ"/>
+                <outlet property="view_group_inner" destination="e8f-kS-jme" id="NTw-b0-Xcz"/>
+                <outlet property="view_progress" destination="fLi-wG-4VM" id="mJv-Mz-KLc"/>
+                <outlet property="view_progressTotal" destination="oQj-Ix-ens" id="wJa-lQ-xad"/>
             </connections>
         </placeholder>
         <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
         <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT">
-            <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
+            <rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
             <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-            <color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
+            <subviews>
+                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="jpV-f9-inW" customClass="TapBtn" customModule="XQMuse" customModuleProvider="target">
+                    <rect key="frame" x="295" y="79" width="98" height="35"/>
+                    <subviews>
+                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_gift" translatesAutoresizingMaskIntoConstraints="NO" id="hfb-m4-ng1">
+                            <rect key="frame" x="0.0" y="0.0" width="35" height="35"/>
+                        </imageView>
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="礼品兑换" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="u3e-Oh-9NT">
+                            <rect key="frame" x="38" y="9" width="57.333333333333343" height="17"/>
+                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/>
+                            <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
+                            <nil key="highlightedColor"/>
+                        </label>
+                    </subviews>
+                    <color key="backgroundColor" red="1" green="0.50980392156862742" blue="0.15686274509803921" alpha="1" colorSpace="calibratedRGB"/>
+                    <constraints>
+                        <constraint firstItem="u3e-Oh-9NT" firstAttribute="leading" secondItem="hfb-m4-ng1" secondAttribute="trailing" constant="3" id="JwJ-bc-fT7"/>
+                        <constraint firstItem="hfb-m4-ng1" firstAttribute="top" secondItem="jpV-f9-inW" secondAttribute="top" id="fX8-t8-ap8"/>
+                        <constraint firstItem="u3e-Oh-9NT" firstAttribute="centerY" secondItem="jpV-f9-inW" secondAttribute="centerY" id="h0Z-vb-zTU"/>
+                        <constraint firstAttribute="bottom" secondItem="hfb-m4-ng1" secondAttribute="bottom" id="wlE-XI-FWF"/>
+                        <constraint firstItem="hfb-m4-ng1" firstAttribute="leading" secondItem="jpV-f9-inW" secondAttribute="leading" id="wp7-ZG-DRf"/>
+                        <constraint firstAttribute="height" constant="35" id="yT7-bc-N9e"/>
+                        <constraint firstAttribute="width" constant="98" id="yUD-Xn-s00"/>
+                    </constraints>
+                    <connections>
+                        <action selector="exchangeAction:" destination="-1" eventType="touchUpInside" id="c5G-wQ-2XC"/>
+                    </connections>
+                </view>
+                <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="gww-ob-FiX">
+                    <rect key="frame" x="331" y="170" width="48" height="48"/>
+                    <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
+                    <state key="normal" image="icon_watering"/>
+                    <connections>
+                        <action selector="wateringAction:" destination="-1" eventType="touchUpInside" id="N26-um-hgD"/>
+                    </connections>
+                </button>
+                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="fz4-8h-sWT" customClass="TapBtn" customModule="XQMuse" customModuleProvider="target">
+                    <rect key="frame" x="13.999999999999993" y="79" width="119.33333333333331" height="35"/>
+                    <subviews>
+                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_energy" translatesAutoresizingMaskIntoConstraints="NO" id="HhA-mI-eXr">
+                            <rect key="frame" x="0.0" y="0.0" width="35" height="35"/>
+                        </imageView>
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="当前能量值:0" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="9Xg-17-kuV">
+                            <rect key="frame" x="37.999999999999993" y="10.333333333333329" width="81.333333333333314" height="14.333333333333336"/>
+                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="12"/>
+                            <color key="textColor" red="0.46274509800000002" green="0.5568627451" blue="0.37647058820000001" alpha="1" colorSpace="calibratedRGB"/>
+                            <nil key="highlightedColor"/>
+                        </label>
+                    </subviews>
+                    <constraints>
+                        <constraint firstAttribute="trailing" secondItem="9Xg-17-kuV" secondAttribute="trailing" id="9p9-L4-P70"/>
+                        <constraint firstAttribute="bottom" secondItem="HhA-mI-eXr" secondAttribute="bottom" id="Hmi-JB-0Fa"/>
+                        <constraint firstItem="9Xg-17-kuV" firstAttribute="leading" secondItem="HhA-mI-eXr" secondAttribute="trailing" constant="3" id="OUe-nw-t29"/>
+                        <constraint firstItem="HhA-mI-eXr" firstAttribute="top" secondItem="fz4-8h-sWT" secondAttribute="top" id="Qqd-TJ-5JA"/>
+                        <constraint firstItem="HhA-mI-eXr" firstAttribute="leading" secondItem="fz4-8h-sWT" secondAttribute="leading" id="hTP-j0-kyS"/>
+                        <constraint firstItem="9Xg-17-kuV" firstAttribute="centerY" secondItem="fz4-8h-sWT" secondAttribute="centerY" id="xKo-HJ-ihX"/>
+                    </constraints>
+                    <connections>
+                        <action selector="energyDetailAction:" destination="-1" eventType="touchUpInside" id="X2m-L4-xbs"/>
+                    </connections>
+                </view>
+                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ry3-dr-0vG">
+                    <rect key="frame" x="14" y="240" width="43" height="215.66666666666663"/>
+                    <subviews>
+                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="e8f-kS-jme">
+                            <rect key="frame" x="0.0" y="0.0" width="43" height="16"/>
+                            <subviews>
+                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="成长值" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="OHl-Td-EFa">
+                                    <rect key="frame" x="0.0" y="0.0" width="43" height="16"/>
+                                    <fontDescription key="fontDescription" type="system" weight="medium" pointSize="11"/>
+                                    <color key="textColor" red="0.25098039215686274" green="0.40784313725490196" blue="0.26666666666666666" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                    <nil key="highlightedColor"/>
+                                </label>
+                            </subviews>
+                            <color key="backgroundColor" red="0.88627450980392153" green="0.96078431372549022" blue="0.88235294117647056" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                            <constraints>
+                                <constraint firstAttribute="bottom" secondItem="OHl-Td-EFa" secondAttribute="bottom" id="PNJ-if-IMa"/>
+                                <constraint firstItem="OHl-Td-EFa" firstAttribute="leading" secondItem="e8f-kS-jme" secondAttribute="leading" id="Xng-gQ-dKf"/>
+                                <constraint firstItem="OHl-Td-EFa" firstAttribute="top" secondItem="e8f-kS-jme" secondAttribute="top" id="tTi-gG-VH4"/>
+                                <constraint firstAttribute="height" constant="16" id="xL0-mh-AWR"/>
+                                <constraint firstAttribute="trailing" secondItem="OHl-Td-EFa" secondAttribute="trailing" id="yLk-HA-fwk"/>
+                            </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="wTZ-b3-Kud">
+                            <rect key="frame" x="0.0" y="19" width="43" height="28.666666666666671"/>
+                            <string key="text">0
+/0</string>
+                            <fontDescription key="fontDescription" type="system" pointSize="12"/>
+                            <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
+                            <nil key="highlightedColor"/>
+                        </label>
+                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="oQj-Ix-ens">
+                            <rect key="frame" x="16.666666666666668" y="54.666666666666686" width="10" height="161"/>
+                            <subviews>
+                                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="fLi-wG-4VM">
+                                    <rect key="frame" x="2.3333333333333321" y="158.66666666666663" width="5" height="0.0"/>
+                                    <color key="backgroundColor" red="0.9882352941176471" green="0.99607843137254903" blue="0.792156862745098" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                    <constraints>
+                                        <constraint firstAttribute="height" id="J7Y-Xp-9Df"/>
+                                    </constraints>
+                                    <userDefinedRuntimeAttributes>
+                                        <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/>
+                                        <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB">
+                                            <real key="value" value="2.5"/>
+                                        </userDefinedRuntimeAttribute>
+                                    </userDefinedRuntimeAttributes>
+                                </view>
+                            </subviews>
+                            <constraints>
+                                <constraint firstAttribute="bottom" secondItem="fLi-wG-4VM" secondAttribute="bottom" constant="2.5" id="5JG-hb-D6b"/>
+                                <constraint firstAttribute="trailing" secondItem="fLi-wG-4VM" secondAttribute="trailing" constant="2.5" id="fiT-tY-zid"/>
+                                <constraint firstAttribute="width" constant="10" id="mnD-DX-60a"/>
+                                <constraint firstItem="fLi-wG-4VM" firstAttribute="leading" secondItem="oQj-Ix-ens" secondAttribute="leading" constant="2.5" id="v3S-zr-VTt"/>
+                                <constraint firstAttribute="height" constant="161" id="vUh-t4-8r4"/>
+                            </constraints>
+                            <userDefinedRuntimeAttributes>
+                                <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/>
+                                <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB">
+                                    <real key="value" value="5"/>
+                                </userDefinedRuntimeAttribute>
+                                <userDefinedRuntimeAttribute type="number" keyPath="ld_borderWidthXIB">
+                                    <real key="value" value="2"/>
+                                </userDefinedRuntimeAttribute>
+                                <userDefinedRuntimeAttribute type="color" keyPath="ld_borderColorXIB">
+                                    <color key="value" red="1" green="1" blue="1" alpha="0.23000000000000001" colorSpace="custom" customColorSpace="sRGB"/>
+                                </userDefinedRuntimeAttribute>
+                            </userDefinedRuntimeAttributes>
+                        </view>
+                    </subviews>
+                    <constraints>
+                        <constraint firstItem="oQj-Ix-ens" firstAttribute="centerX" secondItem="ry3-dr-0vG" secondAttribute="centerX" id="07P-1E-76y"/>
+                        <constraint firstAttribute="bottom" secondItem="oQj-Ix-ens" secondAttribute="bottom" id="4Xy-rR-46X"/>
+                        <constraint firstAttribute="width" constant="43" id="9l7-ev-BSC"/>
+                        <constraint firstAttribute="trailing" secondItem="e8f-kS-jme" secondAttribute="trailing" id="L06-88-7WN"/>
+                        <constraint firstItem="e8f-kS-jme" firstAttribute="leading" secondItem="ry3-dr-0vG" secondAttribute="leading" id="a1r-BL-MGz"/>
+                        <constraint firstItem="wTZ-b3-Kud" firstAttribute="leading" secondItem="ry3-dr-0vG" secondAttribute="leading" id="a22-V4-V8k"/>
+                        <constraint firstAttribute="trailing" secondItem="wTZ-b3-Kud" secondAttribute="trailing" id="djY-eI-K3w"/>
+                        <constraint firstItem="oQj-Ix-ens" firstAttribute="top" secondItem="wTZ-b3-Kud" secondAttribute="bottom" constant="7" id="dkC-70-4hE"/>
+                        <constraint firstItem="e8f-kS-jme" firstAttribute="top" secondItem="ry3-dr-0vG" secondAttribute="top" id="nc7-f1-ndC"/>
+                        <constraint firstItem="wTZ-b3-Kud" firstAttribute="top" secondItem="e8f-kS-jme" secondAttribute="bottom" constant="3" id="rpK-Jd-7jx"/>
+                    </constraints>
+                </view>
+                <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="3gR-ZK-wtr">
+                    <rect key="frame" x="114.66666666666669" y="722" width="164" height="40"/>
+                    <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                    <constraints>
+                        <constraint firstAttribute="width" constant="164" id="HxZ-1I-Myx"/>
+                        <constraint firstAttribute="height" constant="40" id="ycO-ss-6aM"/>
+                    </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="重新播种">
+                        <color key="titleColor" red="0.54117647058823526" green="0.68235294117647061" blue="0.396078431372549" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                    </state>
+                    <userDefinedRuntimeAttributes>
+                        <userDefinedRuntimeAttribute type="color" keyPath="ld_borderColorXIB">
+                            <color key="value" red="0.54117647059999996" green="0.68235294120000001" blue="0.39607843139999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                        </userDefinedRuntimeAttribute>
+                        <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/>
+                        <userDefinedRuntimeAttribute type="number" keyPath="ld_borderWidthXIB">
+                            <real key="value" value="1"/>
+                        </userDefinedRuntimeAttribute>
+                    </userDefinedRuntimeAttributes>
+                </button>
+            </subviews>
             <viewLayoutGuide key="safeArea" id="fnl-2z-Ty3"/>
+            <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+            <constraints>
+                <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="gww-ob-FiX" secondAttribute="trailing" constant="14" id="0fp-Kb-15k"/>
+                <constraint firstItem="ry3-dr-0vG" firstAttribute="top" secondItem="fz4-8h-sWT" secondAttribute="bottom" constant="126" id="2sW-3e-IcU"/>
+                <constraint firstItem="gww-ob-FiX" firstAttribute="top" secondItem="jpV-f9-inW" secondAttribute="bottom" constant="56" id="Arh-h3-oTs"/>
+                <constraint firstItem="fz4-8h-sWT" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="topMargin" constant="20" id="F9t-Qv-m2p"/>
+                <constraint firstItem="3gR-ZK-wtr" firstAttribute="centerX" secondItem="fnl-2z-Ty3" secondAttribute="centerX" id="MNZ-Oq-KJu"/>
+                <constraint firstItem="ry3-dr-0vG" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" constant="14" id="OuN-OQ-TFd"/>
+                <constraint firstItem="fz4-8h-sWT" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" constant="14" id="Tz6-B8-ayt"/>
+                <constraint firstItem="fnl-2z-Ty3" firstAttribute="bottom" secondItem="3gR-ZK-wtr" secondAttribute="bottom" constant="56" id="fTq-Rp-otY"/>
+                <constraint firstItem="jpV-f9-inW" firstAttribute="centerY" secondItem="fz4-8h-sWT" secondAttribute="centerY" id="r82-d2-obE"/>
+                <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="jpV-f9-inW" secondAttribute="trailing" id="z1S-qD-Hnv"/>
+            </constraints>
+            <point key="canvasLocation" x="139" y="21"/>
         </view>
     </objects>
+    <resources>
+        <image name="icon_energy" width="35" height="35"/>
+        <image name="icon_gift" width="35" height="35"/>
+        <image name="icon_watering" width="48" height="48"/>
+        <systemColor name="systemBackgroundColor">
+            <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+        </systemColor>
+    </resources>
 </document>
diff --git a/XQMuse/Root/TreeGroup/VC/TreeTeskDetailListVC.swift b/XQMuse/Root/TreeGroup/VC/TreeTeskDetailListVC.swift
new file mode 100644
index 0000000..7907312
--- /dev/null
+++ b/XQMuse/Root/TreeGroup/VC/TreeTeskDetailListVC.swift
@@ -0,0 +1,67 @@
+//
+//  TreeTeskDetailListVC.swift
+//  XQMuse
+//
+//  Created by 无故事王国 on 2024/9/11.
+//
+
+import UIKit
+
+enum TreeTeskDetailType{
+				case all
+				case increase
+				case decreate
+}
+
+class TreeTeskDetailListVC: BaseVC {
+
+				private var tableView:UITableView!
+				private var type:TreeTeskDetailType!
+
+				init(type:TreeTeskDetailType) {
+								super.init(nibName: nil, bundle: nil)
+								self.type = type
+				}
+				
+				required init?(coder: NSCoder) {
+								fatalError("init(coder:) has not been implemented")
+				}
+				
+    override func viewDidLoad() {
+        super.viewDidLoad()
+
+    }
+
+				override func setUI() {
+								tableView = UITableView(frame: .zero, style: .plain)
+								tableView.delegate = self
+								tableView.dataSource = self
+								tableView.separatorStyle = .none
+								tableView.register(UINib(nibName: "TreeTeskDetailListTCell", bundle: nil), forCellReuseIdentifier: "_TreeTeskDetailListTCell")
+								view.addSubview(tableView)
+								tableView.snp.makeConstraints { make in
+												make.edges.equalToSuperview()
+								}
+				}
+}
+
+extension TreeTeskDetailListVC:UITableViewDelegate{
+
+}
+
+extension TreeTeskDetailListVC:UITableViewDataSource{
+				func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
+								let cell = tableView.dequeueReusableCell(withIdentifier: "_TreeTeskDetailListTCell") as! TreeTeskDetailListTCell
+								return cell
+				}
+
+				func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
+								return 11
+				}
+
+				func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
+								return 71
+				}
+
+
+}
diff --git a/XQMuse/Root/TreeGroup/VC/TreeTeskDetailVC.swift b/XQMuse/Root/TreeGroup/VC/TreeTeskDetailVC.swift
new file mode 100644
index 0000000..3355c01
--- /dev/null
+++ b/XQMuse/Root/TreeGroup/VC/TreeTeskDetailVC.swift
@@ -0,0 +1,102 @@
+//
+//  TreeTeskDetailVC.swift
+//  XQMuse
+//
+//  Created by 无故事王国 on 2024/9/11.
+//
+
+import UIKit
+import SPPageMenu
+import FFPage
+
+class TreeTeskDetailVC: BaseVC {
+				@IBOutlet weak var view_top: UIView!
+				
+				private(set) var pageMenu:SPPageMenu = {
+								let pageMenu = SPPageMenu(frame: .zero, trackerStyle: .line)
+								// 追踪线
+								pageMenu.trackerWidth = 12
+								pageMenu.setTrackerHeight(2, cornerRadius:1)
+								pageMenu.trackerFollowingMode = .always
+								pageMenu.contentInset = UIEdgeInsets(top: 0, left: 19.5, bottom: 5, right: 19.5)
+								pageMenu.setItems(["全部","增加","扣除"], selectedItemIndex: 0)
+								pageMenu.backgroundColor = UIColor(hexString: "#F0F0F0")
+								pageMenu.tracker.backgroundColor = UIColor(hexString: "#8AAE65")
+								pageMenu.backgroundColor = .white
+
+								// 分割线
+								pageMenu.dividingLine.backgroundColor = UIColor(hexString: "#D4D4D4")
+								pageMenu.dividingLineHeight = 0.4
+
+								// item
+//								pageMenu.spacing = 27.0
+								pageMenu.permutationWay = .notScrollAdaptContent
+
+								// 字体
+								pageMenu.selectedItemTitleFont = Def_SourceHanSansCN_Regular(fontSize: 14)
+								pageMenu.unSelectedItemTitleFont = Def_SourceHanSansCN_Regular(fontSize: 14)
+								// 颜色
+								pageMenu.selectedItemTitleColor = UIColor(hexStr: "#8AAE65")
+								pageMenu.unSelectedItemTitleColor = .black.withAlphaComponent(0.6)
+								return pageMenu
+				}()
+
+				lazy var pageViewController:FFPageViewController = {
+								let pageVC = FFPageViewController()
+								pageVC.view.backgroundColor = .clear
+								pageVC.scrollview.backgroundColor = .clear
+
+								pageVC.scrollview.bounces = false
+								return pageVC
+				}()
+
+    override func viewDidLoad() {
+        super.viewDidLoad()
+								title = "能量值明细"
+    }
+
+				override func setUI() {
+								view.addSubview(pageMenu)
+								pageMenu.delegate = self
+								pageMenu.snp.makeConstraints { make in
+												make.left.right.equalToSuperview()
+												make.top.equalTo(self.view_top.snp.bottom).offset(15)
+												make.height.equalTo(44)
+								}
+
+								view.addSubview(pageViewController.view)
+								pageViewController.view.backgroundColor = .clear
+								pageViewController.delegate = self
+								pageViewController.view.snp.makeConstraints { make in
+												make.top.equalTo(pageMenu.snp.bottom)
+												make.left.right.bottom.equalToSuperview()
+								}
+				}
+}
+
+extension TreeTeskDetailVC:SPPageMenuDelegate{
+				func pageMenu(_ pageMenu: SPPageMenu, itemSelectedAt index: Int) {
+								pageViewController.scroll(toPage: index, animation: true)
+				}
+}
+
+extension TreeTeskDetailVC:FFPageViewControllerDelegate{
+
+				func pageViewController(_ pageViewController: FFPageViewController, currentPageChanged currentPage: Int) {
+								pageMenu.selectedItemIndex = currentPage
+				}
+
+				func totalPagesOfpageViewController(_ pageViewConteoller: FFPageViewController) -> UInt {
+								return 3
+				}
+
+				func pageViewController(_ pageViewConteoller: FFPageViewController, controllerForPage page: Int) -> UIViewController {
+								var type:TreeTeskDetailType!
+								switch page {
+												case 1:type = .increase
+												case 2:type = .decreate
+												default:type = .all
+								}
+								return TreeTeskDetailListVC(type: type)
+				}
+}
diff --git a/XQMuse/Root/TreeGroup/VC/TreeTeskDetailVC.xib b/XQMuse/Root/TreeGroup/VC/TreeTeskDetailVC.xib
new file mode 100644
index 0000000..0fb7224
--- /dev/null
+++ b/XQMuse/Root/TreeGroup/VC/TreeTeskDetailVC.xib
@@ -0,0 +1,70 @@
+<?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">
+    <device id="retina6_12" orientation="portrait" appearance="light"/>
+    <dependencies>
+        <deployment identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/>
+        <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"/>
+    </dependencies>
+    <objects>
+        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="TreeTeskDetailVC" customModule="XQMuse" customModuleProvider="target">
+            <connections>
+                <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
+                <outlet property="view_top" destination="tXu-Ek-y6F" id="ggw-B8-TLR"/>
+            </connections>
+        </placeholder>
+        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
+        <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT">
+            <rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
+            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+            <subviews>
+                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="tXu-Ek-y6F">
+                    <rect key="frame" x="14" y="74" width="365" height="98.666666666666686"/>
+                    <subviews>
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Y0k-tw-jfz">
+                            <rect key="frame" x="176" y="21" width="13" height="29.333333333333329"/>
+                            <fontDescription key="fontDescription" name="Impact" family="Impact" pointSize="24"/>
+                            <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="qUa-f2-Af9">
+                            <rect key="frame" x="146.66666666666666" y="57.333333333333343" width="71.666666666666657" height="17"/>
+                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/>
+                            <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                            <nil key="highlightedColor"/>
+                        </label>
+                    </subviews>
+                    <color key="backgroundColor" red="0.69411764705882351" green="0.792156862745098" blue="0.59999999999999998" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                    <constraints>
+                        <constraint firstAttribute="width" secondItem="tXu-Ek-y6F" secondAttribute="height" multiplier="1:0.27" id="MXG-oN-2bL"/>
+                        <constraint firstItem="Y0k-tw-jfz" firstAttribute="centerX" secondItem="tXu-Ek-y6F" secondAttribute="centerX" id="TbP-rV-KkR"/>
+                        <constraint firstItem="qUa-f2-Af9" firstAttribute="top" secondItem="Y0k-tw-jfz" secondAttribute="bottom" constant="7" id="bA7-pj-wPG"/>
+                        <constraint firstItem="Y0k-tw-jfz" firstAttribute="centerX" secondItem="qUa-f2-Af9" secondAttribute="centerX" id="gfn-6s-oV2"/>
+                        <constraint firstItem="Y0k-tw-jfz" firstAttribute="top" secondItem="tXu-Ek-y6F" secondAttribute="top" constant="21" id="vpE-9E-3h8"/>
+                    </constraints>
+                    <userDefinedRuntimeAttributes>
+                        <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/>
+                        <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB">
+                            <real key="value" value="9"/>
+                        </userDefinedRuntimeAttribute>
+                    </userDefinedRuntimeAttributes>
+                </view>
+            </subviews>
+            <viewLayoutGuide key="safeArea" id="fnl-2z-Ty3"/>
+            <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+            <constraints>
+                <constraint firstItem="tXu-Ek-y6F" firstAttribute="top" secondItem="fnl-2z-Ty3" secondAttribute="top" constant="15" id="LhL-nu-KK8"/>
+                <constraint firstItem="tXu-Ek-y6F" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" constant="14" id="SRy-Df-TWa"/>
+                <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="tXu-Ek-y6F" secondAttribute="trailing" constant="14" id="fdB-o1-9F7"/>
+            </constraints>
+            <point key="canvasLocation" x="65" y="21"/>
+        </view>
+    </objects>
+    <resources>
+        <systemColor name="systemBackgroundColor">
+            <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+        </systemColor>
+    </resources>
+</document>
diff --git a/XQMuse/Root/TreeGroup/VC/TreeTeskEnergyExchangeRecordVC.swift b/XQMuse/Root/TreeGroup/VC/TreeTeskEnergyExchangeRecordVC.swift
new file mode 100644
index 0000000..a9a76b6
--- /dev/null
+++ b/XQMuse/Root/TreeGroup/VC/TreeTeskEnergyExchangeRecordVC.swift
@@ -0,0 +1,45 @@
+//
+//  TreeTeskEnergyExchangeRecordVC.swift
+//  XQMuse
+//
+//  Created by 无故事王国 on 2024/9/11.
+//
+
+import UIKit
+
+class TreeTeskEnergyExchangeRecordVC: BaseVC {
+
+				private var tableView:UITableView!
+
+    override func viewDidLoad() {
+        super.viewDidLoad()
+								title = "兑换记录"
+    }
+
+				override func setUI() {
+								tableView = UITableView(frame: .zero, style: .plain)
+								tableView.delegate = self
+								tableView.dataSource = self
+								tableView.separatorStyle = .none
+								tableView.register(UINib(nibName: "TreeTeskEnergyExchangeRecordTCell", bundle: nil), forCellReuseIdentifier: "_TreeTeskEnergyExchangeRecordTCell")
+								view.addSubview(tableView)
+								tableView.snp.makeConstraints { make in
+												make.edges.equalToSuperview()
+								}
+				}
+}
+
+extension TreeTeskEnergyExchangeRecordVC:UITableViewDelegate{
+
+}
+
+extension TreeTeskEnergyExchangeRecordVC:UITableViewDataSource{
+				func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
+								let cell = tableView.dequeueReusableCell(withIdentifier: "_TreeTeskEnergyExchangeRecordTCell") as! TreeTeskEnergyExchangeRecordTCell
+								return cell
+				}
+
+				func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
+								return 3
+				}
+}
diff --git a/XQMuse/Root/TreeGroup/VC/TreeTeskEnergyExchangeVC.swift b/XQMuse/Root/TreeGroup/VC/TreeTeskEnergyExchangeVC.swift
new file mode 100644
index 0000000..72da4c2
--- /dev/null
+++ b/XQMuse/Root/TreeGroup/VC/TreeTeskEnergyExchangeVC.swift
@@ -0,0 +1,70 @@
+//
+//  TreeTeskEnergyExchangeVC.swift
+//  XQMuse
+//
+//  Created by 无故事王国 on 2024/9/11.
+//
+
+import UIKit
+import JQTools
+
+class TreeTeskEnergyExchangeVC: BaseVC {
+
+				@IBOutlet weak var tableView: UITableView!
+
+				override func viewDidLoad() {
+								super.viewDidLoad()
+								title = "礼品兑换"
+				}
+
+				override func setUI() {
+
+								let btn = UIButton(type: .custom)
+								btn.setTitle("兑换记录", for: .normal)
+								btn.setTitleColor(.black.withAlphaComponent(0.55), for: .normal)
+								btn.titleLabel?.font = .systemFont(ofSize: 14, weight: .medium)
+								btn.addTarget(self, action: #selector(exchangeRecordAction), for: .touchUpInside)
+
+								navigationItem.rightBarButtonItem = UIBarButtonItem(customView: btn)
+
+								tableView.delegate = self
+								tableView.dataSource = self
+								tableView.separatorStyle = .none
+								tableView.register(UINib(nibName: "TreeTeskEnergyTCell", bundle: nil), forCellReuseIdentifier: "_TreeTeskEnergyTCell")
+				}
+
+				@objc func exchangeRecordAction(){
+								let vc = TreeTeskEnergyExchangeRecordVC()
+								push(vc: vc)
+				}
+}
+
+extension TreeTeskEnergyExchangeVC:UITableViewDataSource & UITableViewDelegate{
+
+				func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
+
+								let attribute = AttributedStringbuilder.build().add(string: "是否确认使用X能量值兑换当前礼品?\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{
+																TreeTeskExchangeSuccessView.show()
+												}
+
+								}
+				}
+
+				func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
+								let cell = tableView.dequeueReusableCell(withIdentifier: "_TreeTeskEnergyTCell") as! TreeTeskEnergyTCell
+								cell.isExchanged(indexPath.row == 0)
+								return cell
+				}
+
+				func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
+								return 11
+				}
+
+				func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
+								return 91
+				}
+}
diff --git a/XQMuse/Root/TreeGroup/VC/TreeTeskEnergyExchangeVC.xib b/XQMuse/Root/TreeGroup/VC/TreeTeskEnergyExchangeVC.xib
new file mode 100644
index 0000000..08478cf
--- /dev/null
+++ b/XQMuse/Root/TreeGroup/VC/TreeTeskEnergyExchangeVC.xib
@@ -0,0 +1,108 @@
+<?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">
+    <device id="retina6_12" orientation="portrait" appearance="light"/>
+    <dependencies>
+        <deployment identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/>
+        <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"/>
+    </dependencies>
+    <objects>
+        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="TreeTeskEnergyExchangeVC" customModule="XQMuse" customModuleProvider="target">
+            <connections>
+                <outlet property="tableView" destination="JKR-h6-LMB" id="zkA-3O-scS"/>
+                <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
+            </connections>
+        </placeholder>
+        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
+        <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT">
+            <rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
+            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+            <subviews>
+                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ovv-Cg-b9v">
+                    <rect key="frame" x="14" y="74" width="365" height="98.666666666666686"/>
+                    <subviews>
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Bdm-PA-8sh">
+                            <rect key="frame" x="176" y="21" width="13" height="29.333333333333329"/>
+                            <fontDescription key="fontDescription" name="Impact" family="Impact" pointSize="24"/>
+                            <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="Re7-sx-WRH">
+                            <rect key="frame" x="146.66666666666666" y="57.333333333333343" width="71.666666666666657" height="17"/>
+                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/>
+                            <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                            <nil key="highlightedColor"/>
+                        </label>
+                    </subviews>
+                    <color key="backgroundColor" red="0.69411764710000001" green="0.79215686269999996" blue="0.59999999999999998" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                    <constraints>
+                        <constraint firstAttribute="width" secondItem="ovv-Cg-b9v" secondAttribute="height" multiplier="1:0.27" id="0St-sq-Q3I"/>
+                        <constraint firstItem="Bdm-PA-8sh" firstAttribute="top" secondItem="ovv-Cg-b9v" secondAttribute="top" constant="21" id="DQs-mh-yGs"/>
+                        <constraint firstItem="Bdm-PA-8sh" firstAttribute="centerX" secondItem="Re7-sx-WRH" secondAttribute="centerX" id="RZw-tz-lzT"/>
+                        <constraint firstItem="Bdm-PA-8sh" firstAttribute="centerX" secondItem="ovv-Cg-b9v" secondAttribute="centerX" id="aBf-1R-vVT"/>
+                        <constraint firstItem="Re7-sx-WRH" firstAttribute="top" secondItem="Bdm-PA-8sh" secondAttribute="bottom" constant="7" id="wpA-2c-IX7"/>
+                    </constraints>
+                    <userDefinedRuntimeAttributes>
+                        <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/>
+                        <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB">
+                            <real key="value" value="9"/>
+                        </userDefinedRuntimeAttribute>
+                    </userDefinedRuntimeAttributes>
+                </view>
+                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="e3s-i0-uyr">
+                    <rect key="frame" x="148.66666666666666" y="703.66666666666663" width="96" height="114.33333333333337"/>
+                    <subviews>
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="客服微信二维码" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="09J-LW-WxK">
+                            <rect key="frame" x="5" y="100" width="86" height="14.333333333333329"/>
+                            <fontDescription key="fontDescription" type="system" pointSize="12"/>
+                            <nil key="textColor"/>
+                            <nil key="highlightedColor"/>
+                        </label>
+                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="9aI-7D-eFc">
+                            <rect key="frame" x="0.0" y="0.0" width="96" height="96"/>
+                            <color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.40000000000000002" colorSpace="custom" customColorSpace="sRGB"/>
+                            <constraints>
+                                <constraint firstAttribute="height" constant="96" id="STT-vT-MDD"/>
+                                <constraint firstAttribute="width" constant="96" id="tbg-L7-6Mr"/>
+                            </constraints>
+                        </imageView>
+                    </subviews>
+                    <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+                    <constraints>
+                        <constraint firstItem="9aI-7D-eFc" firstAttribute="leading" secondItem="e3s-i0-uyr" secondAttribute="leading" id="1IS-ZE-JPz"/>
+                        <constraint firstAttribute="trailing" secondItem="9aI-7D-eFc" secondAttribute="trailing" id="4fv-YY-jec"/>
+                        <constraint firstItem="9aI-7D-eFc" firstAttribute="top" secondItem="e3s-i0-uyr" secondAttribute="top" id="69a-kN-zkO"/>
+                        <constraint firstItem="09J-LW-WxK" firstAttribute="centerX" secondItem="e3s-i0-uyr" secondAttribute="centerX" id="FB8-kA-il8"/>
+                        <constraint firstAttribute="bottom" secondItem="09J-LW-WxK" secondAttribute="bottom" id="VXT-PJ-wVB"/>
+                        <constraint firstItem="09J-LW-WxK" firstAttribute="top" secondItem="9aI-7D-eFc" secondAttribute="bottom" constant="4" id="aS8-g9-cs9"/>
+                    </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="JKR-h6-LMB">
+                    <rect key="frame" x="0.0" y="187.66666666666663" width="393" height="501"/>
+                    <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+                </tableView>
+            </subviews>
+            <viewLayoutGuide key="safeArea" id="fnl-2z-Ty3"/>
+            <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+            <constraints>
+                <constraint firstItem="JKR-h6-LMB" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" id="0Vw-Rn-fdO"/>
+                <constraint firstItem="e3s-i0-uyr" firstAttribute="centerX" secondItem="fnl-2z-Ty3" secondAttribute="centerX" id="5aL-5g-rR2"/>
+                <constraint firstItem="JKR-h6-LMB" firstAttribute="top" secondItem="ovv-Cg-b9v" secondAttribute="bottom" constant="15" id="Ked-lz-ho3"/>
+                <constraint firstItem="ovv-Cg-b9v" firstAttribute="top" secondItem="fnl-2z-Ty3" secondAttribute="top" constant="15" id="OXZ-tq-LSv"/>
+                <constraint firstItem="e3s-i0-uyr" firstAttribute="top" secondItem="JKR-h6-LMB" secondAttribute="bottom" constant="15" id="X15-Vw-XaT"/>
+                <constraint firstItem="ovv-Cg-b9v" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" constant="14" id="dsg-VV-ljB"/>
+                <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="JKR-h6-LMB" secondAttribute="trailing" id="hns-pa-A9y"/>
+                <constraint firstItem="fnl-2z-Ty3" firstAttribute="bottom" secondItem="e3s-i0-uyr" secondAttribute="bottom" id="vdc-o4-bf0"/>
+                <constraint firstAttribute="trailing" secondItem="ovv-Cg-b9v" secondAttribute="trailing" constant="14" id="yfT-Nr-QvP"/>
+            </constraints>
+            <point key="canvasLocation" x="5.343511450381679" y="20.422535211267608"/>
+        </view>
+    </objects>
+    <resources>
+        <systemColor name="systemBackgroundColor">
+            <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+        </systemColor>
+    </resources>
+</document>
diff --git a/XQMuse/Root/TreeGroup/View/TreeTeskExchangeSuccessView.swift b/XQMuse/Root/TreeGroup/View/TreeTeskExchangeSuccessView.swift
new file mode 100644
index 0000000..b30fefb
--- /dev/null
+++ b/XQMuse/Root/TreeGroup/View/TreeTeskExchangeSuccessView.swift
@@ -0,0 +1,41 @@
+//
+//  TreeTeskExchangeSuccessView.swift
+//  XQMuse
+//
+//  Created by 无故事王国 on 2024/9/11.
+//
+
+import UIKit
+import JQTools
+
+class TreeTeskExchangeSuccessView: UIView,JQNibView{
+				@IBOutlet weak var view_container: UIView!
+				
+				override func awakeFromNib() {
+								super.awakeFromNib()
+								view_container.transform = .init(scaleX: 0.1, y: 0.1)
+								alpha = 0
+				}
+
+				static func show(){
+								let view = TreeTeskExchangeSuccessView.jq_loadNibView()
+								sceneDelegate?.window?.addSubview(view)
+								view.frame = sceneDelegate?.window?.frame ?? .zero
+
+								UIView.animate(withDuration: 0.5, delay: 0.1, usingSpringWithDamping: 0.5, initialSpringVelocity: 1.0, options: .curveEaseIn) {
+												view.view_container.transform = .init(scaleX: 1.0, y: 1.0)
+												view.alpha = 1
+								} completion: { _ in
+
+								}
+				}
+
+				@IBAction func closeAction(_ sender: UIButton) {
+								UIView.animate(withDuration: 0.3) {
+												self.view_container.transform = .init(scaleX: 0.1, y: 0.1)
+												self.alpha = 0
+								} completion: { _ in
+												self.removeFromSuperview()
+								}
+				}
+}
diff --git a/XQMuse/Root/TreeGroup/View/TreeTeskExchangeSuccessView.xib b/XQMuse/Root/TreeGroup/View/TreeTeskExchangeSuccessView.xib
new file mode 100644
index 0000000..6e5f8c8
--- /dev/null
+++ b/XQMuse/Root/TreeGroup/View/TreeTeskExchangeSuccessView.xib
@@ -0,0 +1,133 @@
+<?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">
+    <device id="retina6_12" orientation="portrait" appearance="light"/>
+    <dependencies>
+        <deployment identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/>
+        <capability name="System colors in document resources" minToolsVersion="11.0"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
+        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
+        <view contentMode="scaleToFill" id="iN0-l3-epB" customClass="TreeTeskExchangeSuccessView" customModule="XQMuse" customModuleProvider="target">
+            <rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
+            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+            <subviews>
+                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="4ru-7s-yUN">
+                    <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="135.66666666666666" y="17" width="73.666666666666657" height="21"/>
+                            <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="18"/>
+                            <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="sRGB"/>
+                            <nil key="highlightedColor"/>
+                            <userDefinedRuntimeAttributes>
+                                <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/>
+                                <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB">
+                                    <real key="value" value="10"/>
+                                </userDefinedRuntimeAttribute>
+                            </userDefinedRuntimeAttributes>
+                        </label>
+                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="jvO-Z2-hnk">
+                            <rect key="frame" x="72" y="53" width="201" height="39.666666666666657"/>
+                            <subviews>
+                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="领取验证码:--" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="psN-sL-6pq">
+                                    <rect key="frame" x="51" y="0.0" width="99" height="39.666666666666664"/>
+                                    <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="14"/>
+                                    <color key="textColor" red="0.56470588235294117" green="0.65490196078431373" blue="0.48627450980392156" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                    <nil key="highlightedColor"/>
+                                </label>
+                            </subviews>
+                            <color key="backgroundColor" red="0.55686274509803924" green="0.64313725490196072" blue="0.47843137254901957" alpha="0.17999999999999999" colorSpace="custom" customColorSpace="sRGB"/>
+                            <constraints>
+                                <constraint firstItem="psN-sL-6pq" firstAttribute="top" secondItem="jvO-Z2-hnk" secondAttribute="top" id="6wD-zV-i9J"/>
+                                <constraint firstAttribute="width" secondItem="jvO-Z2-hnk" secondAttribute="height" multiplier="1:0.197" id="BBW-LB-aNM"/>
+                                <constraint firstItem="psN-sL-6pq" firstAttribute="centerX" secondItem="jvO-Z2-hnk" secondAttribute="centerX" id="P4x-99-6Cs"/>
+                                <constraint firstAttribute="bottom" secondItem="psN-sL-6pq" secondAttribute="bottom" id="j4C-d8-AEp"/>
+                            </constraints>
+                            <userDefinedRuntimeAttributes>
+                                <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/>
+                                <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB">
+                                    <real key="value" value="4"/>
+                                </userDefinedRuntimeAttribute>
+                            </userDefinedRuntimeAttributes>
+                        </view>
+                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="GQk-cT-1IF">
+                            <rect key="frame" x="52" y="97.666666666666657" width="241" height="240.99999999999997"/>
+                            <color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.59999999999999998" colorSpace="custom" customColorSpace="sRGB"/>
+                            <constraints>
+                                <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" text="可添加助教微信,了解课程详情" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Xal-zI-HOg">
+                            <rect key="frame" x="72.666666666666686" y="347.66666666666674" width="200" 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="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"/>
+                            </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="知道了"/>
+                            <userDefinedRuntimeAttributes>
+                                <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/>
+                                <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB">
+                                    <real key="value" value="20"/>
+                                </userDefinedRuntimeAttribute>
+                            </userDefinedRuntimeAttributes>
+                            <connections>
+                                <action selector="closeAction:" destination="iN0-l3-epB" eventType="touchUpInside" id="M3h-XQ-XIm"/>
+                            </connections>
+                        </button>
+                    </subviews>
+                    <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+                    <constraints>
+                        <constraint firstItem="uwa-22-p1n" firstAttribute="centerX" secondItem="4ru-7s-yUN" secondAttribute="centerX" id="8Ad-Ib-ffi"/>
+                        <constraint firstItem="h25-4Z-I8T" firstAttribute="leading" secondItem="4ru-7s-yUN" secondAttribute="leading" constant="37" id="9In-8n-PlB"/>
+                        <constraint firstAttribute="trailing" secondItem="jvO-Z2-hnk" secondAttribute="trailing" constant="72" id="Aq7-Lb-aFe"/>
+                        <constraint firstItem="h25-4Z-I8T" firstAttribute="top" secondItem="Xal-zI-HOg" secondAttribute="bottom" constant="24" id="KUW-vJ-j5X"/>
+                        <constraint firstAttribute="trailing" secondItem="GQk-cT-1IF" secondAttribute="trailing" constant="52" id="LLH-io-Gfb"/>
+                        <constraint firstAttribute="bottom" secondItem="h25-4Z-I8T" secondAttribute="bottom" constant="24" id="M9M-iD-1ug"/>
+                        <constraint firstItem="GQk-cT-1IF" firstAttribute="leading" secondItem="4ru-7s-yUN" secondAttribute="leading" constant="52" id="QAM-eL-Zr8"/>
+                        <constraint firstItem="Xal-zI-HOg" firstAttribute="centerX" secondItem="4ru-7s-yUN" secondAttribute="centerX" id="Wd7-oV-qiD"/>
+                        <constraint firstItem="Xal-zI-HOg" firstAttribute="top" secondItem="GQk-cT-1IF" secondAttribute="bottom" constant="9" id="XQr-s7-15f"/>
+                        <constraint firstItem="GQk-cT-1IF" firstAttribute="top" secondItem="jvO-Z2-hnk" secondAttribute="bottom" constant="5" id="hiP-7f-ABt"/>
+                        <constraint firstItem="uwa-22-p1n" firstAttribute="top" secondItem="4ru-7s-yUN" secondAttribute="top" constant="17" id="htO-JW-9tv"/>
+                        <constraint firstItem="jvO-Z2-hnk" firstAttribute="leading" secondItem="4ru-7s-yUN" secondAttribute="leading" constant="72" id="kgH-tK-niH"/>
+                        <constraint firstAttribute="trailing" secondItem="h25-4Z-I8T" secondAttribute="trailing" constant="37" id="omw-vl-Tuj"/>
+                        <constraint firstItem="jvO-Z2-hnk" firstAttribute="centerX" secondItem="4ru-7s-yUN" secondAttribute="centerX" id="qR4-jm-SM6"/>
+                        <constraint firstItem="jvO-Z2-hnk" firstAttribute="top" secondItem="uwa-22-p1n" secondAttribute="bottom" constant="15" id="uvQ-Fq-u9l"/>
+                    </constraints>
+                    <userDefinedRuntimeAttributes>
+                        <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/>
+                        <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB">
+                            <real key="value" value="10"/>
+                        </userDefinedRuntimeAttribute>
+                    </userDefinedRuntimeAttributes>
+                </view>
+            </subviews>
+            <color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.69999999999999996" colorSpace="custom" customColorSpace="sRGB"/>
+            <constraints>
+                <constraint firstAttribute="trailing" secondItem="4ru-7s-yUN" secondAttribute="trailing" constant="24" id="HV6-eS-Lcl"/>
+                <constraint firstItem="4ru-7s-yUN" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="24" id="Yzg-EW-qSd"/>
+                <constraint firstItem="4ru-7s-yUN" firstAttribute="centerY" secondItem="iN0-l3-epB" secondAttribute="centerY" id="nXu-Eh-oDK"/>
+                <constraint firstItem="4ru-7s-yUN" firstAttribute="centerX" secondItem="iN0-l3-epB" secondAttribute="centerX" id="zt7-Tt-vce"/>
+            </constraints>
+            <connections>
+                <outlet property="view_container" destination="4ru-7s-yUN" id="C6v-VX-yVc"/>
+            </connections>
+            <point key="canvasLocation" x="65" y="21"/>
+        </view>
+    </objects>
+    <resources>
+        <systemColor name="systemBackgroundColor">
+            <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+        </systemColor>
+    </resources>
+</document>
diff --git a/XQMuse/Root/TreeGroup/View/TreeTeskFirstRuleView.swift b/XQMuse/Root/TreeGroup/View/TreeTeskFirstRuleView.swift
new file mode 100644
index 0000000..21675ad
--- /dev/null
+++ b/XQMuse/Root/TreeGroup/View/TreeTeskFirstRuleView.swift
@@ -0,0 +1,63 @@
+//
+//  TreeTeskFirstRuleView.swift
+//  XQMuse
+//
+//  Created by 无故事王国 on 2024/9/11.
+//
+
+import UIKit
+import JQTools
+
+class TreeTeskFirstRuleView: UIView,JQNibView{
+
+				@IBOutlet weak var label_title: UILabel!
+				@IBOutlet weak var view_container: UIView!
+				@IBOutlet weak var label_content: UILabel!
+				@IBOutlet weak var btn_complete: UIButton!
+				@IBOutlet weak var cons_hei: NSLayoutConstraint!
+				@IBOutlet weak var cons_textTop: NSLayoutConstraint!
+				private var settingModel = UserDefaultSettingViewModel.getSetting()
+
+				override func awakeFromNib() {
+								super.awakeFromNib()
+								alpha = 0
+								view_container.transform = .init(scaleX: 0.1, y: 0.1)
+
+								layoutIfNeeded()
+								view_container.jq_cornerRadius = 14
+				}
+
+				static func show(title:String,content:String,textAlignment:NSTextAlignment,height:Double,textTopOffset:Double){
+								let ruleView = TreeTeskFirstRuleView.jq_loadNibView()
+								ruleView.frame = sceneDelegate?.window?.frame ?? .zero
+
+								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_textTop.constant = textTopOffset
+
+								sceneDelegate?.window?.addSubview(ruleView)
+
+								UIView.animate(withDuration: 0.6) {
+												ruleView.alpha = 1.0
+												ruleView.view_container.transform = .init(scaleX: 1.0, y: 1.0)
+								}
+				}
+
+				@IBAction func completeAction(_ sender: UIButton) {
+								UIView.animate(withDuration: 0.3) {
+												self.alpha = 0
+												self.view_container.transform = .init(scaleX: 0.1, y: 0.1)
+								} completion: { _ in
+												self.removeFromSuperview()
+												self.settingModel?.userFirstOpenTreeTask = false
+												UserDefaultSettingViewModel.saveSetting(self.settingModel!)
+								}
+				}
+				
+				override func layoutSubviews() {
+								super.layoutSubviews()
+								btn_complete.localGradientColor(cornerRadius: 20)
+				}
+}
diff --git a/XQMuse/Root/TreeGroup/View/TreeTeskFirstRuleView.xib b/XQMuse/Root/TreeGroup/View/TreeTeskFirstRuleView.xib
new file mode 100644
index 0000000..51bd1c5
--- /dev/null
+++ b/XQMuse/Root/TreeGroup/View/TreeTeskFirstRuleView.xib
@@ -0,0 +1,101 @@
+<?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">
+    <device id="retina6_12" orientation="portrait" appearance="light"/>
+    <dependencies>
+        <deployment identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/>
+        <capability name="Safe area layout guides" minToolsVersion="9.0"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
+        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
+        <view contentMode="scaleToFill" id="iN0-l3-epB" customClass="TreeTeskFirstRuleView" customModule="XQMuse" customModuleProvider="target">
+            <rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
+            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+            <subviews>
+                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="26Z-P3-SaG">
+                    <rect key="frame" x="45" y="307" width="303" height="263"/>
+                    <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"/>
+                            <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"/>
+                        </label>
+                        <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="2QG-Gl-6ul">
+                            <rect key="frame" x="40" y="206" width="223" height="40"/>
+                            <color key="backgroundColor" red="0.57254901960000004" green="0.6588235294" blue="0.4941176471" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                            <constraints>
+                                <constraint firstAttribute="height" constant="40" id="X5k-u6-c00"/>
+                            </constraints>
+                            <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="确定"/>
+                            <userDefinedRuntimeAttributes>
+                                <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/>
+                                <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB">
+                                    <real key="value" value="20"/>
+                                </userDefinedRuntimeAttribute>
+                            </userDefinedRuntimeAttributes>
+                            <connections>
+                                <action selector="completeAction:" destination="iN0-l3-epB" eventType="touchUpInside" id="l3q-oT-jPO"/>
+                            </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"/>
+                            <string key="text">亲爱的家人,感谢您用心的交流。
+现在,您心灵之树的种子已经植入这片沃土,请以农夫的心态用心浇灌,不久的将来,将会长成苍天大树,结出丰硕的果实。加油哦!</string>
+                            <fontDescription key="fontDescription" type="system" pointSize="14"/>
+                            <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.68999999999999995" colorSpace="custom" customColorSpace="sRGB"/>
+                            <nil key="highlightedColor"/>
+                        </label>
+                    </subviews>
+                    <constraints>
+                        <constraint firstAttribute="bottom" secondItem="2QG-Gl-6ul" secondAttribute="bottom" constant="17" id="1FB-lo-ofV"/>
+                        <constraint firstItem="H2A-aP-FsC" firstAttribute="top" secondItem="FMr-RI-3OU" secondAttribute="bottom" constant="22" id="6Ld-uV-0JF"/>
+                        <constraint firstItem="WfK-ob-Idw" firstAttribute="leading" secondItem="26Z-P3-SaG" secondAttribute="leading" id="CD1-hP-tYu"/>
+                        <constraint firstItem="FMr-RI-3OU" firstAttribute="centerX" secondItem="WfK-ob-Idw" secondAttribute="centerX" id="HVI-Za-1qG"/>
+                        <constraint firstAttribute="trailing" secondItem="2QG-Gl-6ul" secondAttribute="trailing" constant="40" id="N08-zL-dnM"/>
+                        <constraint firstItem="WfK-ob-Idw" firstAttribute="top" secondItem="26Z-P3-SaG" secondAttribute="top" id="SYg-lc-27R"/>
+                        <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="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"/>
+                    </constraints>
+                    <userDefinedRuntimeAttributes>
+                        <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/>
+                    </userDefinedRuntimeAttributes>
+                </view>
+            </subviews>
+            <viewLayoutGuide key="safeArea" id="vUN-kp-3ea"/>
+            <color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.69999999999999996" colorSpace="custom" customColorSpace="sRGB"/>
+            <constraints>
+                <constraint firstItem="26Z-P3-SaG" firstAttribute="centerX" secondItem="vUN-kp-3ea" secondAttribute="centerX" id="3BK-MK-JW7"/>
+                <constraint firstItem="vUN-kp-3ea" firstAttribute="trailing" secondItem="26Z-P3-SaG" secondAttribute="trailing" constant="45" id="KkM-4e-Gl2"/>
+                <constraint firstItem="26Z-P3-SaG" firstAttribute="centerY" secondItem="vUN-kp-3ea" secondAttribute="centerY" id="k7f-1H-Xuz"/>
+                <constraint firstItem="26Z-P3-SaG" firstAttribute="leading" secondItem="vUN-kp-3ea" secondAttribute="leading" constant="45" id="ycK-hN-gec"/>
+            </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"/>
+                <outlet property="view_container" destination="26Z-P3-SaG" id="xJF-xr-oBZ"/>
+            </connections>
+            <point key="canvasLocation" x="140" y="21"/>
+        </view>
+    </objects>
+    <resources>
+        <image name="bg_task_f" width="300" height="263"/>
+    </resources>
+</document>
diff --git a/XQMuse/Root/TreeGroup/View/TreeTeskListView.swift b/XQMuse/Root/TreeGroup/View/TreeTeskListView.swift
new file mode 100644
index 0000000..734f419
--- /dev/null
+++ b/XQMuse/Root/TreeGroup/View/TreeTeskListView.swift
@@ -0,0 +1,103 @@
+//
+//  TreeTeskListView.swift
+//  XQMuse
+//
+//  Created by 无故事王国 on 2024/9/11.
+//
+
+import UIKit
+import JQTools
+import RxSwift
+
+enum TreeTeskListSwipe{
+				case up
+				case down
+}
+
+class TreeTeskListView: UIView,JQNibView{
+
+				@IBOutlet weak var view_sign: UIView!
+				@IBOutlet weak var label_sign: UILabel!
+				
+				private var clouse:((TreeTeskListSwipe)->Void)?
+				private var disposeBag = DisposeBag()
+
+
+
+				override func awakeFromNib() {
+								super.awakeFromNib()
+
+								//添加一个上滑手势
+								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)
+
+								//添加一个上滑手势
+								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)
+				}
+
+				func swipeClouse(clouse:@escaping (TreeTeskListSwipe)->Void){
+								self.clouse = clouse
+				}
+
+				@IBAction func signAction(_ sender: TapBtn) {
+
+								label_sign.text = "已签到"
+								view_sign.backgroundColor = .gray.withAlphaComponent(0.2)
+								label_sign.textColor = .white
+
+								let imageView = UIImageView(image: UIImage(named: "icon_signSuccess"))
+								imageView.transform = .init(scaleX: 0.1, y: 0.1)
+								imageView.alpha = 0
+								sceneDelegate?.window?.addSubview(imageView)
+								imageView.snp.makeConstraints { make in
+												make.center.equalToSuperview()
+												make.width.equalTo(132)
+												make.height.equalTo(151)
+								}
+
+								UIView.animate(withDuration: 0.5, delay: 0.1, usingSpringWithDamping: 0.5, initialSpringVelocity: 1.0, options: .curveEaseIn) {
+												imageView.transform = .init(scaleX: 1.0, y: 1.0)
+												imageView.alpha = 1
+								}
+
+								DispatchQueue.main.asyncAfter(delay: 2.5) {
+												UIView.animate(withDuration: 0.5) {
+																imageView.transform = .init(scaleX: 0.1, y: 0.1)
+																imageView.alpha = 0
+												} completion: { _ in
+																imageView.removeFromSuperview()
+												}
+								}
+				}
+
+				@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
new file mode 100644
index 0000000..bd4da14
--- /dev/null
+++ b/XQMuse/Root/TreeGroup/View/TreeTeskListView.xib
@@ -0,0 +1,320 @@
+<?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">
+    <device id="retina6_12" orientation="portrait" appearance="light"/>
+    <dependencies>
+        <deployment identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/>
+        <capability name="System colors in document resources" minToolsVersion="11.0"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
+        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
+        <view contentMode="scaleToFill" id="iN0-l3-epB" customClass="TreeTeskListView" customModule="XQMuse" customModuleProvider="target">
+            <rect key="frame" x="0.0" y="0.0" width="393" height="294"/>
+            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+            <subviews>
+                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="vCO-F3-4mn">
+                    <rect key="frame" x="0.0" y="0.0" width="393" height="52.333333333333336"/>
+                    <subviews>
+                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_task_title" translatesAutoresizingMaskIntoConstraints="NO" id="9Mf-t2-cT3">
+                            <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"/>
+                            <fontDescription key="fontDescription" type="system" pointSize="17"/>
+                            <nil key="textColor"/>
+                            <nil key="highlightedColor"/>
+                        </label>
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Task List" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="UfB-K9-gmh">
+                            <rect key="frame" x="305" y="20" width="42.333333333333314" height="12"/>
+                            <fontDescription key="fontDescription" type="system" pointSize="10"/>
+                            <nil key="textColor"/>
+                            <nil key="highlightedColor"/>
+                        </label>
+                    </subviews>
+                    <color key="backgroundColor" red="0.94117647058823528" green="0.94117647058823528" blue="0.94117647058823528" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                    <constraints>
+                        <constraint firstItem="9Mf-t2-cT3" firstAttribute="leading" secondItem="vCO-F3-4mn" secondAttribute="leading" constant="50.670000000000002" id="2W6-f1-KaC"/>
+                        <constraint firstItem="pYG-Qr-ArP" firstAttribute="centerY" secondItem="9Mf-t2-cT3" secondAttribute="centerY" id="3SH-a9-pkz"/>
+                        <constraint firstItem="9Mf-t2-cT3" firstAttribute="centerY" secondItem="vCO-F3-4mn" secondAttribute="centerY" id="OBH-VE-8NB"/>
+                        <constraint firstAttribute="trailing" secondItem="UfB-K9-gmh" secondAttribute="trailing" constant="45.670000000000002" id="UbX-Ta-lx1"/>
+                        <constraint firstAttribute="height" constant="52.299999999999997" id="lRL-3B-IrF"/>
+                        <constraint firstItem="pYG-Qr-ArP" firstAttribute="leading" secondItem="9Mf-t2-cT3" secondAttribute="trailing" constant="6.6699999999999999" id="oaD-ju-KoL"/>
+                        <constraint firstItem="UfB-K9-gmh" firstAttribute="centerY" secondItem="9Mf-t2-cT3" secondAttribute="centerY" id="qhM-46-rhg"/>
+                    </constraints>
+                </view>
+                <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="17.670000000000002" translatesAutoresizingMaskIntoConstraints="NO" id="7wq-iH-20y">
+                    <rect key="frame" x="26" y="83.666666666666671" width="341" height="164.33333333333331"/>
+                    <subviews>
+                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="QeN-rl-gb6" customClass="TapBtn" customModule="XQMuse" customModuleProvider="target">
+                            <rect key="frame" x="0.0" y="0.0" width="341" height="43"/>
+                            <subviews>
+                                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_task_s" translatesAutoresizingMaskIntoConstraints="NO" id="r7V-WO-Ci3">
+                                    <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"/>
+                                    <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"/>
+                                </label>
+                                <view userInteractionEnabled="NO" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="bLC-YH-CzV">
+                                    <rect key="frame" x="241.00000000000003" y="9" width="90.333333333333343" height="25"/>
+                                    <subviews>
+                                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="vuQ-La-6pi">
+                                            <rect key="frame" x="13" y="7.3333333333333286" width="10" height="10"/>
+                                            <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+                                            <constraints>
+                                                <constraint firstAttribute="width" constant="10" id="TaU-Xq-UpF"/>
+                                                <constraint firstAttribute="height" constant="10" id="qNc-jY-YNM"/>
+                                            </constraints>
+                                            <userDefinedRuntimeAttributes>
+                                                <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/>
+                                                <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB">
+                                                    <real key="value" value="5"/>
+                                                </userDefinedRuntimeAttribute>
+                                                <userDefinedRuntimeAttribute type="color" keyPath="ld_borderColorXIB">
+                                                    <color key="value" red="0.30588235294117649" green="0.30588235294117649" blue="0.30588235294117649" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                                </userDefinedRuntimeAttribute>
+                                                <userDefinedRuntimeAttribute type="number" keyPath="ld_borderWidthXIB">
+                                                    <integer key="value" value="1"/>
+                                                </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="Vzb-As-8Sv">
+                                            <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"/>
+                                            <nil key="highlightedColor"/>
+                                        </label>
+                                    </subviews>
+                                    <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+                                    <constraints>
+                                        <constraint firstAttribute="width" constant="90.329999999999998" id="2HG-eX-HP1"/>
+                                        <constraint firstAttribute="height" constant="25" id="3jm-W2-REx"/>
+                                        <constraint firstItem="Vzb-As-8Sv" firstAttribute="leading" secondItem="vuQ-La-6pi" secondAttribute="trailing" id="6Ec-pv-ZWK"/>
+                                        <constraint firstAttribute="trailing" secondItem="Vzb-As-8Sv" secondAttribute="trailing" id="CzW-KN-xhd"/>
+                                        <constraint firstAttribute="bottom" secondItem="Vzb-As-8Sv" secondAttribute="bottom" id="Gc8-PQ-BvK"/>
+                                        <constraint firstItem="vuQ-La-6pi" firstAttribute="centerY" secondItem="bLC-YH-CzV" secondAttribute="centerY" id="VBO-vn-Q67"/>
+                                        <constraint firstItem="Vzb-As-8Sv" firstAttribute="top" secondItem="bLC-YH-CzV" secondAttribute="top" id="w5D-9P-oBN"/>
+                                        <constraint firstItem="vuQ-La-6pi" firstAttribute="leading" secondItem="bLC-YH-CzV" secondAttribute="leading" constant="13" id="wfC-x2-dsp"/>
+                                    </constraints>
+                                    <userDefinedRuntimeAttributes>
+                                        <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/>
+                                        <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB">
+                                            <real key="value" value="12.5"/>
+                                        </userDefinedRuntimeAttribute>
+                                    </userDefinedRuntimeAttributes>
+                                </view>
+                            </subviews>
+                            <color key="backgroundColor" red="0.69803921568627447" green="0.792156862745098" blue="0.59999999999999998" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                            <constraints>
+                                <constraint firstItem="3pD-LK-hZd" firstAttribute="centerY" secondItem="QeN-rl-gb6" secondAttribute="centerY" id="91X-QY-idg"/>
+                                <constraint firstItem="r7V-WO-Ci3" firstAttribute="centerY" secondItem="QeN-rl-gb6" secondAttribute="centerY" id="VFg-42-vk2"/>
+                                <constraint firstItem="r7V-WO-Ci3" firstAttribute="leading" secondItem="QeN-rl-gb6" secondAttribute="leading" constant="25.329999999999998" id="ZFE-26-gSB"/>
+                                <constraint firstItem="bLC-YH-CzV" firstAttribute="centerY" secondItem="QeN-rl-gb6" secondAttribute="centerY" id="b0J-y7-vx8"/>
+                                <constraint firstItem="3pD-LK-hZd" firstAttribute="leading" secondItem="r7V-WO-Ci3" secondAttribute="trailing" constant="8.3300000000000001" id="bkk-RK-NU0"/>
+                                <constraint firstAttribute="trailing" secondItem="bLC-YH-CzV" secondAttribute="trailing" constant="9.6699999999999999" id="fcA-br-oT5"/>
+                                <constraint firstAttribute="height" constant="43" id="xGW-cf-S0B"/>
+                            </constraints>
+                            <userDefinedRuntimeAttributes>
+                                <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/>
+                                <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB">
+                                    <real key="value" value="21.5"/>
+                                </userDefinedRuntimeAttribute>
+                            </userDefinedRuntimeAttributes>
+                            <connections>
+                                <action selector="signAction:" destination="iN0-l3-epB" eventType="touchUpInside" id="AD3-8y-m05"/>
+                            </connections>
+                        </view>
+                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="PwF-1n-wfO" customClass="TapBtn" customModule="XQMuse" customModuleProvider="target">
+                            <rect key="frame" x="0.0" y="60.666666666666671" width="341" height="43"/>
+                            <subviews>
+                                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_task_s" translatesAutoresizingMaskIntoConstraints="NO" id="VxL-eQ-XoF">
+                                    <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"/>
+                                    <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"/>
+                                </label>
+                                <view userInteractionEnabled="NO" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="mTi-vt-g8O">
+                                    <rect key="frame" x="241.00000000000003" y="9" width="90.333333333333343" height="25"/>
+                                    <subviews>
+                                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="bo4-x0-d08">
+                                            <rect key="frame" x="13" y="7.3333333333333144" width="10" height="10"/>
+                                            <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+                                            <constraints>
+                                                <constraint firstAttribute="width" constant="10" id="4ze-Ex-A31"/>
+                                                <constraint firstAttribute="height" constant="10" id="OZP-qa-Wpc"/>
+                                            </constraints>
+                                            <userDefinedRuntimeAttributes>
+                                                <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/>
+                                                <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB">
+                                                    <real key="value" value="5"/>
+                                                </userDefinedRuntimeAttribute>
+                                                <userDefinedRuntimeAttribute type="color" keyPath="ld_borderColorXIB">
+                                                    <color key="value" red="0.30588235289999999" green="0.30588235289999999" blue="0.30588235289999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                                </userDefinedRuntimeAttribute>
+                                                <userDefinedRuntimeAttribute type="number" keyPath="ld_borderWidthXIB">
+                                                    <real key="value" value="1"/>
+                                                </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">
+                                            <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"/>
+                                            <nil key="highlightedColor"/>
+                                        </label>
+                                    </subviews>
+                                    <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+                                    <constraints>
+                                        <constraint firstItem="oyl-lW-Kxr" firstAttribute="top" secondItem="mTi-vt-g8O" secondAttribute="top" id="2Ex-5S-Sae"/>
+                                        <constraint firstAttribute="bottom" secondItem="oyl-lW-Kxr" secondAttribute="bottom" id="7W2-ca-HD1"/>
+                                        <constraint firstAttribute="width" constant="90.329999999999998" id="Ezf-I0-I3e"/>
+                                        <constraint firstAttribute="trailing" secondItem="oyl-lW-Kxr" secondAttribute="trailing" id="GhX-FR-rMf"/>
+                                        <constraint firstItem="bo4-x0-d08" firstAttribute="leading" secondItem="mTi-vt-g8O" secondAttribute="leading" constant="13" id="ZcU-xy-eg4"/>
+                                        <constraint firstItem="oyl-lW-Kxr" firstAttribute="leading" secondItem="bo4-x0-d08" secondAttribute="trailing" id="gIc-Qe-fEm"/>
+                                        <constraint firstAttribute="height" constant="25" id="itb-b3-kPG"/>
+                                        <constraint firstItem="bo4-x0-d08" firstAttribute="centerY" secondItem="mTi-vt-g8O" secondAttribute="centerY" id="jOo-oM-AAV"/>
+                                    </constraints>
+                                    <userDefinedRuntimeAttributes>
+                                        <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/>
+                                        <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB">
+                                            <real key="value" value="12.5"/>
+                                        </userDefinedRuntimeAttribute>
+                                    </userDefinedRuntimeAttributes>
+                                </view>
+                            </subviews>
+                            <color key="backgroundColor" red="0.69803921570000005" green="0.79215686269999996" blue="0.59999999999999998" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                            <constraints>
+                                <constraint firstItem="VxL-eQ-XoF" firstAttribute="centerY" secondItem="PwF-1n-wfO" secondAttribute="centerY" id="2GD-oZ-3vW"/>
+                                <constraint firstItem="VxL-eQ-XoF" firstAttribute="leading" secondItem="PwF-1n-wfO" secondAttribute="leading" constant="25.329999999999998" id="Elx-bh-Thy"/>
+                                <constraint firstItem="Kag-M2-m2v" firstAttribute="centerY" secondItem="PwF-1n-wfO" secondAttribute="centerY" id="ShB-Wv-QqT"/>
+                                <constraint firstItem="Kag-M2-m2v" firstAttribute="leading" secondItem="VxL-eQ-XoF" secondAttribute="trailing" constant="8.3300000000000001" id="SuI-wx-hds"/>
+                                <constraint firstItem="mTi-vt-g8O" firstAttribute="centerY" secondItem="PwF-1n-wfO" secondAttribute="centerY" id="c3s-57-cXR"/>
+                                <constraint firstAttribute="trailing" secondItem="mTi-vt-g8O" secondAttribute="trailing" constant="9.6699999999999999" id="jMN-VK-TNX"/>
+                                <constraint firstAttribute="height" constant="43" id="mRk-72-Z5x"/>
+                            </constraints>
+                            <userDefinedRuntimeAttributes>
+                                <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/>
+                                <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB">
+                                    <real key="value" value="21.5"/>
+                                </userDefinedRuntimeAttribute>
+                            </userDefinedRuntimeAttributes>
+                            <connections>
+                                <action selector="toMuse:" destination="iN0-l3-epB" eventType="touchUpInside" id="UNZ-J1-qIE"/>
+                            </connections>
+                        </view>
+                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ZUs-Tp-QZ9" customClass="TapBtn" customModule="XQMuse" customModuleProvider="target">
+                            <rect key="frame" x="0.0" y="121.33333333333331" width="341" height="43"/>
+                            <subviews>
+                                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_task_s" translatesAutoresizingMaskIntoConstraints="NO" id="ImB-br-bRK">
+                                    <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"/>
+                                    <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"/>
+                                </label>
+                                <view userInteractionEnabled="NO" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="y6n-Lx-kuE">
+                                    <rect key="frame" x="241.00000000000003" y="9" width="90.333333333333343" height="25"/>
+                                    <subviews>
+                                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="x7l-eb-8TL">
+                                            <rect key="frame" x="13" y="7.3333333333333428" width="10" height="10"/>
+                                            <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+                                            <constraints>
+                                                <constraint firstAttribute="width" constant="10" id="3aX-NJ-U9l"/>
+                                                <constraint firstAttribute="height" constant="10" id="88P-Cp-WtJ"/>
+                                            </constraints>
+                                            <userDefinedRuntimeAttributes>
+                                                <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/>
+                                                <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB">
+                                                    <real key="value" value="5"/>
+                                                </userDefinedRuntimeAttribute>
+                                                <userDefinedRuntimeAttribute type="color" keyPath="ld_borderColorXIB">
+                                                    <color key="value" red="0.30588235289999999" green="0.30588235289999999" blue="0.30588235289999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                                </userDefinedRuntimeAttribute>
+                                                <userDefinedRuntimeAttribute type="number" keyPath="ld_borderWidthXIB">
+                                                    <real key="value" value="1"/>
+                                                </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">
+                                            <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"/>
+                                            <nil key="highlightedColor"/>
+                                        </label>
+                                    </subviews>
+                                    <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+                                    <constraints>
+                                        <constraint firstAttribute="height" constant="25" id="3Bt-rj-h9q"/>
+                                        <constraint firstAttribute="trailing" secondItem="rR9-r5-hle" secondAttribute="trailing" id="Egk-5Y-MmQ"/>
+                                        <constraint firstItem="x7l-eb-8TL" firstAttribute="centerY" secondItem="y6n-Lx-kuE" secondAttribute="centerY" id="KR5-C1-KLB"/>
+                                        <constraint firstItem="x7l-eb-8TL" firstAttribute="leading" secondItem="y6n-Lx-kuE" secondAttribute="leading" constant="13" id="VL5-T7-AlP"/>
+                                        <constraint firstItem="rR9-r5-hle" firstAttribute="leading" secondItem="x7l-eb-8TL" secondAttribute="trailing" id="nPZ-2u-FRM"/>
+                                        <constraint firstAttribute="width" constant="90.329999999999998" id="rgF-JF-fGD"/>
+                                        <constraint firstItem="rR9-r5-hle" firstAttribute="top" secondItem="y6n-Lx-kuE" secondAttribute="top" id="yAW-6W-0f0"/>
+                                        <constraint firstAttribute="bottom" secondItem="rR9-r5-hle" secondAttribute="bottom" id="ySO-D7-zGg"/>
+                                    </constraints>
+                                    <userDefinedRuntimeAttributes>
+                                        <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/>
+                                        <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB">
+                                            <real key="value" value="12.5"/>
+                                        </userDefinedRuntimeAttribute>
+                                    </userDefinedRuntimeAttributes>
+                                </view>
+                            </subviews>
+                            <color key="backgroundColor" red="0.69803921570000005" green="0.79215686269999996" blue="0.59999999999999998" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                            <constraints>
+                                <constraint firstItem="1oV-nk-0EQ" firstAttribute="leading" secondItem="ImB-br-bRK" secondAttribute="trailing" constant="8.3300000000000001" id="37B-zn-wQ1"/>
+                                <constraint firstAttribute="trailing" secondItem="y6n-Lx-kuE" secondAttribute="trailing" constant="9.6699999999999999" id="4tk-0s-3sd"/>
+                                <constraint firstItem="y6n-Lx-kuE" firstAttribute="centerY" secondItem="ZUs-Tp-QZ9" secondAttribute="centerY" id="Hhm-aU-CIc"/>
+                                <constraint firstAttribute="height" constant="43" id="KWh-C1-c6Z"/>
+                                <constraint firstItem="1oV-nk-0EQ" firstAttribute="centerY" secondItem="ZUs-Tp-QZ9" secondAttribute="centerY" id="hfP-ep-4au"/>
+                                <constraint firstItem="ImB-br-bRK" firstAttribute="leading" secondItem="ZUs-Tp-QZ9" secondAttribute="leading" constant="25.329999999999998" id="iU3-y8-Ecn"/>
+                                <constraint firstItem="ImB-br-bRK" firstAttribute="centerY" secondItem="ZUs-Tp-QZ9" secondAttribute="centerY" id="wfH-Xv-jJi"/>
+                            </constraints>
+                            <userDefinedRuntimeAttributes>
+                                <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/>
+                                <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB">
+                                    <real key="value" value="21.5"/>
+                                </userDefinedRuntimeAttribute>
+                            </userDefinedRuntimeAttributes>
+                            <connections>
+                                <action selector="toMuse:" destination="iN0-l3-epB" eventType="touchUpInside" id="9EX-0O-UFY"/>
+                            </connections>
+                        </view>
+                    </subviews>
+                </stackView>
+            </subviews>
+            <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+            <constraints>
+                <constraint firstItem="vCO-F3-4mn" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" id="8qg-0u-DKv"/>
+                <constraint firstAttribute="trailing" secondItem="vCO-F3-4mn" secondAttribute="trailing" id="ag3-hY-Kuo"/>
+                <constraint firstItem="7wq-iH-20y" firstAttribute="top" secondItem="vCO-F3-4mn" secondAttribute="bottom" constant="31.329999999999998" id="k0Q-Xg-rhR"/>
+                <constraint firstItem="vCO-F3-4mn" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" id="mU6-uh-8iF"/>
+                <constraint firstAttribute="trailing" secondItem="7wq-iH-20y" secondAttribute="trailing" constant="26" id="nKj-LF-xUc"/>
+                <constraint firstItem="7wq-iH-20y" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="26" id="uVa-cr-u7Z"/>
+            </constraints>
+            <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
+            <connections>
+                <outlet property="label_sign" destination="Vzb-As-8Sv" id="jv7-Zj-Xma"/>
+                <outlet property="view_sign" destination="bLC-YH-CzV" id="wAt-7y-Hql"/>
+            </connections>
+            <point key="canvasLocation" x="64.885496183206101" y="154.22535211267606"/>
+        </view>
+    </objects>
+    <resources>
+        <image name="icon_task_s" width="10.666666984558105" height="10.666666984558105"/>
+        <image name="icon_task_title" width="17.666666030883789" height="17.666666030883789"/>
+        <systemColor name="systemBackgroundColor">
+            <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+        </systemColor>
+    </resources>
+</document>

--
Gitblit v1.7.1