Przeglądaj źródła

Merge branch 'main' of http://git.ddse.io:3000/tomy/JD_iOS into main

刘千军 11 miesięcy temu
rodzic
commit
20998055a3
75 zmienionych plików z 1573 dodań i 157 usunięć
  1. BIN
      .DS_Store
  2. 36 0
      Koala/Koala.xcodeproj/project.pbxproj
  3. 1 1
      Koala/Koala.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/xcschememanagement.plist
  4. BIN
      Koala/Koala.xcworkspace/xcuserdata/mac.xcuserdatad/UserInterfaceState.xcuserstate
  5. 134 6
      Koala/Koala.xcworkspace/xcuserdata/mac.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
  6. 3 1
      Koala/Koala/FX/Macro/ColorOrImage.swift
  7. 10 0
      Koala/Koala/Modular/Information/V/InfomationCell.swift
  8. 100 0
      Koala/Koala/Modular/JDAssets/V/JDAFiatAccountBalanceCell.swift
  9. 32 8
      Koala/Koala/Modular/JDAssets/V/JDAFiatAccountListPopView.swift
  10. 50 37
      Koala/Koala/Modular/JDAssets/VC/JDAFiatDepositsViewController.swift
  11. 1 1
      Koala/Koala/Modular/JDMine/V/JDMineCell.swift
  12. 187 0
      Koala/Koala/Modular/JDMine/V/JDMineHeaderView.swift
  13. 21 0
      Koala/Koala/Modular/JDMine/VC/JDMineActiveViewController.swift
  14. 21 0
      Koala/Koala/Modular/JDMine/VC/JDMineInviteViewController.swift
  15. 21 0
      Koala/Koala/Modular/JDMine/VC/JDMineJoinUsViewController.swift
  16. 18 0
      Koala/Koala/Modular/JDMine/VC/JDMineVIPViewController.swift
  17. 92 44
      Koala/Koala/Modular/JDMine/VC/JDMineViewController.swift
  18. 66 0
      Koala/Koala/Modular/JDTrade/V/JDHistoryDateSegmentView.swift
  19. 11 2
      Koala/Koala/Modular/JDTrade/V/JDTradeAccountCell.swift
  20. 59 0
      Koala/Koala/Modular/JDTrade/V/JDTradeAccountInfoHeaderView.swift
  21. 31 11
      Koala/Koala/Modular/JDTrade/VC/JDTradeAccountDetailViewController.swift
  22. 236 0
      Koala/Koala/Modular/JDTrade/VC/JDTradeAccountHistoryOrderViewController.swift
  23. 43 0
      Koala/Koala/Modular/JDTrade/VC/JDTradeAccountHoldViewController.swift
  24. 6 4
      Koala/Koala/Modular/JDTrade/VC/JDTradeAccountMainViewController.swift
  25. 204 0
      Koala/Koala/Modular/JDTrade/VC/JDTradeAccountPositionViewController.swift
  26. 24 7
      Koala/Koala/Modular/JDTrade/VC/JDTradeViewController.swift
  27. 0 2
      Koala/Koala/Modular/Mine/VC/MineViewController.swift
  28. 22 0
      Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_active.imageset/Contents.json
  29. BIN
      Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_active.imageset/编组 24备份 3@2x(1).png
  30. BIN
      Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_active.imageset/编组 24备份 3@3x(1).png
  31. BIN
      Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_feedback.imageset/编组 24备份 6@2x.png
  32. BIN
      Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_feedback.imageset/编组 24备份 6@3x.png
  33. BIN
      Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_help.imageset/编组 24备份 5@2x.png
  34. BIN
      Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_help.imageset/编组 24备份 5@3x.png
  35. 22 0
      Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_invite.imageset/Contents.json
  36. BIN
      Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_invite.imageset/编组 24备份 5@2x(1).png
  37. BIN
      Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_invite.imageset/编组 24备份 5@3x(1).png
  38. 22 0
      Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_joinus.imageset/Contents.json
  39. BIN
      Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_joinus.imageset/编组 24备份 4@2x(1).png
  40. BIN
      Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_joinus.imageset/编组 24备份 4@3x(1).png
  41. BIN
      Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_lang.imageset/编组 24备份 4@2x.png
  42. BIN
      Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_lang.imageset/编组 24备份 4@3x.png
  43. 2 2
      Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_menu_0.imageset/Contents.json
  44. BIN
      Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_menu_0.imageset/编组 20@2x.png
  45. BIN
      Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_menu_0.imageset/编组 20@3x.png
  46. BIN
      Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_menu_0.imageset/自选股备份 2@2x.png
  47. BIN
      Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_menu_0.imageset/自选股备份 2@3x.png
  48. 2 2
      Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_menu_1.imageset/Contents.json
  49. BIN
      Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_menu_1.imageset/编组 21@2x.png
  50. BIN
      Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_menu_1.imageset/编组 21@3x.png
  51. BIN
      Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_menu_1.imageset/自选股备份@2x.png
  52. BIN
      Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_menu_1.imageset/自选股备份@3x.png
  53. 2 2
      Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_menu_2.imageset/Contents.json
  54. BIN
      Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_menu_2.imageset/编组 22@2x.png
  55. BIN
      Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_menu_2.imageset/编组 22@3x.png
  56. BIN
      Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_menu_2.imageset/自选股备份@2x(1).png
  57. BIN
      Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_menu_2.imageset/自选股备份@3x(1).png
  58. 2 2
      Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_menu_3.imageset/Contents.json
  59. BIN
      Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_menu_3.imageset/编组 24@2x.png
  60. BIN
      Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_menu_3.imageset/编组 24@3x.png
  61. BIN
      Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_menu_3.imageset/自选股备份 9@2x.png
  62. BIN
      Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_menu_3.imageset/自选股备份 9@3x.png
  63. BIN
      Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_service.imageset/编组 24备份 3@2x.png
  64. BIN
      Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_service.imageset/编组 24备份 3@3x.png
  65. 22 0
      Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_vipArrow.imageset/Contents.json
  66. BIN
      Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_vipArrow.imageset/进入@2x.png
  67. BIN
      Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_vipArrow.imageset/进入@3x.png
  68. 22 0
      Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_vipbg.imageset/Contents.json
  69. BIN
      Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_vipbg.imageset/编组 15@2x.png
  70. BIN
      Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_vipbg.imageset/编组 15@3x.png
  71. 22 0
      Koala/Koala/Other/Assets.xcassets/JDTrade/account_wallet.imageset/Contents.json
  72. BIN
      Koala/Koala/Other/Assets.xcassets/JDTrade/account_wallet.imageset/美国国旗@2x.png
  73. BIN
      Koala/Koala/Other/Assets.xcassets/JDTrade/account_wallet.imageset/美国国旗@3x.png
  74. 25 25
      Koala/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/xcschememanagement.plist
  75. 1 0
      README.md

BIN
.DS_Store


+ 36 - 0
Koala/Koala.xcodeproj/project.pbxproj

@@ -26,6 +26,15 @@
 		041D4F092AC4367E008ABDF7 /* JDAccountTypeCheckCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 041D4F082AC4367E008ABDF7 /* JDAccountTypeCheckCell.swift */; };
 		041D4F0B2AC56484008ABDF7 /* JDLoginView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 041D4F0A2AC56484008ABDF7 /* JDLoginView.swift */; };
 		041D4F0D2AC57461008ABDF7 /* JDLoginCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 041D4F0C2AC57461008ABDF7 /* JDLoginCell.swift */; };
+		041D4F132AD0FDEB008ABDF7 /* JDAFiatAccountBalanceCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 041D4F122AD0FDEB008ABDF7 /* JDAFiatAccountBalanceCell.swift */; };
+		041D4F172AD288F8008ABDF7 /* JDTradeAccountPositionViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 041D4F162AD288F8008ABDF7 /* JDTradeAccountPositionViewController.swift */; };
+		041D4F192AD2894E008ABDF7 /* JDTradeAccountHistoryOrderViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 041D4F182AD2894E008ABDF7 /* JDTradeAccountHistoryOrderViewController.swift */; };
+		041D4F1C2AD28DF6008ABDF7 /* JDHistoryDateSegmentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 041D4F1B2AD28DF6008ABDF7 /* JDHistoryDateSegmentView.swift */; };
+		041D4F1E2AD2B0FC008ABDF7 /* JDMineHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 041D4F1D2AD2B0FC008ABDF7 /* JDMineHeaderView.swift */; };
+		041D4F202AD2CADC008ABDF7 /* JDMineInviteViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 041D4F1F2AD2CADC008ABDF7 /* JDMineInviteViewController.swift */; };
+		041D4F222AD2CAEA008ABDF7 /* JDMineJoinUsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 041D4F212AD2CAEA008ABDF7 /* JDMineJoinUsViewController.swift */; };
+		041D4F242AD2CB04008ABDF7 /* JDMineActiveViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 041D4F232AD2CB04008ABDF7 /* JDMineActiveViewController.swift */; };
+		041D4F262AD2CB9F008ABDF7 /* JDMineVIPViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 041D4F252AD2CB9F008ABDF7 /* JDMineVIPViewController.swift */; };
 		04CEE2722AB4311F00FAA760 /* JDTradeAccountModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04CEE2712AB4311F00FAA760 /* JDTradeAccountModel.swift */; };
 		04CEE2752AB5786100FAA760 /* MarketNoticeModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04CEE2742AB5786100FAA760 /* MarketNoticeModel.swift */; };
 		04CEE2772AB5CA8600FAA760 /* MarketCompanyModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04CEE2762AB5CA8600FAA760 /* MarketCompanyModel.swift */; };
@@ -753,6 +762,15 @@
 		041D4F082AC4367E008ABDF7 /* JDAccountTypeCheckCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JDAccountTypeCheckCell.swift; sourceTree = "<group>"; };
 		041D4F0A2AC56484008ABDF7 /* JDLoginView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JDLoginView.swift; sourceTree = "<group>"; };
 		041D4F0C2AC57461008ABDF7 /* JDLoginCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JDLoginCell.swift; sourceTree = "<group>"; };
+		041D4F122AD0FDEB008ABDF7 /* JDAFiatAccountBalanceCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JDAFiatAccountBalanceCell.swift; sourceTree = "<group>"; };
+		041D4F162AD288F8008ABDF7 /* JDTradeAccountPositionViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JDTradeAccountPositionViewController.swift; sourceTree = "<group>"; };
+		041D4F182AD2894E008ABDF7 /* JDTradeAccountHistoryOrderViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JDTradeAccountHistoryOrderViewController.swift; sourceTree = "<group>"; };
+		041D4F1B2AD28DF6008ABDF7 /* JDHistoryDateSegmentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JDHistoryDateSegmentView.swift; sourceTree = "<group>"; };
+		041D4F1D2AD2B0FC008ABDF7 /* JDMineHeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JDMineHeaderView.swift; sourceTree = "<group>"; };
+		041D4F1F2AD2CADC008ABDF7 /* JDMineInviteViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JDMineInviteViewController.swift; sourceTree = "<group>"; };
+		041D4F212AD2CAEA008ABDF7 /* JDMineJoinUsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JDMineJoinUsViewController.swift; sourceTree = "<group>"; };
+		041D4F232AD2CB04008ABDF7 /* JDMineActiveViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JDMineActiveViewController.swift; sourceTree = "<group>"; };
+		041D4F252AD2CB9F008ABDF7 /* JDMineVIPViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JDMineVIPViewController.swift; sourceTree = "<group>"; };
 		04CEE2712AB4311F00FAA760 /* JDTradeAccountModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JDTradeAccountModel.swift; sourceTree = "<group>"; };
 		04CEE2742AB5786100FAA760 /* MarketNoticeModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MarketNoticeModel.swift; sourceTree = "<group>"; };
 		04CEE2762AB5CA8600FAA760 /* MarketCompanyModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MarketCompanyModel.swift; sourceTree = "<group>"; };
@@ -1523,6 +1541,7 @@
 			children = (
 				04CEE2912AB9990900FAA760 /* JDAFiatDepositsCell.swift */,
 				041D4EE32ABEBA0C008ABDF7 /* JDAFiatAccountListPopView.swift */,
