Commit 106fae0d by pierce

战队完整功能、UI未改色

parent c6778031
Showing with 84 additions and 54 deletions
...@@ -357,6 +357,7 @@ open class GDPublicAchievementView: BaseView { ...@@ -357,6 +357,7 @@ open class GDPublicAchievementView: BaseView {
strokeColor: UIColor?) {} strokeColor: UIColor?) {}
open func cleanFansGroupMedalView() {} open func cleanFansGroupMedalView() {}
open func setupFightTeamMedal(with name: String, medalUrl: String?){} open func setupFightTeamMedal(with name: String, medalUrl: String?){}
open func cleanFightTeamMedal() { }
open func updateFrame() {} open func updateFrame() {}
open func clean() {} open func clean() {}
} }
...@@ -10,18 +10,9 @@ import UIKit ...@@ -10,18 +10,9 @@ import UIKit
import GDToolBox import GDToolBox
import GDRouter import GDRouter
class GDFightTeamZoneRequestModel: BaseModel, NetworkModelType { extension GDFightTeamZoneRequestModel: NetworkModelType {
/// 是否是成员 public static func createFrom(_ json: JSON) -> Self {
var ismember : Bool = false
/// 角色身份 :-1无 0普通 1管理 2队长
var role : GDFightTeamRole = .none
var memberlist : [GDFightTeamMemberModel] = []
var richteam : GDFightTeamZoneModel?
var surplusTime: Int = 0
var applyPendingCount: Int = 0
static func createFrom(_ json: JSON) -> Self {
let model = GDFightTeamZoneRequestModel() let model = GDFightTeamZoneRequestModel()
model.ismember = json["data"]["ismember"].boolValue model.ismember = json["data"]["ismember"].boolValue
model.role = GDFightTeamRole.create(for: json["data"]["role"].intValue) model.role = GDFightTeamRole.create(for: json["data"]["role"].intValue)
......
...@@ -100,15 +100,6 @@ class GDFightTeamZoneViewModel: BaseViewModel { ...@@ -100,15 +100,6 @@ class GDFightTeamZoneViewModel: BaseViewModel {
self?.refreshState.accept(.idle) self?.refreshState.accept(.idle)
FTIndicator.showToastMessage(error.msg) FTIndicator.showToastMessage(error.msg)
} }
// GDFightTeamHttpHelper.shared.getFightTeamDetail(with: uid, tid: tid, page: page).subscribe {[weak self] model in
//
//
//
// } onFailure: {[weak self] error in
//
// }.disposed(by: disposeBag)
} }
func operateUser(as manage: Bool, uid: String) { func operateUser(as manage: Bool, uid: String) {
......
...@@ -8,8 +8,9 @@ ...@@ -8,8 +8,9 @@
import UIKit import UIKit
import GDToolBox import GDToolBox
import GDRouter
class GDFightTeamMemberLevelView: BaseView { class GDFightTeamMemberLevelView: GDPublicFightTeamMemberLevelView {
init() { init() {
super.init(frame: .init(x: 0, y: 0, width: 40.5, height: 17)) super.init(frame: .init(x: 0, y: 0, width: 40.5, height: 17))
...@@ -19,7 +20,7 @@ class GDFightTeamMemberLevelView: BaseView { ...@@ -19,7 +20,7 @@ class GDFightTeamMemberLevelView: BaseView {
fatalError("init(coder:) has not been implemented") fatalError("init(coder:) has not been implemented")
} }
var teamLevel: Int = 0 { override var teamLevel: Int {
didSet { didSet {
switch teamLevel { switch teamLevel {
case 1: case 1:
......
...@@ -11,9 +11,7 @@ import Lottie ...@@ -11,9 +11,7 @@ import Lottie
import GDToolBox import GDToolBox
import GDRouter import GDRouter
class GDLiveFightTeamView: BaseView { class GDLiveFightTeamView: GDPublicLiveFightTeamView {
var dismissHandler: EmptyClosure?
// MARK: Init // MARK: Init
// MARK: Init // MARK: Init
...@@ -227,7 +225,7 @@ class GDLiveFightTeamView: BaseView { ...@@ -227,7 +225,7 @@ class GDLiveFightTeamView: BaseView {
} }
// MARK: Method // MARK: Method
func show(on view: UIView, animate: Bool = true) { override func show(on view: UIView, animate: Bool = true) {
guard self.superview == nil else { return } guard self.superview == nil else { return }
view.addSubview(self) view.addSubview(self)
// 记录已读的最后一条 // 记录已读的最后一条
...@@ -245,7 +243,7 @@ class GDLiveFightTeamView: BaseView { ...@@ -245,7 +243,7 @@ class GDLiveFightTeamView: BaseView {
} }
} }
func dismiss(animate: Bool = true) { override func dismiss(animate: Bool = true) {
// 记录已读的最后一条 // 记录已读的最后一条
UserDefaults.standard.setValue( GDFightTeamCenter.shared.msgList.value.last?.msgid ?? "", forKey: GDFightTeamUDKeys.lastReadFightTeamMsgid + (GDRouter.UserRouter?.uid ?? "")) UserDefaults.standard.setValue( GDFightTeamCenter.shared.msgList.value.last?.msgid ?? "", forKey: GDFightTeamUDKeys.lastReadFightTeamMsgid + (GDRouter.UserRouter?.uid ?? ""))
GDFightTeamCenter.shared.hadUnreadMsg.accept(false) GDFightTeamCenter.shared.hadUnreadMsg.accept(false)
...@@ -263,6 +261,15 @@ class GDLiveFightTeamView: BaseView { ...@@ -263,6 +261,15 @@ class GDLiveFightTeamView: BaseView {
dismissHandler?() dismissHandler?()
} }
} }
override func refreshEntranceShowData() {
self.mainView?.enterShowView?.viewModel.refreshEntranceShowData(with: 1)
}
override func insertChannelContent(content:String) {
self.mainView?.channelView?.insertContent(content: content)
}
deinit { deinit {
GDlog.verbose() GDlog.verbose()
......
...@@ -75,6 +75,27 @@ public class GDFightTeamRouterModule: NSObject, GDFightTeamSwiftRouter { ...@@ -75,6 +75,27 @@ public class GDFightTeamRouterModule: NSObject, GDFightTeamSwiftRouter {
public func fightTeamEnterShowView(frame:CGRect, resUrl:String, teamLogo:String?, enterMsg:String?) -> GDPublicFightTeamEnterShowView { public func fightTeamEnterShowView(frame:CGRect, resUrl:String, teamLogo:String?, enterMsg:String?) -> GDPublicFightTeamEnterShowView {
GDFightTeamEnterShowView(with: frame, resUrl: resUrl, teamLogo: teamLogo, enterMsg: enterMsg) GDFightTeamEnterShowView(with: frame, resUrl: resUrl, teamLogo: teamLogo, enterMsg: enterMsg)
} }
public func liveFightTeamView(uid:String, tid:String?) -> GDPublicLiveFightTeamView {
GDLiveFightTeamView(with: uid, tid: tid)
}
public func fightTeamMemberLevelView() -> GDPublicFightTeamMemberLevelView {
return GDFightTeamMemberLevelView()
}
public func inviteUserToJoinFightTeam(fid: String) -> Single<JSON> {
GDFightTeamHttpHelper.shared.inviteUserToJoinFightTeam(fid: fid)
}
public func getFightTeamCallInfo() -> Single<JSON> {
GDFightTeamHttpHelper.shared.getFightTeamCallInfo()
}
public func getFightTeamDetail(with uid: String, tid: String?, page: Int, success: ((GDFightTeamZoneRequestModel) -> Void)?, failure: ((GDMoyaError) -> Void)?) {
GDFightTeamCenter.shared.getFightTeamDetail(with: uid, tid: tid, page: page, success: success, failure: failure)
}
} }
extension GDFightTeamRouterModule: GDRouterProtocol { extension GDFightTeamRouterModule: GDRouterProtocol {
......
...@@ -443,9 +443,7 @@ class GDMyPageController: BaseViewController { ...@@ -443,9 +443,7 @@ class GDMyPageController: BaseViewController {
arr.append(.subfunction) arr.append(.subfunction)
} else { } else {
arr.append(.diamondAndCoin) arr.append(.diamondAndCoin)
if GDRouter.BaseBusinessRouter?.isCurrentVersionVerified.value == false { arr.append(.function)
arr.append(.function)
}
if dailySignSwitch { if dailySignSwitch {
arr.append(.dailySign) arr.append(.dailySign)
} }
...@@ -558,7 +556,7 @@ extension GDMyPageController: UITableViewDelegate, UITableViewDataSource { ...@@ -558,7 +556,7 @@ extension GDMyPageController: UITableViewDelegate, UITableViewDataSource {
$0.modulekey != kMyPageFunctionStore $0.modulekey != kMyPageFunctionStore
&& $0.modulekey != kMyPageFunctionTurnplate && $0.modulekey != kMyPageFunctionTurnplate
&& $0.modulekey != kMyPageFunctionFansGroup && $0.modulekey != kMyPageFunctionFansGroup
// && $0.modulekey != kMyPageFunctionFightTeam && $0.modulekey != kMyPageFunctionFightTeam
}.count ?? 0) }.count ?? 0)
if GDRouter.DataRouter?.dailySignSwitch.value == false { if GDRouter.DataRouter?.dailySignSwitch.value == false {
itemCount += 1 itemCount += 1
...@@ -602,7 +600,7 @@ extension GDMyPageController: UITableViewDelegate, UITableViewDataSource { ...@@ -602,7 +600,7 @@ extension GDMyPageController: UITableViewDelegate, UITableViewDataSource {
}.map { $0.filter { $0.modulekey != kMyPageFunctionStore }.map { $0.filter { $0.modulekey != kMyPageFunctionStore
&& $0.modulekey != kMyPageFunctionTurnplate && $0.modulekey != kMyPageFunctionTurnplate
&& $0.modulekey != kMyPageFunctionFansGroup && $0.modulekey != kMyPageFunctionFansGroup
// && $0.modulekey != kMyPageFunctionFightTeam && $0.modulekey != kMyPageFunctionFightTeam
}} }}
.map({ arr in .map({ arr in
var arr = arr var arr = arr
......
...@@ -1080,7 +1080,7 @@ class GDLiveFunctionView: BaseView { ...@@ -1080,7 +1080,7 @@ class GDLiveFunctionView: BaseView {
}).disposed(by: disposeBag) }).disposed(by: disposeBag)
GDSocketPublisher.FightTeam.enterShow.subscribe(onNext: {[weak self] json in GDShowRoomSocketPublisher.enterFightTeamShow.subscribe(onNext: {[weak self] json in
guard let self = self else { return } guard let self = self else { return }
guard self.fightTeamEnterShowView?.superview == nil else { return } guard self.fightTeamEnterShowView?.superview == nil else { return }
...@@ -1097,6 +1097,7 @@ class GDLiveFunctionView: BaseView { ...@@ -1097,6 +1097,7 @@ class GDLiveFunctionView: BaseView {
self.fightTeamEnterShowView?.dismiss() self.fightTeamEnterShowView?.dismiss()
self.fightTeamEnterShowView = GDRouter.FightTeamRouter?.fightTeamEnterShowView(frame: GDScreen.frame, resUrl: model.res ?? "", teamLogo: logoUrl, enterMsg: enterMsg) self.fightTeamEnterShowView = GDRouter.FightTeamRouter?.fightTeamEnterShowView(frame: GDScreen.frame, resUrl: model.res ?? "", teamLogo: logoUrl, enterMsg: enterMsg)
self.fightTeamEnterShowView?.show(on: self, animate: true, repeatCount: 1) self.fightTeamEnterShowView?.show(on: self, animate: true, repeatCount: 1)
self.entranceEffectView.clean() self.entranceEffectView.clean()
...@@ -1779,7 +1780,7 @@ extension GDLiveFunctionView: LiveFunctionType { ...@@ -1779,7 +1780,7 @@ extension GDLiveFunctionView: LiveFunctionType {
} }
func refreshFightTeamEntershowData() { func refreshFightTeamEntershowData() {
fightTeamView?.mainView?.enterShowView?.viewModel.refreshEntranceShowData(with: 1) fightTeamView?.refreshEntranceShowData()
} }
} }
...@@ -1867,7 +1868,7 @@ extension GDLiveFunctionView { ...@@ -1867,7 +1868,7 @@ extension GDLiveFunctionView {
let model = notification.userInfo?[GDLiveNotificationKey.userModel] as? GDUserInfoCardModel let model = notification.userInfo?[GDLiveNotificationKey.userModel] as? GDUserInfoCardModel
let isHideman = notification.userInfo?[GDLiveNotificationKey.isHideMan] as? Bool ?? false let isHideman = notification.userInfo?[GDLiveNotificationKey.isHideMan] as? Bool ?? false
let isOtherRoom = notification.userInfo?[GDLiveNotificationKey.isOtherRoom] as? Bool ?? false let isOtherRoom = notification.userInfo?[GDLiveNotificationKey.isOtherRoom] as? Bool ?? false
// let isFightTeam = notification.userInfo?[GDLiveNotificationKey.isFightTeam] as? Bool ?? false let isFightTeam = notification.userInfo?[GDLiveNotificationKey.isFightTeam] as? Bool ?? false
target.endEditing(true) target.endEditing(true)
...@@ -2301,7 +2302,7 @@ extension GDLiveFunctionView { ...@@ -2301,7 +2302,7 @@ extension GDLiveFunctionView {
GDLiveHelper.shared.liveVC?.setupIsToggleViewOnShow(onShow: true) GDLiveHelper.shared.liveVC?.setupIsToggleViewOnShow(onShow: true)
self.fightTeamView?.removeFromSuperview() self.fightTeamView?.removeFromSuperview()
self.fightTeamView = GDLiveFightTeamView(with: GDRouter.UserRouter?.uid, tid: nil) self.fightTeamView = GDRouter.FightTeamRouter?.liveFightTeamView(uid: GDRouter.UserRouter?.uid ?? "", tid: nil)
self.fightTeamView?.show(on: self) self.fightTeamView?.show(on: self)
self.fightTeamView?.dismissHandler = {[weak self] in self.fightTeamView?.dismissHandler = {[weak self] in
......
...@@ -484,7 +484,7 @@ class GDLiveChatModel: BaseModel { ...@@ -484,7 +484,7 @@ class GDLiveChatModel: BaseModel {
/// FIXME: 战队徽章 /// FIXME: 战队徽章
if isValidString(self.richteamname) { if isValidString(self.richteamname) {
let fightTeamMedal = GDFightTeamMedalView() let fightTeamMedal = GDRouter.FightTeamRouter?.getFightTeamMedalView() ?? GDPublicFightTeamMedalView()
let teamName = self.richteamname ?? "" let teamName = self.richteamname ?? ""
let teamMedalUrl = self.richteammedal let teamMedalUrl = self.richteammedal
fightTeamMedal.setupFightTeam(with: teamName, url: teamMedalUrl, completionHandler: nil) fightTeamMedal.setupFightTeam(with: teamName, url: teamMedalUrl, completionHandler: nil)
......
...@@ -153,7 +153,7 @@ extension NSMutableAttributedString { ...@@ -153,7 +153,7 @@ extension NSMutableAttributedString {
} }
case "1003":// 战队徽章 case "1003":// 战队徽章
let fightTeamMedal = GDFightTeamMedalView() let fightTeamMedal = GDRouter.FightTeamRouter?.getFightTeamMedalView() ?? GDPublicFightTeamMedalView()
let teamName = json["data"]["richteamname"].gd_stringValue let teamName = json["data"]["richteamname"].gd_stringValue
let teamMedalUrl = json["data"]["richteammedal"].gd_stringValue let teamMedalUrl = json["data"]["richteammedal"].gd_stringValue
fightTeamMedal.setupFightTeam(with: teamName, url: teamMedalUrl, completionHandler: nil) fightTeamMedal.setupFightTeam(with: teamName, url: teamMedalUrl, completionHandler: nil)
......
...@@ -296,7 +296,8 @@ class GDLiveAnchorPanelView: BaseView { ...@@ -296,7 +296,8 @@ class GDLiveAnchorPanelView: BaseView {
model.isRead.bind(to: btn.unreadView.rx.isHidden).disposed(by: disposeBag) model.isRead.bind(to: btn.unreadView.rx.isHidden).disposed(by: disposeBag)
case .fightTeam: case .fightTeam:
Observable.combineLatest(GDRouter.FightTeamRouter?.hadUnreadMsg, GDRouter.FightTeamRouter?.hadFightTeamInvite, GDRouter.FightTeamRouter?.applyCount).subscribe(onNext: { hadUnreadMsg, hadFightTeamInvite, applyCount in guard let fightTeamRouter = GDRouter.FightTeamRouter else { break }
Observable.combineLatest(fightTeamRouter.hadUnreadMsg, fightTeamRouter.hadFightTeamInvite, fightTeamRouter.applyCount).subscribe(onNext: { hadUnreadMsg, hadFightTeamInvite, applyCount in
if hadUnreadMsg == false && hadFightTeamInvite == false && applyCount <= 0 { if hadUnreadMsg == false && hadFightTeamInvite == false && applyCount <= 0 {
btn.unreadView.isHidden = true btn.unreadView.isHidden = true
......
...@@ -283,7 +283,8 @@ class GDLiveAudiencePanelView: BaseView { ...@@ -283,7 +283,8 @@ class GDLiveAudiencePanelView: BaseView {
}).disposed(by: disposeBag) }).disposed(by: disposeBag)
case .fightTeam: case .fightTeam:
Observable.combineLatest( GDRouter.FightTeamRouter?.hadUnreadMsg, GDRouter.FightTeamRouter?.hadFightTeamInvite, GDRouter.FightTeamRouter?.applyCount).subscribe(onNext: { hadUnreadMsg, hadFightTeamInvite, applyCount in guard let fightTeamRouter = GDRouter.FightTeamRouter else { break }
Observable.combineLatest(fightTeamRouter.hadUnreadMsg, fightTeamRouter.hadFightTeamInvite, fightTeamRouter.applyCount).subscribe(onNext: { hadUnreadMsg, hadFightTeamInvite, applyCount in
if hadUnreadMsg == false && hadFightTeamInvite == false && applyCount <= 0 { if hadUnreadMsg == false && hadFightTeamInvite == false && applyCount <= 0 {
itemView.unreadView.isHidden = true itemView.unreadView.isHidden = true
......
...@@ -162,8 +162,9 @@ class GDLiveChatInputView: BaseView { ...@@ -162,8 +162,9 @@ class GDLiveChatInputView: BaseView {
func refreshFightTeamUnread(for unreadView: UIView) { func refreshFightTeamUnread(for unreadView: UIView) {
guard let fightTeamRouter = GDRouter.FightTeamRouter else { return }
if GDLiveHelper.shared.liveConfig.value.liveMoreButon.filter({ $0.isRead.value == false }).count <= 0 if GDLiveHelper.shared.liveConfig.value.liveMoreButon.filter({ $0.isRead.value == false }).count <= 0
&& GDRouter.FightTeamRouter?.hadUnreadMsg.value == false && GDRouter.FightTeamRouter?.hadFightTeamInvite.value == false && GDRouter.FightTeamRouter?.applyCount.value <= 0 && fightTeamRouter.hadUnreadMsg.value == false && fightTeamRouter.hadFightTeamInvite.value == false && fightTeamRouter.applyCount.value <= 0
&& (GDRouter.UserRouter?.rewardCount.value ?? 0) <= 0 { && (GDRouter.UserRouter?.rewardCount.value ?? 0) <= 0 {
unreadView.isHidden = true unreadView.isHidden = true
} else { } else {
...@@ -206,10 +207,11 @@ class GDLiveChatInputView: BaseView { ...@@ -206,10 +207,11 @@ class GDLiveChatInputView: BaseView {
make.right.equalToSuperview() make.right.equalToSuperview()
} }
func refreshFightTeamUnread(for unreadView: UIView) { func refreshFightTeamUnread(for unreadView: UIView) {
guard let fightTeamRouter = GDRouter.FightTeamRouter else { return }
if GDLiveHelper.shared.liveConfig.value.liveMoreButon.filter({ $0.isRead.value == false }).count <= 0 if GDLiveHelper.shared.liveConfig.value.liveMoreButon.filter({ $0.isRead.value == false }).count <= 0
&& GDRouter.FightTeamRouter?.hadUnreadMsg.value == false && GDRouter.FightTeamRouter?.hadFightTeamInvite.value == false && GDRouter.FightTeamRouter?.applyCount.value <= 0 && fightTeamRouter.hadUnreadMsg.value == false && fightTeamRouter.hadFightTeamInvite.value == false && fightTeamRouter.applyCount.value <= 0
{ {
unreadView.isHidden = true unreadView.isHidden = true
} else { } else {
......
...@@ -660,7 +660,7 @@ class GDUserInfoCardView: BaseView { ...@@ -660,7 +660,7 @@ class GDUserInfoCardView: BaseView {
/// - animate: 是否动画展示,默认true /// - animate: 是否动画展示,默认true
func show(on view: UIView, for uid: String, model: GDUserInfoCardModel? = nil, animate: Bool = true, isHideMan: Bool = false, isOtherRoom: Bool = false, isFightTeam: Bool) { func show(on view: UIView, for uid: String, model: GDUserInfoCardModel? = nil, animate: Bool = true, isHideMan: Bool = false, isOtherRoom: Bool = false, isFightTeam: Bool) {
GDRouter.FightTeamRouter?.getFightTeamDetail(with: GDRouter.UserRouter?.uid, tid: nil, page: 1) {[weak self] _ in GDRouter.FightTeamRouter?.getFightTeamDetail(with: GDRouter.UserRouter?.uid ?? "", tid: nil, page: 1) {[weak self] _ in
guard let self = self else { return } guard let self = self else { return }
...@@ -974,7 +974,7 @@ class GDUserInfoCardView: BaseView { ...@@ -974,7 +974,7 @@ class GDUserInfoCardView: BaseView {
if let functionView = GDLiveHelper.shared.liveVC?.functionView as? GDLiveFunctionView { if let functionView = GDLiveHelper.shared.liveVC?.functionView as? GDLiveFunctionView {
if functionView.fightTeamView?.superview != nil { if functionView.fightTeamView?.superview != nil {
functionView.fightTeamView?.mainView?.channelView?.insertContent(content: "@\(nickname) ") functionView.fightTeamView?.insertChannelContent(content: "@\(nickname) ")
} else { } else {
functionView.insertInputText(content: "@\(nickname) ") functionView.insertInputText(content: "@\(nickname) ")
} }
......
...@@ -122,7 +122,7 @@ class GDLiveChatListViewModel: BaseViewModel { ...@@ -122,7 +122,7 @@ class GDLiveChatListViewModel: BaseViewModel {
.map{ (roomid: $0.roomid, model: $0.messageModel) } .map{ (roomid: $0.roomid, model: $0.messageModel) }
.buffer(timeSpan: .milliseconds(500), count: 50, scheduler: MainScheduler.instance) .buffer(timeSpan: .milliseconds(500), count: 50, scheduler: MainScheduler.instance)
GDSocketPublisher.FightTeam.message GDShowRoomSocketPublisher.fightTeamMessage
.subscribe(onNext: {[weak self] msgModel in .subscribe(onNext: {[weak self] msgModel in
guard GDLiveHelper.shared.liveState.value == .living else { return } guard GDLiveHelper.shared.liveState.value == .living else { return }
// 只展示召集消息 // 只展示召集消息
...@@ -131,13 +131,13 @@ class GDLiveChatListViewModel: BaseViewModel { ...@@ -131,13 +131,13 @@ class GDLiveChatListViewModel: BaseViewModel {
guard let msgid = msgModel.msgid else { return } guard let msgid = msgModel.msgid else { return }
var recordDict = var recordDict =
UserDefaults.standard.object(forKey: GDUserDefault.Data.fightTeamCallMsgRecord + (GDRouter.UserRouter?.uid ?? "")) as? [String: Bool] ?? [:] UserDefaults.standard.object(forKey: GDShowRoomUDKeys.fightTeamCallMsgRecord + (GDRouter.UserRouter?.uid ?? "")) as? [String: Bool] ?? [:]
if recordDict[msgid] == true { if recordDict[msgid] == true {
return return
} }
recordDict[msgid] = true recordDict[msgid] = true
UserDefaults.standard.setValue(recordDict, forKey: GDUserDefault.Data.fightTeamCallMsgRecord + (GDRouter.UserRouter?.uid ?? "")) UserDefaults.standard.setValue(recordDict, forKey: GDShowRoomUDKeys.fightTeamCallMsgRecord + (GDRouter.UserRouter?.uid ?? ""))
let model = GDLiveChatModel.createFightTeamMessage(for: msgModel) let model = GDLiveChatModel.createFightTeamMessage(for: msgModel)
self?.addMessages([model]) self?.addMessages([model])
...@@ -190,7 +190,7 @@ class GDLiveChatListViewModel: BaseViewModel { ...@@ -190,7 +190,7 @@ class GDLiveChatListViewModel: BaseViewModel {
} }
// 拉取是否有战队消息 // 拉取是否有战队消息
GDShowRoomHttpHelper.shared.getFightTeamCallInfo().subscribe {[weak self] dataJson in GDRouter.FightTeamRouter?.getFightTeamCallInfo().subscribe {[weak self] dataJson in
_ = dataJson["data"].arrayValue.map {[weak self] json in _ = dataJson["data"].arrayValue.map {[weak self] json in
...@@ -203,13 +203,13 @@ class GDLiveChatListViewModel: BaseViewModel { ...@@ -203,13 +203,13 @@ class GDLiveChatListViewModel: BaseViewModel {
let msgid = json["msgid"].gd_stringValue let msgid = json["msgid"].gd_stringValue
var recordDict = UserDefaults.standard.object(forKey: GDUserDefault.Data.fightTeamCallMsgRecord + (GDRouter.UserRouter?.uid ?? "")) as? [String: Bool] ?? [:] var recordDict = UserDefaults.standard.object(forKey: GDShowRoomUDKeys.fightTeamCallMsgRecord + (GDRouter.UserRouter?.uid ?? "")) as? [String: Bool] ?? [:]
if recordDict[msgid] == true { if recordDict[msgid] == true {
return return
} }
recordDict[msgid] = true recordDict[msgid] = true
UserDefaults.standard.setValue(recordDict, forKey: GDUserDefault.Data.fightTeamCallMsgRecord + (GDRouter.UserRouter?.uid ?? "")) UserDefaults.standard.setValue(recordDict, forKey: GDShowRoomUDKeys.fightTeamCallMsgRecord + (GDRouter.UserRouter?.uid ?? ""))
let fightTeamMsg = GDFightTeamMessageModel.createModelFrom(json) let fightTeamMsg = GDFightTeamMessageModel.createModelFrom(json)
......
...@@ -238,9 +238,9 @@ class GDUserInfoCardViewModel: BaseViewModel, ViewModelType { ...@@ -238,9 +238,9 @@ class GDUserInfoCardViewModel: BaseViewModel, ViewModelType {
func inviteToJoinFightTeam() { func inviteToJoinFightTeam() {
guard let uid = currentUID.value else { return } guard let uid = currentUID.value else { return }
GDShowRoomHttpHelper.shared.inviteUserToJoinFightTeam(fid: uid).subscribe { json in GDRouter.FightTeamRouter?.inviteUserToJoinFightTeam(fid: uid).subscribe { json in
FTIndicator.showToastMessage("邀请成功") FTIndicator.showToastMessage("邀请成功")
} onError: { error in } onFailure: { error in
guard let error = error as? GDMoyaError else { guard let error = error as? GDMoyaError else {
FTIndicator.showToastMessage(GDMoyaError.networkError().msg) FTIndicator.showToastMessage(GDMoyaError.networkError().msg)
return return
......
...@@ -32,6 +32,9 @@ struct GDShowRoomUDKeys { ...@@ -32,6 +32,9 @@ struct GDShowRoomUDKeys {
static let fansGroupGuideAnchorList = "fansGroupGuideAnchorList" static let fansGroupGuideAnchorList = "fansGroupGuideAnchorList"
/// 累计时长奖励计时 /// 累计时长奖励计时
static let showWatchTimeGuideTime = "showWatchTimeGuideTime_" static let showWatchTimeGuideTime = "showWatchTimeGuideTime_"
/// 战队消息是否已经显示过的记录
static let fightTeamCallMsgRecord = "fightTeamCallMsgRecord_"
} }
// 通知名 // 通知名
......
...@@ -251,6 +251,18 @@ struct GDShowRoomSocketPublisher { ...@@ -251,6 +251,18 @@ struct GDShowRoomSocketPublisher {
.listenTo(GDShowRoomSocketCID.anchorRecieveInvitableUser) .listenTo(GDShowRoomSocketCID.anchorRecieveInvitableUser)
.mapToModel(GDLiveAnchorInviteSocketModel.self) .mapToModel(GDLiveAnchorInviteSocketModel.self)
/// 战队入场秀
static let enterFightTeamShow: Observable<JSON> = GDSocketCenter.publisher
.listenTo(GDPublicFightTeamCid.enterFightTeamShow)
.mapToJSON()
static let fightTeamMessage: Observable<GDFightTeamMessageModel> = GDSocketCenter.publisher
.reply()
.listenTo(GDPublicFightTeamCid.fightTeamMsg)
.mapToModel(GDFightTeamMessageModel.self)
// MARK: PK // MARK: PK
struct PK { struct PK {
/// 收到PK邀请 /// 收到PK邀请
......
...@@ -86,7 +86,7 @@ class GDAchievementView: GDPublicAchievementView { ...@@ -86,7 +86,7 @@ class GDAchievementView: GDPublicAchievementView {
} }
} }
func cleanFightTeamMedal() { override func cleanFightTeamMedal() {
fightTeamMedalView.isHidden = true fightTeamMedalView.isHidden = true
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment