Ver código fonte

彩虹豆调取完成

南鑫林 5 anos atrás
pai
commit
955cecdada

+ 4 - 0
RainbowPlanet/RainbowPlanet.xcodeproj/project.pbxproj

@@ -74,6 +74,7 @@
 		A71AF0BA226F00F8001730FE /* SearchResultView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A71AF0B9226F00F8001730FE /* SearchResultView.swift */; };
 		A71AF0BC226F099B001730FE /* ProductHBigTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A71AF0BB226F099B001730FE /* ProductHBigTableViewCell.swift */; };
 		A71AF0BE226F1792001730FE /* ShoppingMallModule.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A71AF0BD226F1792001730FE /* ShoppingMallModule.xcassets */; };
+		A71CAB3722C9A40A00D908A8 /* TotalBeanModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A71CAB3622C9A40A00D908A8 /* TotalBeanModel.swift */; };
 		A71D2A602265673A00A55D16 /* RegisterLoginView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A71D2A5F2265673A00A55D16 /* RegisterLoginView.swift */; };
 		A72623D322C1FFD100AEF875 /* CommunityPostMyModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72623D222C1FFD100AEF875 /* CommunityPostMyModel.swift */; };
 		A72623D522C2646200AEF875 /* MessageIndexModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72623D422C2646200AEF875 /* MessageIndexModel.swift */; };
