杨锴
2025-05-11 7453d2d0cef415b34323d1b91e6cfa4a6ba31178
fix bug
20个文件已修改
2个文件已添加
792 ■■■■ 已修改文件
.gitignore 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Podfile.lock 493 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai.xcodeproj/project.pbxproj 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/AppDelegate.swift 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Base/BaseVC.swift 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Config/Enums.swift 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Network/Services.swift 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Root/CardCenter/VC/CardCenterAddUserVC.swift 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Root/CardCenter/VC/CardCenterAddUserVC.xib 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Root/CardCenter/VC/CardCenterDetailVC.swift 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Root/CardCenter/VC/CardCenterVC.swift 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Root/CardCenter/View/CardCenterSheetView.swift 40 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Root/CardCenter/View/CardCenterSheetView.xib 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Root/Course/VC/AddStudentVC.swift 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Root/Home/VC/HomeVC.swift 64 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Root/Other/VC/PaymentResultVC.swift 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Root/Other/View/StudentChoose3View.swift 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Root/Search/TCell/MyCardTCell.swift 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Root/Search/TCell/MyCardTCell.xib 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Root/Search/VC/MyCardItemVC.swift 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Root/Search/VC/MyCardListVC.swift 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Root/Search/VC/SearchVC.swift 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.gitignore
New file
@@ -0,0 +1,6 @@
WanPai.xcworkspace/xcshareddata
WanPai.xcworkspace/xcuserdata
WanPai.xcodeproj/project.xcworkspace/xcuserdata/yvkd.xcuserdatad
WanPai.xcodeproj/xcshareddata
WanPai.xcodeproj/xcuserdata
.DS_Store
Podfile.lock
New file
@@ -0,0 +1,493 @@
PODS:
  - Alamofire (5.7.1)
  - AlipaySDK-iOS (15.8.11)
  - AliyunOSSiOS (2.10.18)
  - AMap2DMap-NO-IDFA (5.6.1):
    - AMapFoundation-NO-IDFA (~> 1.4)
  - AMapFoundation-NO-IDFA (1.8.2)
  - CocoaAsyncSocket (7.6.5)
  - CryptoSwift (1.8.0)
  - Differentiator (5.0.0)
  - EmptyDataSet-Swift (5.0.0)
  - FFPage (3.0.0)
  - FSCalendar (2.8.4)
  - HandyJSON (5.0.2)
  - IQKeyboardManager (6.5.11)
  - IQKeyboardManagerSwift (6.5.11)
  - JQTools (0.1.5):
    - EmptyDataSet-Swift
    - HandyJSON
    - IQKeyboardManager
    - IQKeyboardManagerSwift
    - MJRefresh
    - ObjectMapper
    - QMUIKit
    - RxCocoa
    - RxDataSources
    - RxSwift
    - SDWebImage
    - SnapKit
    - SVProgressHUD
    - TZImagePickerController
    - UserDefaultsStore (~> 1.5.0)
    - VTMagic
    - XCGLogger
  - Lantern (1.1.4)
  - MJRefresh (3.7.5)
  - ObjcExceptionBridging (1.0.1):
    - ObjcExceptionBridging/ObjcExceptionBridging (= 1.0.1)
  - ObjcExceptionBridging/ObjcExceptionBridging (1.0.1)
  - ObjectMapper (4.2.0)
  - QMUIKit (4.6.3):
    - QMUIKit/QMUIComponents (= 4.6.3)
    - QMUIKit/QMUICore (= 4.6.3)
    - QMUIKit/QMUILog (= 4.6.3)
    - QMUIKit/QMUIMainFrame (= 4.6.3)
    - QMUIKit/QMUIResources (= 4.6.3)
    - QMUIKit/QMUIWeakObjectContainer (= 4.6.3)
  - QMUIKit/QMUIComponents (4.6.3):
    - QMUIKit/QMUIComponents/NavigationBarTransition (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUIAlertController (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUIAnimation (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUIAppearance (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUIAssetLibrary (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUIBadge (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUIButton (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUICAAnimationExtension (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUICALayerExtension (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUICellHeightCache (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUICellHeightKeyCache (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUICellSizeKeyCache (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUICollectionViewPagingLayout (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUIConsole (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUIDialogViewController (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUIEmotionInputManager (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUIEmotionView (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUIEmptyView (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUIFloatLayoutView (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUIGridView (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUIImagePickerLibrary (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUIImagePreviewView (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUIKeyboardManager (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUILabel (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUILogManagerViewController (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUILogWithConfigurationSupported (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUIMarqueeLabel (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUIModalPresentationViewController (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUIMoreOperationController (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUIMultipleDelegates (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUINavigationButton (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUINavigationTitleView (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUIOrderedDictionary (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUIPieProgressView (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUIPopupContainerView (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUIPopupMenuView (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUIScrollAnimator (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUISearchBar (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUISearchController (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUISegmentedControl (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUIStaticTableView (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUITableView (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUITableViewCell (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUITableViewHeaderFooterView (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUITableViewProtocols (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUITestView (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUITextField (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUITextView (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUITheme (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUITips (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUIToastView (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUIToolbarButton (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUIWindowSizeMonitor (= 4.6.3)
    - QMUIKit/QMUIComponents/QMUIZoomImageView (= 4.6.3)
    - QMUIKit/QMUICore
  - QMUIKit/QMUIComponents/NavigationBarTransition (4.6.3):
    - QMUIKit/QMUIComponents/QMUINavigationTitleView
    - QMUIKit/QMUICore
    - QMUIKit/QMUIMainFrame
  - QMUIKit/QMUIComponents/QMUIAlertController (4.6.3):
    - QMUIKit/QMUIComponents/QMUIAppearance
    - QMUIKit/QMUIComponents/QMUIButton
    - QMUIKit/QMUIComponents/QMUIKeyboardManager
    - QMUIKit/QMUIComponents/QMUILabel
    - QMUIKit/QMUIComponents/QMUIModalPresentationViewController
    - QMUIKit/QMUIComponents/QMUITextField
    - QMUIKit/QMUICore
  - QMUIKit/QMUIComponents/QMUIAnimation (4.6.3):
    - QMUIKit/QMUICore
  - QMUIKit/QMUIComponents/QMUIAppearance (4.6.3):
    - QMUIKit/QMUICore
  - QMUIKit/QMUIComponents/QMUIAssetLibrary (4.6.3):
    - QMUIKit/QMUICore
  - QMUIKit/QMUIComponents/QMUIBadge (4.6.3):
    - QMUIKit/QMUIComponents/QMUILabel
    - QMUIKit/QMUICore
  - QMUIKit/QMUIComponents/QMUIButton (4.6.3):
    - QMUIKit/QMUICore
  - QMUIKit/QMUIComponents/QMUICAAnimationExtension (4.6.3):
    - QMUIKit/QMUIComponents/QMUIMultipleDelegates
    - QMUIKit/QMUICore
  - QMUIKit/QMUIComponents/QMUICALayerExtension (4.6.3):
    - QMUIKit/QMUIComponents/QMUIMultipleDelegates
    - QMUIKit/QMUICore
  - QMUIKit/QMUIComponents/QMUICellHeightCache (4.6.3):
    - QMUIKit/QMUIComponents/QMUITableViewProtocols
    - QMUIKit/QMUICore
  - QMUIKit/QMUIComponents/QMUICellHeightKeyCache (4.6.3):
    - QMUIKit/QMUIComponents/QMUIMultipleDelegates
    - QMUIKit/QMUIComponents/QMUITableViewProtocols
    - QMUIKit/QMUICore
  - QMUIKit/QMUIComponents/QMUICellSizeKeyCache (4.6.3):
    - QMUIKit/QMUIComponents/QMUIMultipleDelegates
    - QMUIKit/QMUICore
  - QMUIKit/QMUIComponents/QMUICollectionViewPagingLayout (4.6.3):
    - QMUIKit/QMUICore
  - QMUIKit/QMUIComponents/QMUIConsole (4.6.3):
    - QMUIKit/QMUIComponents/QMUIButton
    - QMUIKit/QMUIComponents/QMUICAAnimationExtension
    - QMUIKit/QMUIComponents/QMUICellHeightKeyCache
    - QMUIKit/QMUIComponents/QMUIPopupMenuView
    - QMUIKit/QMUIComponents/QMUITableView
    - QMUIKit/QMUIComponents/QMUITableViewCell
    - QMUIKit/QMUIComponents/QMUITextField
    - QMUIKit/QMUIComponents/QMUITextView
    - QMUIKit/QMUICore
    - QMUIKit/QMUIResources
  - QMUIKit/QMUIComponents/QMUIDialogViewController (4.6.3):
    - QMUIKit/QMUIComponents/QMUIAppearance
    - QMUIKit/QMUIComponents/QMUIButton
    - QMUIKit/QMUIComponents/QMUILabel
    - QMUIKit/QMUIComponents/QMUIModalPresentationViewController
    - QMUIKit/QMUIComponents/QMUINavigationTitleView
    - QMUIKit/QMUIComponents/QMUITableView
    - QMUIKit/QMUIComponents/QMUITableViewCell
    - QMUIKit/QMUIComponents/QMUITextField
    - QMUIKit/QMUICore
    - QMUIKit/QMUIMainFrame
  - QMUIKit/QMUIComponents/QMUIEmotionInputManager (4.6.3):
    - QMUIKit/QMUIComponents/QMUIEmotionView
    - QMUIKit/QMUICore
  - QMUIKit/QMUIComponents/QMUIEmotionView (4.6.3):
    - QMUIKit/QMUIComponents/QMUIButton
    - QMUIKit/QMUICore
    - QMUIKit/QMUIResources
  - QMUIKit/QMUIComponents/QMUIEmptyView (4.6.3):
    - QMUIKit/QMUIComponents/QMUIAppearance
    - QMUIKit/QMUIComponents/QMUIButton
    - QMUIKit/QMUICore
  - QMUIKit/QMUIComponents/QMUIFloatLayoutView (4.6.3):
    - QMUIKit/QMUICore
  - QMUIKit/QMUIComponents/QMUIGridView (4.6.3):
    - QMUIKit/QMUICore
  - QMUIKit/QMUIComponents/QMUIImagePickerLibrary (4.6.3):
    - QMUIKit/QMUIComponents/QMUIAlertController
    - QMUIKit/QMUIComponents/QMUIAppearance
    - QMUIKit/QMUIComponents/QMUIAssetLibrary
    - QMUIKit/QMUIComponents/QMUIButton
    - QMUIKit/QMUIComponents/QMUIEmptyView
    - QMUIKit/QMUIComponents/QMUIImagePreviewView
    - QMUIKit/QMUIComponents/QMUINavigationButton
    - QMUIKit/QMUIComponents/QMUITableViewCell
    - QMUIKit/QMUIComponents/QMUIZoomImageView
    - QMUIKit/QMUICore
    - QMUIKit/QMUIMainFrame
    - QMUIKit/QMUIResources
  - QMUIKit/QMUIComponents/QMUIImagePreviewView (4.6.3):
    - QMUIKit/QMUIComponents/QMUIAppearance
    - QMUIKit/QMUIComponents/QMUIButton
    - QMUIKit/QMUIComponents/QMUICollectionViewPagingLayout
    - QMUIKit/QMUIComponents/QMUIEmptyView
    - QMUIKit/QMUIComponents/QMUIPieProgressView
    - QMUIKit/QMUIComponents/QMUIZoomImageView
    - QMUIKit/QMUICore
    - QMUIKit/QMUIMainFrame
  - QMUIKit/QMUIComponents/QMUIKeyboardManager (4.6.3):
    - QMUIKit/QMUIComponents/QMUIAppearance
    - QMUIKit/QMUIComponents/QMUIMultipleDelegates
    - QMUIKit/QMUICore
  - QMUIKit/QMUIComponents/QMUILabel (4.6.3):
    - QMUIKit/QMUICore
  - QMUIKit/QMUIComponents/QMUILogManagerViewController (4.6.3):
    - QMUIKit/QMUIComponents/QMUIPopupMenuView
    - QMUIKit/QMUIComponents/QMUISearchController
    - QMUIKit/QMUIComponents/QMUIStaticTableView
    - QMUIKit/QMUIComponents/QMUITableView
    - QMUIKit/QMUICore
    - QMUIKit/QMUIMainFrame
  - QMUIKit/QMUIComponents/QMUILogWithConfigurationSupported (4.6.3):
    - QMUIKit/QMUICore
  - QMUIKit/QMUIComponents/QMUIMarqueeLabel (4.6.3):
    - QMUIKit/QMUICore
  - QMUIKit/QMUIComponents/QMUIModalPresentationViewController (4.6.3):
    - QMUIKit/QMUIComponents/QMUIAppearance
    - QMUIKit/QMUIComponents/QMUIKeyboardManager
    - QMUIKit/QMUICore
  - QMUIKit/QMUIComponents/QMUIMoreOperationController (4.6.3):
    - QMUIKit/QMUIComponents/QMUIAppearance
    - QMUIKit/QMUIComponents/QMUIButton
    - QMUIKit/QMUIComponents/QMUIModalPresentationViewController
    - QMUIKit/QMUICore
  - QMUIKit/QMUIComponents/QMUIMultipleDelegates (4.6.3):
    - QMUIKit/QMUICore
  - QMUIKit/QMUIComponents/QMUINavigationButton (4.6.3):
    - QMUIKit/QMUICore
    - QMUIKit/QMUIMainFrame
  - QMUIKit/QMUIComponents/QMUINavigationTitleView (4.6.3):
    - QMUIKit/QMUIComponents/QMUIAppearance
    - QMUIKit/QMUIComponents/QMUIButton
    - QMUIKit/QMUICore
  - QMUIKit/QMUIComponents/QMUIOrderedDictionary (4.6.3):
    - QMUIKit/QMUICore
  - QMUIKit/QMUIComponents/QMUIPieProgressView (4.6.3):
    - QMUIKit/QMUICore
  - QMUIKit/QMUIComponents/QMUIPopupContainerView (4.6.3):
    - QMUIKit/QMUIComponents/QMUIAppearance
    - QMUIKit/QMUICore
    - QMUIKit/QMUIMainFrame
  - QMUIKit/QMUIComponents/QMUIPopupMenuView (4.6.3):
    - QMUIKit/QMUIComponents/QMUIButton
    - QMUIKit/QMUIComponents/QMUIPopupContainerView
    - QMUIKit/QMUICore
  - QMUIKit/QMUIComponents/QMUIScrollAnimator (4.6.3):
    - QMUIKit/QMUIComponents/QMUIMultipleDelegates
    - QMUIKit/QMUICore
  - QMUIKit/QMUIComponents/QMUISearchBar (4.6.3):
    - QMUIKit/QMUICore
  - QMUIKit/QMUIComponents/QMUISearchController (4.6.3):
    - QMUIKit/QMUIComponents/QMUIEmptyView
    - QMUIKit/QMUIComponents/QMUISearchBar
    - QMUIKit/QMUICore
    - QMUIKit/QMUIMainFrame
  - QMUIKit/QMUIComponents/QMUISegmentedControl (4.6.3):
    - QMUIKit/QMUICore
  - QMUIKit/QMUIComponents/QMUIStaticTableView (4.6.3):
    - QMUIKit/QMUIComponents/QMUIMultipleDelegates
    - QMUIKit/QMUIComponents/QMUITableViewCell
    - QMUIKit/QMUICore
  - QMUIKit/QMUIComponents/QMUITableView (4.6.3):
    - QMUIKit/QMUIComponents/QMUITableViewProtocols
    - QMUIKit/QMUICore
  - QMUIKit/QMUIComponents/QMUITableViewCell (4.6.3):
    - QMUIKit/QMUIComponents/QMUIButton
    - QMUIKit/QMUICore
  - QMUIKit/QMUIComponents/QMUITableViewHeaderFooterView (4.6.3):
    - QMUIKit/QMUICore
  - QMUIKit/QMUIComponents/QMUITableViewProtocols (4.6.3):
    - QMUIKit/QMUICore
  - QMUIKit/QMUIComponents/QMUITestView (4.6.3):
    - QMUIKit/QMUICore
  - QMUIKit/QMUIComponents/QMUITextField (4.6.3):
    - QMUIKit/QMUIComponents/QMUIMultipleDelegates
    - QMUIKit/QMUICore
  - QMUIKit/QMUIComponents/QMUITextView (4.6.3):
    - QMUIKit/QMUIComponents/QMUILabel
    - QMUIKit/QMUIComponents/QMUIMultipleDelegates
    - QMUIKit/QMUICore
  - QMUIKit/QMUIComponents/QMUITheme (4.6.3):
    - QMUIKit/QMUIComponents/QMUIAlertController
    - QMUIKit/QMUIComponents/QMUIBadge
    - QMUIKit/QMUIComponents/QMUIButton
    - QMUIKit/QMUIComponents/QMUIConsole
    - QMUIKit/QMUIComponents/QMUIEmotionView
    - QMUIKit/QMUIComponents/QMUIEmptyView
    - QMUIKit/QMUIComponents/QMUIGridView
    - QMUIKit/QMUIComponents/QMUIImagePickerLibrary
    - QMUIKit/QMUIComponents/QMUIImagePreviewView
    - QMUIKit/QMUIComponents/QMUILabel
    - QMUIKit/QMUIComponents/QMUIModalPresentationViewController
    - QMUIKit/QMUIComponents/QMUIPopupContainerView
    - QMUIKit/QMUIComponents/QMUIPopupMenuView
    - QMUIKit/QMUIComponents/QMUITextField
    - QMUIKit/QMUIComponents/QMUITextView
    - QMUIKit/QMUIComponents/QMUIToastView
    - QMUIKit/QMUICore
  - QMUIKit/QMUIComponents/QMUITips (4.6.3):
    - QMUIKit/QMUIComponents/QMUIToastView
    - QMUIKit/QMUICore
    - QMUIKit/QMUIResources
  - QMUIKit/QMUIComponents/QMUIToastView (4.6.3):
    - QMUIKit/QMUIComponents/QMUIKeyboardManager
    - QMUIKit/QMUICore
  - QMUIKit/QMUIComponents/QMUIToolbarButton (4.6.3):
    - QMUIKit/QMUICore
  - QMUIKit/QMUIComponents/QMUIWindowSizeMonitor (4.6.3):
    - QMUIKit/QMUICore
  - QMUIKit/QMUIComponents/QMUIZoomImageView (4.6.3):
    - QMUIKit/QMUIComponents/QMUIAssetLibrary
    - QMUIKit/QMUIComponents/QMUIButton
    - QMUIKit/QMUIComponents/QMUIEmptyView
    - QMUIKit/QMUIComponents/QMUIPieProgressView
    - QMUIKit/QMUICore
    - QMUIKit/QMUIResources
  - QMUIKit/QMUICore (4.6.3):
    - QMUIKit/QMUILog
    - QMUIKit/QMUIWeakObjectContainer
  - QMUIKit/QMUILog (4.6.3)
  - QMUIKit/QMUIMainFrame (4.6.3):
    - QMUIKit/QMUIComponents/QMUIEmptyView
    - QMUIKit/QMUIComponents/QMUIKeyboardManager
    - QMUIKit/QMUIComponents/QMUIMultipleDelegates
    - QMUIKit/QMUIComponents/QMUINavigationTitleView
    - QMUIKit/QMUIComponents/QMUITableView
    - QMUIKit/QMUIComponents/QMUITableViewHeaderFooterView
    - QMUIKit/QMUICore
    - QMUIKit/QMUILog
  - QMUIKit/QMUIResources (4.6.3)
  - QMUIKit/QMUIWeakObjectContainer (4.6.3)
  - RHSocketKit/Core (2.3.7):
    - CocoaAsyncSocket
  - RHSocketKit/Extend (2.3.7):
    - RHSocketKit/Core
  - RxCocoa (6.5.0):
    - RxRelay (= 6.5.0)
    - RxSwift (= 6.5.0)
  - RxDataSources (5.0.0):
    - Differentiator (~> 5.0)
    - RxCocoa (~> 6.0)
    - RxSwift (~> 6.0)
  - RxRelay (6.5.0):
    - RxSwift (= 6.5.0)
  - RxSwift (6.5.0)
  - SDWebImage (5.16.0):
    - SDWebImage/Core (= 5.16.0)
  - SDWebImage/Core (5.16.0)
  - SnapKit (5.6.0)
  - SPPageMenu (3.5.0)
  - SVProgressHUD (2.2.5)
  - SwifterSwift (5.2.0):
    - SwifterSwift/AppKit (= 5.2.0)
    - SwifterSwift/CoreAnimation (= 5.2.0)
    - SwifterSwift/CoreGraphics (= 5.2.0)
    - SwifterSwift/CoreLocation (= 5.2.0)
    - SwifterSwift/Dispatch (= 5.2.0)
    - SwifterSwift/Foundation (= 5.2.0)
    - SwifterSwift/MapKit (= 5.2.0)
    - SwifterSwift/SceneKit (= 5.2.0)
    - SwifterSwift/SpriteKit (= 5.2.0)
    - SwifterSwift/StoreKit (= 5.2.0)
    - SwifterSwift/SwiftStdlib (= 5.2.0)
    - SwifterSwift/UIKit (= 5.2.0)
  - SwifterSwift/AppKit (5.2.0)
  - SwifterSwift/CoreAnimation (5.2.0)
  - SwifterSwift/CoreGraphics (5.2.0)
  - SwifterSwift/CoreLocation (5.2.0)
  - SwifterSwift/Dispatch (5.2.0)
  - SwifterSwift/Foundation (5.2.0)
  - SwifterSwift/MapKit (5.2.0)
  - SwifterSwift/SceneKit (5.2.0)
  - SwifterSwift/SpriteKit (5.2.0)
  - SwifterSwift/StoreKit (5.2.0)
  - SwifterSwift/SwiftStdlib (5.2.0)
  - SwifterSwift/UIKit (5.2.0)
  - TZImagePickerController (3.8.3):
    - TZImagePickerController/Basic (= 3.8.3)
    - TZImagePickerController/Location (= 3.8.3)
  - TZImagePickerController/Basic (3.8.3)
  - TZImagePickerController/Location (3.8.3)
  - UserDefaultsStore (1.5.0)
  - VTMagic (1.2.4):
    - VTMagic/Core (= 1.2.4)
  - VTMagic/Core (1.2.4)
  - WechatOpenSDK-XCFramework (2.0.2)
  - XCGLogger (7.0.1):
    - XCGLogger/Core (= 7.0.1)
  - XCGLogger/Core (7.0.1):
    - ObjcExceptionBridging
DEPENDENCIES:
  - Alamofire
  - AlipaySDK-iOS
  - AliyunOSSiOS
  - AMap2DMap-NO-IDFA
  - CryptoSwift
  - FFPage
  - FSCalendar
  - JQTools (from `/Users/yvkd/MyProject/JQTools`)
  - Lantern
  - RHSocketKit/Extend
  - SPPageMenu
  - SVProgressHUD
  - SwifterSwift
  - WechatOpenSDK-XCFramework
SPEC REPOS:
  trunk:
    - Alamofire
    - AlipaySDK-iOS
    - AliyunOSSiOS
    - AMap2DMap-NO-IDFA
    - AMapFoundation-NO-IDFA
    - CocoaAsyncSocket
    - CryptoSwift
    - Differentiator
    - EmptyDataSet-Swift
    - FFPage
    - FSCalendar
    - HandyJSON
    - IQKeyboardManager
    - IQKeyboardManagerSwift
    - Lantern
    - MJRefresh
    - ObjcExceptionBridging
    - ObjectMapper
    - QMUIKit
    - RHSocketKit
    - RxCocoa
    - RxDataSources
    - RxRelay
    - RxSwift
    - SDWebImage
    - SnapKit
    - SPPageMenu
    - SVProgressHUD
    - SwifterSwift
    - TZImagePickerController
    - UserDefaultsStore
    - VTMagic
    - WechatOpenSDK-XCFramework
    - XCGLogger
EXTERNAL SOURCES:
  JQTools:
    :path: "/Users/yvkd/MyProject/JQTools"
SPEC CHECKSUMS:
  Alamofire: 0123a34370cb170936ae79a8df46cc62b2edeb88
  AlipaySDK-iOS: a07b6eafa847a5b29acb6c150ea16d9792d5d167
  AliyunOSSiOS: e683c1b1faa0657b5cd02de733628cf996f4cd93
  AMap2DMap-NO-IDFA: ccecb3e2a044c17e6badb9b91c950e709368be20
  AMapFoundation-NO-IDFA: 6ce0ef596d4eb8d934ff498e56747b6de1247b05
  CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99
  CryptoSwift: 52aaf3fce7337552863b1d952e408085f0e65030
  Differentiator: e8497ceab83c1b10ca233716d547b9af21b9344d
  EmptyDataSet-Swift: eb382c0c87a2d9c678077385a595cec52da38171
  FFPage: 481cc0f2dde0f6be84a2359b6c86272e0024dc8d
  FSCalendar: 2d1d0d9398f12d439f55c1fe0f01525b151b8260
  HandyJSON: 9e4e236f5d2dbefad5155a77417bbea438201c03
  IQKeyboardManager: ef43ce1ba1e5aaf4adf222c0a46f39761f246879
  IQKeyboardManagerSwift: c7955c0bdbf7b2eb29bb7daaa44e3d90f55a9a85
  JQTools: d2b720c901e39d9959c9342ba42f9eba58886a02
  Lantern: 26ed71b2d9ace5073ecf53521e316ed8b95acdb0
  MJRefresh: fdf5e979eb406a0341468932d1dfc8b7f9fce961
  ObjcExceptionBridging: c30e00eb3700467e695faeea30e26e18bd445001
  ObjectMapper: 1eb41f610210777375fa806bf161dc39fb832b81
  QMUIKit: b831835f33d7fb3494809042225e6256eb22b892
  RHSocketKit: 0e804f9a12f1b1d44f775f43dc136b12fc6c4ac2
  RxCocoa: 94f817b71c07517321eb4f9ad299112ca8af743b
  RxDataSources: aa47cc1ed6c500fa0dfecac5c979b723542d79cf
  RxRelay: 1de1523e604c72b6c68feadedd1af3b1b4d0ecbd
  RxSwift: 5710a9e6b17f3c3d6e40d6e559b9fa1e813b2ef8
  SDWebImage: 2aea163b50bfcb569a2726b6a754c54a4506fcf6
  SnapKit: e01d52ebb8ddbc333eefe2132acf85c8227d9c25
  SPPageMenu: da182aafcec55719d5c326103cc7716c1e48f311
  SVProgressHUD: 1428aafac632c1f86f62aa4243ec12008d7a51d6
  SwifterSwift: 334181863c416882d97b7a60c05054d9e4d799e2
  TZImagePickerController: e9909edbadf7381140efc5b5c9f5bdbfd630f7d4
  UserDefaultsStore: 905e30372ff432197d199ce1f6fe51be7bf69628
  VTMagic: b49e5f456dbcbfd9a3588ba92417233a105bc193
  WechatOpenSDK-XCFramework: acdeeda129efbef9532bca8a10c24e1b4b8c7d69
  XCGLogger: 1943831ef907df55108b0b18657953f868de973b
PODFILE CHECKSUM: f4b74442782ed9115ee44729149afd319c7ef22c
COCOAPODS: 1.12.1
WanPai.xcodeproj/project.pbxproj
@@ -18,6 +18,7 @@
        1304B85D2A4EB0F8000D4F2E /* SearchBannerCCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1304B85B2A4EB0F8000D4F2E /* SearchBannerCCell.xib */; };
        1304B8602A4EB59F000D4F2E /* SearchStoreListVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1304B85E2A4EB59F000D4F2E /* SearchStoreListVC.swift */; };
        1304B8612A4EB59F000D4F2E /* SearchStoreListVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1304B85F2A4EB59F000D4F2E /* SearchStoreListVC.xib */; };
        1304CF732DD0E168007132D9 /* Impact.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 1304CF722DD0E168007132D9 /* Impact.ttf */; };
        130A59302D9406A40094D92D /* CardCenterSheetView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 130A592F2D9406A40094D92D /* CardCenterSheetView.swift */; };
        130A59322D9406AB0094D92D /* CardCenterSheetView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 130A59312D9406AB0094D92D /* CardCenterSheetView.xib */; };
        130CE4532A4823AC00394384 /* StudentMedalCCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 130CE4512A4823AC00394384 /* StudentMedalCCell.swift */; };
@@ -124,7 +125,6 @@
        1376A6952A4A765700D4C851 /* StudentInfo_3_TCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1376A6932A4A765700D4C851 /* StudentInfo_3_TCell.swift */; };
        1376A6962A4A765700D4C851 /* StudentInfo_3_TCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1376A6942A4A765700D4C851 /* StudentInfo_3_TCell.xib */; };
        1376A6992A4A7B7B00D4C851 /* StudentCourseDetailVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1376A6972A4A7B7A00D4C851 /* StudentCourseDetailVC.swift */; };
        1376A69D2A4A7C6000D4C851 /* Impact.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 1376A69C2A4A7C6000D4C851 /* Impact.ttf */; };
        1376A6A12A4A7E1E00D4C851 /* CourseChargeTCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1376A69F2A4A7E1E00D4C851 /* CourseChargeTCell.swift */; };
        1376A6A22A4A7E1E00D4C851 /* CourseChargeTCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1376A6A02A4A7E1E00D4C851 /* CourseChargeTCell.xib */; };
        137801862A3B01FA00414959 /* ActivitySignupDetailVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 137801842A3B01FA00414959 /* ActivitySignupDetailVC.swift */; };
@@ -394,6 +394,7 @@
        1304B85B2A4EB0F8000D4F2E /* SearchBannerCCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = SearchBannerCCell.xib; sourceTree = "<group>"; };
        1304B85E2A4EB59F000D4F2E /* SearchStoreListVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchStoreListVC.swift; sourceTree = "<group>"; };
        1304B85F2A4EB59F000D4F2E /* SearchStoreListVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = SearchStoreListVC.xib; sourceTree = "<group>"; };
        1304CF722DD0E168007132D9 /* Impact.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = Impact.ttf; sourceTree = "<group>"; };
        1306580A2B22C1BB008B2500 /* WanPaiRelease.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = WanPaiRelease.entitlements; sourceTree = "<group>"; };
        130A592F2D9406A40094D92D /* CardCenterSheetView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardCenterSheetView.swift; sourceTree = "<group>"; };
        130A59312D9406AB0094D92D /* CardCenterSheetView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = CardCenterSheetView.xib; sourceTree = "<group>"; };
@@ -503,7 +504,6 @@
        1376A6932A4A765700D4C851 /* StudentInfo_3_TCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StudentInfo_3_TCell.swift; sourceTree = "<group>"; };
        1376A6942A4A765700D4C851 /* StudentInfo_3_TCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = StudentInfo_3_TCell.xib; sourceTree = "<group>"; };
        1376A6972A4A7B7A00D4C851 /* StudentCourseDetailVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StudentCourseDetailVC.swift; sourceTree = "<group>"; };
        1376A69C2A4A7C6000D4C851 /* Impact.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = Impact.ttf; sourceTree = "<group>"; };
        1376A69F2A4A7E1E00D4C851 /* CourseChargeTCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseChargeTCell.swift; sourceTree = "<group>"; };
        1376A6A02A4A7E1E00D4C851 /* CourseChargeTCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = CourseChargeTCell.xib; sourceTree = "<group>"; };
        137801842A3B01FA00414959 /* ActivitySignupDetailVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ActivitySignupDetailVC.swift; sourceTree = "<group>"; };
@@ -925,7 +925,7 @@
        1376A69B2A4A7C5000D4C851 /* Resources */ = {
            isa = PBXGroup;
            children = (
                1376A69C2A4A7C6000D4C851 /* Impact.ttf */,
                1304CF722DD0E168007132D9 /* Impact.ttf */,
            );
            path = Resources;
            sourceTree = "<group>";
@@ -1725,7 +1725,6 @@
            isa = PBXResourcesBuildPhase;
            buildActionMask = 2147483647;
            files = (
                1376A69D2A4A7C6000D4C851 /* Impact.ttf in Resources */,
                13801CC52A4D26D90041454D /* CommonSingleTCell.xib in Resources */,
                1394023F2AB456DB003CF61E /* PaymentCourseView.xib in Resources */,
                133A618D2A4E7AF90066C4E6 /* CustomerContentTCell.xib in Resources */,
@@ -1738,6 +1737,7 @@
                139402432AB4588F003CF61E /* PaymentCourseTCell.xib in Resources */,
                8D8400DE2A2F1432003AF6A2 /* LaunchScreen.storyboard in Resources */,
                13801CC92A4D29740041454D /* ChooseNumberView.xib in Resources */,
                1304CF732DD0E168007132D9 /* Impact.ttf in Resources */,
                133435042A40407200F23951 /* CalendarItemCCell.xib in Resources */,
                13638ACD2B95AE8900ABDD0D /* StudentChoose2View.xib in Resources */,
                133FAE9A2B96F658005CF2F2 /* CommonYearsPickerView.xib in Resources */,
@@ -2311,9 +2311,10 @@
                ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
                ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
                CODE_SIGN_ENTITLEMENTS = WanPai/WanPaiDebug.entitlements;
                CODE_SIGN_IDENTITY = "Apple Development";
                "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
                CODE_SIGN_STYLE = Manual;
                CURRENT_PROJECT_VERSION = 16;
                CURRENT_PROJECT_VERSION = 18;
                DEVELOPMENT_TEAM = "";
                "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 2MWV8K39DV;
                FRAMEWORK_SEARCH_PATHS = (
@@ -2342,7 +2343,7 @@
                    "$(inherited)",
                    "$(PROJECT_DIR)/WanPai/YYPaymentManager/WeChatPay",
                );
                MARKETING_VERSION = 2.0.6;
                MARKETING_VERSION = 2.0.8;
                OTHER_LDFLAGS = (
                    "$(inherited)",
                    "-ObjC",
@@ -2476,9 +2477,9 @@
                ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
                ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
                CODE_SIGN_ENTITLEMENTS = WanPai/WanPaiRelease.entitlements;
                "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
                "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
                CODE_SIGN_STYLE = Manual;
                CURRENT_PROJECT_VERSION = 16;
                CURRENT_PROJECT_VERSION = 18;
                DEVELOPMENT_TEAM = "";
                "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 2MWV8K39DV;
                FRAMEWORK_SEARCH_PATHS = (
@@ -2507,7 +2508,7 @@
                    "$(inherited)",
                    "$(PROJECT_DIR)/WanPai/YYPaymentManager/WeChatPay",
                );
                MARKETING_VERSION = 2.0.6;
                MARKETING_VERSION = 2.0.8;
                OTHER_LDFLAGS = (
                    "$(inherited)",
                    "-ObjC",
@@ -2622,7 +2623,7 @@
                PRODUCT_BUNDLE_IDENTIFIER = com.sinata.WeParkLife;
                PRODUCT_NAME = "$(TARGET_NAME)";
                PROVISIONING_PROFILE_SPECIFIER = "";
                "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = adHoc_profile;
                "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = dev_profile;
                SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
                SUPPORTS_MACCATALYST = NO;
                SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
WanPai/AppDelegate.swift
@@ -94,7 +94,7 @@
//                                welfareVCNav.tabBarItem = UITabBarItem(title: "使用福利", image: UIImage(named: "tabbar_welfare"), selectedImage: UIImage(named: "tabbar_welfare_s")!.withRenderingMode(.alwaysOriginal))
        let carderCenterVCNav = BaseNav(rootViewController: CardCenterVC())
        carderCenterVCNav.tabBarItem = UITabBarItem(title: "惠民卡", image: UIImage(named: "tabbar_welfare"), selectedImage: UIImage(named: "tabbar_welfare_s")!.withRenderingMode(.alwaysOriginal))
        carderCenterVCNav.tabBarItem = UITabBarItem(title: "玩湃惠民卡", image: UIImage(named: "tabbar_welfare"), selectedImage: UIImage(named: "tabbar_welfare_s")!.withRenderingMode(.alwaysOriginal))
                                let searchVCNav = BaseNav(rootViewController: SearchVC())
                                searchVCNav.tabBarItem = UITabBarItem(title: "我的玩湃", image: UIImage(named: "tabbar_search"), selectedImage: UIImage(named: "tabbar_search_s")!.withRenderingMode(.alwaysOriginal))
WanPai/Base/BaseVC.swift
@@ -59,9 +59,9 @@
    func refreshUI(){}
    func push(vc:UIViewController){
    func push(vc:UIViewController,animated:Bool = true){
        vc.hidesBottomBarWhenPushed = true
        navigationController?.pushViewController(vc, animated: true)
        navigationController?.pushViewController(vc, animated: animated)
    }
    override var preferredStatusBarStyle: UIStatusBarStyle{
WanPai/Config/Enums.swift
@@ -411,7 +411,7 @@
                var title:String{
                                switch self {
                                                case .club:return "俱乐部之星"
                                                case .sport:return "运动大人"
                                                case .sport:return "运动达人"
                                                case .communtiy:return "社区之王"
                                                case .deepPlayer:return "深度玩家"
                                                case .winner:return "常胜将军"
@@ -425,7 +425,7 @@
                    mentals.append(MentalInfo(img: UIImage(named: "icon_coupon_1"), t1: "COURSE", t2: "俱乐部之星"))
                    mentals.append(MentalInfo(img: UIImage(named: "icon_coupon_2"), t1: "EVENTS", t2: "运动大人"))
                    mentals.append(MentalInfo(img: UIImage(named: "icon_coupon_2"), t1: "EVENTS", t2: "运动达人"))
                    mentals.append(MentalInfo(img: UIImage(named: "icon_coupon_3"), t1: "KING", t2: "社区之王"))
                    mentals.append(MentalInfo(img: UIImage(named: "icon_coupon_4"), t1: "APPOINTMENT", t2: "深度玩家"))
                    mentals.append(MentalInfo(img: UIImage(named: "icon_coupon_5"), t1: "EVENTS", t2: "月度冠军"))
WanPai/Network/Services.swift
@@ -13,7 +13,8 @@
#if DEBUG
//let All_Url = "http://192.168.110.80:56666" //正式地址
let All_Url = "http://vbef9arg13uu.guyubao.com"
//let All_Url = "http://vbef9arg13uu.guyubao.com"
let All_Url = "http://8.137.22.229:56666" //正式地址
let Game_Url = "https://try.daowepark.com"
//let Socket_Url = "192.168.110.22"
#else
@@ -1447,12 +1448,12 @@
        return NetworkRequest.request(params: params, method: .post, progress: true)
    }
    class func getMyHuiminCard(page:Int,pageSize:Int = 20)->Observable<BaseResponse<[HuiminCardMyItemModel]>>{
    class func getMyHuiminCard(page:Int,pageSize:Int = 20,progress:Bool = false)->Observable<BaseResponse<[HuiminCardMyItemModel]>>{
        let params = ParamsAppender.build(url: All_Url)
            .interface(url: "/activity/huimin/myHuiminCardList")
            .append(key: "pageNo", value: page)
            .append(key: "pageSize", value: pageSize)
        return NetworkRequest.request(params: params, method: .post, progress: false)
        return NetworkRequest.request(params: params, method: .post, progress: progress)
    }
    class func payHuiminCard(id:Int,payType:PayType,studentIds:String)->Observable<BaseResponse<PaymentModel>>{
WanPai/Root/CardCenter/VC/CardCenterAddUserVC.swift
@@ -19,6 +19,7 @@
    @IBOutlet weak var btn_complete: UIButton!
    @IBOutlet weak var label_rule: UILabel!
    var studentModel = StudentProfileModel()
    var isFirstOne = false //是否第一次添加人员
    var profileImg:UIImage?
@@ -120,7 +121,8 @@
        alertSuccess(msg: text)
        DispatchQueue.main.asyncAfter(deadline: .now()+1) {
            NotificationCenter.default.post(name: Noti_hiddenCardCenter_Add, object: false)
//            NotificationCenter.default.post(name: StudentUpdate_Nofi, object: ["needShow":true])
            NotificationCenter.default.post(name: StudentUpdate_Nofi, object: ["needShow":self.isFirstOne])
            print("打印:发送通知1111:\n")
            self.navigationController?.popViewController()
        }
    }
WanPai/Root/CardCenter/VC/CardCenterAddUserVC.xib
@@ -241,7 +241,7 @@
                        </view>
                    </subviews>
                </stackView>
                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="请选择您要绑定使用本张“惠民卡”的人员,如果您是第1次购买,请点击右上角”添加人员“添加使用者”" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="jlC-ya-Z7x">
                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="请选择您要绑定使用本张“玩湃惠民卡”的人员,如果您是第1次购买,请点击右上角”添加人员“添加使用者”" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="jlC-ya-Z7x">
                    <rect key="frame" x="14" y="421" width="365" height="28.666666666666686"/>
                    <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="12"/>
                    <color key="textColor" name="FE6E0D"/>
WanPai/Root/CardCenter/VC/CardCenterDetailVC.swift
@@ -34,7 +34,7 @@
    override func viewDidLoad() {
        super.viewDidLoad()
        title = "惠民卡详情"
        title = "玩湃惠民卡详情"
        Services.getHuiminDetail(id: id, storeId: storeId).subscribe(onNext: {[unowned self]data in
            if let m = data.data{
WanPai/Root/CardCenter/VC/CardCenterVC.swift
@@ -10,6 +10,14 @@
import WebKit
import JQTools
/*
 将数据分为两个section,他们的数据源是同一个,为了让二维码先展示,放入section0,反之 放入section1
    section:0
        QRCode != 空:展示
    section:1
        QRCode == 空:展示
 */
class CardCenterVC: BaseVC {
    private var sotreId:Int?
@@ -34,6 +42,9 @@
                tableView.mj_header = MJRefreshNormalHeader(refreshingBlock: {[unowned self] in
                    self.getData()
                })
                tableView.mj_footer = MJRefreshAutoNormalFooter (refreshingBlock: {[unowned self] in
                    self.moreData()
                })
                tableView.mj_header?.ignoredScrollViewContentInsetTop = 30
                tableView.mj_header?.beginRefreshing()
            }
@@ -42,8 +53,8 @@
    override func viewDidLoad() {
        super.viewDidLoad()
            title = "惠民卡"
        view.backgroundColor = .clear
            title = "玩湃惠民卡"
        view.backgroundColor = .white
    }
    override func setRx() {
@@ -55,7 +66,7 @@
    private func getData(){
        page = 1
        guard  let s = sotreId else {return}
        tableView.mj_footer?.resetNoMoreData()
        Services.getHuiminAgreementAndList(page: page, storeId: s).subscribe(onNext: {[unowned self]data in
            self.model = data.data
@@ -81,6 +92,24 @@
        }).disposed(by: disposeBag)
    }
    private func moreData(){
        page+=1
        guard  let s = sotreId else {return}
        Services.getHuiminAgreementAndList(page: page, storeId: s).subscribe(onNext: {[unowned self]data in
            if data.data?.cardList.count == 0{
                self.tableView.mj_footer?.endRefreshingWithNoMoreData();return
            }
            self.model?.cardList.append(contentsOf: data.data?.cardList ?? [])
            self.tableView.reloadData()
            self.tableView.mj_footer?.endRefreshing()
        },onError: { _ in
            self.tableView.mj_footer?.endRefreshing()
        }).disposed(by: disposeBag)
    }
    override func setUI() {
        view.addSubview(view_BgGradView)
@@ -94,7 +123,7 @@
        tableView.showsVerticalScrollIndicator = false
        tableView.separatorStyle = .none
        tableView.backgroundColor = .clear
        tableView.contentInset = UIEdgeInsets(top: 31, left: 0, bottom: 0, right: 0)
//        tableView.contentInset = UIEdgeInsets(top: 31, left: 0, bottom: 0, right: 0)
        tableView.register(UINib(nibName: "CardCenterTCell", bundle: nil), forCellReuseIdentifier: "_CardCenterTCell")
        tableView.register(UINib(nibName: "CardCenterTopQRCodeTCell", bundle: nil), forCellReuseIdentifier: "_CardCenterTopQRCodeTCell")
@@ -179,6 +208,10 @@
            }
            return 480
        }else{
            let m = model?.cardList[indexPath.row]
            if !(m?.qrCode?.isEmpty ?? true){
                return 0
            }
            return (JQ_ScreenW - 40) * 0.4841 + 20
        }
    }
WanPai/Root/CardCenter/View/CardCenterSheetView.swift
@@ -29,6 +29,7 @@
    @IBOutlet weak var btn_agreement: UIButton!
    @IBOutlet weak var text_view_height: NSLayoutConstraint!
    @IBOutlet weak var label_rule: UILabel!
    @IBOutlet weak var label_add_info: UILabel!
    let disposeBag = DisposeBag()
@@ -36,10 +37,12 @@
    private var model:HuiminCardDetailModel?
    private var selectStudents = [StudentProfile1Model]()
    private var students = [StudentProfile1Model]()
    private var studentChoose3View:StudentChoose3View?
    override func awakeFromNib() {
        super.awakeFromNib()
        label_add_info.isHidden = false
        btn_addUser.imagePosition = .right
        btn_addUser.spacingBetweenImageAndTitle = 3
        cons_bottom.constant = -(JQ_ScreenW * 1.1)
@@ -72,7 +75,7 @@
        }.store(in: &subscriptions)
        text_view.publisher(for: \.contentSize).sink {[unowned self] size in
            self.text_view_height.constant = size.height
            self.text_view_height.constant = 60
        }.store(in: &subscriptions)
        NotificationCenter.default.rx.notification(Noti_hiddenCardCenter_Add).take(until: self.rx.deallocated).subscribe(onNext: {[unowned self] noti in
@@ -81,7 +84,8 @@
        }).disposed(by: disposeBag)
        NotificationCenter.default.rx.notification(StudentUpdate_Nofi, object: nil).subscribe(onNext: {value in
        NotificationCenter.default.rx.notification(StudentUpdate_Nofi, object: nil).take(until: self.rx.deallocated).subscribe(onNext: {value in
            print("打印:通知1111:\(self)\n")
            var needShow = true
            if let v = value.object as? [String:Bool]{
                needShow = v["needShow"] ?? true
@@ -91,7 +95,7 @@
        }).disposed(by: disposeBag)
        NotificationCenter.default.rx.notification(Noti_showSheetView, object: nil).subscribe(onNext: {value in
        NotificationCenter.default.rx.notification(Noti_showSheetView, object: nil).take(until: self.rx.deallocated).subscribe(onNext: {value in
            self.alpha = 1
        }).disposed(by: disposeBag)
@@ -135,10 +139,18 @@
        Services.startCourceStudentList().subscribe(onNext: {data in
            self.students = data.data ?? []
            if (data.data?.count ?? 0) > 0 && needShow{
                StudentChoose3View.show(defaultStu: Set(self.selectStudents)) { m in
                guard self.studentChoose3View == nil else {return}
                guard sceneDelegate?.window?.viewWithTag(1293) == nil else {
                    return
                }
                self.studentChoose3View = StudentChoose3View.show(defaultStu: Set(self.selectStudents)) { m in
                    self.selectStudents = m.shuffled()
                    self.tableView.reloadData()
                    self.updatePrice()
                    self.studentChoose3View = nil
                } closeClouse: {
                    self.studentChoose3View = nil
                }
            }
        }).disposed(by: self.disposeBag)
@@ -151,23 +163,31 @@
        self.text_view.isHidden = self.selectStudents.count > 0 ? false:true
        self.btn_agreement.isHidden = self.selectStudents.count > 0 ? false:true
        self.label_rule.isHidden = self.selectStudents.count > 0 ? false:true
        self.label_add_info.isHidden = (self.selectStudents.count) > 0 ?true:false
    }
    @IBAction func addPersionAction(_ sender: QMUIButton) {
        if students.count == 0{
            NotificationCenter.default.post(name: Noti_hiddenCardCenter_Add, object: true)
            let vc = CardCenterAddUserVC()
            vc.isFirstOne = true
            JQ_currentNavigationController().pushViewController(vc)
        }else{
            StudentChoose3View.show(defaultStu: Set(selectStudents)) { m in
            guard self.studentChoose3View == nil else {return}
            self.studentChoose3View = StudentChoose3View.show(defaultStu: Set(selectStudents)) { m in
                self.selectStudents = m.shuffled()
                self.tableView.reloadData()
                self.updatePrice()
                self.studentChoose3View = nil
            } closeClouse: {
                self.studentChoose3View = nil
            }
        }
    }
    @IBAction func closeAction(_ sender: UIButton) {
        NotificationCenter.default.removeObserver(self)
        self.cons_bottom.constant = -(JQ_ScreenW * 1.1)
        UIView.animate(withDuration: 0.4) {
@@ -175,6 +195,9 @@
            self.layoutIfNeeded()
        } completion: { _ in
            self.removeFromSuperview()
            if let subV = sceneDelegate?.window?.viewWithTag(1293) as? CardCenterSheetView{
                subV.removeFromSuperview()
            }
        }
    }
@@ -186,6 +209,10 @@
        guard let m = model else{return}
        guard selectStudents.count != 0 else{
            alertError(msg: "请选择人员");return
        }
        guard btn_agreement.isSelected else {
            let v = m.agreementSettings.map { m in
                return "《\(m.agreementName)》"
@@ -193,9 +220,6 @@
            alertError(msg: "请先阅读协议\(v)");return
        }
        guard selectStudents.count != 0 else{
            alertError(msg: "请选择人员");return
        }
        let totalMoney = (model?.salesMoney ?? 0) * Double(selectStudents.count)
        updatePrice()
WanPai/Root/CardCenter/View/CardCenterSheetView.xib
@@ -16,7 +16,7 @@
            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
            <subviews>
                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Dmv-6M-oIS">
                    <rect key="frame" x="0.0" y="414.33333333333326" width="393" height="437.66666666666674"/>
                    <rect key="frame" x="0.0" y="425.33333333333326" width="393" height="426.66666666666674"/>
                    <subviews>
                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="立即购买" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="7ML-ec-5XF">
                            <rect key="frame" x="160.66666666666666" y="25" width="71.666666666666657" height="21"/>
@@ -36,7 +36,7 @@
                            </connections>
                        </button>
                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="1Ue-WJ-3bR">
                            <rect key="frame" x="0.0" y="320.66666666666669" width="393" height="75"/>
                            <rect key="frame" x="0.0" y="309.66666666666669" width="393" height="75"/>
                            <subviews>
                                <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="8Uw-le-5KY">
                                    <rect key="frame" x="199" y="17.666666666666629" width="180" height="40"/>
@@ -101,10 +101,10 @@
                            <nil key="highlightedColor"/>
                        </label>
                        <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="t1u-Um-DQ1" customClass="QMUIButton">
                            <rect key="frame" x="223" y="76" width="155" height="17"/>
                            <rect key="frame" x="264" y="76" width="114" height="17"/>
                            <fontDescription key="fontDescription" type="system" pointSize="14"/>
                            <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
                            <state key="normal" title="添加或绑定新的使用者" image="btn_add_1">
                            <state key="normal" title="添加新的使用者" image="btn_add_1">
                                <color key="titleColor" red="0.0" green="0.0" blue="0.0" alpha="0.56999999999999995" colorSpace="custom" customColorSpace="sRGB"/>
                            </state>
                            <connections>
@@ -118,14 +118,14 @@
                                <constraint firstAttribute="height" constant="80" id="iVi-HV-o6B"/>
                            </constraints>
                        </tableView>
                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="请选择您要绑定使用本张“惠民卡”的人员,如果您是第1次购买,请点击右上角”添加人员“添加使用者”" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="D3R-6U-qpx">
                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="请选择您要绑定使用本张“玩湃惠民卡”的人员,如果您是第1次购买,请点击右上角”添加人员“添加使用者”" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="D3R-6U-qpx">
                            <rect key="frame" x="14" y="211.00000000000006" width="365" height="33.666666666666657"/>
                            <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="14"/>
                            <color key="textColor" name="FE6E0D"/>
                            <nil key="highlightedColor"/>
                        </label>
                        <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="kB3-1G-xSk">
                            <rect key="frame" x="14" y="267.66666666666669" width="22" height="22"/>
                            <rect key="frame" x="14" y="260.66666666666669" width="22" height="22"/>
                            <constraints>
                                <constraint firstAttribute="height" constant="22" id="2nW-js-vH8"/>
                                <constraint firstAttribute="width" constant="22" id="Pao-2s-Csu"/>
@@ -138,7 +138,7 @@
                            </connections>
                        </button>
                        <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" textAlignment="natural" translatesAutoresizingMaskIntoConstraints="NO" id="6do-vD-Z6i">
                            <rect key="frame" x="42" y="271.66666666666669" width="337" height="35"/>
                            <rect key="frame" x="42" y="264.66666666666669" width="337" height="35"/>
                            <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                            <constraints>
                                <constraint firstAttribute="height" constant="35" id="3KD-xV-b9j"/>
@@ -147,16 +147,24 @@
                            <fontDescription key="fontDescription" type="system" pointSize="14"/>
                            <textInputTraits key="textInputTraits" autocapitalizationType="sentences"/>
                        </textView>
                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="点击右上方+号添加新的使用者" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="p9f-we-9eh">
                            <rect key="frame" x="0.0" y="93.000000000000043" width="393" height="216.66666666666663"/>
                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/>
                            <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.59999999999999998" colorSpace="custom" customColorSpace="sRGB"/>
                            <nil key="highlightedColor"/>
                        </label>
                    </subviews>
                    <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                    <constraints>
                        <constraint firstItem="D3R-6U-qpx" firstAttribute="leading" secondItem="Dmv-6M-oIS" secondAttribute="leading" constant="14" id="2ju-1P-nqD"/>
                        <constraint firstAttribute="trailing" secondItem="t1u-Um-DQ1" secondAttribute="trailing" constant="15" id="7MF-gl-Q4o"/>
                        <constraint firstItem="1Ue-WJ-3bR" firstAttribute="leading" secondItem="Dmv-6M-oIS" secondAttribute="leading" id="8Em-Dm-2F5"/>
                        <constraint firstAttribute="trailing" secondItem="p9f-we-9eh" secondAttribute="trailing" id="ErM-by-hXE"/>
                        <constraint firstAttribute="trailing" secondItem="6do-vD-Z6i" secondAttribute="trailing" constant="14" id="LJp-gD-UQS"/>
                        <constraint firstItem="uUb-ON-HeD" firstAttribute="centerY" secondItem="7ML-ec-5XF" secondAttribute="centerY" id="N4H-rH-5fq"/>
                        <constraint firstItem="1Ue-WJ-3bR" firstAttribute="top" secondItem="p9f-we-9eh" secondAttribute="bottom" id="NZ9-A5-HIY"/>
                        <constraint firstItem="iMf-wL-jMK" firstAttribute="leading" secondItem="Dmv-6M-oIS" secondAttribute="leading" constant="14" id="Qwl-g4-VYv"/>
                        <constraint firstItem="6do-vD-Z6i" firstAttribute="top" secondItem="D3R-6U-qpx" secondAttribute="bottom" constant="27" id="UsW-bP-DUr"/>
                        <constraint firstItem="6do-vD-Z6i" firstAttribute="top" secondItem="D3R-6U-qpx" secondAttribute="bottom" constant="20" id="UsW-bP-DUr"/>
                        <constraint firstItem="kB3-1G-xSk" firstAttribute="top" secondItem="6do-vD-Z6i" secondAttribute="top" constant="-4" id="W4H-tB-cRX"/>
                        <constraint firstItem="xf9-5v-5BE" firstAttribute="top" secondItem="iMf-wL-jMK" secondAttribute="bottom" constant="25" id="Wiu-U5-E5e"/>
                        <constraint firstAttribute="trailing" secondItem="xf9-5v-5BE" secondAttribute="trailing" constant="14" id="ZlM-RF-sA1"/>
@@ -167,12 +175,14 @@
                        <constraint firstItem="iMf-wL-jMK" firstAttribute="top" secondItem="7ML-ec-5XF" secondAttribute="bottom" constant="30" id="j6A-Ho-eBK"/>
                        <constraint firstItem="xf9-5v-5BE" firstAttribute="leading" secondItem="Dmv-6M-oIS" secondAttribute="leading" constant="14" id="k7e-jC-AiQ"/>
                        <constraint firstItem="7ML-ec-5XF" firstAttribute="centerX" secondItem="Dmv-6M-oIS" secondAttribute="centerX" id="lND-vS-cjZ"/>
                        <constraint firstItem="p9f-we-9eh" firstAttribute="top" secondItem="iMf-wL-jMK" secondAttribute="bottom" id="m5B-v9-dVG"/>
                        <constraint firstAttribute="trailing" secondItem="uUb-ON-HeD" secondAttribute="trailing" constant="20" id="oAU-Jw-UDh"/>
                        <constraint firstAttribute="bottomMargin" secondItem="1Ue-WJ-3bR" secondAttribute="bottom" id="poN-6s-FIl"/>
                        <constraint firstItem="p9f-we-9eh" firstAttribute="leading" secondItem="Dmv-6M-oIS" secondAttribute="leading" id="tKC-at-VWT"/>
                        <constraint firstAttribute="trailing" secondItem="D3R-6U-qpx" secondAttribute="trailing" constant="14" id="tmn-Lh-8ME"/>
                        <constraint firstItem="7ML-ec-5XF" firstAttribute="top" secondItem="Dmv-6M-oIS" secondAttribute="top" constant="25" id="wH2-Xr-ENO"/>
                        <constraint firstAttribute="trailing" secondItem="1Ue-WJ-3bR" secondAttribute="trailing" id="x2M-A9-Abk"/>
                        <constraint firstItem="1Ue-WJ-3bR" firstAttribute="top" secondItem="6do-vD-Z6i" secondAttribute="bottom" constant="14" id="xGO-kZ-eUd"/>
                        <constraint firstItem="1Ue-WJ-3bR" firstAttribute="top" secondItem="6do-vD-Z6i" secondAttribute="bottom" constant="10" id="xGO-kZ-eUd"/>
                    </constraints>
                </view>
            </subviews>
@@ -188,6 +198,7 @@
                <outlet property="btn_buyment" destination="8Uw-le-5KY" id="5th-Af-0vn"/>
                <outlet property="cons_bottom" destination="Fxh-4P-J6S" id="tL1-cE-rzk"/>
                <outlet property="cons_table_height" destination="iVi-HV-o6B" id="wRr-JR-xIi"/>
                <outlet property="label_add_info" destination="p9f-we-9eh" id="cl3-Gr-rpX"/>
                <outlet property="label_price" destination="2GF-2e-CsH" id="ssf-5c-ZY4"/>
                <outlet property="label_rule" destination="D3R-6U-qpx" id="qJH-wV-706"/>
                <outlet property="tableView" destination="xf9-5v-5BE" id="2O6-DY-WIQ"/>
WanPai/Root/Course/VC/AddStudentVC.swift
@@ -243,6 +243,7 @@
                }
                deinit{
        NotificationCenter.default.removeObserver(self, name: StudentUpdate_Nofi, object: nil)
                                JQ_ImagePickerTool.destroy()
                }
}
WanPai/Root/Home/VC/HomeVC.swift
@@ -135,24 +135,7 @@
                                                if let m = item as? HomeStoreConfigModel{
                                                                queue.async(group: group){ () in
                                                                                group.enter()
                                                                                guard SDImageCache.shared.diskImageDataExists(withKey: m.backgroundImage) else {
                                                                                                SDWebImageDownloader.shared.downloadImage(with: URL(string: m.backgroundImage), options: .useNSURLCache) { _, _,_ in
                                                                                                } completed: { image, data, error, status in
                            m.imageSize = image?.size ?? .zero
                                                                                                                guard !m.backgroundImage.isEmpty else {
                                if image?.size.width ?? 0 > image?.size.height ?? 0{
                                    m.displayType = 1
                                }else{
                                    m.displayType = 2
                                }
                                                                                                                                group.leave()
                                                                                                                                return
                                                                                                                }
                                                                                                                group.leave()
                                                                                                }
                                                                                                return
                                                                                }
                    if SDImageCache.shared.diskImageDataExists(withKey: m.backgroundImage){
                                                                                if let data = SDImageCache.shared.diskCache.data(forKey: m.backgroundImage),let img = UIImage(data: data){
                        m.imageSize = img.size
                        if img.size.width > img.size.height{
@@ -162,13 +145,36 @@
                        }
                                                                                                group.leave()
                                                                                }
                    }else{
                        SDWebImageDownloader.shared.downloadImage(with: URL(string: m.backgroundImage), options: .useNSURLCache) { _, _,_ in
                        } completed: { image, data, error, status in
                            m.imageSize = image?.size ?? .zero
                            if image?.size.width ?? 0 > image?.size.height ?? 0{
                                m.displayType = 1
                            }else{
                                m.displayType = 2
                            }
                            group.leave()
                        }
                    }
                                                                }
                                                }
                                                if let m = item as? HomeStoreTopBannerModel{
                                                                queue.async(group: group){() in
                                                                                group.enter()
                                                                                guard SDImageCache.shared.diskImageDataExists(withKey: m.backgroundImage) else {
                    if SDImageCache.shared.diskImageDataExists(withKey: m.backgroundImage){
                        if let data = SDImageCache.shared.diskCache.data(forKey: m.backgroundImage),let img = UIImage(data: data){
                            m.imageSize = img.size
                            if img.size.width > img.size.height{
                                m.displayType = 1
                            }else{
                                m.displayType = 2
                            }
                            group.leave()
                        }
                    }else{
                                                                                                SDWebImageDownloader.shared.downloadImage(with: URL(string: m.backgroundImage), options: .useNSURLCache) { _, _,_ in
                                                                                                } completed: { image, data, error, status in
                            if let img = image{
@@ -181,17 +187,6 @@
                            }
                                                                                                                group.leave()
                                                                                                }
                                                                                                return
                                                                                }
                                                                                if let data = SDImageCache.shared.diskCache.data(forKey: m.backgroundImage),let img = UIImage(data: data){
                        m.imageSize = img.size
                        if img.size.width > img.size.height{
                            m.displayType = 1
                        }else{
                            m.displayType = 2
                        }
                                                                                                group.leave()
                                                                                }
                                                                }
                                                }
@@ -232,7 +227,6 @@
                                                                return ""
                                                }
            var displayItems_row = [Any]() //竖
            for v in self.items{
@@ -259,8 +253,8 @@
            }
            self.items_1.append(InnerItemModel(contents: displayItems_row, displayType: 2))
                                                self.layout.collectionView?.reloadData()
                                                self.collectionView.reloadData()
            self.layout.collectionView?.reloadData()
                                }
                }
@@ -361,7 +355,6 @@
            if m.displayType == 2{
                return (JQ_ScreenW - 78) / 2 / m.imageSize.aspectRatio
            }
            return (JQ_ScreenW - 78) / m.imageSize.aspectRatio
        }
@@ -369,7 +362,6 @@
            if m.displayType == 2{
                return (JQ_ScreenW - 78) / 2 / m.imageSize.aspectRatio
            }
            return (JQ_ScreenW - 78) / m.imageSize.aspectRatio
        }
        return 0
@@ -382,7 +374,9 @@
                                                simpleModel = NormalSimpleModel(id: storeModel!.storeId, name: storeModel!.name)
                                }
                                let item = items[indexPath.row]
        let v = items_1[indexPath.section]
        let item = v.contents[indexPath.row]
                                if let m = item as? HomeStoreConfigModel{
                                                switch m.type{
                                                                case .worldcup:
WanPai/Root/Other/VC/PaymentResultVC.swift
@@ -253,7 +253,7 @@
                    case .success:
                        NotificationCenter.default.post(name: UpdateCurrentStore_Noti, object: nil)
                        btn_again.isHidden = false
                        btn_again.setTitle("查看惠民卡", for: .normal)
                        btn_again.setTitle("查看玩湃惠民卡", for: .normal)
                        btn_back.setTitleColor(Def_ThemeColor, for: .normal)
                        btn_back.backgroundColor = .white
                        btn_back.setTitle("返回首页", for: .normal)
@@ -298,7 +298,7 @@
                                                case "查看排名":
                                                                let vc  = WorldCupVC()
                                                                jumpAndRemoveSelfVC(vc)
            case "查看惠民卡":
            case "查看玩湃惠民卡":
                let vc = MyCardListVC()
                jumpAndRemoveSelfVC(vc)
                                                case "查看预约":
WanPai/Root/Other/View/StudentChoose3View.swift
@@ -21,6 +21,7 @@
    @IBOutlet weak var cons_tableHei: NSLayoutConstraint!
    private var clickClouse:((Set<StudentProfile1Model>)->Void)!
    private var closeClouse:(()->Void)!
    private var needAddClouse:(()->Void)!
    private var disposeBag = DisposeBag()
    private var selectStudents = Set<StudentProfile1Model>()
@@ -47,11 +48,14 @@
        }).disposed(by: disposeBag)
    }
    static func show(defaultStu:Set<StudentProfile1Model>? = nil,clickClouse:@escaping (Set<StudentProfile1Model>)->Void){
    @discardableResult
    static func show(defaultStu:Set<StudentProfile1Model>? = nil,clickClouse:@escaping (Set<StudentProfile1Model>)->Void,closeClouse:@escaping()->Void)->StudentChoose3View{
        let studentChooseView = StudentChoose3View.jq_loadNibView()
        if defaultStu != nil{
            studentChooseView.selectStudents = defaultStu!
        }
        studentChooseView.closeClouse = closeClouse
        studentChooseView.tag = 1293
        studentChooseView.tableView.register(UINib(nibName: "StudentInfo_2_2_TCell", bundle: nil), forCellReuseIdentifier: "_StudentInfo_2_2_TCell")
        studentChooseView.frame = sceneDelegate?.window?.frame ?? .zero
        studentChooseView.clickClouse = clickClouse
@@ -65,6 +69,7 @@
            studentChooseView.layoutIfNeeded()
            studentChooseView.tableView.reloadData()
        }
        return studentChooseView
    }
    private func setRx(){
@@ -94,6 +99,7 @@
    private func closeAction(){
        self.cons_bottom.constant = -(JQ_ScreenW * 1.1)
        self.closeClouse?()
        UIView.animate(withDuration: 0.4) {
            self.alpha = 0
            self.layoutIfNeeded()
WanPai/Root/Search/TCell/MyCardTCell.swift
@@ -17,6 +17,7 @@
    @IBOutlet weak var img: UIImageView!
    @IBOutlet weak var label_title: UILabel!
    @IBOutlet weak var label_subTitle: UILabel!
    @IBOutlet weak var img_h: NSLayoutConstraint!
    private var model:HuiminCardMyItemModel?
    private var disposeBag = DisposeBag()
@@ -33,7 +34,9 @@
    override func layoutSubviews() {
        super.layoutSubviews()
        img.jq_addCorners(corner: [.topRight,.topLeft], radius: 10, width: JQ_ScreenW - 40, height: 220)
        //0.4841
        img_h.constant = (JQ_ScreenW - 40) * 0.4841
        img.jq_addCorners(corner: [.topRight,.topLeft], radius: 10, width: JQ_ScreenW - 40, height: (JQ_ScreenW - 40) * 0.4841)
    }
    @IBAction func refundAction(_ sender: UIButton) {
WanPai/Root/Search/TCell/MyCardTCell.xib
@@ -10,15 +10,15 @@
    <objects>
        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
        <tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" rowHeight="275" id="KGk-i7-Jjw" customClass="MyCardTCell" customModule="WanPai" customModuleProvider="target">
            <rect key="frame" x="0.0" y="0.0" width="320" height="275"/>
        <tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" rowHeight="305" id="KGk-i7-Jjw" customClass="MyCardTCell" customModule="WanPai" customModuleProvider="target">
            <rect key="frame" x="0.0" y="0.0" width="320" height="305"/>
            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
            <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
                <rect key="frame" x="0.0" y="0.0" width="320" height="275"/>
                <rect key="frame" x="0.0" y="0.0" width="320" height="305"/>
                <autoresizingMask key="autoresizingMask"/>
                <subviews>
                    <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="xRS-EW-0ze">
                        <rect key="frame" x="20" y="0.0" width="280" height="255"/>
                        <rect key="frame" x="20" y="0.0" width="280" height="285"/>
                        <subviews>
                            <view contentMode="scaleAspectFill" translatesAutoresizingMaskIntoConstraints="NO" id="nf4-Ou-Ude">
                                <rect key="frame" x="0.0" y="0.0" width="280" height="200"/>
@@ -52,13 +52,13 @@
                                </connections>
                            </button>
                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zUg-yp-Y13">
                                <rect key="frame" x="14" y="214" width="160" height="19.333333333333343"/>
                                <rect key="frame" x="14" y="214" width="160" height="37"/>
                                <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="16"/>
                                <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="sRGB"/>
                                <nil key="highlightedColor"/>
                            </label>
                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="oOa-ct-EVe">
                                <rect key="frame" x="14" y="235.33333333333334" width="156" height="17"/>
                                <rect key="frame" x="14" y="253" width="156" height="17"/>
                                <constraints>
                                    <constraint firstAttribute="height" constant="17" id="nSz-8n-8Gv"/>
                                </constraints>
@@ -69,6 +69,7 @@
                        </subviews>
                        <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                        <constraints>
                            <constraint firstAttribute="bottom" secondItem="oOa-ct-EVe" secondAttribute="bottom" constant="15" id="07q-Kt-HGL"/>
                            <constraint firstItem="oOa-ct-EVe" firstAttribute="top" secondItem="zUg-yp-Y13" secondAttribute="bottom" constant="2" id="43O-Ph-nvu"/>
                            <constraint firstAttribute="trailing" secondItem="jhO-J2-YDG" secondAttribute="trailing" constant="14" id="8Dn-fM-3Pk"/>
                            <constraint firstItem="zUg-yp-Y13" firstAttribute="top" secondItem="nf4-Ou-Ude" secondAttribute="bottom" constant="14" id="9Fn-Uq-Nfo"/>
@@ -93,11 +94,12 @@
            <connections>
                <outlet property="btn_refund" destination="jhO-J2-YDG" id="i1Q-o0-j0R"/>
                <outlet property="img" destination="GpB-g5-DS4" id="WDc-Rb-08i"/>
                <outlet property="img_h" destination="vMj-JC-qaG" id="zhQ-tH-97d"/>
                <outlet property="label_subTitle" destination="oOa-ct-EVe" id="zec-ke-0xQ"/>
                <outlet property="label_title" destination="zUg-yp-Y13" id="AWF-35-mcb"/>
                <outlet property="view_container" destination="xRS-EW-0ze" id="LKd-wp-xIx"/>
            </connections>
            <point key="canvasLocation" x="138.93129770992365" y="101.05633802816902"/>
            <point key="canvasLocation" x="138.93129770992365" y="111.61971830985917"/>
        </tableViewCell>
    </objects>
    <resources>
WanPai/Root/Search/VC/MyCardItemVC.swift
@@ -32,7 +32,7 @@
    
    override func viewDidLoad() {
        super.viewDidLoad()
        title = "我的惠民卡"
        title = "我的玩湃惠民卡"
        Services.myHuiminCardDetail(id: id).subscribe(onNext: {data in
            if let m = data.data{
@@ -43,7 +43,7 @@
                self.label_time.attributedText = AttributedStringbuilder.build().add(string: "该卡有效期至 ", withFont: .systemFont(ofSize: 16, weight: .medium), withColor: .black)
                    .add(string: m.endTime, withFont: .systemFont(ofSize: 16), withColor: UIColor(hexString: "#ff7300")!).mutableAttributedString
                self.imgCode.image = UIImage.jq_GenerateQRCode(with: m.huiminCard?.qrCode ?? "", width: 250)
                self.imgCode.image = UIImage.jq_GenerateQRCode(with: m.qrCode, width: 250)
                self.webView.loadHTMLString(m.introduce.jq_wrapHtml(), baseURL: nil)
            }
        }).disposed(by: disposeBag)
WanPai/Root/Search/VC/MyCardListVC.swift
@@ -25,18 +25,21 @@
    private var tableView:UITableView!
    private var sotreId:Int?
    private var model:HuiminCardModel?
    var jumpToFirst:HuiminCardMyItemModel? //如果只有一张卡,直接跳详情
    override func viewDidLoad() {
        super.viewDidLoad()
        title = "我的惠民卡"
        title = "我的玩湃惠民卡"
        viewModel.dataSource.subscribe(onNext: {[unowned self] data in
            if data.count == 1,let model = data.first,model.isExpire == 0,model.status == 2{
                let vc = MyCardItemVC(id: model.id)
                self.push(vc: vc)
        if let m = jumpToFirst{
            guard m.isExpire == 0 else{return}
            if m.status == 3{return}
            if m.isRefund == 2{return}
            let vc = MyCardItemVC(id: m.id)
            push(vc: vc)
            }
            self.tableView.reloadData()
        }).disposed(by: disposeBag)
    }
    override func setUI() {
@@ -98,9 +101,9 @@
        return cell
    }
    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        return 290
    }
//    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
//        return 290
//    }
}
WanPai/Root/Search/VC/SearchVC.swift
@@ -265,8 +265,18 @@
                                                                let vc = RechargeRecordVC(coin: benefitHomeModel?.wpCoin ?? 0,subtype: .coin)
                                                                push(vc: vc)
                case "玩湃惠民卡":
                Services.getMyHuiminCard(page: 1,progress: true).subscribe(onNext: {data in
                    var firstM:HuiminCardMyItemModel?
                    if data.data?.count == 1,let m = data.data?.first{
                        firstM = m
                    }
                let vc = MyCardListVC()
                self.push(vc: vc)
                    vc.jumpToFirst = firstM
                    self.push(vc: vc,animated: false)
                }).disposed(by: disposeBag)
                                                                case "裁判入口":
                                                                let vc = JudgeListVC()
                                                                push(vc: vc)