+				041D4F122AD0FDEB008ABDF7 /* JDAFiatAccountBalanceCell.swift */,
 				04CEE2952ABAE9CC00FAA760 /* JDAFiatWithdrawalsCell.swift */,
 				041D4EF72AC18A21008ABDF7 /* JDAFiatTransferCell.swift */,
 				041D4EFB2AC2B1AD008ABDF7 /* JDAFiatExchangeCell.swift */,
@@ -1758,6 +1777,10 @@
 				04CEE2AB2ABC3B6100FAA760 /* JDWorkOrderListViewController.swift */,
 				04CEE2AF2ABD1D3600FAA760 /* JDCreateWorkOrderViewController.swift */,
 				04CEE2B72ABD3ACA00FAA760 /* JDWorkOrderDetailViewController.swift */,
+				041D4F1F2AD2CADC008ABDF7 /* JDMineInviteViewController.swift */,
+				041D4F212AD2CAEA008ABDF7 /* JDMineJoinUsViewController.swift */,
+				041D4F232AD2CB04008ABDF7 /* JDMineActiveViewController.swift */,
+				041D4F252AD2CB9F008ABDF7 /* JDMineVIPViewController.swift */,
 			);
 			path = VC;
 			sourceTree = "<group>";
@@ -1773,6 +1796,7 @@
 				04CEE2AD2ABC3DFF00FAA760 /* JDWorkOrderListCell.swift */,
 				04CEE2B92ABD3C4400FAA760 /* JDWorkOrderDetailHeaderView.swift */,
 				04CEE2BB2ABD41DA00FAA760 /* JDWorkOrderDetailCell.swift */,
+				041D4F1D2AD2B0FC008ABDF7 /* JDMineHeaderView.swift */,
 			);
 			path = V;
 			sourceTree = "<group>";
@@ -1794,6 +1818,8 @@
 				04CEE27D2AB8067200FAA760 /* JDTradeAccountMainViewController.swift */,
 				04CEE2802AB81D5300FAA760 /* JDTradeAccountDetailViewController.swift */,
 				04CEE2842AB82F9A00FAA760 /* JDTradeAccountHoldViewController.swift */,
+				041D4F162AD288F8008ABDF7 /* JDTradeAccountPositionViewController.swift */,
+				041D4F182AD2894E008ABDF7 /* JDTradeAccountHistoryOrderViewController.swift */,
 				041D4EED2AC155F1008ABDF7 /* JDDealViewController.swift */,
 			);
 			path = VC;
@@ -1808,6 +1834,7 @@
 				04CEE2862AB851BC00FAA760 /* JDTradeDealListCell.swift */,
 				041D4EF12AC15AC6008ABDF7 /* JDDealSimpleHeaderView.swift */,
 				041D4EF32AC15E8E008ABDF7 /* JDDealSimpleInfoCell.swift */,
+				041D4F1B2AD28DF6008ABDF7 /* JDHistoryDateSegmentView.swift */,
 			);
 			path = V;
 			sourceTree = "<group>";
@@ -3865,8 +3892,10 @@
 				6C2FFCB529617471005B8180 /* KSelectBottonPopView.swift in Sources */,
 				6C031B1C2962C4C70043BECF /* RealNameFileView.swift in Sources */,
 				04D38E5C2A9EE8A10047EF9C /* JXSegmentedTitleOrImageDataSource.swift in Sources */,
+				041D4F222AD2CAEA008ABDF7 /* JDMineJoinUsViewController.swift in Sources */,
 				04CEE2A42ABC257900FAA760 /* JDMessageListViewController.swift in Sources */,
 				6C00A9902433313300CE9ADB /* HXPreviewThumbCell.swift in Sources */,
+				041D4F202AD2CADC008ABDF7 /* JDMineInviteViewController.swift in Sources */,
 				6CBDC923297AE4BE003E068F /* CTKLineChartsCell.swift in Sources */,
 				6CD6DF88243C29950025AF78 /* TTimer.swift in Sources */,
 				6C00A9972433313300CE9ADB /* HXImagePickerConfig.swift in Sources */,
@@ -3920,6 +3949,7 @@
 				04D38EB02AAB07B10047EF9C /* MarketListHeaderView.swift in Sources */,
 				04D38E7F2A9EE8A10047EF9C /* JXSegmentedListContainerView.swift in Sources */,
 				6C2FFCC72961A780005B8180 /* KTradingPasswordsPopView.swift in Sources */,
+				041D4F192AD2894E008ABDF7 /* JDTradeAccountHistoryOrderViewController.swift in Sources */,
 				6C35369129815FD7003BB632 /* DealViewModel.swift in Sources */,
 				6CDC5B0B29CFE63E00E60730 /* FiatDepositsRecordCell.swift in Sources */,
 				6CC37FF6299210870079FA5C /* AssetsSavingsCell.swift in Sources */,
@@ -4019,6 +4049,7 @@
 				6CA712FF2956E51C0047F450 /* MineViewModel.swift in Sources */,
 				04D38EB62AAC307E0047EF9C /* JDHomeHeaderView.swift in Sources */,
 				6CC37FCD298F79CF0079FA5C /* DealChangeOrderPopView.swift in Sources */,
+				041D4F1C2AD28DF6008ABDF7 /* JDHistoryDateSegmentView.swift in Sources */,
 				04CEE2B42ABD323200FAA760 /* InformationFlashViewController.swift in Sources */,
 				6C00A9992433313300CE9ADB /* HXReuseable.swift in Sources */,
 				6C4AFACF299BBDD000508EA7 /* ATransferViewController.swift in Sources */,
@@ -4041,6 +4072,7 @@
 				04CEE2722AB4311F00FAA760 /* JDTradeAccountModel.swift in Sources */,
 				6CA7133D29587BE10047F450 /* CountrySelectCell.swift in Sources */,
 				6CC37FDA298FAFE30079FA5C /* AssetsSavingsView.swift in Sources */,
+				041D4F1E2AD2B0FC008ABDF7 /* JDMineHeaderView.swift in Sources */,
 				6C00A8F8242D918D00CE9ADB /* ESTabBarItemBadgeView.swift in Sources */,
 				6C2FFCBF29618271005B8180 /* FreezeAccountView.swift in Sources */,
 				6CBDC91E297AE49A003E068F /* KLinePeriod.swift in Sources */,
@@ -4143,9 +4175,11 @@
 				6C00A8F7242D918D00CE9ADB /* ESTabBarItem.swift in Sources */,
 				041D4EEA2AC14E20008ABDF7 /* JDSearchBarView.swift in Sources */,
 				041D4F0D2AC57461008ABDF7 /* JDLoginCell.swift in Sources */,
+				041D4F132AD0FDEB008ABDF7 /* JDAFiatAccountBalanceCell.swift in Sources */,
 				6C8652FF29ABB1A500A2E7FB /* TDStatisticsRecordCell.swift in Sources */,
 				04D38E7D2A9EE8A10047EF9C /* JXSegmentedNumberItemModel.swift in Sources */,
 				04D38E682A9EE8A10047EF9C /* JXSegmentedIndicatorGradientLineView.swift in Sources */,
+				041D4F262AD2CB9F008ABDF7 /* JDMineVIPViewController.swift in Sources */,
 				6CD200AE29E6E70400F0966D /* ASavingsDetailsHeaderView.swift in Sources */,
 				6CBDC8FB2973059F003E068F /* MarketViewModel.swift in Sources */,
 				6C4AFB1629A1411900508EA7 /* HoldModificationPopView.swift in Sources */,
@@ -4211,6 +4245,7 @@
 				6C584E35295C618F00CE1D2C /* HoldViewController.swift in Sources */,
 				04D38EB42AAC164A0047EF9C /* JDHomeExponentCell.swift in Sources */,
 				6C4AFAE5299E6AC100508EA7 /* AFiatWithdrawalsCell.swift in Sources */,
+				041D4F242AD2CB04008ABDF7 /* JDMineActiveViewController.swift in Sources */,
 				04D38E5B2A9EE8A10047EF9C /* JXSegmentedTitleOrImageItemModel.swift in Sources */,
 				6C4AFB3029A7B57B00508EA7 /* MessageViewController.swift in Sources */,
 				04D38EA62AA8242F0047EF9C /* MarketFinancesViewController.swift in Sources */,
@@ -4260,6 +4295,7 @@
 				6C00A98C2433313300CE9ADB /* HXImagePreviewViewController.swift in Sources */,
 				04D38E732A9EE8A10047EF9C /* JXSegmentedTitleImageCell.swift in Sources */,
 				6CD5EB6F29D863580053325F /* GuideViewController.swift in Sources */,
+				041D4F172AD288F8008ABDF7 /* JDTradeAccountPositionViewController.swift in Sources */,
 				6C031DA7296320150043BECF /* HomeModel.swift in Sources */,
 				04D38EBD2AAECF4F0047EF9C /* JDTradeNavView.swift in Sources */,
 				6C0C49A0295F2842000BFEEB /* BindAccountViewModel.swift in Sources */,

+ 1 - 1
Koala/Koala.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/xcschememanagement.plist

@@ -7,7 +7,7 @@
 		<key>Koala.xcscheme_^#shared#^_</key>
 		<dict>
 			<key>orderHint</key>
-			<integer>12</integer>
+			<integer>15</integer>
 		</dict>
 	</dict>
 </dict>

BIN
Koala/Koala.xcworkspace/xcuserdata/mac.xcuserdatad/UserInterfaceState.xcuserstate


+ 134 - 6
Koala/Koala.xcworkspace/xcuserdata/mac.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -238,10 +238,10 @@
             filePath = "Koala/Modular/JDMine/VC/JDMineViewController.swift"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "249"
-            endingLineNumber = "249"
-            landmarkName = "menuAction(btn:)"
-            landmarkType = "7">
+            startingLineNumber = "295"
+            endingLineNumber = "295"
+            landmarkName = "unknown"
+            landmarkType = "0">
          </BreakpointContent>
       </BreakpointProxy>
       <BreakpointProxy
@@ -542,8 +542,8 @@
             filePath = "Koala/Modular/JDAssets/VC/JDAFiatDepositsViewController.swift"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "276"
-            endingLineNumber = "276"
+            startingLineNumber = "289"
+            endingLineNumber = "289"
             landmarkName = "showPayWayList()"
             landmarkType = "7">
          </BreakpointContent>
@@ -564,5 +564,133 @@
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "CEBB5638-3F8B-40C0-BFC6-2929069ACA68"
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "Koala/Modular/JDAssets/V/JDAFiatAccountListPopView.swift"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "159"
+            endingLineNumber = "159"
+            landmarkName = "tableView(_:cellForRowAt:)"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "F9D3BE6F-5605-435B-B193-67FD0B6A4C72"
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "Koala/Modular/JDAssets/VC/JDAFiatDepositsViewController.swift"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "268"
+            endingLineNumber = "268"
+            landmarkName = "showCashChannelModelList()"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "F596D846-AB77-40F4-B4BD-62821A5B3168"
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "Koala/Modular/JDAssets/VC/JDAFiatDepositsViewController.swift"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "130"
+            endingLineNumber = "130"
+            landmarkName = "netWalletList()"
+            landmarkType = "7">
+            <Locations>
+               <Location
+                  uuid = "F596D846-AB77-40F4-B4BD-62821A5B3168 - 7efec6ae13e00a98"
+                  shouldBeEnabled = "Yes"
+                  ignoreCount = "0"
+                  continueAfterRunningActions = "No"
+                  symbolName = "Koala.JDAFiatDepositsViewController.netWalletList() -&gt; ()"
+                  moduleName = "Koala"
+                  usesParentBreakpointCondition = "Yes"
+                  urlString = "file:///Users/mac/Desktop/%20WorkSpace/JiduClient/Koala/Koala/Modular/JDAssets/VC/JDAFiatDepositsViewController.swift"
+                  startingColumnNumber = "9223372036854775807"
+                  endingColumnNumber = "9223372036854775807"
+                  startingLineNumber = "130"
+                  endingLineNumber = "130"
+                  offsetFromSymbolStart = "52">
+               </Location>
+               <Location
+                  uuid = "F596D846-AB77-40F4-B4BD-62821A5B3168 - a84f9c7e964bbe5"
+                  shouldBeEnabled = "Yes"
+                  ignoreCount = "0"
+                  continueAfterRunningActions = "No"
+                  symbolName = "closure #1 (Swift.Optional&lt;Swift.Int&gt;, Swift.Optional&lt;Swift.AnyObject&gt;) -&gt; () in Koala.JDAFiatDepositsViewController.netWalletList() -&gt; ()"
+                  moduleName = "Koala"
+                  usesParentBreakpointCondition = "Yes"
+                  urlString = "file:///Users/mac/Desktop/%20WorkSpace/JiduClient/Koala/Koala/Modular/JDAssets/VC/JDAFiatDepositsViewController.swift"
+                  startingColumnNumber = "9223372036854775807"
+                  endingColumnNumber = "9223372036854775807"
+                  startingLineNumber = "131"
+                  endingLineNumber = "131"
+                  offsetFromSymbolStart = "227">
+               </Location>
+            </Locations>
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "9505F9A2-D6AD-463F-8E74-BFFD9150EF75"
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "Koala/Modular/JDAssets/VC/JDAFiatDepositsViewController.swift"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "158"
+            endingLineNumber = "158"
+            landmarkName = "netAccountList()"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "48FDC275-6F70-4B99-B59B-5464F110C12C"
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "Koala/Modular/JDTrade/V/JDTradeAccountInfoHeaderView.swift"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "379"
+            endingLineNumber = "379"
+            landmarkName = "setupAccountHeaderViewByAccount(model:)"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "481DDB5C-A5DA-4900-ADDC-17B99BAEC281"
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "Koala/Modular/JDTrade/VC/JDTradeAccountHoldViewController.swift"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "62"
+            endingLineNumber = "62"
+            landmarkName = "requestEntrustList()"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
    </Breakpoints>
 </Bucket>