@@ -724,6 +725,7 @@
 		A71AF0B9226F00F8001730FE /* SearchResultView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchResultView.swift; sourceTree = "<group>"; };
 		A71AF0BB226F099B001730FE /* ProductHBigTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProductHBigTableViewCell.swift; sourceTree = "<group>"; };
 		A71AF0BD226F1792001730FE /* ShoppingMallModule.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = ShoppingMallModule.xcassets; sourceTree = "<group>"; };
+		A71CAB3622C9A40A00D908A8 /* TotalBeanModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TotalBeanModel.swift; sourceTree = "<group>"; };
 		A71D2A5F2265673A00A55D16 /* RegisterLoginView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RegisterLoginView.swift; sourceTree = "<group>"; };
 		A72623D222C1FFD100AEF875 /* CommunityPostMyModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CommunityPostMyModel.swift; sourceTree = "<group>"; };
 		A72623D422C2646200AEF875 /* MessageIndexModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MessageIndexModel.swift; sourceTree = "<group>"; };
@@ -2053,6 +2055,7 @@
 		A7284402224DBE3500F82F30 /* UserModel */ = {
 			isa = PBXGroup;
 			children = (
+				A71CAB3622C9A40A00D908A8 /* TotalBeanModel.swift */,
 				A72623D622C26A2A00AEF875 /* MessageListModel.swift */,
 				A72623D422C2646200AEF875 /* MessageIndexModel.swift */,
 				A7284403224DBFBD00F82F30 /* UserModel.swift */,
@@ -5732,6 +5735,7 @@
 				A7CC74E62270628B003C4F38 /* DeliveryMethodTypeModel.swift in Sources */,
 				BD12B68322B4EFF000AEB10B /* KSMediaPickerView.swift in Sources */,
 				BDE376E522C22D2B0055E2EA /* AlivcImage.m in Sources */,
+				A71CAB3722C9A40A00D908A8 /* TotalBeanModel.swift in Sources */,
 				A743229B22B8C1510017C367 /* AppStoreReview.swift in Sources */,
 				BD61225422C355C800D3F513 /* AliyunMagicCameraViewController.m in Sources */,
 				BDAF83A222B330540004BCC3 /* RecommendSimilarCell.swift in Sources */,

+ 47 - 3
RainbowPlanet/RainbowPlanet/Modules/CommunityModule/Community/View/CommunityNavigationBarView.swift

@@ -7,6 +7,8 @@
 //
 
 import UIKit
+import DPScrollNumberLabel
+import RxSwift
 
 class CommunityNavigationBarView: BaseView {
     
@@ -16,9 +18,12 @@ class CommunityNavigationBarView: BaseView {
     override func setupViews() {
         addSubview(leftButton)
         addSubview(rightButton)
+        addSubview(scrollNumberLabel)
         addSubview(searchBgView)
         searchBgView.addSubview(searchIconImageView)
         searchBgView.addSubview(searchTextField)
+        userMemberGetTotalBeanApi()
+        userMemberGetTotalBeanApiInterval()
     }
     
     override func setupLayouts() {
@@ -31,11 +36,16 @@ class CommunityNavigationBarView: BaseView {
         
         rightButton.snp.makeConstraints { (make) in
             make.centerY.equalToSuperview()
-            make.right.equalToSuperview().offset(-14)
+            make.right.equalTo(scrollNumberLabel.snp_left).offset(-2)
             make.height.equalTo(20)
             make.width.greaterThanOrEqualTo(20)
         }
-        rightButton.layoutButton(edgeInsetsStyle: ButtonEdgeInsetsStyle.left, imageTitleSpace: 2)
+        
+        scrollNumberLabel.snp_makeConstraints { (make) in
+            make.centerY.equalToSuperview()
+            make.size.equalTo(scrollNumberLabel.frame.size)
+            make.right.equalToSuperview().offset(-14)
+        }
         
         searchBgView.snp.makeConstraints { (make) in
             make.centerY.equalToSuperview()
@@ -73,12 +83,18 @@ class CommunityNavigationBarView: BaseView {
     lazy var rightButton: UIButton = {
         let rightButton = UIButton(type: UIButton.ButtonType.custom)
         rightButton.setImage(kImage(name: "navbar_bean_org"), for: UIControl.State.normal)
-        rightButton.setTitle("999", for: UIControl.State.normal)
         rightButton.setTitleColor(kFFA42FColor, for: UIControl.State.normal)
         rightButton.titleLabel?.font = kMediumFont16
         return rightButton
     }()
     
+    lazy var scrollNumberLabel: DPScrollNumberLabel = {
+//        let scrollNumberLabel = DPScrollNumberLabel.init(number: 0, font: kMediumFont16, textColor: kFFA42FColor, signSetting: SignSetting.unsigned)
+        let scrollNumberLabel = DPScrollNumberLabel.init(number: 0, fontSize: 16, textColor: kFFA42FColor, signSetting: SignSetting.unsigned)
+
+        return scrollNumberLabel!
+    }()
+    
     private lazy var searchBgView: UIView = {
         let searchBgView = UIView()
         searchBgView.backgroundColor = kf7f8faColor
@@ -115,3 +131,31 @@ class CommunityNavigationBarView: BaseView {
     }
 
 }
+
+extension CommunityNavigationBarView {
+    
+    func userMemberGetTotalBeanApi() {
+        SwiftMoyaNetWorkServiceUser.shared().userMemberGetTotalBeanApi(completion: { [weak self] (totalBeanModel) -> (Void) in
+            let totalBeanModel = totalBeanModel as? TotalBeanModel
+            self?.scrollNumberLabel.change(to: NSNumber(integerLiteral: totalBeanModel?.totalBean ?? 0) , animated: true)
+            self?.scrollNumberLabel.snp_remakeConstraints { (make) in
+                make.centerY.equalToSuperview()
+                make.size.equalTo((self?.scrollNumberLabel.frame.size)!)
+                make.right.equalToSuperview().offset(-14)
+            }
+        })
+    }
+    func userMemberGetTotalBeanApiInterval() {
+        Observable<Int>.interval(120, scheduler: MainScheduler.instance).subscribe(onNext: { _ in
+            SwiftMoyaNetWorkServiceUser.shared().userMemberGetTotalBeanApi(completion: { [weak self] (totalBeanModel) -> (Void) in
+                let totalBeanModel = totalBeanModel as? TotalBeanModel
+                self?.scrollNumberLabel.change(to: NSNumber(integerLiteral: totalBeanModel?.totalBean ?? 0) , animated: true)
+                self?.scrollNumberLabel.snp_remakeConstraints { (make) in
+                    make.centerY.equalToSuperview()
+                    make.size.equalTo((self?.scrollNumberLabel.frame.size)!)
+                    make.right.equalToSuperview().offset(-14)
+                }
+            })
+        }).disposed(by: disposeBag)
+    }
+}

+ 24 - 0
RainbowPlanet/RainbowPlanet/Service/Model/UserModel/TotalBeanModel.swift

@@ -0,0 +1,24 @@
+//
+//	TotalBeanModel.swift
+//	Model file generated using JSONExport: https://github.com/Ahmed-Ali/JSONExport
+
+import Foundation 
+import ObjectMapper
+
+
+class TotalBeanModel : NSObject, Mappable{
+
+	var totalBean : Int?
+
+	class func newInstance(map: Map) -> Mappable?{
+		return TotalBeanModel()
+	}
+	required init?(map: Map){}
+	private override init(){}
+
+	func mapping(map: Map)
+	{
+		totalBean <- map["total_bean"]
+		
+	}
+}

+ 11 - 0
RainbowPlanet/RainbowPlanet/Service/SwiftMoyaService/SwiftMoyaServiceApi/SwiftMoyaServiceUser/SwiftMoyaNetWorkServiceUser.swift

@@ -712,5 +712,16 @@ public class SwiftMoyaNetWorkServiceUser: NSObject {
             completion(searchMemberListModel)
         }
     }
+    
+    
+    /// 获取彩虹豆
+    ///
+    /// - Parameter completion: 回调
+    func userMemberGetTotalBeanApi(completion: @escaping apiCallBack) {
+        let parameters = Dictionary<String,Any>()
+        SwiftMoyaNetWorkManager.shared.requestObject(TotalBeanModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userMemberGetTotalBean(parameters: parameters))) { (totalBeanModel) in
+            completion(totalBeanModel)
+        }
+    }
 
 }

+ 16 - 4
RainbowPlanet/RainbowPlanet/Service/SwiftMoyaService/SwiftMoyaServiceApi/SwiftMoyaServiceUser/SwiftMoyaServiceUserApi.swift

@@ -145,6 +145,10 @@ public let kUserMemberReadMessageApi = "/user/v2/member/readMessage"
 /// 用户搜索列表
 public let kUserMemberSearchMemberApi = "/user/v2/member/searchMember"
 
+// MARK: - 获取用户彩虹豆总额
+/// 获取用户彩虹豆总额
+public let kUserMemberGetTotalBeanApi = "/user/v2/member/getTotalBean"
+
 
 
 /// 用户
@@ -183,6 +187,7 @@ public let kUserMemberSearchMemberApi = "/user/v2/member/searchMember"
 /// - userMemberMessageList: 用户消息列表
 /// - userMemberReadMessage: 用户消息阅读
 /// - userMemberSearchMember: 用户搜索列表
+/// - userMemberGetTotalBean: 获取用户彩虹豆总额
 public enum SwiftMoyaServiceUserApi {
     case userLogout(parameters:Dictionary<String, Any>)
     case userRefresh(parameters:Dictionary<String, Any>)
@@ -218,6 +223,7 @@ public enum SwiftMoyaServiceUserApi {
     case userMemberMessageList(parameters:Dictionary<String, Any>)
     case userMemberReadMessage(parameters:Dictionary<String, Any>)
     case userMemberSearchMember(parameters:Dictionary<String, Any>)
+    case userMemberGetTotalBean(parameters:Dictionary<String, Any>)
     
 }
 
@@ -258,7 +264,8 @@ extension SwiftMoyaServiceUserApi: TargetType {
              .userMemberMessageIndex,
              .userMemberMessageList,
              .userMemberReadMessage,
-             .userMemberSearchMember
+             .userMemberSearchMember,
+             .userMemberGetTotalBean
             :
             return URL(string: kApiDataPrefix())!
         }
@@ -334,6 +341,8 @@ extension SwiftMoyaServiceUserApi: TargetType {
             return kUserMemberReadMessageApi
         case .userMemberSearchMember:
             return kUserMemberSearchMemberApi
+        case .userMemberGetTotalBean:
+            return kUserMemberGetTotalBeanApi
         }
     }
 
@@ -374,7 +383,8 @@ extension SwiftMoyaServiceUserApi: TargetType {
              .userFollowCheckStatus,
              .userMemberMessageIndex,
              .userMemberMessageList,
-             .userMemberSearchMember
+             .userMemberSearchMember,
+             .userMemberGetTotalBean
             :
             return .get
         case .userAddressDelete,
@@ -422,7 +432,8 @@ extension SwiftMoyaServiceUserApi: TargetType {
              .userMemberMessageIndex(var parameters),
              .userMemberMessageList(var parameters),
              .userMemberReadMessage(var parameters),
-             .userMemberSearchMember(var parameters)
+             .userMemberSearchMember(var parameters),
+             .userMemberGetTotalBean(var parameters)
             :
             let sign = SwiftSign.shared().sign(signType:.AccessToken, parameters: parameters)
             parameters.updateValue(sign, forKey: "sign")
@@ -478,7 +489,8 @@ extension SwiftMoyaServiceUserApi: TargetType {
              .userMemberMessageIndex,
              .userMemberMessageList,
              .userMemberReadMessage,
-             .userMemberSearchMember
+             .userMemberSearchMember,
+             .userMemberGetTotalBean
             :
             return (headerParameters(headerType: .tokenHeader) as! [String : String])
         case .userLogout,