瀏覽代碼

no message

nanxinlin 6 年之前
父節點
當前提交
5052096a93
共有 100 個文件被更改,包括 2606 次插入13 次删除
  1. 497 11
      RainbowPlanet/RainbowPlanet.xcodeproj/project.pbxproj
  2. 19 0
      RainbowPlanet/RainbowPlanet/AppDelegate/AppDelegate+BaiduMap.swift
  3. 18 0
      RainbowPlanet/RainbowPlanet/AppDelegate/AppDelegate+IQKeyboardManagerSwift.swift
  4. 198 0
      RainbowPlanet/RainbowPlanet/AppDelegate/AppDelegate+UM.swift
  5. 7 2
      RainbowPlanet/RainbowPlanet/AppDelegate/AppDelegate.swift
  6. 12 0
      RainbowPlanet/RainbowPlanet/Define/CacheMacro.swift
  7. 63 0
      RainbowPlanet/RainbowPlanet/Define/ColorMacro.swift
  8. 158 0
      RainbowPlanet/RainbowPlanet/Define/Common.swift
  9. 9 0
      RainbowPlanet/RainbowPlanet/Define/EnumMacro.swift
  10. 150 0
      RainbowPlanet/RainbowPlanet/Define/FontMacro.swift
  11. 14 0
      RainbowPlanet/RainbowPlanet/Define/HTMLURLMacro.swift
  12. 19 0
      RainbowPlanet/RainbowPlanet/Define/NotificationCenterMacro.swift
  13. 28 0
      RainbowPlanet/RainbowPlanet/Define/RainbowPlanet-Bridging-Header.h
  14. 32 0
      RainbowPlanet/RainbowPlanet/Define/ThirdPartyMacro.swift
  15. 二進制
      RainbowPlanet/RainbowPlanet/Lib/AlipaySDK/AlipaySDK.bundle/alipay_msp_back@2x.png
  16. 二進制
      RainbowPlanet/RainbowPlanet/Lib/AlipaySDK/AlipaySDK.bundle/alipay_msp_refresh@2x.png
  17. 二進制
      RainbowPlanet/RainbowPlanet/Lib/AlipaySDK/AlipaySDK.bundle/bar@2x.png
  18. 1 0
      RainbowPlanet/RainbowPlanet/Lib/AlipaySDK/AlipaySDK.bundle/bridge.js
  19. 二進制
      RainbowPlanet/RainbowPlanet/Lib/AlipaySDK/AlipaySDK.bundle/refresh@2x.png
  20. 二進制
      RainbowPlanet/RainbowPlanet/Lib/AlipaySDK/AlipaySDK.bundle/refresh_click@2x.png
  21. 二進制
      RainbowPlanet/RainbowPlanet/Lib/AlipaySDK/AlipaySDK.bundle/shutdown@2x.png
  22. 二進制
      RainbowPlanet/RainbowPlanet/Lib/AlipaySDK/AlipaySDK.bundle/shutdown_click@2x.png
  23. 二進制
      RainbowPlanet/RainbowPlanet/Lib/AlipaySDK/AlipaySDK.framework/AlipaySDK
  24. 二進制
      RainbowPlanet/RainbowPlanet/Lib/AlipaySDK/AlipaySDK.framework/AlipaySDK-inside-Info.plist
  25. 33 0
      RainbowPlanet/RainbowPlanet/Lib/AlipaySDK/AlipaySDK.framework/Headers/APayAuthInfo.h
  26. 203 0
      RainbowPlanet/RainbowPlanet/Lib/AlipaySDK/AlipaySDK.framework/Headers/AlipaySDK.h
  27. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/CL_ShanYanSDK.framework/CL_ShanYanSDK
  28. 34 0
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/CL_ShanYanSDK.framework/Headers/CLCompleteResult.h
  29. 58 0
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/CL_ShanYanSDK.framework/Headers/CLShanYanSDKManager.h
  30. 61 0
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/CL_ShanYanSDK.framework/Headers/CLUIConfigure.h
  31. 24 0
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/CL_ShanYanSDK.framework/Headers/CL_ShanYanSDK.h
  32. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/CL_ShanYanSDK.framework/Info.plist
  33. 6 0
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/CL_ShanYanSDK.framework/Modules/module.modulemap
  34. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/EAccountApiSDK.framework/EAccountApiSDK
  35. 72 0
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/EAccountApiSDK.framework/Headers/EAccountSDK.h
  36. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/EAccountApiSDK.framework/Info.plist
  37. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/HTMLResource.bundle/borrow_arrowleft.png
  38. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/HTMLResource.bundle/borrow_arrowleft@2x.png
  39. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/HTMLResource.bundle/e.png
  40. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/HTMLResource.bundle/topIcon-default.png
  41. 44 0
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/OAuth.framework/Headers/OAuthManager.h
  42. 14 0
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/OAuth.framework/Headers/ResultListener.h
  43. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/OAuth.framework/Info.plist
  44. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/OAuth.framework/OAuth
  45. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/OAuth.framework/_CodeSignature/CodeDirectory
  46. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/OAuth.framework/_CodeSignature/CodeRequirements
  47. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/OAuth.framework/_CodeSignature/CodeRequirements-1
  48. 151 0
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/OAuth.framework/_CodeSignature/CodeResources
  49. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/OAuth.framework/_CodeSignature/CodeSignature
  50. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/TYRZResource.bundle/checked.png
  51. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/TYRZResource.bundle/checked@2x.png
  52. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/TYRZResource.bundle/delete.png
  53. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/TYRZResource.bundle/left_arrow.png
  54. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/TYRZResource.bundle/left_icon.png
  55. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/TYRZResource.bundle/left_icon@2x.png
  56. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/TYRZResource.bundle/logo.png
  57. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/TYRZResource.bundle/unchecked.png
  58. 16 0
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/TYRZSDK.framework/Headers/TYRZSDK.h
  59. 87 0
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/TYRZSDK.framework/Headers/TYRZUILogin.h
  60. 117 0
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/TYRZSDK.framework/Headers/UACustomModel.h
  61. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/TYRZSDK.framework/Info.plist
  62. 6 0
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/TYRZSDK.framework/Modules/module.modulemap
  63. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/TYRZSDK.framework/TYRZSDK
  64. 28 0
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/account_login_sdk_core.framework/Headers/UniAuthHelper.h
  65. 11 0
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/account_login_sdk_core.framework/Headers/UniResultListener.h
  66. 19 0
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/account_login_sdk_core.framework/Headers/account_login_sdk_core.h
  67. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/account_login_sdk_core.framework/Info.plist
  68. 6 0
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/account_login_sdk_core.framework/Modules/module.modulemap
  69. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/account_login_sdk_core.framework/_CodeSignature/CodeDirectory
  70. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/account_login_sdk_core.framework/_CodeSignature/CodeRequirements
  71. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/account_login_sdk_core.framework/_CodeSignature/CodeRequirements-1
  72. 181 0
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/account_login_sdk_core.framework/_CodeSignature/CodeResources
  73. 0 0
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/account_login_sdk_core.framework/_CodeSignature/CodeSignature
  74. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/account_login_sdk_core.framework/account_login_sdk_core
  75. 19 0
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/account_verify_sdk_core.framework/Headers/UnivAuthHelper.h
  76. 19 0
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/account_verify_sdk_core.framework/Headers/account_verify_sdk_core.h
  77. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/account_verify_sdk_core.framework/Info.plist
  78. 6 0
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/account_verify_sdk_core.framework/Modules/module.modulemap
  79. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/account_verify_sdk_core.framework/_CodeSignature/CodeDirectory
  80. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/account_verify_sdk_core.framework/_CodeSignature/CodeRequirements
  81. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/account_verify_sdk_core.framework/_CodeSignature/CodeRequirements-1
  82. 166 0
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/account_verify_sdk_core.framework/_CodeSignature/CodeResources
  83. 0 0
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/account_verify_sdk_core.framework/_CodeSignature/CodeSignature
  84. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/account_verify_sdk_core.framework/account_verify_sdk_core
  85. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/uni_account_login_sdk_res.bundle/Info.plist
  86. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/uni_account_login_sdk_res.bundle/UniCommonView.storyboardc/5gE-Be-tHi-view-4kc-yp-R9q.nib
  87. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/uni_account_login_sdk_res.bundle/UniCommonView.storyboardc/8b4-vW-le4-view-BAw-42-mkZ.nib
  88. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/uni_account_login_sdk_res.bundle/UniCommonView.storyboardc/8mR-US-aeI-view-Acj-Ks-9bH.nib
  89. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/uni_account_login_sdk_res.bundle/UniCommonView.storyboardc/Info.plist
  90. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/uni_account_login_sdk_res.bundle/UniCommonView.storyboardc/XtT-wr-pY4-view-knd-DN-C6b.nib
  91. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/uni_account_login_sdk_res.bundle/UniCommonView.storyboardc/error.nib
  92. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/uni_account_login_sdk_res.bundle/UniCommonView.storyboardc/help.nib
  93. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/uni_account_login_sdk_res.bundle/UniCommonView.storyboardc/lPW-FD-x2u-view-6L6-Mx-T3G.nib
  94. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/uni_account_login_sdk_res.bundle/UniCommonView.storyboardc/loading.nib
  95. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/uni_account_login_sdk_res.bundle/UniCommonView.storyboardc/quicklogin.nib
  96. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/uni_account_login_sdk_res.bundle/UniCommonView.storyboardc/useragreement.nib
  97. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/uni_account_login_sdk_res.bundle/_CodeSignature/CodeDirectory
  98. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/uni_account_login_sdk_res.bundle/_CodeSignature/CodeRequirements
  99. 二進制
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/uni_account_login_sdk_res.bundle/_CodeSignature/CodeRequirements-1
  100. 0 0
      RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/uni_account_login_sdk_res.bundle/_CodeSignature/CodeResources

+ 497 - 11
RainbowPlanet/RainbowPlanet.xcodeproj/project.pbxproj

@@ -10,6 +10,78 @@
 		0A110C4CD931995B8E8BF7C5 /* Pods_RainbowPlanet.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D469F6C3768252BCB7001EDD /* Pods_RainbowPlanet.framework */; };
 		3E58CC90A9E5EF3B7AF4AE42 /* Pods_RainbowPlanetTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A7E03A30F40582782EC5DA89 /* Pods_RainbowPlanetTests.framework */; };
 		867818C053169E7AE52C09C6 /* Pods_RainbowPlanetUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 88DF1EFD2E202DA7C627E8A7 /* Pods_RainbowPlanetUITests.framework */; };
+		A72A726622321DBD00B21995 /* BaiduMapManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72A726222321DBD00B21995 /* BaiduMapManager.swift */; };
+		A72A726722321DBD00B21995 /* LocationModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72A726322321DBD00B21995 /* LocationModel.swift */; };
+		A72A726822321DBD00B21995 /* UMManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72A726522321DBD00B21995 /* UMManager.swift */; };
+		A72A72A222321DE000B21995 /* LBXScanNetAnimation.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72A726A22321DDE00B21995 /* LBXScanNetAnimation.swift */; };
+		A72A72A322321DE000B21995 /* LBXScanView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72A726B22321DDE00B21995 /* LBXScanView.swift */; };
+		A72A72A422321DE000B21995 /* LBXScanViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72A726C22321DDE00B21995 /* LBXScanViewController.swift */; };
+		A72A72A522321DE000B21995 /* LBXScanLineAnimation.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72A726D22321DDE00B21995 /* LBXScanLineAnimation.swift */; };
+		A72A72A622321DE000B21995 /* LBXScanViewStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72A726E22321DDE00B21995 /* LBXScanViewStyle.swift */; };
+		A72A72A722321DE000B21995 /* LBXPermissions.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72A726F22321DDE00B21995 /* LBXPermissions.swift */; };
+		A72A72A822321DE000B21995 /* LBXScanWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72A727022321DDE00B21995 /* LBXScanWrapper.swift */; };
+		A72A72A922321DE000B21995 /* NumberKeyboard.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72A727222321DDE00B21995 /* NumberKeyboard.swift */; };
+		A72A72AA22321DE000B21995 /* Log.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72A727422321DDE00B21995 /* Log.swift */; };
+		A72A72AB22321DE000B21995 /* SwiftProgressHUD.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72A727622321DDE00B21995 /* SwiftProgressHUD.swift */; };
+		A72A72AC22321DE000B21995 /* Regex.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72A727822321DDF00B21995 /* Regex.swift */; };
+		A72A72AE22321DE000B21995 /* CountdownButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72A727C22321DDF00B21995 /* CountdownButton.swift */; };
+		A72A72AF22321DE000B21995 /* AppInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72A727E22321DDF00B21995 /* AppInfo.swift */; };
+		A72A72B022321DE000B21995 /* CGView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72A728022321DDF00B21995 /* CGView.swift */; };
+		A72A72B122321DE000B21995 /* UIScrollView+MJRefreshEX.m in Sources */ = {isa = PBXBuildFile; fileRef = A72A728222321DDF00B21995 /* UIScrollView+MJRefreshEX.m */; };
+		A72A72B222321DE000B21995 /* NSObject+BARunTime.m in Sources */ = {isa = PBXBuildFile; fileRef = A72A728622321DE000B21995 /* NSObject+BARunTime.m */; };
+		A72A72B322321DE000B21995 /* UIAlertController+BAKit.m in Sources */ = {isa = PBXBuildFile; fileRef = A72A728722321DE000B21995 /* UIAlertController+BAKit.m */; };
+		A72A72B422321DE000B21995 /* Extension+UIImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72A728C22321DE000B21995 /* Extension+UIImage.swift */; };
+		A72A72B522321DE000B21995 /* Extension+UITextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72A728D22321DE000B21995 /* Extension+UITextView.swift */; };
+		A72A72B622321DE000B21995 /* Extension+NSRange.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72A728E22321DE000B21995 /* Extension+NSRange.swift */; };
+		A72A72B722321DE000B21995 /* Extension+NSMutableAttributedString.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72A728F22321DE000B21995 /* Extension+NSMutableAttributedString.swift */; };
+		A72A72B822321DE000B21995 /* Extension+UserDefaults.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72A729022321DE000B21995 /* Extension+UserDefaults.swift */; };
+		A72A72B922321DE000B21995 /* Extension+Array.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72A729122321DE000B21995 /* Extension+Array.swift */; };
+		A72A72BA22321DE000B21995 /* Extension+String.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72A729222321DE000B21995 /* Extension+String.swift */; };
+		A72A72BB22321DE000B21995 /* Extension+UILabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72A729322321DE000B21995 /* Extension+UILabel.swift */; };
+		A72A72BC22321DE000B21995 /* Extension+UIAlertController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72A729422321DE000B21995 /* Extension+UIAlertController.swift */; };
+		A72A72BD22321DE000B21995 /* Extension+UIColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72A729722321DE000B21995 /* Extension+UIColor.swift */; };
+		A72A72BE22321DE000B21995 /* Extension+RxTimer.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72A729822321DE000B21995 /* Extension+RxTimer.swift */; };
+		A72A72BF22321DE000B21995 /* Extension+UIButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72A729922321DE000B21995 /* Extension+UIButton.swift */; };
+		A72A72C022321DE000B21995 /* Extension+UIView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72A729A22321DE000B21995 /* Extension+UIView.swift */; };
+		A72A72C122321DE000B21995 /* NSMutableAttributedString+BAKit.m in Sources */ = {isa = PBXBuildFile; fileRef = A72A729B22321DE000B21995 /* NSMutableAttributedString+BAKit.m */; };
+		A72A72C222321DE000B21995 /* UIBarButtonItem+SXCreate.m in Sources */ = {isa = PBXBuildFile; fileRef = A72A729C22321DE000B21995 /* UIBarButtonItem+SXCreate.m */; };
+		A72A72C322321DE000B21995 /* Extension+Date.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72A729D22321DE000B21995 /* Extension+Date.swift */; };
+		A72A72C422321DE000B21995 /* Extension+CAGradientLayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72A729E22321DE000B21995 /* Extension+CAGradientLayer.swift */; };
+		A72A72C522321DE000B21995 /* WKWebViewConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72A72A022321DE000B21995 /* WKWebViewConfig.swift */; };
+		A72A72C622321DE000B21995 /* WebView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72A72A122321DE000B21995 /* WebView.swift */; };
+		A72A72CF22321E2700B21995 /* NotificationCenterMacro.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72A72C722321E2500B21995 /* NotificationCenterMacro.swift */; };
+		A72A72D022321E2700B21995 /* FontMacro.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72A72C822321E2500B21995 /* FontMacro.swift */; };
+		A72A72D122321E2700B21995 /* HTMLURLMacro.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72A72C922321E2600B21995 /* HTMLURLMacro.swift */; };
+		A72A72D222321E2700B21995 /* Common.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72A72CA22321E2600B21995 /* Common.swift */; };
+		A72A72D322321E2700B21995 /* CacheMacro.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72A72CB22321E2600B21995 /* CacheMacro.swift */; };
+		A72A72D422321E2700B21995 /* EnumMacro.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72A72CC22321E2600B21995 /* EnumMacro.swift */; };
+		A72A72D522321E2700B21995 /* ColorMacro.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72A72CD22321E2600B21995 /* ColorMacro.swift */; };
+		A72A72D622321E2700B21995 /* ThirdPartyMacro.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72A72CE22321E2700B21995 /* ThirdPartyMacro.swift */; };
+		A72A72E422321E5200B21995 /* TYRZResource.bundle in Resources */ = {isa = PBXBuildFile; fileRef = A72A72D822321E5200B21995 /* TYRZResource.bundle */; };
+		A72A72E522321E5200B21995 /* account_login_sdk_core.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A72A72D922321E5200B21995 /* account_login_sdk_core.framework */; };
+		A72A72E622321E5200B21995 /* TYRZSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A72A72DA22321E5200B21995 /* TYRZSDK.framework */; };
+		A72A72E722321E5200B21995 /* account_verify_sdk_core.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A72A72DB22321E5200B21995 /* account_verify_sdk_core.framework */; };
+		A72A72E822321E5200B21995 /* CL_ShanYanSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A72A72DC22321E5200B21995 /* CL_ShanYanSDK.framework */; };
+		A72A72E922321E5200B21995 /* uni_account_login_sdk_res.bundle in Resources */ = {isa = PBXBuildFile; fileRef = A72A72DD22321E5200B21995 /* uni_account_login_sdk_res.bundle */; };
+		A72A72EA22321E5200B21995 /* HTMLResource.bundle in Resources */ = {isa = PBXBuildFile; fileRef = A72A72DE22321E5200B21995 /* HTMLResource.bundle */; };
+		A72A72EB22321E5200B21995 /* OAuth.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A72A72DF22321E5200B21995 /* OAuth.framework */; };
+		A72A72EC22321E5200B21995 /* EAccountApiSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A72A72E022321E5200B21995 /* EAccountApiSDK.framework */; };
+		A72A72ED22321E5200B21995 /* AlipaySDK.bundle in Resources */ = {isa = PBXBuildFile; fileRef = A72A72E222321E5200B21995 /* AlipaySDK.bundle */; };
+		A72A72EE22321E5200B21995 /* AlipaySDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A72A72E322321E5200B21995 /* AlipaySDK.framework */; };
+		A72A72F022321E8800B21995 /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A72A72EF22321E8800B21995 /* CoreMotion.framework */; };
+		A72A72F222321E9300B21995 /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A72A72F122321E9300B21995 /* CFNetwork.framework */; };
+		A72A72F422321E9A00B21995 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A72A72F322321E9A00B21995 /* Foundation.framework */; };
+		A72A72F622321EA000B21995 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A72A72F522321EA000B21995 /* UIKit.framework */; };
+		A72A72F822321EB600B21995 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A72A72F722321EB600B21995 /* CoreGraphics.framework */; };
+		A72A72FA22321EBF00B21995 /* CoreText.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A72A72F922321EBF00B21995 /* CoreText.framework */; };
+		A72A72FC22321ECE00B21995 /* CoreTelephony.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A72A72FB22321ECD00B21995 /* CoreTelephony.framework */; };
+		A72A72FE22321EE200B21995 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A72A72FD22321EE200B21995 /* QuartzCore.framework */; };
+		A72A730022321EE900B21995 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A72A72FF22321EE900B21995 /* SystemConfiguration.framework */; };
+		A72A730222321EEE00B21995 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = A72A730122321EEE00B21995 /* libz.tbd */; };
+		A72A730422321EFA00B21995 /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = A72A730322321EFA00B21995 /* libc++.tbd */; };
+		A72A730C2232207700B21995 /* AppDelegate+UM.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72A73082232207600B21995 /* AppDelegate+UM.swift */; };
+		A72A730D2232207700B21995 /* AppDelegate+BaiduMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72A73092232207600B21995 /* AppDelegate+BaiduMap.swift */; };
+		A72A730F2232207700B21995 /* AppDelegate+IQKeyboardManagerSwift.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72A730B2232207600B21995 /* AppDelegate+IQKeyboardManagerSwift.swift */; };
 		A77F2C612231FB49001BD3F6 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = A77F2C602231FB49001BD3F6 /* AppDelegate.swift */; };
 		A77F2C682231FB4A001BD3F6 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A77F2C672231FB4A001BD3F6 /* Assets.xcassets */; };
 		A77F2C762231FB4A001BD3F6 /* RainbowPlanetTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A77F2C752231FB4A001BD3F6 /* RainbowPlanetTests.swift */; };