+ 3 - 1
Koala/Koala/FX/Macro/ColorOrImage.swift

@@ -515,7 +515,9 @@ var NavViewSpecialBlackImage : UIImage {
 
 var Base_Avtor_Image : UIImage {
     get{
-        return  _image("JDMine_avatar&JDMine_avatar") //_image("Base_B_Avtor&Base_W_Avtor")
+//        return  _image("JDMine_avatar&JDMine_avatar") //_image("Base_B_Avtor&Base_W_Avtor")
+        
+        return _image("jdhome_avatar&jdhome_avatar")
     }
 }
 

+ 10 - 0
Koala/Koala/Modular/Information/V/InfomationCell.swift

@@ -118,10 +118,20 @@ extension InfomationCell {
             self.rateLb.text = ""
             
             self.timeLb.text = model.created_at
+            
+            if model.img.length == 0 {
+                
+                self.picIv.snp.updateConstraints { make in
+                    make.size.equalTo(CGSize(width: 0, height: 71))
+                }
+            }
+            
             if let url = URL.init(string: model.img) {
                 
                 self.picIv.kf.setImage(with: url)
             }
+            
+            
     }
 }
 

+ 100 - 0
Koala/Koala/Modular/JDAssets/V/JDAFiatAccountBalanceCell.swift

@@ -0,0 +1,100 @@
+//
+//  JDAFiatAccountBalanceCell.swift
+//  Koala
+//
+//  Created by mac on 2023/10/7.
+//  Copyright © 2023 刘千军. All rights reserved.
+//
+
+import Foundation
+import UIKit
+
+class JDAFiatAccountBalanceCell: BaseTableViewCell {
+    
+    lazy var accountIcon : UIImageView = {
+        let v = UIImageView()
+        
+        v.image = UIImage(named: "account_US")
+        v.layer.masksToBounds = true
+        v.layer.cornerRadius = 10
+        
+        return v
+    }()
+    
+    lazy var nameLb : UILabel =  {
+        
+        let v = UILabel()
+        v.font = .systemFont(ofSize: 16)
+        v.textColor = UIColor.pg_color(withHexString: "333333")
+        v.text = "港元"
+        return v
+    }()
+    
+    lazy var balanceLb : UILabel =  {
+        
+        let v = UILabel()
+        v.font = .systemFont(ofSize: 12)
+        v.textColor = UIColor.pg_color(withHexString: "333333")
+        v.text = "余额: 0 USD"
+        return v
+    }()
+    
+    
+    override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
+        super.init(style: style, reuseIdentifier: reuseIdentifier)
+        
+        contentView .addSubview(accountIcon)
+        
+        accountIcon.snp.makeConstraints { make in
+            make.top.equalTo(contentView.snp.top).offset(13)
+            make.left.equalTo(contentView.snp.left).offset(18)
+            make.size.equalTo(CGSizeMake(20, 20))
+        }
+        
+        contentView.addSubview(nameLb)
+        nameLb.snp.makeConstraints { make in
+            make.centerY.equalTo(accountIcon)
+            make.left.equalTo(accountIcon.snp.right).offset(6)
+        }
+        
+        contentView.addSubview(balanceLb)
+        balanceLb.snp.makeConstraints { make in
+            make.left.equalTo(accountIcon.snp.left)
+            make.top.equalTo(accountIcon.snp.bottom).offset(10)
+            make.bottom.equalTo(contentView.snp.bottom).offset(-13)
+        }
+        
+    }
+    
+    required init?(coder aDecoder: NSCoder) {
+        fatalError("init(coder:) has not been implemented")
+    }
+    
+    var accountModel : JDTradeAccountModel?
+}
+
+extension JDAFiatAccountBalanceCell {
+    
+    
+    func setupBalanceCellByAccount ( model : JDTradeAccountModel) -> Void{
+        
+        self.accountModel = model
+        accountIcon.image = UIImage(named: "account_\(model.market!)")
+        if model.market == "US" {
+            nameLb.text = "美股通"
+            
+        }else if model.market == "CN" {
+            nameLb.text = "A股通"
+
+        }else if model.market == "HK" {
+            nameLb.text = "港股通"
+
+        }else {
+            nameLb.text = "综合账户"
+
+        }
+        
+        balanceLb.text = "余额:\(model.equity ?? "0")"
+    }
+    
+}

+ 32 - 8
Koala/Koala/Modular/JDAssets/V/JDAFiatAccountListPopView.swift

@@ -22,6 +22,14 @@ class JDAFiatAccountListPopView: BaseAlertView {
         return v
     }()
     