@@ -51,6 +123,85 @@
 		57C497E128081597F165C771 /* Pods-RainbowPlanet.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RainbowPlanet.release.xcconfig"; path = "Pods/Target Support Files/Pods-RainbowPlanet/Pods-RainbowPlanet.release.xcconfig"; sourceTree = "<group>"; };
 		88DF1EFD2E202DA7C627E8A7 /* Pods_RainbowPlanetUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RainbowPlanetUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
 		9D60C551769808F63D7376A8 /* Pods-RainbowPlanetTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RainbowPlanetTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-RainbowPlanetTests/Pods-RainbowPlanetTests.debug.xcconfig"; sourceTree = "<group>"; };
+		A72A726022321D3400B21995 /* RainbowPlanet-Bridging-Header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "RainbowPlanet-Bridging-Header.h"; sourceTree = "<group>"; };
+		A72A726222321DBD00B21995 /* BaiduMapManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BaiduMapManager.swift; sourceTree = "<group>"; };
+		A72A726322321DBD00B21995 /* LocationModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LocationModel.swift; sourceTree = "<group>"; };
+		A72A726522321DBD00B21995 /* UMManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UMManager.swift; sourceTree = "<group>"; };
+		A72A726A22321DDE00B21995 /* LBXScanNetAnimation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LBXScanNetAnimation.swift; sourceTree = "<group>"; };
+		A72A726B22321DDE00B21995 /* LBXScanView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LBXScanView.swift; sourceTree = "<group>"; };
+		A72A726C22321DDE00B21995 /* LBXScanViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LBXScanViewController.swift; sourceTree = "<group>"; };
+		A72A726D22321DDE00B21995 /* LBXScanLineAnimation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LBXScanLineAnimation.swift; sourceTree = "<group>"; };
+		A72A726E22321DDE00B21995 /* LBXScanViewStyle.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LBXScanViewStyle.swift; sourceTree = "<group>"; };
+		A72A726F22321DDE00B21995 /* LBXPermissions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LBXPermissions.swift; sourceTree = "<group>"; };
+		A72A727022321DDE00B21995 /* LBXScanWrapper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LBXScanWrapper.swift; sourceTree = "<group>"; };
+		A72A727222321DDE00B21995 /* NumberKeyboard.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NumberKeyboard.swift; sourceTree = "<group>"; };
+		A72A727422321DDE00B21995 /* Log.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Log.swift; sourceTree = "<group>"; };
+		A72A727622321DDE00B21995 /* SwiftProgressHUD.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SwiftProgressHUD.swift; sourceTree = "<group>"; };
+		A72A727822321DDF00B21995 /* Regex.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Regex.swift; sourceTree = "<group>"; };
+		A72A727C22321DDF00B21995 /* CountdownButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CountdownButton.swift; sourceTree = "<group>"; };
+		A72A727E22321DDF00B21995 /* AppInfo.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppInfo.swift; sourceTree = "<group>"; };
+		A72A728022321DDF00B21995 /* CGView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CGView.swift; sourceTree = "<group>"; };
+		A72A728222321DDF00B21995 /* UIScrollView+MJRefreshEX.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIScrollView+MJRefreshEX.m"; sourceTree = "<group>"; };
+		A72A728322321DDF00B21995 /* UIScrollView+MJRefreshEX.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIScrollView+MJRefreshEX.h"; sourceTree = "<group>"; };
+		A72A728622321DE000B21995 /* NSObject+BARunTime.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSObject+BARunTime.m"; sourceTree = "<group>"; };
+		A72A728722321DE000B21995 /* UIAlertController+BAKit.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIAlertController+BAKit.m"; sourceTree = "<group>"; };
+		A72A728822321DE000B21995 /* BAAlertController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BAAlertController.h; sourceTree = "<group>"; };
+		A72A728922321DE000B21995 /* NSObject+BARunTime.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSObject+BARunTime.h"; sourceTree = "<group>"; };
+		A72A728A22321DE000B21995 /* UIAlertController+BAKit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIAlertController+BAKit.h"; sourceTree = "<group>"; };
+		A72A728C22321DE000B21995 /* Extension+UIImage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Extension+UIImage.swift"; sourceTree = "<group>"; };
+		A72A728D22321DE000B21995 /* Extension+UITextView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Extension+UITextView.swift"; sourceTree = "<group>"; };
+		A72A728E22321DE000B21995 /* Extension+NSRange.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Extension+NSRange.swift"; sourceTree = "<group>"; };
+		A72A728F22321DE000B21995 /* Extension+NSMutableAttributedString.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Extension+NSMutableAttributedString.swift"; sourceTree = "<group>"; };
+		A72A729022321DE000B21995 /* Extension+UserDefaults.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Extension+UserDefaults.swift"; sourceTree = "<group>"; };
+		A72A729122321DE000B21995 /* Extension+Array.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Extension+Array.swift"; sourceTree = "<group>"; };
+		A72A729222321DE000B21995 /* Extension+String.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Extension+String.swift"; sourceTree = "<group>"; };
+		A72A729322321DE000B21995 /* Extension+UILabel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Extension+UILabel.swift"; sourceTree = "<group>"; };
+		A72A729422321DE000B21995 /* Extension+UIAlertController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Extension+UIAlertController.swift"; sourceTree = "<group>"; };
+		A72A729522321DE000B21995 /* UIBarButtonItem+SXCreate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIBarButtonItem+SXCreate.h"; sourceTree = "<group>"; };
+		A72A729622321DE000B21995 /* NSMutableAttributedString+BAKit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSMutableAttributedString+BAKit.h"; sourceTree = "<group>"; };
+		A72A729722321DE000B21995 /* Extension+UIColor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Extension+UIColor.swift"; sourceTree = "<group>"; };
+		A72A729822321DE000B21995 /* Extension+RxTimer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Extension+RxTimer.swift"; sourceTree = "<group>"; };
+		A72A729922321DE000B21995 /* Extension+UIButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Extension+UIButton.swift"; sourceTree = "<group>"; };
+		A72A729A22321DE000B21995 /* Extension+UIView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Extension+UIView.swift"; sourceTree = "<group>"; };
+		A72A729B22321DE000B21995 /* NSMutableAttributedString+BAKit.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSMutableAttributedString+BAKit.m"; sourceTree = "<group>"; };
+		A72A729C22321DE000B21995 /* UIBarButtonItem+SXCreate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIBarButtonItem+SXCreate.m"; sourceTree = "<group>"; };
+		A72A729D22321DE000B21995 /* Extension+Date.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Extension+Date.swift"; sourceTree = "<group>"; };
+		A72A729E22321DE000B21995 /* Extension+CAGradientLayer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Extension+CAGradientLayer.swift"; sourceTree = "<group>"; };
+		A72A72A022321DE000B21995 /* WKWebViewConfig.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WKWebViewConfig.swift; sourceTree = "<group>"; };
+		A72A72A122321DE000B21995 /* WebView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WebView.swift; sourceTree = "<group>"; };
+		A72A72C722321E2500B21995 /* NotificationCenterMacro.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NotificationCenterMacro.swift; sourceTree = "<group>"; };
+		A72A72C822321E2500B21995 /* FontMacro.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FontMacro.swift; sourceTree = "<group>"; };
+		A72A72C922321E2600B21995 /* HTMLURLMacro.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HTMLURLMacro.swift; sourceTree = "<group>"; };
+		A72A72CA22321E2600B21995 /* Common.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Common.swift; sourceTree = "<group>"; };
+		A72A72CB22321E2600B21995 /* CacheMacro.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CacheMacro.swift; sourceTree = "<group>"; };
+		A72A72CC22321E2600B21995 /* EnumMacro.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EnumMacro.swift; sourceTree = "<group>"; };
+		A72A72CD22321E2600B21995 /* ColorMacro.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ColorMacro.swift; sourceTree = "<group>"; };
+		A72A72CE22321E2700B21995 /* ThirdPartyMacro.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ThirdPartyMacro.swift; sourceTree = "<group>"; };
+		A72A72D822321E5200B21995 /* TYRZResource.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = TYRZResource.bundle; sourceTree = "<group>"; };
+		A72A72D922321E5200B21995 /* account_login_sdk_core.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = account_login_sdk_core.framework; sourceTree = "<group>"; };
+		A72A72DA22321E5200B21995 /* TYRZSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = TYRZSDK.framework; sourceTree = "<group>"; };
+		A72A72DB22321E5200B21995 /* account_verify_sdk_core.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = account_verify_sdk_core.framework; sourceTree = "<group>"; };
+		A72A72DC22321E5200B21995 /* CL_ShanYanSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = CL_ShanYanSDK.framework; sourceTree = "<group>"; };
+		A72A72DD22321E5200B21995 /* uni_account_login_sdk_res.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = uni_account_login_sdk_res.bundle; sourceTree = "<group>"; };
+		A72A72DE22321E5200B21995 /* HTMLResource.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = HTMLResource.bundle; sourceTree = "<group>"; };
+		A72A72DF22321E5200B21995 /* OAuth.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = OAuth.framework; sourceTree = "<group>"; };
+		A72A72E022321E5200B21995 /* EAccountApiSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = EAccountApiSDK.framework; sourceTree = "<group>"; };
+		A72A72E222321E5200B21995 /* AlipaySDK.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = AlipaySDK.bundle; sourceTree = "<group>"; };
+		A72A72E322321E5200B21995 /* AlipaySDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = AlipaySDK.framework; sourceTree = "<group>"; };
+		A72A72EF22321E8800B21995 /* CoreMotion.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMotion.framework; path = System/Library/Frameworks/CoreMotion.framework; sourceTree = SDKROOT; };
+		A72A72F122321E9300B21995 /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; };
+		A72A72F322321E9A00B21995 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
+		A72A72F522321EA000B21995 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
+		A72A72F722321EB600B21995 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
+		A72A72F922321EBF00B21995 /* CoreText.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = System/Library/Frameworks/CoreText.framework; sourceTree = SDKROOT; };
+		A72A72FB22321ECD00B21995 /* CoreTelephony.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreTelephony.framework; path = System/Library/Frameworks/CoreTelephony.framework; sourceTree = SDKROOT; };
+		A72A72FD22321EE200B21995 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
+		A72A72FF22321EE900B21995 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; };
+		A72A730122321EEE00B21995 /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
+		A72A730322321EFA00B21995 /* libc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; };
+		A72A73082232207600B21995 /* AppDelegate+UM.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "AppDelegate+UM.swift"; sourceTree = "<group>"; };
+		A72A73092232207600B21995 /* AppDelegate+BaiduMap.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "AppDelegate+BaiduMap.swift"; sourceTree = "<group>"; };
+		A72A730B2232207600B21995 /* AppDelegate+IQKeyboardManagerSwift.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "AppDelegate+IQKeyboardManagerSwift.swift"; sourceTree = "<group>"; };
 		A77F2C5D2231FB49001BD3F6 /* RainbowPlanet.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = RainbowPlanet.app; sourceTree = BUILT_PRODUCTS_DIR; };
 		A77F2C602231FB49001BD3F6 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
 		A77F2C672231FB4A001BD3F6 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
@@ -88,6 +239,24 @@
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
+				A72A730422321EFA00B21995 /* libc++.tbd in Frameworks */,
+				A72A730222321EEE00B21995 /* libz.tbd in Frameworks */,
+				A72A730022321EE900B21995 /* SystemConfiguration.framework in Frameworks */,
+				A72A72FE22321EE200B21995 /* QuartzCore.framework in Frameworks */,
+				A72A72FC22321ECE00B21995 /* CoreTelephony.framework in Frameworks */,
+				A72A72FA22321EBF00B21995 /* CoreText.framework in Frameworks */,
+				A72A72F822321EB600B21995 /* CoreGraphics.framework in Frameworks */,
+				A72A72F622321EA000B21995 /* UIKit.framework in Frameworks */,
+				A72A72F422321E9A00B21995 /* Foundation.framework in Frameworks */,
+				A72A72F222321E9300B21995 /* CFNetwork.framework in Frameworks */,
+				A72A72F022321E8800B21995 /* CoreMotion.framework in Frameworks */,
+				A72A72EE22321E5200B21995 /* AlipaySDK.framework in Frameworks */,
+				A72A72EB22321E5200B21995 /* OAuth.framework in Frameworks */,
+				A72A72E522321E5200B21995 /* account_login_sdk_core.framework in Frameworks */,
+				A72A72E722321E5200B21995 /* account_verify_sdk_core.framework in Frameworks */,
+				A72A72EC22321E5200B21995 /* EAccountApiSDK.framework in Frameworks */,
+				A72A72E622321E5200B21995 /* TYRZSDK.framework in Frameworks */,
+				A72A72E822321E5200B21995 /* CL_ShanYanSDK.framework in Frameworks */,
 				0A110C4CD931995B8E8BF7C5 /* Pods_RainbowPlanet.framework in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
@@ -134,10 +303,237 @@
 		A72A725322321A6900B21995 /* Lib */ = {
 			isa = PBXGroup;
 			children = (
+				A72A72E122321E5200B21995 /* AlipaySDK */,
+				A72A72D722321E5200B21995 /* ShanYanSDK */,
 			);
 			path = Lib;
 			sourceTree = "<group>";
 		};
+		A72A725422321B9400B21995 /* Manager */ = {
+			isa = PBXGroup;
+			children = (
+				A72A730522321F1D00B21995 /* PayManager */,
+				A72A726122321DBD00B21995 /* BaiduMapManager */,
+				A72A726422321DBD00B21995 /* UMManager */,
+			);
+			path = Manager;
+			sourceTree = "<group>";
+		};
+		A72A725922321C5E00B21995 /* Define */ = {
+			isa = PBXGroup;
+			children = (
+				A72A72CB22321E2600B21995 /* CacheMacro.swift */,
+				A72A72CD22321E2600B21995 /* ColorMacro.swift */,
+				A72A72CA22321E2600B21995 /* Common.swift */,
+				A72A72CC22321E2600B21995 /* EnumMacro.swift */,
+				A72A72C822321E2500B21995 /* FontMacro.swift */,
+				A72A72C922321E2600B21995 /* HTMLURLMacro.swift */,
+				A72A72C722321E2500B21995 /* NotificationCenterMacro.swift */,
+				A72A72CE22321E2700B21995 /* ThirdPartyMacro.swift */,
+				A72A726022321D3400B21995 /* RainbowPlanet-Bridging-Header.h */,
+			);
+			path = Define;
+			sourceTree = "<group>";
+		};
+		A72A726122321DBD00B21995 /* BaiduMapManager */ = {
+			isa = PBXGroup;
+			children = (
+				A72A726222321DBD00B21995 /* BaiduMapManager.swift */,
+				A72A726322321DBD00B21995 /* LocationModel.swift */,
+			);
+			path = BaiduMapManager;
+			sourceTree = "<group>";
+		};
+		A72A726422321DBD00B21995 /* UMManager */ = {
+			isa = PBXGroup;
+			children = (
+				A72A726522321DBD00B21995 /* UMManager.swift */,
+			);
+			path = UMManager;
+			sourceTree = "<group>";
+		};
+		A72A726922321DDE00B21995 /* SwiftScan */ = {
+			isa = PBXGroup;
+			children = (
+				A72A726A22321DDE00B21995 /* LBXScanNetAnimation.swift */,
+				A72A726B22321DDE00B21995 /* LBXScanView.swift */,
+				A72A726C22321DDE00B21995 /* LBXScanViewController.swift */,
+				A72A726D22321DDE00B21995 /* LBXScanLineAnimation.swift */,
+				A72A726E22321DDE00B21995 /* LBXScanViewStyle.swift */,
+				A72A726F22321DDE00B21995 /* LBXPermissions.swift */,
+				A72A727022321DDE00B21995 /* LBXScanWrapper.swift */,
+			);
+			path = SwiftScan;
+			sourceTree = "<group>";
+		};
+		A72A727122321DDE00B21995 /* NumberKeyboard */ = {
+			isa = PBXGroup;
+			children = (
+				A72A727222321DDE00B21995 /* NumberKeyboard.swift */,
+			);
+			path = NumberKeyboard;
+			sourceTree = "<group>";
+		};
+		A72A727322321DDE00B21995 /* Log */ = {
+			isa = PBXGroup;
+			children = (
+				A72A727422321DDE00B21995 /* Log.swift */,
+			);
+			path = Log;
+			sourceTree = "<group>";
+		};
+		A72A727522321DDE00B21995 /* MBProgressHUD */ = {
+			isa = PBXGroup;
+			children = (
+				A72A727622321DDE00B21995 /* SwiftProgressHUD.swift */,
+			);
+			path = MBProgressHUD;
+			sourceTree = "<group>";
+		};
+		A72A727722321DDF00B21995 /* Regex */ = {
+			isa = PBXGroup;
+			children = (
+				A72A727822321DDF00B21995 /* Regex.swift */,
+			);
+			path = Regex;
+			sourceTree = "<group>";
+		};
+		A72A727B22321DDF00B21995 /* Countdown */ = {
+			isa = PBXGroup;
+			children = (
+				A72A727C22321DDF00B21995 /* CountdownButton.swift */,
+			);
+			path = Countdown;
+			sourceTree = "<group>";
+		};
+		A72A727D22321DDF00B21995 /* AppInfo */ = {
+			isa = PBXGroup;
+			children = (
+				A72A727E22321DDF00B21995 /* AppInfo.swift */,
+			);
+			path = AppInfo;
+			sourceTree = "<group>";
+		};
+		A72A727F22321DDF00B21995 /* CGView */ = {
+			isa = PBXGroup;
+			children = (
+				A72A728022321DDF00B21995 /* CGView.swift */,
+			);
+			path = CGView;
+			sourceTree = "<group>";
+		};
+		A72A728122321DDF00B21995 /* MJRefreshEX */ = {
+			isa = PBXGroup;
+			children = (
+				A72A728222321DDF00B21995 /* UIScrollView+MJRefreshEX.m */,
+				A72A728322321DDF00B21995 /* UIScrollView+MJRefreshEX.h */,
+			);
+			path = MJRefreshEX;
+			sourceTree = "<group>";
+		};
+		A72A728422321DE000B21995 /* AlertView */ = {
+			isa = PBXGroup;
+			children = (
+				A72A728522321DE000B21995 /* BAAlertController */,
+			);
+			path = AlertView;
+			sourceTree = "<group>";
+		};
+		A72A728522321DE000B21995 /* BAAlertController */ = {
+			isa = PBXGroup;
+			children = (
+				A72A728622321DE000B21995 /* NSObject+BARunTime.m */,
+				A72A728722321DE000B21995 /* UIAlertController+BAKit.m */,
+				A72A728822321DE000B21995 /* BAAlertController.h */,
+				A72A728922321DE000B21995 /* NSObject+BARunTime.h */,
+				A72A728A22321DE000B21995 /* UIAlertController+BAKit.h */,
+			);
+			path = BAAlertController;
+			sourceTree = "<group>";
+		};
+		A72A728B22321DE000B21995 /* Extension */ = {
+			isa = PBXGroup;
+			children = (
+				A72A728C22321DE000B21995 /* Extension+UIImage.swift */,
+				A72A728D22321DE000B21995 /* Extension+UITextView.swift */,
+				A72A728E22321DE000B21995 /* Extension+NSRange.swift */,
+				A72A728F22321DE000B21995 /* Extension+NSMutableAttributedString.swift */,
+				A72A729022321DE000B21995 /* Extension+UserDefaults.swift */,
+				A72A729122321DE000B21995 /* Extension+Array.swift */,
+				A72A729222321DE000B21995 /* Extension+String.swift */,
+				A72A729322321DE000B21995 /* Extension+UILabel.swift */,
+				A72A729422321DE000B21995 /* Extension+UIAlertController.swift */,
+				A72A729522321DE000B21995 /* UIBarButtonItem+SXCreate.h */,
+				A72A729622321DE000B21995 /* NSMutableAttributedString+BAKit.h */,
+				A72A729722321DE000B21995 /* Extension+UIColor.swift */,
+				A72A729822321DE000B21995 /* Extension+RxTimer.swift */,
+				A72A729922321DE000B21995 /* Extension+UIButton.swift */,
+				A72A729A22321DE000B21995 /* Extension+UIView.swift */,
+				A72A729B22321DE000B21995 /* NSMutableAttributedString+BAKit.m */,
+				A72A729C22321DE000B21995 /* UIBarButtonItem+SXCreate.m */,
+				A72A729D22321DE000B21995 /* Extension+Date.swift */,
+				A72A729E22321DE000B21995 /* Extension+CAGradientLayer.swift */,
+			);
+			path = Extension;
+			sourceTree = "<group>";
+		};
+		A72A729F22321DE000B21995 /* WKWebView */ = {
+			isa = PBXGroup;
+			children = (
+				A72A72A022321DE000B21995 /* WKWebViewConfig.swift */,
+				A72A72A122321DE000B21995 /* WebView.swift */,
+			);
+			path = WKWebView;
+			sourceTree = "<group>";
+		};
+		A72A72D722321E5200B21995 /* ShanYanSDK */ = {
+			isa = PBXGroup;
+			children = (
+				A72A72D822321E5200B21995 /* TYRZResource.bundle */,
+				A72A72D922321E5200B21995 /* account_login_sdk_core.framework */,
+				A72A72DA22321E5200B21995 /* TYRZSDK.framework */,
+				A72A72DB22321E5200B21995 /* account_verify_sdk_core.framework */,
+				A72A72DC22321E5200B21995 /* CL_ShanYanSDK.framework */,
+				A72A72DD22321E5200B21995 /* uni_account_login_sdk_res.bundle */,
+				A72A72DE22321E5200B21995 /* HTMLResource.bundle */,
+				A72A72DF22321E5200B21995 /* OAuth.framework */,
+				A72A72E022321E5200B21995 /* EAccountApiSDK.framework */,
+			);
+			path = ShanYanSDK;
+			sourceTree = "<group>";
+		};
+		A72A72E122321E5200B21995 /* AlipaySDK */ = {
+			isa = PBXGroup;
+			children = (
+				A72A72E222321E5200B21995 /* AlipaySDK.bundle */,
+				A72A72E322321E5200B21995 /* AlipaySDK.framework */,
+			);
+			path = AlipaySDK;
+			sourceTree = "<group>";
+		};
+		A72A730522321F1D00B21995 /* PayManager */ = {
+			isa = PBXGroup;
+			children = (
+				A72A730722321F3700B21995 /* WeChatpayManager */,
+				A72A730622321F2900B21995 /* AlipayManager */,
+			);
+			path = PayManager;
+			sourceTree = "<group>";
+		};
+		A72A730622321F2900B21995 /* AlipayManager */ = {
+			isa = PBXGroup;
+			children = (
+			);
+			path = AlipayManager;
+			sourceTree = "<group>";
+		};
+		A72A730722321F3700B21995 /* WeChatpayManager */ = {
+			isa = PBXGroup;
+			children = (
+			);
+			path = WeChatpayManager;
+			sourceTree = "<group>";
+		};
 		A77F2C542231FB49001BD3F6 = {
 			isa = PBXGroup;
 			children = (
@@ -166,9 +562,10 @@
 				A77F2C8E2231FC5C001BD3F6 /* AppDelegate */,
 				A77F2C8F2231FC65001BD3F6 /* Base */,
 				A77F2CA22232010F001BD3F6 /* Modules */,
-				A72A725322321A6900B21995 /* Lib */,
+				A72A725422321B9400B21995 /* Manager */,
+				A72A725922321C5E00B21995 /* Define */,
 				A77F2CBC2232022A001BD3F6 /* Tools */,
-				A77F2CBD22320236001BD3F6 /* Define */,
+				A72A725322321A6900B21995 /* Lib */,
 				A72A7252223219BD00B21995 /* Service */,
 				A77F2CBB223201DC001BD3F6 /* Supporting Files */,
 			);
@@ -198,6 +595,9 @@
 			children = (
 				A77F2C602231FB49001BD3F6 /* AppDelegate.swift */,
 				A77F2CC2223203BA001BD3F6 /* AppDelegate+Window.swift */,
+				A72A73092232207600B21995 /* AppDelegate+BaiduMap.swift */,
+				A72A730B2232207600B21995 /* AppDelegate+IQKeyboardManagerSwift.swift */,
+				A72A73082232207600B21995 /* AppDelegate+UM.swift */,
 			);
 			path = AppDelegate;
 			sourceTree = "<group>";
@@ -257,11 +657,11 @@
 		A77F2CA22232010F001BD3F6 /* Modules */ = {
 			isa = PBXGroup;
 			children = (
-				A77F2CA32232010F001BD3F6 /* ShoppingMallModule */,
 				A77F2CA82232010F001BD3F6 /* CommonModule */,
-				A77F2CA92232010F001BD3F6 /* MineModule */,
+				A77F2CA32232010F001BD3F6 /* ShoppingMallModule */,
 				A77F2CAE2232010F001BD3F6 /* RegisterLoginModule */,
 				A77F2CAF2232010F001BD3F6 /* ShoppingCartModule */,
+				A77F2CA92232010F001BD3F6 /* MineModule */,
 			);
 			path = Modules;
 			sourceTree = "<group>";
@@ -367,18 +767,23 @@
 		A77F2CBC2232022A001BD3F6 /* Tools */ = {
 			isa = PBXGroup;
 			children = (
+				A72A728422321DE000B21995 /* AlertView */,
+				A72A727D22321DDF00B21995 /* AppInfo */,
+				A72A727F22321DDF00B21995 /* CGView */,
+				A72A727B22321DDF00B21995 /* Countdown */,
+				A72A728B22321DE000B21995 /* Extension */,
+				A72A727322321DDE00B21995 /* Log */,
+				A72A727522321DDE00B21995 /* MBProgressHUD */,
+				A72A728122321DDF00B21995 /* MJRefreshEX */,
+				A72A727122321DDE00B21995 /* NumberKeyboard */,
+				A72A727722321DDF00B21995 /* Regex */,
+				A72A726922321DDE00B21995 /* SwiftScan */,
+				A72A729F22321DE000B21995 /* WKWebView */,
 				A77F2CC422320627001BD3F6 /* WRNavigationBar */,
 			);
 			path = Tools;
 			sourceTree = "<group>";
 		};
-		A77F2CBD22320236001BD3F6 /* Define */ = {
-			isa = PBXGroup;
-			children = (
-			);
-			path = Define;
-			sourceTree = "<group>";
-		};
 		A77F2CC422320627001BD3F6 /* WRNavigationBar */ = {
 			isa = PBXGroup;
 			children = (
@@ -391,6 +796,17 @@
 		FA8AAFBADE8BD144A5C36FDB /* Frameworks */ = {
 			isa = PBXGroup;
 			children = (
+				A72A730322321EFA00B21995 /* libc++.tbd */,
+				A72A730122321EEE00B21995 /* libz.tbd */,
+				A72A72FF22321EE900B21995 /* SystemConfiguration.framework */,
+				A72A72FD22321EE200B21995 /* QuartzCore.framework */,
+				A72A72FB22321ECD00B21995 /* CoreTelephony.framework */,
+				A72A72F922321EBF00B21995 /* CoreText.framework */,
+				A72A72F722321EB600B21995 /* CoreGraphics.framework */,
+				A72A72F522321EA000B21995 /* UIKit.framework */,
+				A72A72F322321E9A00B21995 /* Foundation.framework */,
+				A72A72F122321E9300B21995 /* CFNetwork.framework */,
+				A72A72EF22321E8800B21995 /* CoreMotion.framework */,
 				D469F6C3768252BCB7001EDD /* Pods_RainbowPlanet.framework */,
 				A7E03A30F40582782EC5DA89 /* Pods_RainbowPlanetTests.framework */,
 				88DF1EFD2E202DA7C627E8A7 /* Pods_RainbowPlanetUITests.framework */,
@@ -471,6 +887,7 @@
 				TargetAttributes = {
 					A77F2C5C2231FB49001BD3F6 = {
 						CreatedOnToolsVersion = 10.1;
+						LastSwiftMigration = 1010;
 					};
 					A77F2C702231FB4A001BD3F6 = {
 						CreatedOnToolsVersion = 10.1;
@@ -508,8 +925,12 @@
 			buildActionMask = 2147483647;
 			files = (
 				A77F2CB82232010F001BD3F6 /* ShoppingCartViewController.xib in Resources */,
+				A72A72E422321E5200B21995 /* TYRZResource.bundle in Resources */,
+				A72A72ED22321E5200B21995 /* AlipaySDK.bundle in Resources */,
+				A72A72E922321E5200B21995 /* uni_account_login_sdk_res.bundle in Resources */,
 				A77F2CB62232010F001BD3F6 /* MineViewController.xib in Resources */,
 				A77F2C682231FB4A001BD3F6 /* Assets.xcassets in Resources */,
+				A72A72EA22321E5200B21995 /* HTMLResource.bundle in Resources */,
 				A77F2CB42232010F001BD3F6 /* ShoppingViewController.xib in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
@@ -682,18 +1103,68 @@
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
+				A72A72BA22321DE000B21995 /* Extension+String.swift in Sources */,
 				A77F2CA02231FE45001BD3F6 /* BaseWebViewController.swift in Sources */,
+				A72A72C022321DE000B21995 /* Extension+UIView.swift in Sources */,
+				A72A72C522321DE000B21995 /* WKWebViewConfig.swift in Sources */,
+				A72A72BB22321DE000B21995 /* Extension+UILabel.swift in Sources */,
 				A77F2C9E2231FDDC001BD3F6 /* BaseViewController.swift in Sources */,
 				A77F2CC722320627001BD3F6 /* WRNavigationBar.swift in Sources */,
+				A72A72BE22321DE000B21995 /* Extension+RxTimer.swift in Sources */,
+				A72A72C422321DE000B21995 /* Extension+CAGradientLayer.swift in Sources */,
+				A72A72B722321DE000B21995 /* Extension+NSMutableAttributedString.swift in Sources */,
+				A72A72A322321DE000B21995 /* LBXScanView.swift in Sources */,
+				A72A730D2232207700B21995 /* AppDelegate+BaiduMap.swift in Sources */,
 				A77F2CCA223209F2001BD3F6 /* BaseTabbarViewController.swift in Sources */,
+				A72A726822321DBD00B21995 /* UMManager.swift in Sources */,
 				A77F2CB92232010F001BD3F6 /* ShoppingCartViewController.swift in Sources */,
+				A72A72B822321DE000B21995 /* Extension+UserDefaults.swift in Sources */,
+				A72A72C222321DE000B21995 /* UIBarButtonItem+SXCreate.m in Sources */,
+				A72A72A222321DE000B21995 /* LBXScanNetAnimation.swift in Sources */,
+				A72A72D322321E2700B21995 /* CacheMacro.swift in Sources */,
+				A72A72A422321DE000B21995 /* LBXScanViewController.swift in Sources */,
 				A77F2CB52232010F001BD3F6 /* ShoppingViewController.swift in Sources */,
 				A77F2CC3223203BA001BD3F6 /* AppDelegate+Window.swift in Sources */,
+				A72A72B022321DE000B21995 /* CGView.swift in Sources */,
+				A72A72D522321E2700B21995 /* ColorMacro.swift in Sources */,
+				A72A726622321DBD00B21995 /* BaiduMapManager.swift in Sources */,
+				A72A72D622321E2700B21995 /* ThirdPartyMacro.swift in Sources */,
+				A72A72A622321DE000B21995 /* LBXScanViewStyle.swift in Sources */,
+				A72A72B422321DE000B21995 /* Extension+UIImage.swift in Sources */,
+				A72A72AF22321DE000B21995 /* AppInfo.swift in Sources */,
+				A72A72D422321E2700B21995 /* EnumMacro.swift in Sources */,
+				A72A72B322321DE000B21995 /* UIAlertController+BAKit.m in Sources */,
+				A72A72A922321DE000B21995 /* NumberKeyboard.swift in Sources */,
+				A72A72AA22321DE000B21995 /* Log.swift in Sources */,
+				A72A72B622321DE000B21995 /* Extension+NSRange.swift in Sources */,
+				A72A72A722321DE000B21995 /* LBXPermissions.swift in Sources */,
+				A72A72AE22321DE000B21995 /* CountdownButton.swift in Sources */,
 				A77F2CB72232010F001BD3F6 /* MineViewController.swift in Sources */,
+				A72A72A822321DE000B21995 /* LBXScanWrapper.swift in Sources */,
+				A72A72BD22321DE000B21995 /* Extension+UIColor.swift in Sources */,
 				A77F2CC822320627001BD3F6 /* WRCustomNavigationBar.swift in Sources */,
+				A72A72BC22321DE000B21995 /* Extension+UIAlertController.swift in Sources */,
+				A72A730C2232207700B21995 /* AppDelegate+UM.swift in Sources */,
+				A72A730F2232207700B21995 /* AppDelegate+IQKeyboardManagerSwift.swift in Sources */,
+				A72A72B122321DE000B21995 /* UIScrollView+MJRefreshEX.m in Sources */,
+				A72A72A522321DE000B21995 /* LBXScanLineAnimation.swift in Sources */,
+				A72A72C322321DE000B21995 /* Extension+Date.swift in Sources */,
+				A72A72B222321DE000B21995 /* NSObject+BARunTime.m in Sources */,
+				A72A72C622321DE000B21995 /* WebView.swift in Sources */,
+				A72A72D122321E2700B21995 /* HTMLURLMacro.swift in Sources */,
+				A72A72D022321E2700B21995 /* FontMacro.swift in Sources */,
 				A77F2C982231FD25001BD3F6 /* BaseNavigationViewController.swift in Sources */,
+				A72A72AB22321DE000B21995 /* SwiftProgressHUD.swift in Sources */,
 				A77F2C612231FB49001BD3F6 /* AppDelegate.swift in Sources */,
+				A72A726722321DBD00B21995 /* LocationModel.swift in Sources */,
+				A72A72C122321DE000B21995 /* NSMutableAttributedString+BAKit.m in Sources */,
+				A72A72D222321E2700B21995 /* Common.swift in Sources */,
+				A72A72B522321DE000B21995 /* Extension+UITextView.swift in Sources */,
 				A77F2C9C2231FDCF001BD3F6 /* BaseView.swift in Sources */,
+				A72A72B922321DE000B21995 /* Extension+Array.swift in Sources */,
+				A72A72AC22321DE000B21995 /* Regex.swift in Sources */,
+				A72A72CF22321E2700B21995 /* NotificationCenterMacro.swift in Sources */,
+				A72A72BF22321DE000B21995 /* Extension+UIButton.swift in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -851,8 +1322,14 @@
 			buildSettings = {
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
+				CLANG_ENABLE_MODULES = YES;
 				CODE_SIGN_STYLE = Automatic;
 				DEVELOPMENT_TEAM = 3DG4J39B63;
+				FRAMEWORK_SEARCH_PATHS = (
+					"$(inherited)",
+					"$(PROJECT_DIR)/RainbowPlanet/Lib/ShanYanSDK",
+					"$(PROJECT_DIR)/RainbowPlanet/Lib/AlipaySDK",
+				);
 				INFOPLIST_FILE = "$(SRCROOT)/RainbowPlanet/Supporting Files/Info.plist";
 				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
 				LD_RUNPATH_SEARCH_PATHS = (
@@ -861,6 +1338,8 @@
 				);
 				PRODUCT_BUNDLE_IDENTIFIER = com.chxq.RainbowPlanet;
 				PRODUCT_NAME = "$(TARGET_NAME)";
+				SWIFT_OBJC_BRIDGING_HEADER = "RainbowPlanet/Define/RainbowPlanet-Bridging-Header.h";
+				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
 				SWIFT_VERSION = 4.2;
 				TARGETED_DEVICE_FAMILY = "1,2";
 			};
@@ -872,8 +1351,14 @@
 			buildSettings = {
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
+				CLANG_ENABLE_MODULES = YES;
 				CODE_SIGN_STYLE = Automatic;
 				DEVELOPMENT_TEAM = 3DG4J39B63;
+				FRAMEWORK_SEARCH_PATHS = (
+					"$(inherited)",
+					"$(PROJECT_DIR)/RainbowPlanet/Lib/ShanYanSDK",
+					"$(PROJECT_DIR)/RainbowPlanet/Lib/AlipaySDK",
+				);
 				INFOPLIST_FILE = "$(SRCROOT)/RainbowPlanet/Supporting Files/Info.plist";
 				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
 				LD_RUNPATH_SEARCH_PATHS = (
@@ -882,6 +1367,7 @@
 				);
 				PRODUCT_BUNDLE_IDENTIFIER = com.chxq.RainbowPlanet;
 				PRODUCT_NAME = "$(TARGET_NAME)";
+				SWIFT_OBJC_BRIDGING_HEADER = "RainbowPlanet/Define/RainbowPlanet-Bridging-Header.h";
 				SWIFT_VERSION = 4.2;
 				TARGETED_DEVICE_FAMILY = "1,2";
 			};

+ 19 - 0
RainbowPlanet/RainbowPlanet/AppDelegate/AppDelegate+BaiduMap.swift

@@ -0,0 +1,19 @@
+//
+//  AppDelegate+BaiduMapKit.swift
+//  RainbowPlanet
+//
+//  Created by 南鑫林 on 2018/8/1.
+//  Copyright © 2018年 南鑫林. All rights reserved.
+//
+
+import Foundation
+
+
+extension AppDelegate {
+    func initBaiduMap() -> Void {
+        BMKLocationAuth.sharedInstance()?.checkPermision(withKey: kBaiduMapAppKey, authDelegate: BaiduMapManager.getSharedInstance())
+        //定位
+        BaiduMapManager.getSharedInstance().initLocation()
+    }
+}
+

+ 18 - 0
RainbowPlanet/RainbowPlanet/AppDelegate/AppDelegate+IQKeyboardManagerSwift.swift

@@ -0,0 +1,18 @@
+//
+//  AppDelegate+IQKeyboardManagerSwift.swift
+//  RainbowPlanet
+//
+//  Created by 南鑫林 on 2018/7/2.
+//  Copyright © 2018年 南鑫林. All rights reserved.
+//
+
+import UIKit
+import IQKeyboardManagerSwift
+
+extension AppDelegate {
+    func initIQKeyboard() {
+        IQKeyboardManager.shared.enable = true
+        IQKeyboardManager.shared.enableAutoToolbar = false
+        IQKeyboardManager.shared.shouldResignOnTouchOutside = true
+    }
+}

+ 198 - 0
RainbowPlanet/RainbowPlanet/AppDelegate/AppDelegate+UM.swift

@@ -0,0 +1,198 @@
+//
+//  AppDelegate+UM.swift
+//  RainbowPlanet
+//
+//  Created by 南鑫林 on 2018/8/1.
+//  Copyright © 2018年 南鑫林. All rights reserved.
+//
+
+import Foundation
+import AVFoundation
+
+var _entity : UMessageRegisterEntity?
+
+extension AppDelegate {
+    
+    /// 友盟初始化
+    func initUM(launchOptions:[UIApplication.LaunchOptionsKey: Any]?) -> Void {
+        
+        //公共
+        common()
+        //推送
+        push(launchOptions: launchOptions)
+        //分享
+        UMManager.shared().share()
+        
+    }
+    
+    ///公共
+    func common() -> Void {
+        UMCommonLogManager.setUp() //开发者需要显式的调用此函数,日志系统才能工作
+        UMConfigure.setEncryptEnabled(true) //打开加密传输
+        UMConfigure.setLogEnabled(true)  //设置打开日志
+        UMConfigure.initWithAppkey(kUMengAppKey, channel: "App Store") //设置Key
+//        MobClick.setAutoPageEnabled(true) //将自动采集页面信息
+        MobClick.setCrashReportEnabled(true) //开启Crash收集
+        
+        //获得集成测试需要device_id
+        let deice_id = UMConfigure.deviceIDForIntegration()
+        if deice_id != nil {
+            print("服务器端成功返回deviceID:\(deice_id!)");
+        }else {
+            print("服务器端还没有返回deviceID");
+        }
+    }
+    
+    ///推送
+    func push(launchOptions:[UIApplication.LaunchOptionsKey: Any]?) -> Void {
+        
+        _entity = UMessageRegisterEntity.init()
+        //type是对推送的几个参数的选择,可以选择一个或者多个。默认是三个全部打开,即:声音,弹窗,角标
+        _entity?.types = Int(UInt8(UMessageAuthorizationOptions.badge.rawValue)|UInt8(UMessageAuthorizationOptions.alert.rawValue)|UInt8(UMessageAuthorizationOptions.sound.rawValue))
+        
+        if #available(iOS 8.0, *) {
+            if #available(iOS 10.0, *) {
+                
+                let action1_ios10 = UNNotificationAction(identifier: "action1_identifier", title: "打开应用", options: UNNotificationActionOptions.foreground)
+                let action2_ios10 = UNNotificationAction(identifier: "action2_identifier", title: "忽略", options: UNNotificationActionOptions.foreground)
+                
+                let category1_ios10 = UNNotificationCategory(identifier: "category1", actions: [action1_ios10,action2_ios10], intentIdentifiers: [], options: UNNotificationCategoryOptions.customDismissAction)
+                //UNNotificationCategoryOptionNone
+                //UNNotificationCategoryOptionCustomDismissAction  清除通知被触发会走通知的代理方法
+                //UNNotificationCategoryOptionAllowInCarPlay       适用于行车模式
+                let categories = NSSet(objects: category1_ios10)
+                _entity?.categories = (categories as! Set<AnyHashable>)
+                UNUserNotificationCenter.current().delegate = self
+                
+            } else {
+                let action1 = UIMutableUserNotificationAction.init()
+                action1.identifier = "action1_identifier"
+                action1.title = "打开应用"
+                action1.activationMode = UIUserNotificationActivationMode.foreground;//当点击的时候启动程序
+                
+                let action2 = UIMutableUserNotificationAction.init()
+                action2.identifier = "action2_identifier"
+                action2.title = "忽略"
+                action2.activationMode = UIUserNotificationActivationMode.background;//当点击的时候不启动程序,在后台处理
+                action2.isAuthenticationRequired = true;//需要解锁才能处理,如果action.activationMode = UIUserNotificationActivationModeForeground;则这个属性被忽略;
+                action2.isDestructive = true;
+                
+                let actionCategory1 = UIMutableUserNotificationCategory.init()
+                actionCategory1.identifier = "category1"//这组动作的唯一标示
+                actionCategory1.setActions([action1,action2], for: UIUserNotificationActionContext.default)
+                let categories = NSSet(objects: actionCategory1)
+                _entity?.categories = (categories as! Set<AnyHashable>)
+
+            }
+        }
+
+        UMessage.registerForRemoteNotifications(launchOptions: launchOptions, entity: _entity) { (granted, error) in
+
+            if granted {
+                
+            }else {
+                
+            }
+        }
+        UMessage.setBadgeClear(true)//设置是否允许SDK自动清空角标
+    }
+}
+
+
+@available(iOS 10.0, *)
+
+// MARK: - UNUserNotificationCenterDelegate
+extension AppDelegate:UNUserNotificationCenterDelegate {
+    func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
+        let userInfo = notification.request.content.userInfo
+        
+        if (notification.request.trigger?.isKind(of: UNPushNotificationTrigger.self))! {
+            UMessage.setAutoAlert(true)
+            //应用处于前台时的远程推送接受
+            //必须加这句代码
+            UMessage.didReceiveRemoteNotification(userInfo)
+
+        }else {
+            //应用处于前台时的本地推送接受
+        }
+        completionHandler(UNNotificationPresentationOptions(rawValue: UNNotificationPresentationOptions.sound.rawValue|UNNotificationPresentationOptions.alert.rawValue|UNNotificationPresentationOptions.badge.rawValue))
+    }
+    
+    func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
+        let userInfo = response.notification.request.content.userInfo
+        if (response.notification.request.trigger?.isKind(of: UNPushNotificationTrigger.self))! {
+            UMessage.setAutoAlert(true)
+            //应用处于前台时的远程推送接受
+            //必须加这句代码
+            UMessage.didReceiveRemoteNotification(userInfo)
+        }else {
+            //应用处于前台时的本地推送接受
+        }
+
+
+    }
+
+}
+
+// MARK: - 接受通知
+extension AppDelegate {
+    
+    //iOS10以下使用这两个方法接收通知,
+    func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
+        //关闭友盟自带的弹出框
+        UMessage.setAutoAlert(true)
+        if #available(iOS 8.0, *)  {
+            if #available(iOS 10.0, *){
+            }else {
+                UMessage.didReceiveRemoteNotification(userInfo)
+                completionHandler(UIBackgroundFetchResult.newData);
+            }
+        }
+    }
+    
+    func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any]) {
+        //关闭友盟自带的弹出框
+        UMessage.setAutoAlert(true)
+        if #available(iOS 8.0, *)  {
+            if #available(iOS 10.0, *){
+            }else {
+                UMessage.didReceiveRemoteNotification(userInfo)
+            }
+        }
+    }
+
+    /// 获取设备的 DeviceToken
+    func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
+        NXLLog(deviceToken.description.replacingOccurrences(of: "<", with: "").replacingOccurrences(of: ">", with: "").replacingOccurrences(of: " ", with: ""))
+    }
+}
+//MARK: - 设置系统回调
+extension AppDelegate {
+    //注:此方法在swift4.1(Xcode 9.3)已废弃,Objective-C项目不影响。 新浪 平台外的其他平台可在swift项目中使用下面两种回调方法。
+    func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {
+        //6.3的新的API调用,是为了兼容国外平台(例如:新版facebookSDK,VK等)的调用[如果用6.2的api调用会没有回调],对国内平台没有影响
+        let result = UMSocialManager.default().handleOpen(url, sourceApplication: sourceApplication, annotation: annotation)
+        if (!result) {
+            // 其他如支付等SDK的回调
+        }
+        return result;
+    }
+    //仅支持iOS9以上系统,iOS8及以下系统不会回调
+    func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
+        //6.3的新的API调用,是为了兼容国外平台(例如:新版facebookSDK,VK等)的调用[如果用6.2的api调用会没有回调],对国内平台没有影响
+        let result = UMSocialManager.default().handleOpen(url, options: options)
+        if (!result) {
+            // 其他如支付等SDK的回调
+        }
+        return result;
+    }
+    //支持目前所有iOS系统
+    func application(_ application: UIApplication, handleOpen url: URL) -> Bool {
+        let result = UMSocialManager.default().handleOpen(url)
+        if (!result) {
+            // 其他如支付等SDK的回调
+        }
+        return result;
+    }
+}
+

+ 7 - 2
RainbowPlanet/RainbowPlanet/AppDelegate/AppDelegate.swift

@@ -15,8 +15,13 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
 
 
     func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
-        // Override point for customization after application launch.
-        /// 初始化窗口
+        //初始化地图
+        initBaiduMap()
+        //初始化键盘
+        initIQKeyboard()
+        //初始化友盟
+        initUM(launchOptions: launchOptions)
+        //初始化窗口
         initWindow()
         return true
     }

+ 12 - 0
RainbowPlanet/RainbowPlanet/Define/CacheMacro.swift

@@ -0,0 +1,12 @@
+//
+//  CacheMacro.swift
+//  RainbowPlanet
+//
+//  Created by 南鑫林 on 2019/1/5.
+//  Copyright © 2019 南鑫林. All rights reserved.
+//
+
+import Foundation
+
+let kLocationModelCache = "LocationModel"
+

+ 63 - 0
RainbowPlanet/RainbowPlanet/Define/ColorMacro.swift

@@ -0,0 +1,63 @@
+//
+//  ColorMacro.swift
+//  RainbowPlanet
+//
+//  Created by 南鑫林 on 2018/6/30.
+//  Copyright © 2018年 南鑫林. All rights reserved.
+//
+
+import UIKit
+//主题色 导航栏颜色 
+let kNavBgColor = UIColor(hexString: "2d96ee")
+
+let kTabbarSelectColor = UIColor(hexString: "2d96ee")
+
+let kTabbarNormalColor = UIColor(hexString: "b1d3f1")
+
+let kDisabledButtonColor = UIColor(hexString: "b1d3f1")
+//按钮蓝色
+let kEnabledButtonColor = UIColor(hexString: "2d96ee")
+
+let k333333Color = UIColor(hexString: "333333")
+
+let k666666Color = UIColor(hexString: "666666")
+
+let k999999Color = UIColor(hexString: "999999")
+
+let keeeeeeColor = UIColor(hexString: "eeeeee")
+
+let kcececeColor = UIColor(hexString: "cecece")
+
+let k457ffdColor = UIColor(hexString: "457ffd")
+
+let kd8d8d8Color = UIColor(hexString: "d8d8d8")
+
+let kd9d9d9Color = UIColor(hexString: "d9d9d9")
+
+let kff630fColor = UIColor(hexString: "ff630f")
+
+let kff8400Color = UIColor(hexString: "ff8400")
+
+let kff481bColor = UIColor(hexString: "ff481b")
+
+let kffeae5Color = UIColor(hexString: "ffeae5")
+
+let kf82323Color = UIColor(hexString: "f82323")
+
+let kf1f1f1Color = UIColor(hexString: "f1f1f1")
+
+let kf2f2f2Color = UIColor(hexString: "f2f2f2")
+
+let kf3f3f3Color = UIColor(hexString: "f3f3f3")
+
+let kf6f6f6Color = UIColor(hexString: "f6f6f6")
+
+let kf9f9f9Color = UIColor(hexString: "f9f9f9")
+
+let kfd6031Color = UIColor(hexString: "fd6031")
+
+let kffa500Color = UIColor(hexString: "ffa500")
+
+let kff724fColor = UIColor(hexString: "ff724f")
+
+let kbfbfbfColor = UIColor(hexString: "bfbfbf")

+ 158 - 0
RainbowPlanet/RainbowPlanet/Define/Common.swift

@@ -0,0 +1,158 @@
+//
+//  Common.swift
+//  RainbowPlanet
+//
+//  Created by 南鑫林 on 2018/7/1.
+//  Copyright © 2018年 南鑫林. All rights reserved.
+//
+
+import UIKit
+import DeviceKit
+import SnapKit
+import SwiftyJSON
+import ObjectMapper
+import RxAtomic
+import RxCocoa
+import RxSwift
+import Kingfisher
+
+
+//MARK: - 屏幕的高度
+
+///屏幕宽度
+let kScreenWidth = UIScreen.main.bounds.size.width
+///屏幕高度
+let kScreenHeight = UIScreen.main.bounds.size.height
+
+/// 屏幕宽比例
+let kScaleWidth = kScreenWidth/375.0
+/// 屏幕高比例
+let kScaleHeight = kScreenHeight/667.0
+/// 比例值
+func kScaleValue(value:CGFloat) -> CGFloat {
+    return kScreenWidth / 375.0 * value
+}
+
+///状态栏高度
+let kStatusBarHeight = UIApplication.shared.statusBarFrame.size.height
+///navigation高度
+let kNavBarHeight = 44.0;
+///状态栏顶部的高度
+let kStatusBarTopHeight = statusBarTopHeight()
+///kNavBar高度
+let kNavBarBottom  =  navBarBottom()
+///tabbar高度
+let kTabBarHeight  =  tabBarHeight()
+///tabbar安全高度
+let kSafeTabBarHeight = safeTabBarHeight()
+///视图的内容高度包含tabbar
+let kContentTabbarHeight = kScreenHeight - kNavBarBottom
+///视图的内容安全高度包含tabbar
+let kContentSafeTabbarHeight = kScreenHeight - kNavBarBottom - kSafeTabBarHeight
+///视图的内容高度不包含tabbar
+let kContentHeight = kScreenHeight - kNavBarBottom - kTabBarHeight
+///navBar的高度
+func navBarBottom() -> CGFloat {
+    return isIphoneX() ? 88.0 : 64.0
+}
+///tabBar高度
+func tabBarHeight() -> CGFloat {
+    return isIphoneX() ? 83.0 : 49.0
+}
+///tabbar安全高度
+func safeTabBarHeight() -> CGFloat {
+    return isIphoneX() ? 34.0 : 0.0
+}
+///状态栏顶部的高度
+private func statusBarTopHeight() -> CGFloat {
+    return isIphoneX() ? kStatusBarHeight : 0.0
+}
+///是不是.iPhoneX,.iPhoneXr,.iPhoneXs,.iPhoneXsMax
+private func isIphoneX() -> Bool {
+    
+    let groupOfAllowedDevices: [Device] = [.iPhoneX,.iPhoneXr,.iPhoneXs,.iPhoneXsMax,.simulator(.iPhoneX),.simulator(.iPhoneXr),.simulator(.iPhoneXs),.simulator(.iPhoneXsMax)]
+    let device = Device()
+    if device.isOneOf(groupOfAllowedDevices) {
+        return true
+    }else {
+        return false
+    }
+}
+
+//MARK: - 返回本地图片
+/// 返回本地图片
+///
+/// - Parameter name: 图片名字
+/// - Returns: 图片
+func kImage(name :String) -> UIImage? {
+    return UIImage(named: name)
+}
+
+//MARK: - 返回url图片
+/// 返回url图片
+///
+/// - Parameter name: 图片url
+/// - Returns: 图片
+func kURLImage(name :String) -> URL? {
+    return URL(string: name)
+}
+
+//MARK: - 返回一个颜色
+/// 返回一个颜色
+///
+/// - Parameters:
+///   - r: 红色
+///   - g: 黄
+///   - b: 蓝色
+/// - Returns: 颜色
+func kRGBColor(r:Float , g:Float , b:Float) -> UIColor {
+    return UIColor(red: (CGFloat(r/255.0)), green: (CGFloat(g/255.0)), blue: (CGFloat(b/255.0)), alpha: 1.0)
+}
+
+//MARK: - 返回一个颜色
+/// 返回一个颜色
+///
+/// - Parameters:
+///   - r: 红色
+///   - g: 黄
+///   - b: 蓝色
+///   - a: 透明度
+/// - Returns: 颜色
+func kRGBAColor(r:Float , g:Float , b:Float, a:Float) -> UIColor {
+    return UIColor(red: (CGFloat(r/255.0)), green: (CGFloat(g/255.0)), blue: (CGFloat(b/255.0)), alpha: CGFloat(a))
+}
+
+
+
+/// 代码延迟运行
+///
+/// - Parameters:
+///   - delayTime: 延时时间。比如:.seconds(5)、.milliseconds(500)
+///   - qosClass: 要使用的全局QOS类(默认为 nil,表示主线程)
+///   - closure: 延迟运行的代码
+func delay(by delayTime: TimeInterval, qosClass: DispatchQoS.QoSClass? = nil,
+           _ closure: @escaping () -> Void) {
+    let dispatchQueue = qosClass != nil ? DispatchQueue.global(qos: qosClass!) : .main
+    dispatchQueue.asyncAfter(deadline: DispatchTime.now() + delayTime, execute: closure)
+}
+
+func getCurrentVC() -> UIViewController {
+    let keywindow = (UIApplication.shared.delegate as! AppDelegate).window//UIApplication.shared.keyWindow使用此有时会崩溃
+    let firstView: UIView = (keywindow?.subviews.first)!
+    let secondView: UIView = firstView.subviews.first!
+    var vc = viewForController(view: secondView)!
+    vc = ((vc as! UITabBarController).selectedViewController! as! UINavigationController).visibleViewController!
+
+    return vc
+}
+
+private func viewForController(view:UIView)->UIViewController?{
+    var next:UIView? = view
+    repeat{
+        if let nextResponder = next?.next, nextResponder is UIViewController {
+            return (nextResponder as! UIViewController)
+        }
+        next = next?.superview
+    }while next != nil
+    return nil
+}

+ 9 - 0
RainbowPlanet/RainbowPlanet/Define/EnumMacro.swift

@@ -0,0 +1,9 @@
+//
+//  EnumMacro.swift
+//  RainbowPlanet
+//
+//  Created by 南鑫林 on 2018/11/17.
+//  Copyright © 2018 南鑫林. All rights reserved.
+//
+
+import Foundation

+ 150 - 0
RainbowPlanet/RainbowPlanet/Define/FontMacro.swift

@@ -0,0 +1,150 @@
+//
+//  FontMacro.swift
+//  RainbowPlanet
+//
+//  Created by 南鑫林 on 2018/12/11.
+//  Copyright © 2018 南鑫林. All rights reserved.
+//
+
+import UIKit
+
+let kBoldFont10 = UIFont.boldSystemFont(ofSize: 10)
+let kBoldFont11 = UIFont.boldSystemFont(ofSize: 11)
+let kBoldFont12 = UIFont.boldSystemFont(ofSize: 12)
+let kBoldFont13 = UIFont.boldSystemFont(ofSize: 13)
+let kBoldFont14 = UIFont.boldSystemFont(ofSize: 14)
+let kBoldFont15 = UIFont.boldSystemFont(ofSize: 15)
+let kBoldFont16 = UIFont.boldSystemFont(ofSize: 16)
+let kBoldFont17 = UIFont.boldSystemFont(ofSize: 17)
+let kBoldFont18 = UIFont.boldSystemFont(ofSize: 18)
+let kBoldFont19 = UIFont.boldSystemFont(ofSize: 19)
+let kBoldFont20 = UIFont.boldSystemFont(ofSize: 20)
+let kBoldFont21 = UIFont.boldSystemFont(ofSize: 21)
+let kBoldFont30 = UIFont.boldSystemFont(ofSize: 30)
+let kBoldFont36 = UIFont.boldSystemFont(ofSize: 36)
+let kBoldFont40 = UIFont.boldSystemFont(ofSize: 40)
+
+let kMediumFont10 = UIFont(name: "PingFang-SC-Medium", size: 10)
+let kMediumFont11 = UIFont(name: "PingFang-SC-Medium", size: 11)
+let kMediumFont12 = UIFont(name: "PingFang-SC-Medium", size: 12)
+let kMediumFont13 = UIFont(name: "PingFang-SC-Medium", size: 13)
+let kMediumFont14 = UIFont(name: "PingFang-SC-Medium", size: 14)
+let kMediumFont15 = UIFont(name: "PingFang-SC-Medium", size: 15)
+let kMediumFont16 = UIFont(name: "PingFang-SC-Medium", size: 16)
+let kMediumFont17 = UIFont(name: "PingFang-SC-Medium", size: 17)
+let kMediumFont18 = UIFont(name: "PingFang-SC-Medium", size: 18)
+let kMediumFont24 = UIFont(name: "PingFang-SC-Medium", size: 24)
+let kMediumFont25 = UIFont(name: "PingFang-SC-Medium", size: 25)
+let kMediumFont27 = UIFont(name: "PingFang-SC-Medium", size: 27)
+let kMediumFont30 = UIFont(name: "PingFang-SC-Medium", size: 30)
+let kMediumFont35 = UIFont(name: "PingFang-SC-Medium", size: 35)
+
+let kRegularFont12 = UIFont(name: "PingFang-SC-Regular", size: 12)
+let kRegularFont13 = UIFont(name: "PingFang-SC-Regular", size: 13)
+let kRegularFont14 = UIFont(name: "PingFang-SC-Regular", size: 14)
+let kRegularFont15 = UIFont(name: "PingFang-SC-Regular", size: 15)
+let kRegularFont16 = UIFont(name: "PingFang-SC-Regular", size: 16)
+let kRegularFont17 = UIFont(name: "PingFang-SC-Regular", size: 17)
+
+let kDINMEDIUMFont10 = UIFont(name: "DIN-MEDIUM", size: 10)
+let kDINMEDIUMFont11 = UIFont(name: "DIN-MEDIUM", size: 11)
+let kDINMEDIUMFont12 = UIFont(name: "DIN-MEDIUM", size: 12)
+let kDINMEDIUMFont13 = UIFont(name: "DIN-MEDIUM", size: 13)
+let kDINMEDIUMFont14 = UIFont(name: "DIN-MEDIUM", size: 14)
+let kDINMEDIUMFont15 = UIFont(name: "DIN-MEDIUM", size: 15)
+let kDINMEDIUMFont16 = UIFont(name: "DIN-MEDIUM", size: 16)
+let kDINMEDIUMFont17 = UIFont(name: "DIN-MEDIUM", size: 17)
+let kDINMEDIUMFont18 = UIFont(name: "DIN-MEDIUM", size: 18)
+let kDINMEDIUMFont19 = UIFont(name: "DIN-MEDIUM", size: 19)
+let kDINMEDIUMFont20 = UIFont(name: "DIN-MEDIUM", size: 20)
+let kDINMEDIUMFont21 = UIFont(name: "DIN-MEDIUM", size: 21)
+let kDINMEDIUMFont22 = UIFont(name: "DIN-MEDIUM", size: 22)
+let kDINMEDIUMFont23 = UIFont(name: "DIN-MEDIUM", size: 23)
+let kDINMEDIUMFont24 = UIFont(name: "DIN-MEDIUM", size: 24)
+let kDINMEDIUMFont25 = UIFont(name: "DIN-MEDIUM", size: 25)
+let kDINMEDIUMFont26 = UIFont(name: "DIN-MEDIUM", size: 26)
+let kDINMEDIUMFont27 = UIFont(name: "DIN-MEDIUM", size: 27)
+let kDINMEDIUMFont28 = UIFont(name: "DIN-MEDIUM", size: 28)
+let kDINMEDIUMFont29 = UIFont(name: "DIN-MEDIUM", size: 29)
+let kDINMEDIUMFont30 = UIFont(name: "DIN-MEDIUM", size: 30)
+let kDINMEDIUMFont31 = UIFont(name: "DIN-MEDIUM", size: 31)
+let kDINMEDIUMFont32 = UIFont(name: "DIN-MEDIUM", size: 32)
+let kDINMEDIUMFont33 = UIFont(name: "DIN-MEDIUM", size: 33)
+let kDINMEDIUMFont34 = UIFont(name: "DIN-MEDIUM", size: 34)
+let kDINMEDIUMFont35 = UIFont(name: "DIN-MEDIUM", size: 35)
+let kDINMEDIUMFont36 = UIFont(name: "DIN-MEDIUM", size: 36)
+let kDINMEDIUMFont37 = UIFont(name: "DIN-MEDIUM", size: 37)
+let kDINMEDIUMFont38 = UIFont(name: "DIN-MEDIUM", size: 38)
+let kDINMEDIUMFont39 = UIFont(name: "DIN-MEDIUM", size: 39)
+let kDINMEDIUMFont40 = UIFont(name: "DIN-MEDIUM", size: 40)
+
+let kScaleBoldFont10 = UIFont.boldSystemFont(ofSize: kScaleValue(value: 10))
+let kScaleBoldFont11 = UIFont.boldSystemFont(ofSize: kScaleValue(value: 11))
+let kScaleBoldFont12 = UIFont.boldSystemFont(ofSize: kScaleValue(value: 12))
+let kScaleBoldFont13 = UIFont.boldSystemFont(ofSize: kScaleValue(value: 13))
+let kScaleBoldFont14 = UIFont.boldSystemFont(ofSize: kScaleValue(value: 14))
+let kScaleBoldFont15 = UIFont.boldSystemFont(ofSize: kScaleValue(value: 15))
+let kScaleBoldFont16 = UIFont.boldSystemFont(ofSize: kScaleValue(value: 16))
+let kScaleBoldFont17 = UIFont.boldSystemFont(ofSize: kScaleValue(value: 17))
+let kScaleBoldFont18 = UIFont.boldSystemFont(ofSize: kScaleValue(value: 18))
+let kScaleBoldFont19 = UIFont.boldSystemFont(ofSize: kScaleValue(value: 19))
+let kScaleBoldFont20 = UIFont.boldSystemFont(ofSize: kScaleValue(value: 20))
+let kScaleBoldFont21 = UIFont.boldSystemFont(ofSize: kScaleValue(value: 21))
+let kScaleBoldFont30 = UIFont.boldSystemFont(ofSize: kScaleValue(value: 30))
+let kScaleBoldFont36 = UIFont.boldSystemFont(ofSize: kScaleValue(value: 36))
+let kScaleBoldFont40 = UIFont.boldSystemFont(ofSize: kScaleValue(value: 40))
+
+let kScaleMediumFont10 = UIFont(name: "PingFang-SC-Medium", size: kScaleValue(value: 10))
+let kScaleMediumFont11 = UIFont(name: "PingFang-SC-Medium", size: kScaleValue(value: 11))
+let kScaleMediumFont12 = UIFont(name: "PingFang-SC-Medium", size: kScaleValue(value: 12))
+let kScaleMediumFont13 = UIFont(name: "PingFang-SC-Medium", size: kScaleValue(value: 13))
+let kScaleMediumFont14 = UIFont(name: "PingFang-SC-Medium", size: kScaleValue(value: 14))
+let kScaleMediumFont15 = UIFont(name: "PingFang-SC-Medium", size: kScaleValue(value: 15))
+let kScaleMediumFont16 = UIFont(name: "PingFang-SC-Medium", size: kScaleValue(value: 16))
+let kScaleMediumFont17 = UIFont(name: "PingFang-SC-Medium", size: kScaleValue(value: 17))
+let kScaleMediumFont18 = UIFont(name: "PingFang-SC-Medium", size: kScaleValue(value: 18))
+let kScaleMediumFont24 = UIFont(name: "PingFang-SC-Medium", size: kScaleValue(value: 24))
+let kScaleMediumFont25 = UIFont(name: "PingFang-SC-Medium", size: kScaleValue(value: 25))
+let kScaleMediumFont27 = UIFont(name: "PingFang-SC-Medium", size: kScaleValue(value: 27))
+let kScaleMediumFont30 = UIFont(name: "PingFang-SC-Medium", size: kScaleValue(value: 30))
+let kScaleMediumFont35 = UIFont(name: "PingFang-SC-Medium", size: kScaleValue(value: 35))
+
+let kScaleRegularFont12 = UIFont(name: "PingFang-SC-Regular", size: kScaleValue(value: 12))
+let kScaleRegularFont13 = UIFont(name: "PingFang-SC-Regular", size: kScaleValue(value: 13))
+let kScaleRegularFont14 = UIFont(name: "PingFang-SC-Regular", size: kScaleValue(value: 14))
+let kScaleRegularFont15 = UIFont(name: "PingFang-SC-Regular", size: kScaleValue(value: 15))
+let kScaleRegularFont16 = UIFont(name: "PingFang-SC-Regular", size: kScaleValue(value: 16))
+let kScaleRegularFont17 = UIFont(name: "PingFang-SC-Regular", size: kScaleValue(value: 17))
+let kScaleRegularFont19 = UIFont(name: "PingFang-SC-Regular", size: kScaleValue(value: 19))
+
+let kScaleDINMEDIUMFont10 = UIFont(name: "DIN-MEDIUM", size: kScaleValue(value: 10))
+let kScaleDINMEDIUMFont11 = UIFont(name: "DIN-MEDIUM", size: kScaleValue(value: 11))
+let kScaleDINMEDIUMFont12 = UIFont(name: "DIN-MEDIUM", size: kScaleValue(value: 12))
+let kScaleDINMEDIUMFont13 = UIFont(name: "DIN-MEDIUM", size: kScaleValue(value: 13))
+let kScaleDINMEDIUMFont14 = UIFont(name: "DIN-MEDIUM", size: kScaleValue(value: 14))
+let kScaleDINMEDIUMFont15 = UIFont(name: "DIN-MEDIUM", size: kScaleValue(value: 15))
+let kScaleDINMEDIUMFont16 = UIFont(name: "DIN-MEDIUM", size: kScaleValue(value: 16))
+let kScaleDINMEDIUMFont17 = UIFont(name: "DIN-MEDIUM", size: kScaleValue(value: 17))
+let kScaleDINMEDIUMFont18 = UIFont(name: "DIN-MEDIUM", size: kScaleValue(value: 18))
+let kScaleDINMEDIUMFont19 = UIFont(name: "DIN-MEDIUM", size: kScaleValue(value: 19))
+let kScaleDINMEDIUMFont20 = UIFont(name: "DIN-MEDIUM", size: kScaleValue(value: 20))
+let kScaleDINMEDIUMFont21 = UIFont(name: "DIN-MEDIUM", size: kScaleValue(value: 21))
+let kScaleDINMEDIUMFont22 = UIFont(name: "DIN-MEDIUM", size: kScaleValue(value: 22))
+let kScaleDINMEDIUMFont23 = UIFont(name: "DIN-MEDIUM", size: kScaleValue(value: 23))
+let kScaleDINMEDIUMFont24 = UIFont(name: "DIN-MEDIUM", size: kScaleValue(value: 24))
+let kScaleDINMEDIUMFont25 = UIFont(name: "DIN-MEDIUM", size: kScaleValue(value: 25))
+let kScaleDINMEDIUMFont26 = UIFont(name: "DIN-MEDIUM", size: kScaleValue(value: 26))
+let kScaleDINMEDIUMFont27 = UIFont(name: "DIN-MEDIUM", size: kScaleValue(value: 27))
+let kScaleDINMEDIUMFont28 = UIFont(name: "DIN-MEDIUM", size: kScaleValue(value: 28))
+let kScaleDINMEDIUMFont29 = UIFont(name: "DIN-MEDIUM", size: kScaleValue(value: 29))
+let kScaleDINMEDIUMFont30 = UIFont(name: "DIN-MEDIUM", size: kScaleValue(value: 30))
+let kScaleDINMEDIUMFont31 = UIFont(name: "DIN-MEDIUM", size: kScaleValue(value: 31))
+let kScaleDINMEDIUMFont32 = UIFont(name: "DIN-MEDIUM", size: kScaleValue(value: 32))
+let kScaleDINMEDIUMFont33 = UIFont(name: "DIN-MEDIUM", size: kScaleValue(value: 33))
+let kScaleDINMEDIUMFont34 = UIFont(name: "DIN-MEDIUM", size: kScaleValue(value: 34))
+let kScaleDINMEDIUMFont35 = UIFont(name: "DIN-MEDIUM", size: kScaleValue(value: 35))
+let kScaleDINMEDIUMFont36 = UIFont(name: "DIN-MEDIUM", size: kScaleValue(value: 36))
+let kScaleDINMEDIUMFont37 = UIFont(name: "DIN-MEDIUM", size: kScaleValue(value: 37))
+let kScaleDINMEDIUMFont38 = UIFont(name: "DIN-MEDIUM", size: kScaleValue(value: 38))
+let kScaleDINMEDIUMFont39 = UIFont(name: "DIN-MEDIUM", size: kScaleValue(value: 39))
+let kScaleDINMEDIUMFont40 = UIFont(name: "DIN-MEDIUM", size: kScaleValue(value: 40))

+ 14 - 0
RainbowPlanet/RainbowPlanet/Define/HTMLURLMacro.swift

@@ -0,0 +1,14 @@
+//
+//  HTMLURLMacro.swift
+//  RainbowPlanet
+//
+//  Created by 南鑫林 on 2018/10/17.
+//  Copyright © 2018 南鑫林. All rights reserved.
+//
+
+import Foundation
+
+/// 给我们我们评分
+let kAppStoreReview = "https://itunes.apple.com/cn/app/1166892045?action=write-review"
+
+

+ 19 - 0
RainbowPlanet/RainbowPlanet/Define/NotificationCenterMacro.swift

@@ -0,0 +1,19 @@
+//
+//  NotificationCenterMacro.swift
+//  RainbowPlanet
+//
+//  Created by 南鑫林 on 2019/1/4.
+//  Copyright © 2019 南鑫林. All rights reserved.
+//
+
+import Foundation
+
+
+/// 定位
+let kLocationModelChangeNotificationName = Notification.Name(rawValue: "LocationModelChange")
+
+/// 我的页面监听数据改变
+let kMineUserQueryModelTokenModelChangeNotificationName = Notification.Name(rawValue: "kMineUserQueryModelTokenModelChangeNotificationName")
+
+/// 银行卡列表页面
+let kBankCardListViewControllerNotificationName = Notification.Name(rawValue: "kBankCardListViewControllerNotificationName")

+ 28 - 0
RainbowPlanet/RainbowPlanet/Define/RainbowPlanet-Bridging-Header.h

@@ -0,0 +1,28 @@
+//
+//  RainbowPlanet-Bridging-Header.h
+//  RainbowPlanet
+//
+//  Created by 南鑫林 on 2019/3/8.
+//  Copyright © 2019 南鑫林. All rights reserved.
+//
+
+#ifndef RainbowPlanet_Bridging_Header_h
+#define RainbowPlanet_Bridging_Header_h
+
+//提示框
+#import <MBProgressHUD/MBProgressHUD.h>
+
+//友盟
+#import <UMCommon/UMCommon.h>
+#import <UMPush/UMessage.h>
+#import <UMShare/UMShare.h>
+#import <UMAnalytics/MobClick.h>
+#import <UMCommonLog/UMCommonLogHeaders.h>
+#import <UMShare/UMShare.h>
+#import <UShareUI/UShareUI.h>
+
+//百度定位
+#import <BMKLocationkit/BMKLocationComponent.h>
+
+
+#endif /* RainbowPlanet_Bridging_Header_h */

+ 32 - 0
RainbowPlanet/RainbowPlanet/Define/ThirdPartyMacro.swift

@@ -0,0 +1,32 @@
+//
+//  ThirdPartyMacro.swift
+//  RainbowPlanet
+//
+//  Created by 南鑫林 on 2018/7/13.
+//  Copyright © 2018年 南鑫林. All rights reserved.
+//
+
+import Foundation
+
+//MARK: -  bugly
+let kBuglyAppId  = "dea0c63442"
+let kBuglyAppKey  = "475526b6-2b02-4810-972b-1bdbf853d8fe"
+
+//MARK: - UMeng
+let kUMengAppKey  = "5b3dbd078f4a9d5c100000c1"
+
+//MARK: - QQ跟安卓用同一个
+let kQQAppKey =  "1105803948"
+let kQQAppSecret = "aUosPQs1khVAcmB7"
+
+//MARK: - 微信
+let kWeiXinAppKey  = "wx647d93490caf548f"
+let kWeiXinAppSecret = "c5dc884f79a1bb00e96d76a3e16da39a"
+
+//MARK: - 微博
+let kWeiboAppKey  = "2824278574"
+let kWeiboAppSecret  = "0be988a21b045ecf948ba5838b72f689"
+
+//MARK: - 百度地图
+let kBaiduMapAppKey  = "UhUyWpGF9ZGUn8uo4vOpyoO7GRjk1Q70"
+

二進制
RainbowPlanet/RainbowPlanet/Lib/AlipaySDK/AlipaySDK.bundle/alipay_msp_back@2x.png


二進制
RainbowPlanet/RainbowPlanet/Lib/AlipaySDK/AlipaySDK.bundle/alipay_msp_refresh@2x.png


二進制
RainbowPlanet/RainbowPlanet/Lib/AlipaySDK/AlipaySDK.bundle/bar@2x.png


File diff suppressed because it is too large
+ 1 - 0
RainbowPlanet/RainbowPlanet/Lib/AlipaySDK/AlipaySDK.bundle/bridge.js


二進制
RainbowPlanet/RainbowPlanet/Lib/AlipaySDK/AlipaySDK.bundle/refresh@2x.png


二進制
RainbowPlanet/RainbowPlanet/Lib/AlipaySDK/AlipaySDK.bundle/refresh_click@2x.png


二進制
RainbowPlanet/RainbowPlanet/Lib/AlipaySDK/AlipaySDK.bundle/shutdown@2x.png


二進制
RainbowPlanet/RainbowPlanet/Lib/AlipaySDK/AlipaySDK.bundle/shutdown_click@2x.png


二進制
RainbowPlanet/RainbowPlanet/Lib/AlipaySDK/AlipaySDK.framework/AlipaySDK


二進制
RainbowPlanet/RainbowPlanet/Lib/AlipaySDK/AlipaySDK.framework/AlipaySDK-inside-Info.plist


+ 33 - 0
RainbowPlanet/RainbowPlanet/Lib/AlipaySDK/AlipaySDK.framework/Headers/APayAuthInfo.h

@@ -0,0 +1,33 @@
+//
+//  APAuthInfo.h
+//  APAuth
+//
+//  Created by antfin on 17-10-24.
+//  Copyright (c) 2017年 AntFin. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+@interface APayAuthInfo : NSObject
+
+@property(nonatomic, copy)NSString *appID;
+@property(nonatomic, copy)NSString *pid;
+@property(nonatomic, copy)NSString *redirectUri;
+
+/**
+ *  初始化AuthInfo
+ *
+ *  @param appIDStr     应用ID
+ *  @param pidStr       商户ID   可不填
+ *  @param uriStr       授权的应用回调地址  比如:alidemo://auth
+ *
+ *  @return authinfo实例
+ */
+- (id)initWithAppID:(NSString *)appIDStr
+                pid:(NSString *)pidStr
+        redirectUri:(NSString *)uriStr;
+
+- (NSString *)description;
+- (NSString *)wapDescription;
+
+@end

+ 203 - 0
RainbowPlanet/RainbowPlanet/Lib/AlipaySDK/AlipaySDK.framework/Headers/AlipaySDK.h

@@ -0,0 +1,203 @@
+//
+//  AlipaySDK.h
+//  AlipaySDK
+//
+//  Created by antfin on 17-10-24.
+//  Copyright (c) 2017年 AntFin. All rights reserved.
+//
+
+
+////////////////////////////////////////////////////////
+///////////////// 支付宝标准版本支付SDK ///////////////////
+/////////// version:15.6.0  motify:2019.02.26///////////
+////////////////////////////////////////////////////////
+
+#import <UIKit/UIKit.h>
+#import "APayAuthInfo.h"
+
+typedef void(^CompletionBlock)(NSDictionary *resultDic);
+
+typedef enum {
+    ALIPAY_TIDFACTOR_IMEI,
+    ALIPAY_TIDFACTOR_IMSI,
+    ALIPAY_TIDFACTOR_TID,
+    ALIPAY_TIDFACTOR_CLIENTKEY,
+    ALIPAY_TIDFACTOR_VIMEI,
+    ALIPAY_TIDFACTOR_VIMSI,
+    ALIPAY_TIDFACTOR_CLIENTID,
+    ALIPAY_TIDFACTOR_APDID,
+    ALIPAY_TIDFACTOR_MAX
+} AlipayTidFactor;
+
+@interface AlipaySDK : NSObject
+
+/**
+ *  创建支付单例服务
+ *
+ *  @return 返回单例对象
+ */
++ (AlipaySDK *)defaultService;
+
+/**
+ *  用于设置SDK使用的window,如果没有自行创建window无需设置此接口
+ */
+@property (nonatomic, weak) UIWindow *targetWindow;
+
+//////////////////////////////////////////////////////////////////////////////////////////////
+//////////////////////////支付宝支付相关接口/////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////////////////////
+
+/**
+ *  支付接口
+ *
+ *  @param orderStr        支付订单信息字串
+ *  @param schemeStr       调用支付的app注册在info.plist中的scheme
+ *  @param completionBlock 支付结果回调Block,用于wap支付结果回调
+                           跳转支付宝支付时只有当processOrderWithPaymentResult接口的completionBlock为nil时会使用这个bolock
+ */
+- (void)payOrder:(NSString *)orderStr
+      fromScheme:(NSString *)schemeStr
+        callback:(CompletionBlock)completionBlock;
+
+/**
+ *  支付接口 v2
+ *
+ *  @param orderStr        支付订单信息字串
+ *  @param dynamicLaunch   是否使用动态配置策略跳转支付宝支付
+ *  @param schemeStr       调用支付的app注册在info.plist中的scheme
+ *  @param completionBlock 支付结果回调Block,用于wap支付结果回调
+ 跳转支付宝支付时只有当processOrderWithPaymentResult接口的completionBlock为nil时会使用这个bolock
+ */
+- (void)payOrder:(NSString *)orderStr
+   dynamicLaunch:(BOOL)dynamicLaunch
+      fromScheme:(NSString *)schemeStr
+        callback:(CompletionBlock)completionBlock;
+
+/**
+ *  处理支付宝app支付后跳回商户app携带的支付结果Url
+ *
+ *  @param resultUrl        支付宝app返回的支付结果url
+ *  @param completionBlock  支付结果回调 为nil时默认使用支付接口的completionBlock
+ */
+- (void)processOrderWithPaymentResult:(NSURL *)resultUrl
+                      standbyCallback:(CompletionBlock)completionBlock;
+
+/**
+ *  获取交易token。
+ *
+ *  @return 交易token,若无则为空。
+ */
+- (NSString *)fetchTradeToken;
+
+
+//////////////////////////////////////////////////////////////////////////////////////////////
+//////////////////////////支付宝授权 2.0 相关接口////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////////////////////
+
+/**
+ *  快登授权2.0
+ *
+ *  @param infoStr          授权请求信息字串
+ *  @param schemeStr        调用授权的app注册在info.plist中的scheme
+ *  @param completionBlock  授权结果回调,若在授权过程中,调用方应用被系统终止,则此block无效,
+                            需要调用方在appDelegate中调用processAuth_V2Result:standbyCallback:方法获取授权结果
+ */
+- (void)auth_V2WithInfo:(NSString *)infoStr
+             fromScheme:(NSString *)schemeStr
+               callback:(CompletionBlock)completionBlock;
+
+/**
+ *  处理支付宝app授权后跳回商户app携带的授权结果Url
+ *
+ *  @param resultUrl        支付宝app返回的授权结果url
+ *  @param completionBlock  授权结果回调
+ */
+- (void)processAuth_V2Result:(NSURL *)resultUrl
+             standbyCallback:(CompletionBlock)completionBlock;
+
+
+//////////////////////////////////////////////////////////////////////////////////////////////
+//////////////////////////支付宝授权 1.0 相关接口////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////////////////////
+
+
+/**
+ *  快登授权
+ *  @param authInfo         授权相关信息
+ *  @param completionBlock  授权结果回调,若在授权过程中,调用方应用被系统终止,则此block无效,
+                            需要调用方在appDelegate中调用processAuth_V2Result:standbyCallback:方法获取授权结果
+ */
+- (void)authWithInfo:(APayAuthInfo *)authInfo
+            callback:(CompletionBlock)completionBlock;
+
+/**
+ *  处理支付宝app授权后跳回商户app携带的授权结果Url
+ *
+ *  @param resultUrl        支付宝app返回的授权结果url
+ *  @param completionBlock  授权结果回调
+ */
+- (void)processAuthResult:(NSURL *)resultUrl
+          standbyCallback:(CompletionBlock)completionBlock;
+
+
+//////////////////////////////////////////////////////////////////////////////////////////////
+//////////////////////////支付宝 h5 支付转 native 支付接口////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////////////////////
+/**
+ *  从h5链接中获取订单串并支付接口(自版本15.4.0起,推荐使用该接口)
+ *
+ *  @param urlStr     拦截的 url string
+ *
+ *  @return YES为成功获取订单信息并发起支付流程;NO为无法获取订单信息,输入url是普通url
+ */
+- (BOOL)payInterceptorWithUrl:(NSString *)urlStr
+                   fromScheme:(NSString *)schemeStr
+                     callback:(CompletionBlock)completionBlock;
+
+
+
+//////////////////////////////////////////////////////////////////////////////////////////////
+//////////////////////////支付宝 tid 相关信息获取接口/////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////////////////////
+
+/**
+ *  获取当前tid相关信息
+ *
+ *  @return tid相关信息
+ */
+- (NSString*)queryTidFactor:(AlipayTidFactor)factor;
+
+
+
+//////////////////////////////////////////////////////////////////////////////////////////////
+//////////////////////////支付宝支付环境相关信息接口//////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////////////////////
+
+/**
+ *  是否已经使用过
+ *
+ *  @return YES为已经使用过,NO反之
+ */
+- (BOOL)isLogined;
+
+/**
+ *  获取当前版本号
+ *
+ *  @return 当前版本字符串
+ */
+- (NSString *)currentVersion;
+
+/**
+ *  測試所用,realse包无效
+ *
+ *  @param url  测试环境
+ */
+- (void)setUrl:(NSString *)url;
+
+/**
+ *  支付前主动更新本地配置
+ *
+ *  @param block 更新请求结果回调
+ */
+- (void)fetchSdkConfigWithBlock:(void(^)(BOOL success))block;
+@end

二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/CL_ShanYanSDK.framework/CL_ShanYanSDK


+ 34 - 0
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/CL_ShanYanSDK.framework/Headers/CLCompleteResult.h

@@ -0,0 +1,34 @@
+//
+//  CLCompleteResult.h
+//  CL_ShanYanSDK
+//
+//  Created by wanglijun on 2018/10/29.
+//  Copyright © 2018 wanglijun. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+typedef NS_ENUM(NSInteger, CLSDKInitStutas) {
+    CLSDKInitStutasERRORIniting,//失败-未完成(正在进行中)
+    CLSDKInitStutasERRORTimeOut,//失败-超时
+    CLSDKInitStutasERRORFailure,//失败-出错
+    CLSDKInitStutasSUCCESS,//成功
+};
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class CLCompleteResult;
+typedef void(^CLComplete)(CLCompleteResult * completeResult);
+
+@interface CLCompleteResult : NSObject
+@property (nonatomic,assign)NSInteger code;//SDK外层code
+@property (nonatomic,nullable,copy)NSString * message;//SDK外层msg
+@property (nonatomic,nullable,copy)NSDictionary * data;//SDK外层data
+@property (nonatomic,nullable,strong)NSError * error;//SDK内层Error
+
+//@property (nonatomic,nullable,strong)id clModel;
+
++(instancetype)cl_CompleteWithCode:(NSInteger)code message:(NSString *)message data:(nullable NSDictionary *)data  error:(nullable NSError *)error;
+@end
+
+NS_ASSUME_NONNULL_END

+ 58 - 0
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/CL_ShanYanSDK.framework/Headers/CLShanYanSDKManager.h

@@ -0,0 +1,58 @@
+//
+//  CLShanYanSDKManager.h
+//  CL_ShanYanSDK
+//
+//  Created by wanglijun on 2018/10/29.
+//  Copyright © 2018 wanglijun. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <UIKit/UIKit.h>
+
+#import "CLCompleteResult.h"
+#import "CLUIConfigure.h"
+
+NS_ASSUME_NONNULL_BEGIN
+@interface CLShanYanSDKManager : NSObject
+/**
+ 预初始化 Block方式
+ @param appId 闪验后台申请的appId
+ @param appKey 闪验后台申请的appKey
+ @param timeOut 超时时间,单位s,传大于0有效,传小于等于0使用默认,默认5s
+ @param complete 预初始化回调block 注:(对于预初始化失败的,之后仍可以直接调一键登录接口,SDK内部会再次尝试初始化。当用户收到此回调为失败时,之后可以自行决定是否要调用闪验一键登录,可以通过+(CLCompleteResult*)clSDKInitStutas方法获取当前预初始化状态)
+ */
++(void)initWithAppId:(NSString *)appId AppKey:(NSString *)appKey timeOut:(NSTimeInterval)timeOut  complete:(nullable CLComplete)complete;
+
+
+/**
+ 预取号
+ --初始化方法内部会自动执行一次预取号,一般情况下外部可无需调用
+ --建议在即将执行一键登录的地方的前60s调用此方法,比如调一键登录的vc的viewdidload中,当初始化的预取号失败的情况下,此调用将有助于提高闪验拉起授权页的速度和成功率
+ --不建议频繁的多次调用和在拉起授权页后调用
+ */
++(void)preGetPhonenumber;
+
+/**
+ 获取SDK预初始化完成情况(成功/失败),用户可以在将要调用闪验一键登录方法处,通过此方法获取SDK预初始化情况,对于预初始化失败的,仍可以直接调一键登录接口,由用户自行决定
+ @return CLSDKInitStutas
+ */
++(CLSDKInitStutas)clSDKInitStutas;
+
+
+/**
+ 一键登录(授权页) 方式2 三网可分别配置logo
+ @param ctccConfigure 电信配置
+ @param cmccConfigure 移动配置
+ @param cuccConfigure 联通配置
+ @param timeOut 超时时间,单位s,传大于0有效,传小于等于0使用默认,默认5s
+ @param complete 回调block
+ */
++(void)quickAuthLoginWithConfigureCTCC:(CLCTCCUIConfigure *)ctccConfigure
+                                  CMCC:(CLCMCCUIConfigure *)cmccConfigure
+                                  CUCC:(CLCUCCUIConfigure *)cuccConfigure
+                               timeOut:(NSTimeInterval)timeOut
+                              complete:(nonnull CLComplete)complete;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 61 - 0
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/CL_ShanYanSDK.framework/Headers/CLUIConfigure.h

@@ -0,0 +1,61 @@
+//
+//  CLCTCCUIConfigure.h
+//  CL_ShanYanSDK
+//
+//  Created by wanglijun on 2018/10/30.
+//  Copyright © 2018 wanglijun. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <UIKit/UIKit.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+//电信配置
+@interface CLCTCCUIConfigure : NSObject
+//要拉起授权页的vc(注:SDK不持有接入方VC)
+@property (nonatomic,weak)UIViewController * viewController;
+//LOGO图片,可选
+@property (nonatomic,strong)UIImage * logoImg;
+/**
+ 是否隐藏 其他登录方式按钮,默认显示  隐藏:YES 显示:NO ,可选
+ “其他登录方式”按钮显示时需在拉起授权页面添加回调方法:
+ -(void)otherLoginWayBtnCliced:(UIButton *)sender{}
+ */
+@property (nonatomic, assign) BOOL otherWayHidden;
+
+@end
+
+
+//移动配置
+@interface CLCMCCUIConfigure : NSObject
+//调一键登录的vc,必传(注:SDK不持有接入方VC)
+@property (nonatomic,weak)UIViewController * viewController;
+//LOGO图片,可选
+@property (nonatomic,strong) UIImage * logoImg;
+/**
+ 是否隐藏 其他登录方式按钮  隐藏:YES 显示:NO  ,可选
+ 是否隐藏 其他登录方式按钮,默认显示  隐藏:YES 显示:NO ,可选
+ “其他登录方式”按钮显示时需在拉起授权页面添加回调方法:
+ -(void)otherLoginWayBtnCliced:(UIButton *)sender{}
+ */
+@property (nonatomic, assign) BOOL otherWayHidden;
+
+@end
+
+//联通配置
+@interface CLCUCCUIConfigure : NSObject
+//调一键登录的vc,必传(注:SDK不持有接入方VC)
+@property (nonatomic,weak)UIViewController * viewController;
+//LOGO图片,可选
+@property (nonatomic,strong)UIImage *  UAPageContentLogo;
+/**
+ 是否隐藏 其他登录方式按钮  隐藏:YES 显示:NO  ,可选
+ 是否隐藏 其他登录方式按钮,默认显示  隐藏:YES 显示:NO ,可选
+ “其他登录方式”按钮显示时需在拉起授权页面添加回调方法:
+ -(void)otherLoginWayBtnCliced:(UIButton *)sender{}
+ */
+@property (nonatomic, assign) BOOL otherWayHidden;
+@end
+
+NS_ASSUME_NONNULL_END

+ 24 - 0
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/CL_ShanYanSDK.framework/Headers/CL_ShanYanSDK.h

@@ -0,0 +1,24 @@
+//
+//  CL_ShanYanSDK.h
+//  CL_ShanYanSDK
+//
+//  Created by wanglijun on 2018/10/29.
+//  Copyright © 2018 wanglijun. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+//! Project version number for CL_ShanYanSDK.
+FOUNDATION_EXPORT double CL_ShanYanSDKVersionNumber;
+
+//! Project version string for CL_ShanYanSDK.
+FOUNDATION_EXPORT const unsigned char CL_ShanYanSDKVersionString[];
+
+// In this header, you should import all the public headers of your framework using statements like #import <CL_ShanYanSDK/PublicHeader.h>
+#import <CL_ShanYanSDK/CLShanYanSDKManager.h>
+#import <CL_ShanYanSDK/CLCompleteResult.h>
+#import <CL_ShanYanSDK/CLUIConfigure.h>
+
+
+
+

二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/CL_ShanYanSDK.framework/Info.plist


+ 6 - 0
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/CL_ShanYanSDK.framework/Modules/module.modulemap

@@ -0,0 +1,6 @@
+framework module CL_ShanYanSDK {
+  umbrella header "CL_ShanYanSDK.h"
+
+  export *
+  module * { export * }
+}

二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/EAccountApiSDK.framework/EAccountApiSDK


+ 72 - 0
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/EAccountApiSDK.framework/Headers/EAccountSDK.h

@@ -0,0 +1,72 @@
+//
+//  EAccountSDK.h
+//  EAccountSDKNetwork
+//
+//  Created by thy on 2018/6/23.
+//  Copyright © 2018年 21CN. All rights reserved.
+//
+
+//定制版SDK v1.4.0
+
+#import <Foundation/Foundation.h>
+
+/**
+ 声明一个block
+ @param resultDic 网络返回的data的解析结果
+ */
+typedef   void (^successHandler) ( NSDictionary * _Nonnull resultDic);
+
+/**
+ 声明一个block
+ @param error 网络返回的错误或者其它错误
+ */
+typedef   void (^failureHandler) (NSError * _Nonnull error);
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface EAccountSDK : NSObject
+
+/**
+ 初始化SDK
+ @param appKey 接入方在账号平台领取的appKey
+ @param appSecrect 接入方在账号平台领取的appSecrect
+ */
++ (void)initWithSelfKey:(NSString *)appKey
+              appSecret:(NSString *)appSecrect;
+
+
+/**
+ 默认为正式环境的bundleID,需要使用测试环境的bundleID(企业证书重签名),请添加这个方法,在发布APP的时候请确保没有使用该方法。
+ */
+
++(void)setTestBundleId;
+
+/**
+ *@description 预取号
+  @param apiTimeoutInterval 接口超时时间,传0或者小于0的数,则默认为3s
+*/
+
++ (void)getMobileCodeWithTimeout:(NSTimeInterval)apiTimeoutInterval
+           completion:(nonnull successHandler)completion
+              failure:(nonnull failureHandler)fail;
+/**
+ *@description 校验
+ @param apiTimeoutInterval 接口超时时间,传0或者小于0的数,则默认为3s
+ */
+
++ (void)getVerificationCodeWithTimeout:(NSTimeInterval)apiTimeoutInterval
+                            completion:(nonnull successHandler)completion
+                               failure:(nonnull failureHandler)fail;
+/**
+ *@description 网络认证
+ *@param accessCode 预取号获取d的accessCode
+ */
++ (void)gatewayAuthWithAccessCode:(NSString*)accessCode
+                 timeoutInterval:(NSTimeInterval)apiTimeoutInterval
+           completion:(nonnull successHandler)completion
+              failure:(nonnull failureHandler)fail;
+
+
+@end
+
+NS_ASSUME_NONNULL_END

二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/EAccountApiSDK.framework/Info.plist


二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/HTMLResource.bundle/borrow_arrowleft.png


二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/HTMLResource.bundle/borrow_arrowleft@2x.png


二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/HTMLResource.bundle/e.png


二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/HTMLResource.bundle/topIcon-default.png


+ 44 - 0
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/OAuth.framework/Headers/OAuthManager.h

@@ -0,0 +1,44 @@
+
+#import <Foundation/Foundation.h>
+#import <UIKit/UIKit.h>
+#import "ResultListener.h"
+
+
+@interface OAuthManager : NSObject
+
+
++ (instancetype)getInstance:(NSString*) apiKey pubKey:(NSString*)pubKey;
+
+//免密登录初始化
+-(void) registerApp;
+
+//预取号
+-(void) getAccessToken:(double) timeout listener:(resultListener)listener;
+
+//免密登录
+-(void) login :(UIViewController*)uiController listener:(resultListener) listener timeout:(double)timeout;
+
+//获取用户信息
+-(void) user:(NSString *) accessToken listener:(resultListener) listener;
+
+//修改UI
+-(void) customUIWithParams:(NSDictionary *)customUIParams customViews:(void(^)(UIView                                                                              *customAreaView))customViews;
+//自定义跳转
+-(void)setLoginSuccessPage:(UIViewController *)uiController;
+
+//获取AccessCode
+-(void) getAccessCode :(resultListener) listener timeout:(double)timeout;
+
+//认证手机号
+-(void) oauth:(NSString*)mobile accessCode:(NSString*)accessCode listener:(resultListener) listener;
+
+
+/**
+ *  是否使用测试环境
+ *
+ *  @param isDebug true/false
+ */
+- (void) setDebug:(Boolean) isDebug ;
+
+- (void) isLog:(Boolean) isLog;
+@end

+ 14 - 0
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/OAuth.framework/Headers/ResultListener.h

@@ -0,0 +1,14 @@
+//
+//  ResultListener.h
+//  OAuthSDKApp
+//
+//  Created by zhangQY on 2018/8/31.
+//  Copyright © 2018年 com.zzx.sdk.ios.test. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+
+@interface ResultListener : NSObject
+typedef void (^resultListener)(NSDictionary *data);
+@end

二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/OAuth.framework/Info.plist


二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/OAuth.framework/OAuth


二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/OAuth.framework/_CodeSignature/CodeDirectory


二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/OAuth.framework/_CodeSignature/CodeRequirements


二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/OAuth.framework/_CodeSignature/CodeRequirements-1


+ 151 - 0
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/OAuth.framework/_CodeSignature/CodeResources

@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>files</key>
+	<dict>
+		<key>Headers/OAuthManager.h</key>
+		<data>
+		Bl5T/7hExHX1Q7Bpn9IzaJw4bhU=
+		</data>
+		<key>Headers/ResultListener.h</key>
+		<data>
+		Ee6MfVyztZ/7SUwhawdG90nwqMI=
+		</data>
+		<key>Info.plist</key>
+		<data>
+		4Y2/pbEm4D5o19kQYRiD9MeccXQ=
+		</data>
+	</dict>
+	<key>files2</key>
+	<dict>
+		<key>Headers/OAuthManager.h</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			Bl5T/7hExHX1Q7Bpn9IzaJw4bhU=
+			</data>
+			<key>hash2</key>
+			<data>
+			KkY65vwOQ6yTNXW7nORSoHn65r2rykqqX2vMiba2+eY=
+			</data>
+		</dict>
+		<key>Headers/ResultListener.h</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			Ee6MfVyztZ/7SUwhawdG90nwqMI=
+			</data>
+			<key>hash2</key>
+			<data>
+			j9R29SkT+YMA4jE9viuuMnvox1ef/vqDXhGWizweu4I=
+			</data>
+		</dict>
+	</dict>
+	<key>rules</key>
+	<dict>
+		<key>^</key>
+		<true/>
+		<key>^.*\.lproj/</key>
+		<dict>
+			<key>optional</key>
+			<true/>
+			<key>weight</key>
+			<real>1000</real>
+		</dict>
+		<key>^.*\.lproj/locversion.plist$</key>
+		<dict>
+			<key>omit</key>
+			<true/>
+			<key>weight</key>
+			<real>1100</real>
+		</dict>
+		<key>^Base\.lproj/</key>
+		<dict>
+			<key>weight</key>
+			<real>1010</real>
+		</dict>
+		<key>^version.plist$</key>
+		<true/>
+	</dict>
+	<key>rules2</key>
+	<dict>
+		<key>.*\.dSYM($|/)</key>
+		<dict>
+			<key>weight</key>
+			<real>11</real>
+		</dict>
+		<key>^</key>
+		<dict>
+			<key>weight</key>
+			<real>20</real>
+		</dict>
+		<key>^(.*/)?\.DS_Store$</key>
+		<dict>
+			<key>omit</key>
+			<true/>
+			<key>weight</key>
+			<real>2000</real>
+		</dict>
+		<key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key>
+		<dict>
+			<key>nested</key>
+			<true/>
+			<key>weight</key>
+			<real>10</real>
+		</dict>
+		<key>^.*</key>
+		<true/>
+		<key>^.*\.lproj/</key>
+		<dict>
+			<key>optional</key>
+			<true/>
+			<key>weight</key>
+			<real>1000</real>
+		</dict>
+		<key>^.*\.lproj/locversion.plist$</key>
+		<dict>
+			<key>omit</key>
+			<true/>
+			<key>weight</key>
+			<real>1100</real>
+		</dict>
+		<key>^Base\.lproj/</key>
+		<dict>
+			<key>weight</key>
+			<real>1010</real>
+		</dict>
+		<key>^Info\.plist$</key>
+		<dict>
+			<key>omit</key>
+			<true/>
+			<key>weight</key>
+			<real>20</real>
+		</dict>
+		<key>^PkgInfo$</key>
+		<dict>
+			<key>omit</key>
+			<true/>
+			<key>weight</key>
+			<real>20</real>
+		</dict>
+		<key>^[^/]+$</key>
+		<dict>
+			<key>nested</key>
+			<true/>
+			<key>weight</key>
+			<real>10</real>
+		</dict>
+		<key>^embedded\.provisionprofile$</key>
+		<dict>
+			<key>weight</key>
+			<real>20</real>
+		</dict>
+		<key>^version\.plist$</key>
+		<dict>
+			<key>weight</key>
+			<real>20</real>
+		</dict>
+	</dict>
+</dict>
+</plist>

二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/OAuth.framework/_CodeSignature/CodeSignature


二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/TYRZResource.bundle/checked.png


二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/TYRZResource.bundle/checked@2x.png


二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/TYRZResource.bundle/delete.png


二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/TYRZResource.bundle/left_arrow.png


二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/TYRZResource.bundle/left_icon.png


二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/TYRZResource.bundle/left_icon@2x.png


二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/TYRZResource.bundle/logo.png


二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/TYRZResource.bundle/unchecked.png


+ 16 - 0
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/TYRZSDK.framework/Headers/TYRZSDK.h

@@ -0,0 +1,16 @@
+//
+//  TYRZSDK.h
+//  TYRZSDK
+//
+//  Created by 林涛 on 2017/6/27.
+//  Copyright © 2017年 林涛. All rights reserved.
+//
+
+#ifndef TYRZSDK_h
+#define TYRZSDK_h
+
+
+#import "TYRZUILogin.h"
+
+
+#endif /* TYRZSDK_h */

+ 87 - 0
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/TYRZSDK.framework/Headers/TYRZUILogin.h

@@ -0,0 +1,87 @@
+//
+//  TYRZUILogin.h
+//  TYRZ
+//
+//  Created by 林涛 on 2017/6/21.
+//  Copyright © 2017年 林涛. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+#import "UACustomModel.h"
+
+@interface TYRZUILogin : NSObject
+
+/**
+ SDK版本号
+ */
+@property (nonatomic,class,readonly) NSString *sdkVersion;
+
+/**
+ 网络类型及运营商
+ 网络类型  key:networkType    value:0.无网络/ 1.数据流量 / 2.wifi / 3.数据+wifi
+ 运营商   key:operatorType         value:0.未知 / 1.中国移动 / 2.中国联通 / 3.中国电信
+ */
+@property (nonatomic,class,readonly) NSDictionary *networkType;
+
+/**
+ 初始化SDK参数
+ @param appId 申请能力平台成功后,分配给网站的appId
+ @param appKey 申请能力平台成功后,分配给网站的appKey
+ */
++ (void)initializeWithAppId:(NSString *)appId appKey:(NSString *)appKey;
+
+/**
+ 控制台日志输出控制(默认关闭)
+ @param enable 开关参数
+ */
++ (void)printConsoleEnable:(BOOL)enable;
+
+/**
+ 自定义UI样式参数
+ @param viewModel UI实例Model(UACustomModel.h可查看属性)
+ @param customViews 自定义视图
+ */
++ (void)customUIWithParams:(UACustomModel *)viewModel
+               customViews:(void(^)(UIView *customAreaView))customViews;
+
+/**
+ 自定义短信验证码开关
+ @param flag 开关标记
+ */
++ (void)enableCustomSMS:(BOOL)flag;
+
+
+/**
+ 预取号
+ @param timeout 超时时间(毫秒)
+ @param complete 回调
+ */
++ (void)getPhonenumberWithTimeout:(NSTimeInterval)timeout
+                          completion:(void(^)(id sender))complete;
+
+
+/**
+ 授权登录
+ @param vc 当前控制器
+ @param timeout 超时时间(毫秒)
+ @param complete 回调
+ */
++ (void)getAuthorizationWithController:(UIViewController *)vc
+                          timeout:(NSTimeInterval)timeout
+                         complete:(void (^)(id sender))complete;
+
+/**
+ 本机号码校验
+ @param timeout 超时时间(毫秒)
+ @param complete 回调
+ */
++ (void)mobileAuthWithTimeout:(NSTimeInterval)timeout
+                      complete:(void (^)(id sender))complete;
+
+/**
+ 删除内存中的缓存
+ */
+
++(BOOL)delectScrip;
+
+@end

+ 117 - 0
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/TYRZSDK.framework/Headers/UACustomModel.h

@@ -0,0 +1,117 @@
+//
+//  UACustomModel.h
+//  Test
+//
+//  Created by issuser on 2018/5/18.
+//  Copyright © 2018年 林涛. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+@interface UACustomModel : NSObject
+
+/**
+ SDK5.3.8版本注意事项:
+ 授权页面的各个控件的Y轴默认值都是以375*667屏幕为基准 系数 : 当前屏幕高度/667
+ 1、当设置Y轴并有效时 偏移量OffsetY属于相对导航栏的绝对Y值
+ 2、(负数且超出当前屏幕无效)为保证各个屏幕适配,请自行设置好Y轴在屏幕上的比例(推荐:当前屏幕高度/667)
+ */
+
+/*----------------------------------------授权页面-----------------------------------*/
+
+//MARK:导航栏*************
+
+/**导航栏颜色*/
+@property (nonatomic,strong) UIColor *navColor;
+/**状态栏着色样式*/
+@property (nonatomic,assign) UIBarStyle barStyle;
+/**导航栏标题*/
+@property (nonatomic,strong) NSAttributedString *navText;
+/**导航返回图标*/
+@property (nonatomic,strong) UIImage *navReturnImg;
+/**导航栏右侧自定义控件*/
+@property (nonatomic,strong) UIBarButtonItem *navControl;
+
+//MARK:图片设置************
+
+/**LOGO图片*/
+@property (nonatomic,strong) UIImage *logoImg;
+/**LOGO图片宽度*/
+@property (nonatomic,assign) CGFloat logoWidth;
+/**LOGO图片高度*/
+@property (nonatomic,assign) CGFloat logoHeight;
+/**LOGO图片偏移量*/
+@property (nonatomic,assign) CGFloat logoOffsetY;
+/**LOGO图片隐藏*/
+@property (nonatomic,assign) BOOL logoHidden;
+
+//MARK:登录按钮************
+
+/**登录按钮文本*/
+@property (nonatomic,strong) NSString *logBtnText;
+/**登录按钮Y偏移量*/
+@property (nonatomic,assign) CGFloat logBtnOffsetY;
+/**登录按钮文本颜色*/
+@property (nonatomic,strong) UIColor *logBtnTextColor;
+/**登录按钮背景图片添加到数组(顺序如下)
+ @[激活状态的图片,失效状态的图片,高亮状态的图片]
+*/
+@property (nonatomic,strong) NSArray *logBtnImgs;
+
+//MARK:号码框设置************
+
+/**显示旧版号码栏样式*/
+@property (nonatomic,assign) BOOL oldStyle;
+/**手机号码字体颜色*/
+@property (nonatomic,strong) UIColor *numberColor;
+/**隐藏切换账号按钮*/
+@property (nonatomic,assign) BOOL swithAccHidden;
+/**切换账号字体颜色*/
+@property (nonatomic,strong) UIColor *swithAccTextColor;
+/**设置切换账号相对于标题栏下边缘y偏移*/
+@property (nonatomic,assign) CGFloat switchOffsetY;
+/**号码栏Y偏移量*/
+@property (nonatomic,assign) CGFloat numFieldOffsetY;
+
+//MARK:隐私条款************
+
+/**复选框未选中时图片*/
+@property (nonatomic,strong) UIImage *uncheckedImg;
+/**复选框选中时图片*/
+@property (nonatomic,strong) UIImage *checkedImg;
+/**隐私条款一:数组(务必按顺序)
+ @[条款名称,条款链接]
+ */
+@property (nonatomic,strong) NSArray *appPrivacyOne;
+/**隐私条款二:数组(务必按顺序)
+ @[条款名称,条款链接]
+ */
+@property (nonatomic,strong) NSArray *appPrivacyTow;
+/**隐私条款名称颜色
+ @[基础文字颜色,条款颜色]
+ */
+@property (nonatomic,strong) NSArray *appPrivacyColor;
+/**隐私条款Y偏移量(注:此属性为与屏幕底部的距离)*/
+@property (nonatomic,assign) CGFloat privacyOffsetY;
+
+//MARK:底部标识Title************
+
+/**slogan偏移量Y*/
+@property (nonatomic,assign) CGFloat sloganOffsetY;
+/**slogan文字颜色*/
+@property (nonatomic,strong) UIColor *sloganTextColor;
+
+/*----------------------------------------短信页面-----------------------------------*/
+/**短验页面导航栏标题*/
+@property (nonatomic,strong) NSAttributedString *SMSNavText;
+/**登录按钮文本内容*/
+@property (nonatomic,strong) NSString *SMSLogBtnText;
+/**登录按钮文本颜色*/
+@property (nonatomic,strong) UIColor *SMSLogBtnTextColor;
+/**短验登录按钮图片请按顺序添加到数组(顺序如下)
+ @[激活状态的图片,失效状态的图片,高亮状态的图片]
+
+ */
+@property (nonatomic,strong) NSArray *SMSLogBtnImgs;
+
+@end

二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/TYRZSDK.framework/Info.plist


+ 6 - 0
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/TYRZSDK.framework/Modules/module.modulemap

@@ -0,0 +1,6 @@
+framework module TYRZSDK {
+  umbrella header "TYRZSDK.h"
+
+  export *
+  module * { export * }
+}

二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/TYRZSDK.framework/TYRZSDK


+ 28 - 0
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/account_login_sdk_core.framework/Headers/UniAuthHelper.h

@@ -0,0 +1,28 @@
+//
+//  UniAuthHelper.h
+//  account_verify_sdk_core
+//
+//  Created by zhuof on 2018/3/8.
+//  Copyright © 2018年 xiaowo. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import "UniResultListener.h"
+#import <UIKit/UIKit.h>
+
+@interface UniAuthHelper : NSObject
+
++(UniAuthHelper *) getInstance;
+
+-(void) registerAppId:(NSString *)appId appSecret:(NSString *)AppSecret;
+
+-(void) getAccessCode:(double)timeout listener:(UniResultListener) listener;
+
+-(void) login : (UIViewController*)uiController timeout:(double)timeout listener:(UniResultListener) listener;
+
+-(void)customUIWithParams:(NSDictionary *)customUIParams customViews:(void(^)(UIView                                                                              *customAreaView))customViews;
+
+
+-(void)setLoginSuccessPage:(UIViewController *)uiController;
+
+@end

+ 11 - 0
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/account_login_sdk_core.framework/Headers/UniResultListener.h

@@ -0,0 +1,11 @@
+//
+//  UniResultListener.h
+//  account_verify_sdk_core
+//
+//  Created by zhuof on 2018/3/7.
+//  Copyright © 2018年 xiaowo. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+typedef void (^UniResultListener)(NSDictionary *data);

+ 19 - 0
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/account_login_sdk_core.framework/Headers/account_login_sdk_core.h

@@ -0,0 +1,19 @@
+//
+//  account_login_sdk_core.h
+//  account_login_sdk_core
+//
+//  Created by zhuof on 2018/3/19.
+//  Copyright © 2018年 xiaowo. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+//! Project version number for account_login_sdk_core.
+FOUNDATION_EXPORT double account_login_sdk_coreVersionNumber;
+
+//! Project version string for account_login_sdk_core.
+FOUNDATION_EXPORT const unsigned char account_login_sdk_coreVersionString[];
+
+// In this header, you should import all the public headers of your framework using statements like #import <account_login_sdk_core/PublicHeader.h>
+
+#import <account_login_sdk_core/UniAuthHelper.h>

二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/account_login_sdk_core.framework/Info.plist


+ 6 - 0
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/account_login_sdk_core.framework/Modules/module.modulemap

@@ -0,0 +1,6 @@
+framework module account_login_sdk_core {
+  umbrella header "account_login_sdk_core.h"
+
+  export *
+  module * { export * }
+}

二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/account_login_sdk_core.framework/_CodeSignature/CodeDirectory


二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/account_login_sdk_core.framework/_CodeSignature/CodeRequirements


二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/account_login_sdk_core.framework/_CodeSignature/CodeRequirements-1


+ 181 - 0
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/account_login_sdk_core.framework/_CodeSignature/CodeResources

@@ -0,0 +1,181 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>files</key>
+	<dict>
+		<key>Headers/UniAuthHelper.h</key>
+		<data>
+		OrFNgjZTT531p+hZ4/0DbJr9tAM=
+		</data>
+		<key>Headers/UniResultListener.h</key>
+		<data>
+		PE4jdGvqdR40xovkS5m/6uOtA7k=
+		</data>
+		<key>Headers/account_login_sdk_core.h</key>
+		<data>
+		vjTt6SVKe0wDXHSR64n6g6ZBueI=
+		</data>
+		<key>Info.plist</key>
+		<data>
+		hYIDXy1HTrkKSzLgdM7R1+PWvxw=
+		</data>
+		<key>Modules/module.modulemap</key>
+		<data>
+		S7FOWgUo2dktzBDFmoK42ko/68U=
+		</data>
+	</dict>
+	<key>files2</key>
+	<dict>
+		<key>Headers/UniAuthHelper.h</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			OrFNgjZTT531p+hZ4/0DbJr9tAM=
+			</data>
+			<key>hash2</key>
+			<data>
+			RRxXMukHfZjNKXl5FrFpVIj2ytVvnAaAuSkApQ3r2eo=
+			</data>
+		</dict>
+		<key>Headers/UniResultListener.h</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			PE4jdGvqdR40xovkS5m/6uOtA7k=
+			</data>
+			<key>hash2</key>
+			<data>
+			+605DA9F23y6TA3bftRQMreIE9OYaSP33XeC/kMrLcU=
+			</data>
+		</dict>
+		<key>Headers/account_login_sdk_core.h</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			vjTt6SVKe0wDXHSR64n6g6ZBueI=
+			</data>
+			<key>hash2</key>
+			<data>
+			Mk5Hr04lchUv+llad1Dz/rbR1aZvwEPIYqXDvqCSmDg=
+			</data>
+		</dict>
+		<key>Modules/module.modulemap</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			S7FOWgUo2dktzBDFmoK42ko/68U=
+			</data>
+			<key>hash2</key>
+			<data>
+			m+CTUm7X+hoI3H2Ii/uub6LRtnOcl/Y0a2t+phYqpIc=
+			</data>
+		</dict>
+	</dict>
+	<key>rules</key>
+	<dict>
+		<key>^</key>
+		<true/>
+		<key>^.*\.lproj/</key>
+		<dict>
+			<key>optional</key>
+			<true/>
+			<key>weight</key>
+			<real>1000</real>
+		</dict>
+		<key>^.*\.lproj/locversion.plist$</key>
+		<dict>
+			<key>omit</key>
+			<true/>
+			<key>weight</key>
+			<real>1100</real>
+		</dict>
+		<key>^Base\.lproj/</key>
+		<dict>
+			<key>weight</key>
+			<real>1010</real>
+		</dict>
+		<key>^version.plist$</key>
+		<true/>
+	</dict>
+	<key>rules2</key>
+	<dict>
+		<key>.*\.dSYM($|/)</key>
+		<dict>
+			<key>weight</key>
+			<real>11</real>
+		</dict>
+		<key>^</key>
+		<dict>
+			<key>weight</key>
+			<real>20</real>
+		</dict>
+		<key>^(.*/)?\.DS_Store$</key>
+		<dict>
+			<key>omit</key>
+			<true/>
+			<key>weight</key>
+			<real>2000</real>
+		</dict>
+		<key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key>
+		<dict>
+			<key>nested</key>
+			<true/>
+			<key>weight</key>
+			<real>10</real>
+		</dict>
+		<key>^.*</key>
+		<true/>
+		<key>^.*\.lproj/</key>
+		<dict>
+			<key>optional</key>
+			<true/>
+			<key>weight</key>
+			<real>1000</real>
+		</dict>
+		<key>^.*\.lproj/locversion.plist$</key>
+		<dict>
+			<key>omit</key>
+			<true/>
+			<key>weight</key>
+			<real>1100</real>
+		</dict>
+		<key>^Base\.lproj/</key>
+		<dict>
+			<key>weight</key>
+			<real>1010</real>
+		</dict>
+		<key>^Info\.plist$</key>
+		<dict>
+			<key>omit</key>
+			<true/>
+			<key>weight</key>
+			<real>20</real>
+		</dict>
+		<key>^PkgInfo$</key>
+		<dict>
+			<key>omit</key>
+			<true/>
+			<key>weight</key>
+			<real>20</real>
+		</dict>
+		<key>^[^/]+$</key>
+		<dict>
+			<key>nested</key>
+			<true/>
+			<key>weight</key>
+			<real>10</real>
+		</dict>
+		<key>^embedded\.provisionprofile$</key>
+		<dict>
+			<key>weight</key>
+			<real>20</real>
+		</dict>
+		<key>^version\.plist$</key>
+		<dict>
+			<key>weight</key>
+			<real>20</real>
+		</dict>
+	</dict>
+</dict>
+</plist>

+ 0 - 0
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/account_login_sdk_core.framework/_CodeSignature/CodeSignature


二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/account_login_sdk_core.framework/account_login_sdk_core


+ 19 - 0
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/account_verify_sdk_core.framework/Headers/UnivAuthHelper.h

@@ -0,0 +1,19 @@
+//
+//  UnivAuthHelper.h
+//  account_verify_sdk_core
+//
+//  Created by zhuof on 2018/3/8.
+//  Copyright © 2018年 xiaowo. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+typedef void (^UnivResultListener)(NSDictionary *data);
+
+@interface UnivAuthHelper : NSObject
+
++(UnivAuthHelper *) getInstance;
+
+-(void) getAccessCode :(NSString*) appId appSecret:(NSString*) appSecret timeout:(double)timeout listener:(UnivResultListener) listener;
+
+@end

+ 19 - 0
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/account_verify_sdk_core.framework/Headers/account_verify_sdk_core.h

@@ -0,0 +1,19 @@
+//
+//  account_verify_sdk_core.h
+//  account_verify_sdk_core
+//
+//  Created by zhuof on 2018/3/5.
+//  Copyright © 2018年 xiaowo. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+//! Project version number for account_verify_sdk_core.
+FOUNDATION_EXPORT double account_verify_sdk_coreVersionNumber;
+
+//! Project version string for account_verify_sdk_core.
+FOUNDATION_EXPORT const unsigned char account_verify_sdk_coreVersionString[];
+
+// In this header, you should import all the public headers of your framework using statements like #import <account_verify_sdk_core/PublicHeader.h>
+
+#import <account_verify_sdk_core/UnivAuthHelper.h>

二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/account_verify_sdk_core.framework/Info.plist


+ 6 - 0
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/account_verify_sdk_core.framework/Modules/module.modulemap

@@ -0,0 +1,6 @@
+framework module account_verify_sdk_core {
+  umbrella header "account_verify_sdk_core.h"
+
+  export *
+  module * { export * }
+}

二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/account_verify_sdk_core.framework/_CodeSignature/CodeDirectory


二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/account_verify_sdk_core.framework/_CodeSignature/CodeRequirements


二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/account_verify_sdk_core.framework/_CodeSignature/CodeRequirements-1


+ 166 - 0
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/account_verify_sdk_core.framework/_CodeSignature/CodeResources

@@ -0,0 +1,166 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>files</key>
+	<dict>
+		<key>Headers/UnivAuthHelper.h</key>
+		<data>
+		BZYwJY/CFR8VWiHJpVtChOVbc3E=
+		</data>
+		<key>Headers/account_verify_sdk_core.h</key>
+		<data>
+		USneoJZeoUWgEw/eeTg2oy73cHY=
+		</data>
+		<key>Info.plist</key>
+		<data>
+		f5Wy4Ufx9GEWtPcdEWLZ/T4Ng0E=
+		</data>
+		<key>Modules/module.modulemap</key>
+		<data>
+		xP/VG/QE+wm+K7EDLBiGFrfNK9c=
+		</data>
+	</dict>
+	<key>files2</key>
+	<dict>
+		<key>Headers/UnivAuthHelper.h</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			BZYwJY/CFR8VWiHJpVtChOVbc3E=
+			</data>
+			<key>hash2</key>
+			<data>
+			A2FfKVlv2k9f2ntUP/oWwllkjZCFhRifjvIQ3W0YOQQ=
+			</data>
+		</dict>
+		<key>Headers/account_verify_sdk_core.h</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			USneoJZeoUWgEw/eeTg2oy73cHY=
+			</data>
+			<key>hash2</key>
+			<data>
+			vdnnygvrqOnHNvq/NXLu/Y6uQHnDZ4/i8ZSwrV48OnI=
+			</data>
+		</dict>
+		<key>Modules/module.modulemap</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			xP/VG/QE+wm+K7EDLBiGFrfNK9c=
+			</data>
+			<key>hash2</key>
+			<data>
+			cI9/JooMX8ufPD0rpSnBOAb9DYcIwCA2upZoq0KEWzI=
+			</data>
+		</dict>
+	</dict>
+	<key>rules</key>
+	<dict>
+		<key>^</key>
+		<true/>
+		<key>^.*\.lproj/</key>
+		<dict>
+			<key>optional</key>
+			<true/>
+			<key>weight</key>
+			<real>1000</real>
+		</dict>
+		<key>^.*\.lproj/locversion.plist$</key>
+		<dict>
+			<key>omit</key>
+			<true/>
+			<key>weight</key>
+			<real>1100</real>
+		</dict>
+		<key>^Base\.lproj/</key>
+		<dict>
+			<key>weight</key>
+			<real>1010</real>
+		</dict>
+		<key>^version.plist$</key>
+		<true/>
+	</dict>
+	<key>rules2</key>
+	<dict>
+		<key>.*\.dSYM($|/)</key>
+		<dict>
+			<key>weight</key>
+			<real>11</real>
+		</dict>
+		<key>^</key>
+		<dict>
+			<key>weight</key>
+			<real>20</real>
+		</dict>
+		<key>^(.*/)?\.DS_Store$</key>
+		<dict>
+			<key>omit</key>
+			<true/>
+			<key>weight</key>
+			<real>2000</real>
+		</dict>
+		<key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key>
+		<dict>
+			<key>nested</key>
+			<true/>
+			<key>weight</key>
+			<real>10</real>
+		</dict>
+		<key>^.*</key>
+		<true/>
+		<key>^.*\.lproj/</key>
+		<dict>
+			<key>optional</key>
+			<true/>
+			<key>weight</key>
+			<real>1000</real>
+		</dict>
+		<key>^.*\.lproj/locversion.plist$</key>
+		<dict>
+			<key>omit</key>
+			<true/>
+			<key>weight</key>
+			<real>1100</real>
+		</dict>
+		<key>^Base\.lproj/</key>
+		<dict>
+			<key>weight</key>
+			<real>1010</real>
+		</dict>
+		<key>^Info\.plist$</key>
+		<dict>
+			<key>omit</key>
+			<true/>
+			<key>weight</key>
+			<real>20</real>
+		</dict>
+		<key>^PkgInfo$</key>
+		<dict>
+			<key>omit</key>
+			<true/>
+			<key>weight</key>
+			<real>20</real>
+		</dict>
+		<key>^[^/]+$</key>
+		<dict>
+			<key>nested</key>
+			<true/>
+			<key>weight</key>
+			<real>10</real>
+		</dict>
+		<key>^embedded\.provisionprofile$</key>
+		<dict>
+			<key>weight</key>
+			<real>20</real>
+		</dict>
+		<key>^version\.plist$</key>
+		<dict>
+			<key>weight</key>
+			<real>20</real>
+		</dict>
+	</dict>
+</dict>
+</plist>

+ 0 - 0
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/account_verify_sdk_core.framework/_CodeSignature/CodeSignature


二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/account_verify_sdk_core.framework/account_verify_sdk_core


二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/uni_account_login_sdk_res.bundle/Info.plist


二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/uni_account_login_sdk_res.bundle/UniCommonView.storyboardc/5gE-Be-tHi-view-4kc-yp-R9q.nib


二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/uni_account_login_sdk_res.bundle/UniCommonView.storyboardc/8b4-vW-le4-view-BAw-42-mkZ.nib


二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/uni_account_login_sdk_res.bundle/UniCommonView.storyboardc/8mR-US-aeI-view-Acj-Ks-9bH.nib


二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/uni_account_login_sdk_res.bundle/UniCommonView.storyboardc/Info.plist


二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/uni_account_login_sdk_res.bundle/UniCommonView.storyboardc/XtT-wr-pY4-view-knd-DN-C6b.nib


二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/uni_account_login_sdk_res.bundle/UniCommonView.storyboardc/error.nib


二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/uni_account_login_sdk_res.bundle/UniCommonView.storyboardc/help.nib


二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/uni_account_login_sdk_res.bundle/UniCommonView.storyboardc/lPW-FD-x2u-view-6L6-Mx-T3G.nib


二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/uni_account_login_sdk_res.bundle/UniCommonView.storyboardc/loading.nib


二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/uni_account_login_sdk_res.bundle/UniCommonView.storyboardc/quicklogin.nib


二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/uni_account_login_sdk_res.bundle/UniCommonView.storyboardc/useragreement.nib


二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/uni_account_login_sdk_res.bundle/_CodeSignature/CodeDirectory


二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/uni_account_login_sdk_res.bundle/_CodeSignature/CodeRequirements


二進制
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/uni_account_login_sdk_res.bundle/_CodeSignature/CodeRequirements-1


+ 0 - 0
RainbowPlanet/RainbowPlanet/Lib/ShanYanSDK/uni_account_login_sdk_res.bundle/_CodeSignature/CodeResources


Some files were not shown because too many files changed in this diff