+    lazy var topCloseBtn : UIButton = {
+        
+        let v = UIButton(type: .custom)
+        v.backgroundColor = .clear
+        v.addTarget(self, action: #selector(clickCloseBtnAction), for: .touchUpInside)
+        return v
+    }()
+    
     lazy var tableView : UITableView = {
         let tableView = UITableView(frame: .zero, style: .plain)
         tableView.delegate = self
@@ -32,18 +40,23 @@ class JDAFiatAccountListPopView: BaseAlertView {
         tableView.tableHeaderView = UIView()
         tableView.showsVerticalScrollIndicator = false
         tableView.showsVerticalScrollIndicator = false
-        tableView.register(UINib.init(nibName: "AFiatDepositsPayWayCell", bundle: nil), forCellReuseIdentifier: "AFiatDepositsPayWayCell")
+        tableView.estimatedRowHeight = 60
+        tableView.layer.masksToBounds = true
+        tableView.layer.cornerRadius = 10
+//        tableView.register(UINib.init(nibName: "AFiatDepositsPayWayCell", bundle: nil), forCellReuseIdentifier: "AFiatDepositsPayWayCell")
+        tableView.register(JDAFiatAccountBalanceCell.self, forCellReuseIdentifier: JDAFiatAccountBalanceCell.description())
         
         return tableView
         
     }()
-    var sourceArray:[CashChannelModelListModel] = [CashChannelModelListModel]()
+//    var sourceArray:[CashChannelModelListModel] = [CashChannelModelListModel]()
+        var sourceArray:[JDTradeAccountModel] = [JDTradeAccountModel]()
 //    var popupView: UIView!
     var completeBlock: ((_ index:NSInteger)->())?
     
-    func loadFromNib() -> UIView {
-        return Bundle.main.loadNibNamed("AFiatDepositsPayWayPopView", owner: self, options: nil)?.first as! UIView
-    }
+//    func loadFromNib() -> UIView {
+//        return Bundle.main.loadNibNamed("AFiatDepositsPayWayPopView", owner: self, options: nil)?.first as! UIView
+//    }
     
     override init(frame: CGRect) {
         super.init(frame: frame)
@@ -76,6 +89,11 @@ class JDAFiatAccountListPopView: BaseAlertView {
 //        tableView.showsVerticalScrollIndicator = false
 //        tableView.register(UINib.init(nibName: "AFiatDepositsPayWayCell", bundle: nil), forCellReuseIdentifier: "AFiatDepositsPayWayCell")
         
+        self.addSubview(topCloseBtn)
+        topCloseBtn.snp.makeConstraints { make in
+            make.left.top.right.equalTo(self)
+            make.bottom.equalTo(self.snp.centerY)
+        }
         self.addSubview(tableView)
         tableView.snp.makeConstraints { make in
             make.left.bottom.right.equalTo(self)
@@ -108,7 +126,7 @@ class JDAFiatAccountListPopView: BaseAlertView {
 }
 
 extension JDAFiatAccountListPopView{
-    func showPopupView(source:[CashChannelModelListModel], complete:@escaping (_ index: NSInteger)->()) -> Void {
+    func showPopupView(source:[JDTradeAccountModel], complete:@escaping (_ index: NSInteger)->()) -> Void {
      
         completeBlock = complete
         self.sourceArray = source
@@ -136,11 +154,17 @@ extension JDAFiatAccountListPopView:UITableViewDelegate,UITableViewDataSource{
     }
     
     func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
-        let cell:AFiatDepositsPayWayCell = tableView.dequeueReusableCell(withIdentifier: "AFiatDepositsPayWayCell", for: indexPath) as! AFiatDepositsPayWayCell
+//        let cell:AFiatDepositsPayWayCell = tableView.dequeueReusableCell(withIdentifier: "AFiatDepositsPayWayCell", for: indexPath) as! AFiatDepositsPayWayCell
+//
+//        cell.updateCellWith(model: self.sourceArray[indexPath.row])
+//
+//        return cell
         
-        cell.updateCellWith(model: self.sourceArray[indexPath.row])
+        let cell = tableView.dequeueReusableCell(withIdentifier: JDAFiatAccountBalanceCell.description()) as! JDAFiatAccountBalanceCell
+        cell.setupBalanceCellByAccount(model: self.sourceArray[indexPath.row])
         
         return cell
+        
     }
     
     func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {

+ 50 - 37
Koala/Koala/Modular/JDAssets/VC/JDAFiatDepositsViewController.swift

@@ -33,16 +33,24 @@ class JDAFiatDepositsViewController: BaseViewController {
         return arr
     }()
     
-    lazy var accountList:[AccountInfoModel] = {
-        let arr:[AccountInfoModel] = [AccountInfoModel]()
-        return arr
-    }()
+//    lazy var accountList:[AccountInfoModel] = {
+//        let arr:[AccountInfoModel] = [AccountInfoModel]()
+//        return arr
+//    }()
     
     
     lazy var cashChannelModelList:[CashChannelModelListModel] = {
         let arr:[CashChannelModelListModel] = [CashChannelModelListModel]()
         return arr
     }()
+    
+    
+    lazy var accountList : [JDTradeAccountModel] = {   //账户列表
+       
+        let arr: [JDTradeAccountModel] = [JDTradeAccountModel]()
+        return arr
+    }()
+    
    
 
     var accountInfoModel:AccountInfoModel = AccountInfoModel(){
@@ -151,19 +159,19 @@ extension JDAFiatDepositsViewController{
                 if let list:[NSDictionary] = dict["list"] as? [NSDictionary]{
                     self.accountList.removeAll()
                     for dic in list {
-                       let model = AccountInfoModel.deserialize(from: dic)!
-                        model.defaultAccount = conerData(String(format: "%@",dic["default"] as! CVarArg), .MyInt).0!
-                        if model.type != "2"{
-                           
-                            if model.defaultAccount == 1 {
-                                self.accountInfoModel = model
-                            }
+                       let model = JDTradeAccountModel.deserialize(from: dic)!
+//                        model.defaultAccount = conerData(String(format: "%@",dic["default"] as! CVarArg), .MyInt).0!
+//                        if model.type != "2"{
+//
+//                            if model.defaultAccount == 1 {
+//                                self.accountInfoModel = model
+//                            }
                             self.accountList.append(model)
-                        }
-                    }
-                    if self.accountInfoModel.id.length == 0 && self.accountList.count > 0 {
-                        self.accountInfoModel = self.accountList.first!
+//                        }
                     }
+//                    if self.accountInfoModel.id.length == 0 && self.accountList.count > 0 {
+//                        self.accountInfoModel = self.accountList.first!
+//                    }
                    
                 }else{
                    
@@ -258,17 +266,22 @@ extension JDAFiatDepositsViewController{
     func showCashChannelModelList() -> Void {
 //        let pop = AFiatDepositsPayWayPopView()
         let pop = JDAFiatAccountListPopView()
-        pop.showPopupView(source: self.cashChannelModelList) { index in
-            if index >= 0 {
-                for model in self.cashChannelModelList{
-                    model.cashChannelBean.isSelect = false
-                }
-                let m = self.cashChannelModelList[index]
-                m.cashChannelBean.isSelect = true
-                self.selectCashChannelModel = m
-                self.tableView.reloadData()
-            }
+        pop.showPopupView(source: self.accountList) { index in
+            
+            
+            print(index)
         }
+//        pop.showPopupView(source: self.cashChannelModelList) { index in
+//            if index >= 0 {
+//                for model in self.cashChannelModelList{
+//                    model.cashChannelBean.isSelect = false
+//                }
+//                let m = self.cashChannelModelList[index]
+//                m.cashChannelBean.isSelect = true
+//                self.selectCashChannelModel = m
+//                self.tableView.reloadData()
+//            }
+//        }
     }
     
     func showPayWayList() -> Void {
@@ -336,18 +349,18 @@ extension JDAFiatDepositsViewController: UITableViewDelegate,UITableViewDataSour
      
         
         cell.clickCenterViewBlock = { view in
-            let pop = KMenuPopupMenuView()
-            var list:[(UIImage,String,Bool)] = [(UIImage,String,Bool)]()
-            for model in self.accountList {
-                list.append((UIImage(),self.getAccount(model: model) ,true))
-            }
-            
-            let str = self.getAccount(model: self.accountInfoModel)
-            pop.showRelyPopupView(view:view, source: list,sStr:str) {[weak self] index in
-                if index >= 0 {
-                    self?.accountInfoModel = self!.accountList[index]
-                }
-            }
+//            let pop = KMenuPopupMenuView()
+//            var list:[(UIImage,String,Bool)] = [(UIImage,String,Bool)]()
+//            for model in self.accountList {
+//                list.append((UIImage(),self.getAccount(model: model) ,true))
+//            }
+//            
+//            let str = self.getAccount(model: self.accountInfoModel)
+//            pop.showRelyPopupView(view:view, source: list,sStr:str) {[weak self] index in
+//                if index >= 0 {
+//                    self?.accountInfoModel = self!.accountList[index]
+//                }
+//            }
         }
         
         cell.clickBottomViewBlock = { view in

+ 1 - 1
Koala/Koala/Modular/JDMine/V/JDMineCell.swift

@@ -97,7 +97,7 @@ class JDMineMenuCell: UITableViewCell {
         return v
     }()
     
-    var titleAry = ["通行证" , "档案" , "资金","账户"]
+    var titleAry = ["安全设置" , "身份认证" , "资金记录","账户总览"]
     
     var iconAry = ["jdmine_menu_0" , "jdmine_menu_1" , "jdmine_menu_2", "jdmine_menu_3"]
     

+ 187 - 0
Koala/Koala/Modular/JDMine/V/JDMineHeaderView.swift

@@ -0,0 +1,187 @@
+//
+//  JDMineHeaderView.swift
+//  Koala
+//
+//  Created by mac on 2023/10/8.
+//  Copyright © 2023 刘千军. All rights reserved.
+//
+
+import Foundation
+
+import UIKit
+
+class JDMineHeaderView: BaseView {
+    
+    lazy var vipBgIv : UIImageView = {
+       
+        let v = UIImageView()
+        
+        v.image = _image("jdmine_vipbg&jdmine_vipbg") //UIImage(named: "jdmine_vipbg")
+        v.isUserInteractionEnabled = true
+        return v
+        
+    }()
+    
+    lazy var vipTitleLb : UILabel = {
+        
+        let v = UILabel()
+        v.textColor = .white
+        v.font = .boldSystemFont(ofSize: 18)
+        v.text = switchLanguage("尊享VIP特权")
+        
+        return v
+        
+    }()
+    
+    lazy var vipSubTitleLb : UILabel = {
+        
+        let v = UILabel()
+        v.textColor = .white
+        v.font = .systemFont(ofSize: 13)
+        v.text = switchLanguage("多重豪礼随心领")
+        
+        return v
+        
+    }()
+    
+    lazy var vipDetailBtn : UIButton = {
+        
+        let v = UIButton(type: .custom)
+        
+        v.setTitle(switchLanguage("VIP详情"), for: .normal)
+        v.setTitleColor(.white, for: .normal)
+        v.titleLabel?.font = .systemFont(ofSize: 12)
+        
+        v.setImage(_image("jdmine_vipArrow&jdmine_vipArrow"), for: .normal)
+        
+        v.addTarget(self, action: #selector(vipAction), for: .touchUpInside)
+        return v
+    }()
+    
+    
+    lazy var avatarBtn : UIButton = {
+        let v = UIButton(type: .custom)
+        v.setBackgroundImage(Base_Avtor_Image, for: .normal)
+        return v
+    }()
+    
+    lazy var nameBtn : UIButton = {
+
+        let v = UIButton(type: .custom )
+       
+        return v
+    }()
+    
+    lazy var hintLab : UILabel = {
+        
+        let v = UILabel()
+        
+        return v
+    }()
+    
+    override init(frame: CGRect) {
+        super.init(frame: frame)
+        
+        self.addSubview(avatarBtn)
+        avatarBtn.snp.makeConstraints { make in
+            make.top.equalTo(self.snp.top).offset(30)
+            make.left.equalTo(self.snp.left).offset(18)
+            make.size.equalTo(CGSize(width: 60, height: 60))
+        }
+        
+        self.addSubview(nameBtn)
+        nameBtn.snp.makeConstraints { make in
+            make.left.equalTo(avatarBtn.snp.right).offset(8)
+            make.top.equalTo(avatarBtn.snp.top).offset(0)
+        }
+        
+        self.addSubview(hintLab)
+        hintLab.snp.makeConstraints { make in
+            make.left.equalTo(nameBtn.snp.left)
+            make.bottom.equalTo(avatarBtn.snp.bottom).offset(-7)
+        }
+        
+        self.addSubview(vipBgIv)
+        vipBgIv.snp.makeConstraints { make in
+            make.top.equalTo(avatarBtn.snp.bottom).offset(23)
+            make.left.equalTo(self.snp.left).offset(18)
+            make.right.equalTo(self.snp.right).offset(-18)
+            make.height.equalTo(62)
+        }
+        
+        vipBgIv.addSubview(vipTitleLb)
+        vipTitleLb.snp.makeConstraints { make in
+            make.top.equalTo(vipBgIv.snp.top).offset(12)
+            make.left.equalTo(vipBgIv.snp.left).offset(81)
+        }
+        
+        vipBgIv.addSubview(vipSubTitleLb)
+        vipSubTitleLb.snp.makeConstraints { make in
+            make.left.equalTo(vipTitleLb.snp.left)
+            make.bottom.equalTo(vipBgIv.snp.bottom).offset(-13)
+        }
+        
+        vipBgIv.addSubview(vipDetailBtn)
+        vipDetailBtn.snp.makeConstraints { make in
+            make.centerY.equalTo(vipBgIv)
+            make.right.equalTo(vipBgIv.snp.right).offset(-15)
+        }
+        
+        vipBgIv.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(vipAction)))
+        
+        vipDetailBtn.layoutButtonEdgeInsetStyle(type: .right, space: 6)
+        mySwitchSkin()
+        mySwitchLanguage()
+        
+    }
+    
+    required init?(coder: NSCoder) {
+        fatalError("init(coder:) has not been implemented")
+    }
+    
+    override func mySwitchLanguage() {
+        if OperationalUserInfoData.getLogin() {
+            self.nameBtn.setTitle(OperationalUserInfoData.getUserInfoDataModel().im_name, for: .normal)
+            
+            self.hintLab.text = "UID:"+OperationalUserInfoData.getUserInfoDataModel().uid
+        }else{
+            self.nameBtn.setTitle(switchLanguage("登录/注册"), for: .normal)
+            self.hintLab.text = switchLanguage("一键登陆享专业融资融券服务")
+        }
+    }
+    
+    override func mySwitchSkin() {
+       
+        self.nameBtn.titleLabel?.font = .boldSystemFont(ofSize: 24)
+        self.nameBtn.setTitleColor(.black, for: .normal)
+        self.hintLab.font = .systemFont(ofSize: 14)
+        self.hintLab.textColor = _color("#767676&#767676") //_color("#9b9b9b&#9b9b9b")
+    }
+    
+    func updateAvatar(imageUrlStr:String) -> Void {
+        if OperationalUserInfoData.getLogin(){
+            if let url = URL.init(string:imageUrlStr as String) {
+                self.avatarBtn.kf.setBackgroundImage(with: url, for: .normal, placeholder: Base_Avtor_Image, options: nil, progressBlock: nil){(_) in
+                    
+                }
+            }else{
+                self.avatarBtn.setBackgroundImage(Base_Avtor_Image, for: .normal)
+            }
+        }else{
+            self.avatarBtn.setBackgroundImage(Base_Avtor_Image, for: .normal)
+        }
+       
+    }
+    
+    
+    @objc func vipAction(){
+        
+        let vc = JDMineVIPViewController()
+        currentVc()?.navigationController?.pushViewController(vc, animated: true)
+        
+    }
+    
+    
+    
+    
+}

+ 21 - 0
Koala/Koala/Modular/JDMine/VC/JDMineActiveViewController.swift

@@ -0,0 +1,21 @@
+//
+//  JDMineActiveViewController.swift
+//  Koala
+//
+//  Created by mac on 2023/10/8.
+//  Copyright © 2023 刘千军. All rights reserved.
+//
+
+import Foundation
+import UIKit
+
+class JDMineActiveViewController: BaseViewController {
+    
+    
+    override func viewDidLoad() {
+        super.viewDidLoad()
+        self.myNavigationBar.title_Label.text = "有奖活动"
+        
+    }
+    
+}

+ 21 - 0
Koala/Koala/Modular/JDMine/VC/JDMineInviteViewController.swift

@@ -0,0 +1,21 @@
+//
+//  JDMineInviteViewController.swift
+//  Koala
+//
+//  Created by mac on 2023/10/8.
+//  Copyright © 2023 刘千军. All rights reserved.
+//
+
+import Foundation
+import UIKit
+
+class JDMineInviteViewController: BaseViewController {
+    
+    
+    override func viewDidLoad() {
+        super.viewDidLoad()
+        self.myNavigationBar.title_Label.text = "邀请好友"
+        
+    }
+    
+}

+ 21 - 0
Koala/Koala/Modular/JDMine/VC/JDMineJoinUsViewController.swift

@@ -0,0 +1,21 @@
+//
+//  JDMineJoinUsViewController.swift
+//  Koala
+//
+//  Created by mac on 2023/10/8.
+//  Copyright © 2023 刘千军. All rights reserved.
+//
+
+import Foundation
+import UIKit
+
+class JDMineJoinUsViewController: BaseViewController {
+    
+    
+    override func viewDidLoad() {
+        super.viewDidLoad()
+        self.myNavigationBar.title_Label.text = "加入我们"
+        
+    }
+    
+}

+ 18 - 0
Koala/Koala/Modular/JDMine/VC/JDMineVIPViewController.swift

@@ -0,0 +1,18 @@
+//
+//  JDMineVIPViewController.swift
+//  Koala
+//
+//  Created by mac on 2023/10/8.
+//  Copyright © 2023 刘千军. All rights reserved.
+//
+
+import Foundation
+class JDMineVIPViewController: BaseViewController {
+    
+    
+    override func viewDidLoad() {
+        super.viewDidLoad()
+        self.myNavigationBar.title_Label.text = "会员中心"
+        
+    }
+}

+ 92 - 44
Koala/Koala/Modular/JDMine/VC/JDMineViewController.swift

@@ -14,30 +14,30 @@ class JDMineViewController: BaseViewController {
     lazy var headerView : JDMineHeaderView = {
         
         let v = JDMineHeaderView(frame: CGRectMake(0, 0, SCREEN_WIDTH, 196))
-        v.isUserInteractionEnabled = true
-        v.jumpBlock = { [weak self] type in
-            
-            
-            if type == .Deposit {
-                
-//                let vc = AFiatDepositsViewController()
-                let vc = JDAFiatDepositsViewController()
-                currentVc()?.navigationController?.pushViewController(vc, animated: true)
-            } else if type == .FiatWithdrawals {
-                
-//                let vc =  AFiatWithdrawalsViewController()
-                let vc = JDAFiatWithdrawViewController()
-                currentVc()?.navigationController?.pushViewController(vc, animated: true)
-            }
-            else {
-                
-//                let vc = ASelsectCurrencyViewController()
-//                vc.type = type
-                let vc = JDAFiatTransferViewController()
-                currentVc()?.navigationController?.pushViewController(vc, animated: true)
-            }
-            
-        }
+//        v.isUserInteractionEnabled = true
+//        v.jumpBlock = { [weak self] type in
+//            
+//            
+//            if type == .Deposit {
+//                
+////                let vc = AFiatDepositsViewController()
+//                let vc = JDAFiatDepositsViewController()
+//                currentVc()?.navigationController?.pushViewController(vc, animated: true)
+//            } else if type == .FiatWithdrawals {
+//                
+////                let vc =  AFiatWithdrawalsViewController()
+//                let vc = JDAFiatWithdrawViewController()
+//                currentVc()?.navigationController?.pushViewController(vc, animated: true)
+//            }
+//            else {
+//                
+////                let vc = ASelsectCurrencyViewController()
+////                vc.type = type
+//                let vc = JDAFiatTransferViewController()
+//                currentVc()?.navigationController?.pushViewController(vc, animated: true)
+//            }
+//            
+//        }
         return v
     }()
     
@@ -66,22 +66,37 @@ class JDMineViewController: BaseViewController {
         
     }()
     
-    var titleAry = [[],["帮助中心" , "语言设置" , "客服和支持","意见反馈"]]
+    var titleAry = [[],["邀请好友", "加入我们","奖品活动"],["帮助中心" , "语言设置" , "客服和支持","意见反馈"]]
     
-    var iconAry = [[],["jdmine_help" , "jdmine_lang" , "jdmine_service", "jdmine_feedback"]]
+    var iconAry = [[],["jdmine_invite", "jdmine_joinus", "jdmine_active"],["jdmine_help" , "jdmine_lang" , "jdmine_service", "jdmine_feedback"]]
     
     
     override func viewDidLoad() {
         super.viewDidLoad()
         
+        self.myNavigationBar.title_Label.text = "我的"
+        self.myNavigationBar.right_SuperView.isHidden = false
+        self.myNavigationBar.right_Button.setImage(_image("Infomation_chat&Infomation_chat"), for: .normal)
+        self.myNavigationBar.right_Button.addTarget(self, action: #selector(clickRightBtnAction), for: .touchUpInside)
+        
         self.view.addSubview(tableView)
         tableView.snp.makeConstraints { make in
             make.left.right.bottom.equalTo(self.view)
-            make.top.equalTo(self.view.snp.top).offset(-StatusBarHeight)
+            make.top.equalTo(self.myNavigationBar.snp.bottom)
+//            make.top.equalTo(self.view.snp.top).offset(-StatusBarHeight)
         }
     }
     
     
+    @objc func clickRightBtnAction(){
+        
+        let vc = MessageViewController()
+        
+        self.navigationController?.pushViewController(vc, animated: true)
+        
+        
+    }
+    
 }
 
 
@@ -90,7 +105,7 @@ class JDMineViewController: BaseViewController {
 extension JDMineViewController : UITableViewDataSource {
     
     func numberOfSections(in tableView: UITableView) -> Int {
-        return 2
+        return 3
     }
     
     func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
@@ -129,11 +144,20 @@ extension JDMineViewController : UITableViewDelegate {
     
     
     func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
+        
+        if section == 0 {
+            return UIView()
+        }
         let v = UIView(frame: CGRectMake(0, 0, SCREEN_WIDTH, 9))
         v.backgroundColor = UIColor.pg_color(withHexString: "F7FAFE")
         return v
     }
     func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
+        
+        if section == 0 {
+            return 0.00001
+        }
+        
         return 9
     }
     
@@ -150,32 +174,54 @@ extension JDMineViewController : UITableViewDelegate {
     func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
         tableView.deselectRow(at: indexPath, animated: true)
         
-        if indexPath.row == 0 {
-            let vc = BaseWebViewController()
-            vc.url = "https://help.jiduzq.com"
-            currentVc()?.navigationController?.pushViewController(vc, animated: true)
-        }else if indexPath.row == 1 {
-            let popView = LanguageSelectPopView()
-            popView.showPopupView { index in
+        if indexPath.section == 1 {
+            
+            if indexPath.row == 0 {
+                let vc = JDMineInviteViewController()
                 
+                currentVc()?.navigationController?.pushViewController(vc, animated: true)
+            }else if indexPath.row == 1 {
+                let vc = JDMineJoinUsViewController()
+                
+                currentVc()?.navigationController?.pushViewController(vc, animated: true)
+            }
+            else if indexPath.row == 2 {
+                
+                let vc = JDMineActiveViewController()
+                currentVc()?.navigationController?.pushViewController(vc, animated: true)
             }
-            return
-        }
-        else if indexPath.row == 2 {
             
-            let vc = JDMineServiceViewController()
-            currentVc()?.navigationController?.pushViewController(vc, animated: true)
-        }
-        else if indexPath.row == 3 {
+        } else if indexPath.section == 2 {
             
-            let vc = FeedbackViewController()
-            currentVc()?.navigationController?.pushViewController(vc, animated: true)
+            if indexPath.row == 0 {
+                let vc = BaseWebViewController()
+                vc.url = "https://help.jiduzq.com"
+                currentVc()?.navigationController?.pushViewController(vc, animated: true)
+            }else if indexPath.row == 1 {
+                let popView = LanguageSelectPopView()
+                popView.showPopupView { index in
+                    
+                }
+                return
+            }
+            else if indexPath.row == 2 {
+                
+                let vc = JDMineServiceViewController()
+                currentVc()?.navigationController?.pushViewController(vc, animated: true)
+            }
+            else if indexPath.row == 3 {
+                
+                let vc = FeedbackViewController()
+                currentVc()?.navigationController?.pushViewController(vc, animated: true)
+            }
         }
         
         print("111")
     }
 }
 
+
+/*
 class JDMineHeaderView: BaseView {
     
     
@@ -392,6 +438,8 @@ class JDMineHeaderView: BaseView {
     
     
 }
+ 
+ */
 
 
 

+ 66 - 0
Koala/Koala/Modular/JDTrade/V/JDHistoryDateSegmentView.swift

@@ -0,0 +1,66 @@
+//
+//  JDHistoryDateSegmentView.swift
+//  Koala
+//
+//  Created by mac on 2023/10/8.
+//  Copyright © 2023 刘千军. All rights reserved.
+//
+
+import Foundation
+import UIKit
+
+class JDHistoryDateSegmentView: BaseView {
+    
+    lazy var topBgView : UIView = {
+        
+        let v = UIView()
+        v.backgroundColor = .white
+        return v
+        
+    }()
+    
+    lazy var segmentedControl:HMSegmentedControl = {
+        let segmentedControl:HMSegmentedControl = HMSegmentedControl.init(frame: CGRect(x:1, y: 1, width: 200-2, height: 30))
+        segmentedControl.selectedSegmentIndex = 0
+        segmentedControl.backgroundColor = .clear
+        segmentedControl.titleTextAttributes = [NSAttributedString.Key.foregroundColor : MidTextColor,NSAttributedString.Key.font:_PFSM(12)]
+        segmentedControl.selectedTitleTextAttributes = [NSAttributedString.Key.foregroundColor : TitleTextColor,NSAttributedString.Key.font:_PFSM(12)]
+        segmentedControl.selectionIndicatorBoxColor = ALLBackGroundColor
+        segmentedControl.selectionIndicatorBoxOpacity = 1
+        segmentedControl.selectionStyle = .box
+        segmentedControl.selectionIndicatorHeight = 0
+       
+        if let layer:CALayer = segmentedControl.value(forKey: "selectionIndicatorBoxLayer") as? CALayer{
+            layer.cornerRadius = 4
+        }
+        segmentedControl.sectionTitles = [switchLanguage("日"),switchLanguage("周"),switchLanguage("月"),switchLanguage("自定义")]
+        return segmentedControl
+    }()
+    
+    override init(frame: CGRect) {
+        super.init(frame: frame)
+        
+        self.addSubview(topBgView)
+        topBgView.snp.makeConstraints { make in
+            make.center.equalTo(self)
+            make.size.equalTo(CGSize(width: 200, height: 32))
+        }
+        
+        self.topBgView.addSubview(segmentedControl)
+        
+        self.topBgView.backgroundColor = InputBackGroundColor
+        self.topBgView.setViewLayerBorderColor(myColor: .clear, borderWidth: 0, maskBounds: 4)
+        segmentedControl.selectionIndicatorBoxColor = ALLBackGroundColor
+        //选中的盒子颜色
+        segmentedControl.titleTextAttributes = [NSAttributedString.Key.foregroundColor : MidTextColor,NSAttributedString.Key.font:_PFSM(12)]
+        segmentedControl.selectedTitleTextAttributes = [NSAttributedString.Key.foregroundColor : TitleTextColor,NSAttributedString.Key.font:_PFSM(12)]
+        
+        
+    }
+    
+    required init?(coder: NSCoder) {
+        fatalError("init(coder:) has not been implemented")
+    }
+    
+    
+}

+ 11 - 2
Koala/Koala/Modular/JDTrade/V/JDTradeAccountCell.swift

@@ -23,7 +23,7 @@ class JDTradeAccountCell: UITableViewCell {
         let v = UILabel()
         v.textColor = UIColor.pg_color(withHexString: "333333")
         v.font = .systemFont(ofSize: 16)
-        v.text = "美股交易账户(2678)"
+        v.text = "钱包账户(2678)"
         return v
     }()
     
@@ -165,7 +165,16 @@ class JDTradeAccountCell: UITableViewCell {
             titleLb.text = "美股通(\(model.account!))"
             networthTipLb.text = "资产净值.USD"
         }else if model.market == "CN" {
-            titleLb.text = "A股通(\(model.account!))"
+            
+            if model.server == "SH" {
+                titleLb.text = "A股通沪市(\(model.account!))"
+                
+            }else {
+                
+                titleLb.text = "A股通深市(\(model.account!))"
+            }
+            
+            
             networthTipLb.text = "资产净值.CNY"
         }else if model.market == "HK" {
             titleLb.text = "港股通(\(model.account!))"

+ 59 - 0
Koala/Koala/Modular/JDTrade/V/JDTradeAccountInfoHeaderView.swift

@@ -16,6 +16,8 @@ class JDTradeAccountInfoHeaderView: BaseView {
         
         let v = UIImageView()
         v.image = UIImage(named: "account_US")
+        v.layer.masksToBounds = true
+        v.layer.cornerRadius = 8.5
         return v
     }()
     
@@ -342,10 +344,46 @@ class JDTradeAccountInfoHeaderView: BaseView {
         fatalError("init(coder:) has not been implemented")
     }
     
+    var accountModel : JDTradeAccountModel?
     
+}
+
+extension JDTradeAccountInfoHeaderView {
+    
+    func setupAccountHeaderViewByAccount(model : JDTradeAccountModel)->Void {
+        
+        self.accountModel = model
+        
+        accountIconIv.image = UIImage(named: "account_\(model.market!)")
+        if model.market == "US" {
+            accountNameLb.text = "美股通(\(model.account!))"
+            assetTipLb.text = "资产净值(USD)"
+        }else if model.market == "CN" {
+            
+            if model.server == "SH" {
+                accountNameLb.text = "A股通沪市(\(model.account!))"
+            }else {
+                
+                accountNameLb.text = "A股通深市(\(model.account!))"
+            }
+            
+            
+            assetTipLb.text = "资产净值(CNY)"
+        }else if model.market == "HK" {
+            accountNameLb.text = "港股通(\(model.account!))"
+            assetTipLb.text = "资产净值(HKD)"
+        }else {
+            accountNameLb.text = "综合账户(\(model.account!))"
+            assetTipLb.text = "资产净值(USD)"
+        }
+        
+        assetLb.text = model.balance
+        
+    }
     
 }
 
+
 extension JDTradeAccountInfoHeaderView : UICollectionViewDataSource{
     
     func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
@@ -371,6 +409,27 @@ extension JDTradeAccountInfoHeaderView : UICollectionViewDelegate{
     
     func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
         
+        if indexPath.item == 0 {
+            
+            
+        }else if indexPath.item == 1 {
+            
+            let vc = JDAFiatDepositsViewController()
+            currentVc()?.navigationController?.pushViewController(vc, animated: true)
+            
+        }else if indexPath.item == 2 {
+            let vc = JDAFiatExchangeViewController()
+            
+            currentVc()?.navigationController?.pushViewController(vc, animated: true)
+            
+        }else {
+            let vc = JDFinancialRecordsMainViewController()
+            
+            currentVc()?.navigationController?.pushViewController(vc, animated: true)
+            
+            
+        }
+        
 //        guard let strongSelf = self else {
 //            return
 //        }

+ 31 - 11
Koala/Koala/Modular/JDTrade/VC/JDTradeAccountDetailViewController.swift

@@ -11,6 +11,8 @@ import UIKit
 
 class JDTradeAccountDetailViewController: BaseViewController {
     
+    var accountModel : JDTradeAccountModel = JDTradeAccountModel()
+    
     override func viewDidLoad() {
         super.viewDidLoad()
         self.myNavigationBar.isHidden = true
@@ -19,10 +21,10 @@ class JDTradeAccountDetailViewController: BaseViewController {
     
     
 
-    var accountHeaderView: JDTradeAccountInfoHeaderView = {
+   lazy var accountHeaderView: JDTradeAccountInfoHeaderView = {
         
         let v = JDTradeAccountInfoHeaderView(frame: CGRectMake(0, 0, SCREEN_WIDTH, 400))
-        
+        v.setupAccountHeaderViewByAccount(model: self.accountModel )
         return v
     }()
     
@@ -49,7 +51,7 @@ class JDTradeAccountDetailViewController: BaseViewController {
         let dataSource = JXSegmentedTitleDataSource()
         dataSource.isTitleColorGradientEnabled = true
         dataSource.titleNormalColor = UIColor.pg_color(withHexString: "333333") //UIColor.init(hexString: "333333") ?? .black
-        dataSource.titleSelectedColor = UIColor.pg_color(withHexString: "FF6F30") // UIColor.init(hexString: "DC3C23") ?? .black
+        dataSource.titleSelectedColor = .black//UIColor.pg_color(withHexString: "FF6F30") // UIColor.init(hexString: "DC3C23") ?? .black
         dataSource.titleNormalFont = UIFont.systemFont(ofSize: 16)
         dataSource.titleSelectedFont = UIFont.boldSystemFont(ofSize: 18)
         
@@ -57,11 +59,11 @@ class JDTradeAccountDetailViewController: BaseViewController {
         segmentedDataSource = dataSource
         
         //配置指示器
-        let indicator = JXSegmentedIndicatorLineView()
-        indicator.indicatorWidth = JXSegmentedViewAutomaticDimension
-        
-        indicator.indicatorColor = UIColor.pg_color(withHexString: "FF6F30") //UIColor.init(hexString: "DC3C23") ?? .black
-        segmentedView.indicators = [indicator]
+//        let indicator = JXSegmentedIndicatorLineView()
+//        indicator.indicatorWidth = JXSegmentedViewAutomaticDimension
+//
+//        indicator.indicatorColor = UIColor.pg_color(withHexString: "FF6F30") //UIColor.init(hexString: "DC3C23") ?? .black
+//        segmentedView.indicators = [indicator]
         
         segmentedView.dataSource = self.segmentedDataSource
         
@@ -112,9 +114,27 @@ extension JDTradeAccountDetailViewController: JXSegmentedListContainerViewDataSo
     
     public func listContainerView(_ listContainerView: JXSegmentedListContainerView, initListAt index: Int) -> JXSegmentedListContainerViewListDelegate {
         
-//        return  MatchFantasyViewController(matchId: self.matchId)
-        
-        return JDTradeAccountHoldViewController()
+        if index == 0 {
+            
+            let vc = JDTradeAccountHoldViewController()
+            vc.accountModel = self.accountModel
+            return vc
+            
+        } else if index == 1 {
+            
+            let vc = JDTradeAccountPositionViewController()
+            vc.accountModel = self.accountModel
+            return vc
+            
+        }else {
+                
+            let vc = JDTradeAccountHistoryOrderViewController()
+            vc.accountModel = self.accountModel
+            
+            return vc
+    
+        }
+    
     }
 }
 

+ 236 - 0
Koala/Koala/Modular/JDTrade/VC/JDTradeAccountHistoryOrderViewController.swift

@@ -0,0 +1,236 @@
+//
+//  JDTradeAccountHistoryOrderViewController.swift
+//  Koala
+//
+//  Created by mac on 2023/10/8.
+//  Copyright © 2023 刘千军. All rights reserved.
+//
+
+
+import Foundation
+import UIKit
+
+
+class JDTradeAccountHistoryOrderViewController: BaseViewController {
+    
+    var accountModel : JDTradeAccountModel?
+    var dateStr:(String,String) = ("","")
+    lazy var tableView : UITableView = {
+        
+        let v = UITableView(frame: .zero, style: .plain)
+        v.delegate = self
+        v.dataSource = self
+        v.separatorStyle = .singleLine
+//        v.register(UINib.init(nibName: "DealListCell", bundle: nil), forCellReuseIdentifier: "DealListCell")
+        
+        v.register(JDTradeDealListCell.self, forCellReuseIdentifier: JDTradeDealListCell.description())
+        return v
+        
+    }()
+    
+    override func viewDidLoad() {
+        super.viewDidLoad()
+        
+        self.myNavigationBar.isHidden = true
+        self.myNavigationBar.isHidden = true
+        
+        self.view.backgroundColor = .white
+        
+        self.view.addSubview(tableView)
+        tableView.snp.makeConstraints { make in
+            make.edges.equalTo(self.view)
+        }
+        
+        self.requestEntrustList()
+    }
+    
+}
+
+extension JDTradeAccountHistoryOrderViewController {
+    
+    func requestEntrustList() ->Void {
+        
+        
+        let param = [
+            "account": self.accountModel?.account ?? "" ,
+            "server" : self.accountModel?.server ?? ""
+            
+        ] as [String : Any]
+        
+        
+        NetWork.NetWorkInstance.requestData(requestType: .Post, URLString: netForGetEntrustList,parameters: param,success: { (code, result) in
+            
+            ProgressHUD.hideHud()
+//            if let dict:NSDictionary = result as? NSDictionary {
+//                if let list:[NSDictionary] = dict["list"] as? [NSDictionary]{
+//                    self.entrustList.removeAll()
+//                    for dic in list {
+//                       let model = EntrustListModel.deserialize(from: dic)!
+//                        self.entrustList.append(model)
+//                    }
+//                    observer.send(value: true)
+//                }else{
+//                    observer.send(value: false)
+//                }
+//            }else{
+//                observer.send(value: false)
+//            }
+//            observer.sendCompleted()
+        }) { (code, result) in
+            ProgressHUD.showError(status: result as! String)
+        }
+        
+    }
+    
+    
+}
+
+
+extension JDTradeAccountHistoryOrderViewController: UITableViewDelegate,UITableViewDataSource {
+    
+    func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
+        return 80
+    }
+    
+    func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
+        
+        let headerView = UIView(frame: CGRect(x: 0, y: 0, width: SCREEN_WIDTH, height: 70))
+        
+        let dateView:JDHistoryDateSegmentView = JDHistoryDateSegmentView.init(frame: CGRect(x: 0, y: 0, width: SCREEN_WIDTH, height: 40))
+        dateView.segmentedControl.indexChangeBlock = {[weak self](index) in
+            guard let self = self else{return}
+            if index == 0 {
+//                self.VM?.startDate = dateToString(stmap: decimalNumber(A:currentTimeStamp(), B: "86400", type: .Subtract) , formatter: "yyyy-MM-dd")
+            }
+            else if index == 1{
+//                self.VM?.startDate = dateToString(stmap: decimalNumber(A:currentTimeStamp(), B: "604800", type: .Subtract) , formatter: "yyyy-MM-dd")
+            }
+            else if index == 2{
+//                self.VM?.startDate = dateToString(stmap: decimalNumber(A:currentTimeStamp(), B: "2592000", type: .Subtract) , formatter: "yyyy-MM-dd")
+            }else if index == 3{
+                let pop = PositionHistoryDatePopView()
+                if self.dateStr.0.length == 0 {
+                    self.dateStr.0 = dateToString(stmap:currentTimeStamp(),formatter: "yyyy-MM-dd")
+                    self.dateStr.1 = dateToString(stmap:currentTimeStamp(),formatter: "yyyy-MM-dd")
+                }
+                pop.showPopupView(date: self.dateStr) { dateStr in
+                    self.dateStr = dateStr
+//                    self.VM?.endDate = dateStr.1
+//                    self.VM?.startDate = dateStr.0
+                   
+                }
+            }
+        }
+        headerView.addSubview(dateView)
+        
+        
+        let view = UIView(frame: CGRect(x: 0, y: 40, width: SCREEN_WIDTH, height: 40))
+        headerView.addSubview(view)
+       
+        let codeLb = UILabel()
+        codeLb.font = .systemFont(ofSize: 12)
+        codeLb.textColor = UIColor.pg_color(withHexString: "AEAEAE")
+        codeLb.text = "名称代码"
+        
+        view.addSubview(codeLb)
+        codeLb.snp.makeConstraints { make in
+            make.centerY.equalTo(view)
+            make.left.equalTo(view.snp.left).offset(18)
+        }
+            
+        
+        let countLb = UILabel()
+        countLb.font = .systemFont(ofSize: 12)
+        countLb.textColor = UIColor.pg_color(withHexString: "AEAEAE")
+        countLb.text = "单位"
+    
+        view.addSubview(countLb)
+        countLb.snp.makeConstraints { make in
+            make.centerY.equalTo(view)
+            make.left.equalTo(view.snp.left).offset(134)
+        }
+        
+        let priceLb = UILabel()
+        priceLb.font = .systemFont(ofSize: 12)
+        priceLb.textColor = UIColor.pg_color(withHexString: "AEAEAE")
+        priceLb.text = "开仓/平仓"
+    
+        view.addSubview(priceLb)
+        priceLb.snp.makeConstraints { make in
+            make.centerY.equalTo(view)
+            make.left.equalTo(view.snp.centerX).offset(20)
+        }
+
+        let holdLb = UILabel()
+        holdLb.font = .systemFont(ofSize: 12)
+        holdLb.textColor = UIColor.pg_color(withHexString: "AEAEAE")
+        holdLb.text = "盈亏"
+    
+        view.addSubview(holdLb)
+        holdLb.snp.makeConstraints { make in
+            make.centerY.equalTo(view)
+            make.right.equalTo(view.snp.right).offset(-17)
+        }
+
+        
+         return headerView
+    }
+    
+    func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
+        return 54
+    }
+    
+    func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
+        
+        let v = UIView(frame: CGRectMake(0, 0, SCREEN_WIDTH, 54))
+        let tipLb = UILabel()
+        tipLb.font = .systemFont(ofSize: 12)
+        tipLb.textColor = UIColor.pg_color(withHexString: "B1B9C1")
+        tipLb.text = "证券交易服务由极度证券提供"
+        tipLb.textAlignment = .center
+        v.addSubview(tipLb)
+        tipLb.snp.makeConstraints { make in
+            make.center.equalTo(v)
+        }
+        return v
+    }
+    
+    
+    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
+        1
+    }
+    
+    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
+//        let cell:DealListCell = tableView.dequeueReusableCell(withIdentifier: "DealListCell") as! DealListCell
+//        if self.headerView.segmentedControl.selectedSegmentIndex == 0 {
+//            let model = self.VM?.positionList[indexPath.row]
+//            cell.updatePositionCellWith(model: model!)
+//        }
+//        else if self.headerView.segmentedControl.selectedSegmentIndex == 1{
+//            let model = self.VM?.entrustList[indexPath.row]
+//            cell.updateEntrustCellWith(model: model!)
+//        }else{
+//            let model = self.VM?.closeOrderList[indexPath.row]
+//            cell.updateCloseOrderCellWith(model: model!)
+//        }
+        
+        let cell = tableView.dequeueReusableCell(withIdentifier: JDTradeDealListCell.description()) as! JDTradeDealListCell
+        
+        return cell
+    }
+    
+    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
+        return 62
+    }
+    
+    
+    
+    
+}
+
+extension JDTradeAccountHistoryOrderViewController: JXSegmentedListContainerViewListDelegate {
+    func listView() -> UIView {
+        return view
+    }
+}
+

+ 43 - 0
Koala/Koala/Modular/JDTrade/VC/JDTradeAccountHoldViewController.swift

@@ -12,6 +12,8 @@ import UIKit
 
 class JDTradeAccountHoldViewController: BaseViewController {
     
+    var accountModel : JDTradeAccountModel?
+    
     lazy var tableView : UITableView = {
         
         let v = UITableView(frame: .zero, style: .plain)
@@ -37,8 +39,49 @@ class JDTradeAccountHoldViewController: BaseViewController {
         tableView.snp.makeConstraints { make in
             make.edges.equalTo(self.view)
         }
+        
+        self.requestEntrustList()
+    }
+    
+}
+
+extension JDTradeAccountHoldViewController {
+    
+    func requestEntrustList() ->Void {
+        
+        
+        let param = [
+            "account": self.accountModel?.account ?? "" ,
+            "server" : self.accountModel?.server ?? ""
+            
+        ] as [String : Any]
+        
+        
+        NetWork.NetWorkInstance.requestData(requestType: .Post, URLString: netForGetEntrustList,parameters: param,success: { (code, result) in
+            
+            ProgressHUD.hideHud()
+//            if let dict:NSDictionary = result as? NSDictionary {
+//                if let list:[NSDictionary] = dict["list"] as? [NSDictionary]{
+//                    self.entrustList.removeAll()
+//                    for dic in list {
+//                       let model = EntrustListModel.deserialize(from: dic)!
+//                        self.entrustList.append(model)
+//                    }
+//                    observer.send(value: true)
+//                }else{
+//                    observer.send(value: false)
+//                }
+//            }else{
+//                observer.send(value: false)
+//            }
+//            observer.sendCompleted()
+        }) { (code, result) in
+            ProgressHUD.showError(status: result as! String)
+        }
+        
     }
     
+    
 }
 
 

+ 6 - 4
Koala/Koala/Modular/JDTrade/VC/JDTradeAccountMainViewController.swift

@@ -21,7 +21,10 @@ class JDTradeAccountMainViewController: BaseViewController {
     let segmentedView = JXSegmentedView()
     
     
-    let titles = ["综合","A股","美股" , "港股"]
+    var accountList :  [JDTradeAccountModel] = [JDTradeAccountModel]()
+    var selectIndex : Int = 0
+    
+    let titles = ["港股","美股","A股通沪市","A股通深市" , "综合"]
     
     lazy var listContainerView: JXSegmentedListContainerView! = {
         return JXSegmentedListContainerView(dataSource: self)
@@ -29,9 +32,6 @@ class JDTradeAccountMainViewController: BaseViewController {
     
     fileprivate func setup(){
         
-    
-        
-        
         listContainerView.frame = CGRect(x: 0, y: NavigationViewHeight + StatusBarHeight + 50, width: view.bounds.size.width, height: view.bounds.size.height - 50 - NavigationViewHeight - StatusBarHeight )
         
         let dataSource = JXSegmentedTitleDataSource()
@@ -69,6 +69,7 @@ class JDTradeAccountMainViewController: BaseViewController {
         
         segmentedView.reloadData()
         
+        segmentedView.defaultSelectedIndex = self.selectIndex
     }
     
 }
@@ -102,6 +103,7 @@ extension JDTradeAccountMainViewController: JXSegmentedListContainerViewDataSour
 //        return  MatchFantasyViewController(matchId: self.matchId)
         
         let vc = JDTradeAccountDetailViewController()
+        vc.accountModel = self.accountList[index]
         
         return vc
         

+ 204 - 0
Koala/Koala/Modular/JDTrade/VC/JDTradeAccountPositionViewController.swift

@@ -0,0 +1,204 @@
+//
+//  JDTradeAccountPositionViewController.swift
+//  Koala
+//
+//  Created by mac on 2023/10/8.
+//  Copyright © 2023 刘千军. All rights reserved.
+//
+
+import Foundation
+import UIKit
+
+
+class JDTradeAccountPositionViewController: BaseViewController {
+    
+    var accountModel : JDTradeAccountModel?
+    
+    lazy var tableView : UITableView = {
+        
+        let v = UITableView(frame: .zero, style: .plain)
+        v.delegate = self
+        v.dataSource = self
+        v.separatorStyle = .singleLine
+//        v.register(UINib.init(nibName: "DealListCell", bundle: nil), forCellReuseIdentifier: "DealListCell")
+        
+        v.register(JDTradeDealListCell.self, forCellReuseIdentifier: JDTradeDealListCell.description())
+        return v
+        
+    }()
+    
+    override func viewDidLoad() {
+        super.viewDidLoad()
+        
+        self.myNavigationBar.isHidden = true
+        self.myNavigationBar.isHidden = true
+        
+        self.view.backgroundColor = .white
+        
+        self.view.addSubview(tableView)
+        tableView.snp.makeConstraints { make in
+            make.edges.equalTo(self.view)
+        }
+        
+        self.requestPositionList()
+    }
+    
+}
+
+extension JDTradeAccountPositionViewController {
+    
+    func requestPositionList() ->Void {
+        
+        
+        let param = [
+            "account": self.accountModel?.account ?? "" ,
+            "server" : self.accountModel?.server ?? ""
+            
+        ] as [String : Any]
+        
+        
+        NetWork.NetWorkInstance.requestData(requestType: .Post, URLString: netForGetPositionList,parameters: param,success: { (code, result) in
+            
+            ProgressHUD.hideHud()
+//            if let dict:NSDictionary = result as? NSDictionary {
+//                if let list:[NSDictionary] = dict["list"] as? [NSDictionary]{
+//                    self.entrustList.removeAll()
+//                    for dic in list {
+//                       let model = EntrustListModel.deserialize(from: dic)!
+//                        self.entrustList.append(model)
+//                    }
+//                    observer.send(value: true)
+//                }else{
+//                    observer.send(value: false)
+//                }
+//            }else{
+//                observer.send(value: false)
+//            }
+//            observer.sendCompleted()
+        }) { (code, result) in
+            ProgressHUD.showError(status: result as! String)
+        }
+        
+    }
+    
+    
+}
+
+
+extension JDTradeAccountPositionViewController: UITableViewDelegate,UITableViewDataSource {
+    
+    func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
+        return 40
+    }
+    
+    func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
+        
+        let view = UIView(frame: CGRect(x: 0, y: 0, width: SCREEN_WIDTH, height: 40))
+        
+       
+        let codeLb = UILabel()
+        codeLb.font = .systemFont(ofSize: 12)
+        codeLb.textColor = UIColor.pg_color(withHexString: "AEAEAE")
+        codeLb.text = "名称代码"
+        
+        view.addSubview(codeLb)
+        codeLb.snp.makeConstraints { make in
+            make.centerY.equalTo(view)
+            make.left.equalTo(view.snp.left).offset(18)
+        }
+            
+        
+        let countLb = UILabel()
+        countLb.font = .systemFont(ofSize: 12)
+        countLb.textColor = UIColor.pg_color(withHexString: "AEAEAE")
+        countLb.text = "现价/数量"
+    
+        view.addSubview(countLb)
+        countLb.snp.makeConstraints { make in
+            make.centerY.equalTo(view)
+            make.left.equalTo(view.snp.left).offset(134)
+        }
+        
+        let priceLb = UILabel()
+        priceLb.font = .systemFont(ofSize: 12)
+        priceLb.textColor = UIColor.pg_color(withHexString: "AEAEAE")
+        priceLb.text = "价格"
+    
+        view.addSubview(priceLb)
+        priceLb.snp.makeConstraints { make in
+            make.centerY.equalTo(view)
+            make.left.equalTo(view.snp.centerX).offset(20)
+        }
+
+        let holdLb = UILabel()
+        holdLb.font = .systemFont(ofSize: 12)
+        holdLb.textColor = UIColor.pg_color(withHexString: "AEAEAE")
+        holdLb.text = "方向"
+    
+        view.addSubview(holdLb)
+        holdLb.snp.makeConstraints { make in
+            make.centerY.equalTo(view)
+            make.right.equalTo(view.snp.right).offset(-17)
+        }
+
+        
+         return view
+    }
+    
+    func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
+        return 54
+    }
+    
+    func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
+        
+        let v = UIView(frame: CGRectMake(0, 0, SCREEN_WIDTH, 54))
+        let tipLb = UILabel()
+        tipLb.font = .systemFont(ofSize: 12)
+        tipLb.textColor = UIColor.pg_color(withHexString: "B1B9C1")
+        tipLb.text = "证券交易服务由极度证券提供"
+        tipLb.textAlignment = .center
+        v.addSubview(tipLb)
+        tipLb.snp.makeConstraints { make in
+            make.center.equalTo(v)
+        }
+        return v
+    }
+    
+    
+    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
+        1
+    }
+    
+    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
+//        let cell:DealListCell = tableView.dequeueReusableCell(withIdentifier: "DealListCell") as! DealListCell
+//        if self.headerView.segmentedControl.selectedSegmentIndex == 0 {
+//            let model = self.VM?.positionList[indexPath.row]
+//            cell.updatePositionCellWith(model: model!)
+//        }
+//        else if self.headerView.segmentedControl.selectedSegmentIndex == 1{
+//            let model = self.VM?.entrustList[indexPath.row]
+//            cell.updateEntrustCellWith(model: model!)
+//        }else{
+//            let model = self.VM?.closeOrderList[indexPath.row]
+//            cell.updateCloseOrderCellWith(model: model!)
+//        }
+        
+        let cell = tableView.dequeueReusableCell(withIdentifier: JDTradeDealListCell.description()) as! JDTradeDealListCell
+        
+        return cell
+    }
+    
+    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
+        return 62
+    }
+    
+    
+    
+    
+}
+
+extension JDTradeAccountPositionViewController: JXSegmentedListContainerViewListDelegate {
+    func listView() -> UIView {
+        return view
+    }
+}

+ 24 - 7
Koala/Koala/Modular/JDTrade/VC/JDTradeViewController.swift

@@ -64,7 +64,7 @@ class JDTradeViewController: BaseViewController {
 extension JDTradeViewController : UITableViewDataSource{
     
     func numberOfSections(in tableView: UITableView) -> Int {
-        return 3
+        return 4
     }
     
     func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
@@ -74,6 +74,9 @@ extension JDTradeViewController : UITableViewDataSource{
         }else if section == 1 {
             
             return 1
+        } else if section == 2 {
+            
+            return 1
         } else {
             
             return accountList.count
@@ -92,7 +95,19 @@ extension JDTradeViewController : UITableViewDataSource{
             
             return cell
             
-        }else{
+        } else if indexPath.section == 2 {
+            
+            let cell = tableView.dequeueReusableCell(withIdentifier: JDTradeAccountCell.description()) as! JDTradeAccountCell
+            
+            cell.iconIv.image = UIImage(named: "account_wallet")
+//            let model : JDTradeAccountModel = self.accountList[indexPath.row]
+////            cell.updateMarketCellWith(model: model)
+//            cell.updateHomeCellWith(model: model)
+//
+            return cell
+            
+            
+        } else{
             
             let cell = tableView.dequeueReusableCell(withIdentifier: JDTradeAccountCell.description()) as! JDTradeAccountCell
 //            let model:KSymbolModel = (self.VM?.screenSymbolList[indexPath.row])!;
@@ -141,7 +156,7 @@ extension JDTradeViewController : UITableViewDelegate{
     
     func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
         
-        if section == 2 {
+        if section == 3 {
             return 40
         }else {
             return 0
@@ -150,7 +165,7 @@ extension JDTradeViewController : UITableViewDelegate{
     
     func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
     
-        if section == 2 {
+        if section == 3 {
             
             let view  = UIView(frame: CGRect(x: 0, y: 0, width: SCREEN_WIDTH, height: 40))
             view.backgroundColor = .white
@@ -193,7 +208,9 @@ extension JDTradeViewController : UITableViewDelegate{
             return 152
         } else if indexPath.section == 1 {
             return 82
-        }else {
+        } else if indexPath.section == 2 {
+            return 125
+        } else {
             
             return 125
         }
@@ -203,9 +220,9 @@ extension JDTradeViewController : UITableViewDelegate{
         tableView.deselectRow(at: indexPath, animated: true)
 
         let vc = JDTradeAccountMainViewController()
-        
+        vc.accountList = self.accountList
+        vc.selectIndex = indexPath.row
         currentVc()?.navigationController?.pushViewController(vc, animated: true)
     }
-    
 }
 

+ 0 - 2
Koala/Koala/Modular/Mine/VC/MineViewController.swift

@@ -171,8 +171,6 @@ class MineViewController: BaseViewController {
                 self?.dismiss(animated: true, completion: nil)
             }
         }
-        
-        
     }
    
     

+ 22 - 0
Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_active.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "编组 24备份 3@2x(1).png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "编组 24备份 3@3x(1).png",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_active.imageset/编组 24备份 3@2x(1).png


BIN
Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_active.imageset/编组 24备份 3@3x(1).png


BIN
Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_feedback.imageset/编组 24备份 6@2x.png


BIN
Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_feedback.imageset/编组 24备份 6@3x.png


BIN
Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_help.imageset/编组 24备份 5@2x.png


BIN
Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_help.imageset/编组 24备份 5@3x.png


+ 22 - 0
Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_invite.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "编组 24备份 5@2x(1).png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "编组 24备份 5@3x(1).png",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_invite.imageset/编组 24备份 5@2x(1).png


BIN
Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_invite.imageset/编组 24备份 5@3x(1).png


+ 22 - 0
Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_joinus.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "编组 24备份 4@2x(1).png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "编组 24备份 4@3x(1).png",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_joinus.imageset/编组 24备份 4@2x(1).png


BIN
Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_joinus.imageset/编组 24备份 4@3x(1).png


BIN
Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_lang.imageset/编组 24备份 4@2x.png


BIN
Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_lang.imageset/编组 24备份 4@3x.png


+ 2 - 2
Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_menu_0.imageset/Contents.json

@@ -5,12 +5,12 @@
       "scale" : "1x"
     },
     {
-      "filename" : "自选股备份 2@2x.png",
+      "filename" : "编组 20@2x.png",
       "idiom" : "universal",
       "scale" : "2x"
     },
     {
-      "filename" : "自选股备份 2@3x.png",
+      "filename" : "编组 20@3x.png",
       "idiom" : "universal",
       "scale" : "3x"
     }

BIN
Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_menu_0.imageset/编组 20@2x.png


BIN
Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_menu_0.imageset/编组 20@3x.png


BIN
Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_menu_0.imageset/自选股备份 2@2x.png


BIN
Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_menu_0.imageset/自选股备份 2@3x.png


+ 2 - 2
Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_menu_1.imageset/Contents.json

@@ -5,12 +5,12 @@
       "scale" : "1x"
     },
     {
-      "filename" : "自选股备份@2x.png",
+      "filename" : "编组 21@2x.png",
       "idiom" : "universal",
       "scale" : "2x"
     },
     {
-      "filename" : "自选股备份@3x.png",
+      "filename" : "编组 21@3x.png",
       "idiom" : "universal",
       "scale" : "3x"
     }

BIN
Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_menu_1.imageset/编组 21@2x.png


BIN
Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_menu_1.imageset/编组 21@3x.png


BIN
Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_menu_1.imageset/自选股备份@2x.png


BIN
Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_menu_1.imageset/自选股备份@3x.png


+ 2 - 2
Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_menu_2.imageset/Contents.json

@@ -5,12 +5,12 @@
       "scale" : "1x"
     },
     {
-      "filename" : "自选股备份@2x(1).png",
+      "filename" : "编组 22@2x.png",
       "idiom" : "universal",
       "scale" : "2x"
     },
     {
-      "filename" : "自选股备份@3x(1).png",
+      "filename" : "编组 22@3x.png",
       "idiom" : "universal",
       "scale" : "3x"
     }

BIN
Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_menu_2.imageset/编组 22@2x.png


BIN
Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_menu_2.imageset/编组 22@3x.png


BIN
Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_menu_2.imageset/自选股备份@2x(1).png


BIN
Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_menu_2.imageset/自选股备份@3x(1).png


+ 2 - 2
Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_menu_3.imageset/Contents.json

@@ -5,12 +5,12 @@
       "scale" : "1x"
     },
     {
-      "filename" : "自选股备份 9@2x.png",
+      "filename" : "编组 24@2x.png",
       "idiom" : "universal",
       "scale" : "2x"
     },
     {
-      "filename" : "自选股备份 9@3x.png",
+      "filename" : "编组 24@3x.png",
       "idiom" : "universal",
       "scale" : "3x"
     }

BIN
Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_menu_3.imageset/编组 24@2x.png


BIN
Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_menu_3.imageset/编组 24@3x.png


BIN
Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_menu_3.imageset/自选股备份 9@2x.png


BIN
Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_menu_3.imageset/自选股备份 9@3x.png


BIN
Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_service.imageset/编组 24备份 3@2x.png


BIN
Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_service.imageset/编组 24备份 3@3x.png


+ 22 - 0
Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_vipArrow.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "进入@2x.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "进入@3x.png",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_vipArrow.imageset/进入@2x.png


BIN
Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_vipArrow.imageset/进入@3x.png


+ 22 - 0
Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_vipbg.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "编组 15@2x.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "编组 15@3x.png",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_vipbg.imageset/编组 15@2x.png


BIN
Koala/Koala/Other/Assets.xcassets/JDMine/jdmine_vipbg.imageset/编组 15@3x.png


+ 22 - 0
Koala/Koala/Other/Assets.xcassets/JDTrade/account_wallet.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "美国国旗@2x.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "美国国旗@3x.png",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
Koala/Koala/Other/Assets.xcassets/JDTrade/account_wallet.imageset/美国国旗@2x.png


BIN
Koala/Koala/Other/Assets.xcassets/JDTrade/account_wallet.imageset/美国国旗@3x.png


+ 25 - 25
Koala/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/xcschememanagement.plist

@@ -7,127 +7,127 @@
 		<key>Alamofire.xcscheme_^#shared#^_</key>
 		<dict>
 			<key>orderHint</key>
-			<integer>11</integer>
+			<integer>9</integer>
 		</dict>
 		<key>CryptoSwift.xcscheme_^#shared#^_</key>
 		<dict>
 			<key>orderHint</key>
-			<integer>10</integer>
+			<integer>8</integer>
 		</dict>
 		<key>FMDB.xcscheme_^#shared#^_</key>
 		<dict>
 			<key>orderHint</key>
-			<integer>7</integer>
+			<integer>6</integer>
 		</dict>
 		<key>GzipSwift.xcscheme_^#shared#^_</key>
 		<dict>
 			<key>orderHint</key>
-			<integer>18</integer>
+			<integer>20</integer>
 		</dict>
 		<key>HandyJSON.xcscheme_^#shared#^_</key>
 		<dict>
 			<key>orderHint</key>
-			<integer>25</integer>
+			<integer>16</integer>
 		</dict>
 		<key>IQKeyboardManagerSwift.xcscheme_^#shared#^_</key>
 		<dict>
 			<key>orderHint</key>
-			<integer>15</integer>
+			<integer>14</integer>
 		</dict>
 		<key>Kingfisher.xcscheme_^#shared#^_</key>
 		<dict>
 			<key>orderHint</key>
-			<integer>27</integer>
+			<integer>22</integer>
 		</dict>
 		<key>LLCycleScrollView.xcscheme_^#shared#^_</key>
 		<dict>
 			<key>orderHint</key>
-			<integer>19</integer>
+			<integer>23</integer>
 		</dict>
 		<key>LiveChat.xcscheme_^#shared#^_</key>
 		<dict>
 			<key>orderHint</key>
-			<integer>6</integer>
+			<integer>18</integer>
 		</dict>
 		<key>MJExtension.xcscheme_^#shared#^_</key>
 		<dict>
 			<key>orderHint</key>
-			<integer>5</integer>
+			<integer>12</integer>
 		</dict>
 		<key>MJRefresh.xcscheme_^#shared#^_</key>
 		<dict>
 			<key>orderHint</key>
-			<integer>4</integer>
+			<integer>11</integer>
 		</dict>
 		<key>PGDatePicker.xcscheme_^#shared#^_</key>
 		<dict>
 			<key>orderHint</key>
-			<integer>2</integer>
+			<integer>27</integer>
 		</dict>
 		<key>PGPickerView.xcscheme_^#shared#^_</key>
 		<dict>
 			<key>orderHint</key>
-			<integer>8</integer>
+			<integer>4</integer>
 		</dict>
 		<key>Pods-Koala.xcscheme_^#shared#^_</key>
 		<dict>
 			<key>orderHint</key>
-			<integer>17</integer>
+			<integer>25</integer>
 		</dict>
 		<key>Pods-KoalaTests.xcscheme_^#shared#^_</key>
 		<dict>
 			<key>orderHint</key>
-			<integer>26</integer>
+			<integer>24</integer>
 		</dict>
 		<key>Pods-KoalaUITests.xcscheme_^#shared#^_</key>
 		<dict>
 			<key>orderHint</key>
-			<integer>20</integer>
+			<integer>19</integer>
 		</dict>
 		<key>ReactiveCocoa.xcscheme_^#shared#^_</key>
 		<dict>
 			<key>orderHint</key>
-			<integer>23</integer>
+			<integer>21</integer>
 		</dict>
 		<key>ReactiveSwift.xcscheme_^#shared#^_</key>
 		<dict>
 			<key>orderHint</key>
-			<integer>21</integer>
+			<integer>13</integer>
 		</dict>
 		<key>SVProgressHUD.xcscheme_^#shared#^_</key>
 		<dict>
 			<key>orderHint</key>
-			<integer>9</integer>
+			<integer>5</integer>
 		</dict>
 		<key>SideMenu.xcscheme_^#shared#^_</key>
 		<dict>
 			<key>orderHint</key>
-			<integer>16</integer>
+			<integer>2</integer>
 		</dict>
 		<key>SnapKit.xcscheme_^#shared#^_</key>
 		<dict>
 			<key>orderHint</key>
-			<integer>22</integer>
+			<integer>17</integer>
 		</dict>
 		<key>Starscream.xcscheme_^#shared#^_</key>
 		<dict>
 			<key>orderHint</key>
-			<integer>3</integer>
+			<integer>26</integer>
 		</dict>
 		<key>SwiftSVG.xcscheme_^#shared#^_</key>
 		<dict>
 			<key>orderHint</key>
-			<integer>14</integer>
+			<integer>7</integer>
 		</dict>
 		<key>SwiftyJSON.xcscheme_^#shared#^_</key>
 		<dict>
 			<key>orderHint</key>
-			<integer>24</integer>
+			<integer>10</integer>
 		</dict>
 		<key>lottie-ios.xcscheme_^#shared#^_</key>
 		<dict>
 			<key>orderHint</key>
-			<integer>13</integer>
+			<integer>3</integer>
 		</dict>
 	</dict>
 </dict>

+ 1 - 0
README.md

@@ -0,0 +1 @@
+Jidu