Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
pidan
/
FuSiLive
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
0c0949e8
authored
Jan 03, 2025
by
pierce
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature/私讯+座驾体系' of
http://git.yabolive.net:88/pidan/FuSiLive
into feature/私讯+座驾体系
parents
1c6d259c
4fcfe672
Hide whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
231 additions
and
123 deletions
DevelopmentPods/FUSCommon/FUSCommon/FUSRouter/Routers/UserRouter/FUSUserRouterProtocol.h
Modules/FUSChatCenterModule/FUSChatCenterModule.xcodeproj/xcuserdata/aaa.xcuserdatad/xcschemes/xcschememanagement.plist
Modules/FUSChatCenterModule/FUSChatCenterModule/FUSChatCenterBundle.bundle/FUSChatCenterAssets.xcassets/VideoChat/chatCenter_grade_star_unselect.imageset/Contents.json
Modules/FUSChatCenterModule/FUSChatCenterModule/FUSChatCenterBundle.bundle/FUSChatCenterAssets.xcassets/VideoChat/chatCenter_grade_star_unselect.imageset/chatCenter_grade_star_unselect@3x.png
Modules/FUSChatCenterModule/FUSChatCenterModule/Features/InstantMessaging/Controller/FUSChatDetailViewController.m
Modules/FUSChatCenterModule/FUSChatCenterModule/Features/InstantMessaging/Other/FUSIMChatCellHelper.m
Modules/FUSChatCenterModule/FUSChatCenterModule/Features/InstantMessaging/View/ToolViews/VideoChat/CallView/FUSCallFreeTimeIsUpWaitingAlertView.swift
Modules/FUSChatCenterModule/FUSChatCenterModule/Features/InstantMessaging/View/ToolViews/VideoChat/CallView/FUSCallFreeTimeTipsSlideView.swift
Modules/FUSChatCenterModule/FUSChatCenterModule/Features/InstantMessaging/View/ToolViews/VideoChat/CallView/FUSCallGradeView.swift
Modules/FUSChatCenterModule/FUSChatCenterModule/Features/InstantMessaging/View/ToolViews/VideoChat/CallView/FUSChatCallConnectingView.swift
Modules/FUSChatCenterModule/FUSChatCenterModule/Features/ZhaiXin/Main/Controller/FUSSingleLiveRecordViewController.m
Modules/FUSChatCenterModule/FUSChatCenterModule/Features/ZhaiXin/Main/View/FUSCallRecordCell.swift
Modules/FUSShowRoomModule/FUSShowRoomModule.xcodeproj/xcuserdata/aaa.xcuserdatad/xcschemes/xcschememanagement.plist
Modules/FUSShowRoomModule/FUSShowRoomModule/Features/NewLive/Main/Other/FUSLiveHttpHelper.m
Modules/FUSUserCenterModule/FUSUserCenterModule.xcodeproj/xcuserdata/aaa.xcuserdatad/xcschemes/xcschememanagement.plist
Modules/FUSUserCenterModule/FUSUserCenterModule/Features/Setting/Controller/FUSVerifyVersionController.swift
Modules/FUSUserCenterModule/FUSUserCenterModule/Features/Setting/Notification/View/FUSNotificationAlertTipsView.swift
Modules/FUSUserCenterModule/FUSUserCenterModule/Features/Setting/Notification/View/FUSNotificationSettingsView.swift
Modules/FUSUserCenterModule/FUSUserCenterModule/Features/Setting/View/FUSChatSettingOneToOneHeaderView.m
Modules/FUSUserCenterModule/FUSUserCenterModule/Features/Zone/Controller/FUSBackpackViewController.swift
Modules/FUSUserCenterModule/FUSUserCenterModule/Features/Zone/Controller/FireFlyMyZone/FUSZoneUserInfoEditViewController.swift
Modules/FUSUserCenterModule/FUSUserCenterModule/Features/Zone/Other/FUSMyZoneCellManager.m
Modules/FUSUserCenterModule/FUSUserCenterModule/Router/FUSUserCenterRouter.m
DevelopmentPods/FUSCommon/FUSCommon/FUSRouter/Routers/UserRouter/FUSUserRouterProtocol.h
View file @
0c0949e8
...
...
@@ -44,6 +44,9 @@ NS_ASSUME_NONNULL_BEGIN
-
(
void
)
fus_enterSettingVC
:(
BOOL
)
jumpToHiddingStatus
;
/// 进入私房设定页面
-
(
void
)
fus_enterChatSettingVC
;
-
(
void
)
fus_enterPhoneAuthVC
;
-
(
void
)
fus_blackListVC
;
...
...
Modules/FUSChatCenterModule/FUSChatCenterModule.xcodeproj/xcuserdata/aaa.xcuserdatad/xcschemes/xcschememanagement.plist
View file @
0c0949e8
...
...
@@ -7,7 +7,7 @@
<
k
e
y
>
FUSChatCenterBundle.xcscheme_
^#
shared
#^
_
<
/k
e
y
>
<
d
i
c
t
>
<
k
e
y
>
orderHint
<
/k
e
y
>
<
int
e
g
e
r
>
7
4
<
/int
e
g
e
r
>
<
int
e
g
e
r
>
7
7
<
/int
e
g
e
r
>
<
/
d
i
c
t
>
<
k
e
y
>
FUSChatCenterModule.xcscheme_
^#
shared
#^
_
<
/k
e
y
>
<
d
i
c
t
>
...
...
Modules/FUSChatCenterModule/FUSChatCenterModule/FUSChatCenterBundle.bundle/FUSChatCenterAssets.xcassets/VideoChat/chatCenter_grade_star_unselect.imageset/Contents.json
0 → 100644
View file @
0c0949e8
{
"images"
:
[
{
"idiom"
:
"universal"
,
"scale"
:
"1x"
},
{
"idiom"
:
"universal"
,
"scale"
:
"2x"
},
{
"filename"
:
"chatCenter_grade_star_unselect@3x.png"
,
"idiom"
:
"universal"
,
"scale"
:
"3x"
}
],
"info"
:
{
"author"
:
"xcode"
,
"version"
:
1
}
}
Modules/FUSChatCenterModule/FUSChatCenterModule/FUSChatCenterBundle.bundle/FUSChatCenterAssets.xcassets/VideoChat/chatCenter_grade_star_unselect.imageset/chatCenter_grade_star_unselect@3x.png
0 → 100644
View file @
0c0949e8
2.08 KB
Modules/FUSChatCenterModule/FUSChatCenterModule/Features/InstantMessaging/Controller/FUSChatDetailViewController.m
View file @
0c0949e8
...
...
@@ -2052,7 +2052,7 @@
return
;
}
[
FUSRouter
.
userRouter
fus_enter
SettingVC
:
NO
];
[
FUSRouter
.
userRouter
fus_enter
ChatSettingVC
];
}
break
;
case
FUSSystemNoticeTypeNoticeAnchorToVideoAuth
:
// 提醒主播去官方认证
...
...
Modules/FUSChatCenterModule/FUSChatCenterModule/Features/InstantMessaging/Other/FUSIMChatCellHelper.m
View file @
0c0949e8
...
...
@@ -448,7 +448,7 @@
if
(
matchStrings
.
count
>
0
)
{
[
attributedString
setTextHighlightRange
:
NSMakeRange
(
range
.
location
,
replacedStr
.
length
)
color
:
messageBgColor
color
:[
UIColor
fus_themeColor
]
backgroundColor
:
[
UIColor
clearColor
]
tapAction
:^
(
UIView
*
_Nonnull
containerView
,
NSAttributedString
*
_Nonnull
text
,
NSRange
range
,
CGRect
rect
)
{
...
...
Modules/FUSChatCenterModule/FUSChatCenterModule/Features/InstantMessaging/View/ToolViews/VideoChat/CallView/FUSCallFreeTimeIsUpWaitingAlertView.swift
View file @
0c0949e8
...
...
@@ -81,7 +81,7 @@ class FUSCallFreeTimeIsUpWaitingAlertView: FUSBaseView {
}
let
lineView
=
UIView
()
lineView
.
backgroundColor
=
.
fus_line
()
lineView
.
backgroundColor
=
.
clear
contentView
.
addSubview
(
lineView
)
lineView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
right
.
equalToSuperview
()
.
inset
(
28
)
...
...
Modules/FUSChatCenterModule/FUSChatCenterModule/Features/InstantMessaging/View/ToolViews/VideoChat/CallView/FUSCallFreeTimeTipsSlideView.swift
View file @
0c0949e8
...
...
@@ -101,24 +101,25 @@ class FUSCallFreeTimeTipsSlideView: FUSBaseView {
}
override
func
bindViewModel
()
{
FUSChatCallHelper
.
shared
.
callOrderModel
.
subscribe
(
onNext
:
{[
weak
self
]
model
in
if
model
?
.
callPrice
??
0
>
0
{
self
?
.
isHidden
=
false
self
?
.
freeTimeInt
=
model
?
.
callFreeTime
??
0
}
else
{
self
?
.
isHidden
=
true
}
})
.
disposed
(
by
:
disposeBag
)
//
FUSChatCallHelper.shared.callOrderModel
//
.subscribe(onNext: {[weak self] model in
//
//
if model?.callPrice ?? 0 > 0 {
//
self?.isHidden = false
//
self?.freeTimeInt = model?.callFreeTime ?? 0
//
}else {
//
self?.isHidden = true
//
}
//
//
}).disposed(by: disposeBag)
Observable
.
combineLatest
(
FUSChatCallHelper
.
shared
.
callOrderModel
,
FUSChatCallHelper
.
shared
.
isCaller
)
.
subscribe
(
onNext
:
{[
weak
self
]
callOrderModel
,
isCaller
in
guard
let
self
=
self
else
{
return
}
if
callOrderModel
?
.
callPrice
??
0
>
0
{
if
callOrderModel
?
.
callPrice
??
0
>
0
&&
callOrderModel
?
.
callFreeTime
??
0
>
0
{
self
.
isHidden
=
false
self
.
freeTimeInt
=
callOrderModel
?
.
callFreeTime
??
0
self
.
isCaller
=
isCaller
...
...
Modules/FUSChatCenterModule/FUSChatCenterModule/Features/InstantMessaging/View/ToolViews/VideoChat/CallView/FUSCallGradeView.swift
View file @
0c0949e8
...
...
@@ -10,10 +10,18 @@ import FUSCommon
import
RxSwift
import
RxCocoa
class
FUSCallGradeView
:
FUSBaseView
{
@objcMembers
public
class
FUSCallGradeView
:
FUSBaseView
{
@objc
public
static
func
fus_create
(
orderId
:
String
,
showOn
:
UIView
?
=
nil
,
dismissHandler
:
((
_
startRate
:
Int
)
->
Void
)?
=
nil
)
{
guard
let
showOnView
=
((
showOn
!=
nil
)
?
showOn
:
UIViewController
.
fus_top
()?
.
view
)
else
{
return
}
let
view
=
FUSCallGradeView
(
orderId
:
orderId
)
view
.
show
(
on
:
showOnView
)
view
.
dismissHandler
=
dismissHandler
}
let
orderId
:
String
var
dismissHandler
:
((
Int
)
->
Void
)?
public
var
dismissHandler
:
((
Int
)
->
Void
)?
init
(
orderId
:
String
)
{
self
.
orderId
=
orderId
...
...
@@ -23,9 +31,10 @@ class FUSCallGradeView: FUSBaseView {
fatalError
(
"init(coder:) has not been implemented"
)
}
override
func
makeUI
()
{
public
override
func
makeUI
()
{
super
.
makeUI
()
self
.
backgroundColor
=
.
fus_alertViewBackground
()
makeBgButton
()
makeBgView
()
...
...
@@ -96,11 +105,11 @@ class FUSCallGradeView: FUSBaseView {
for
index
in
1
...
5
{
let
starBtn
=
UIButton
(
type
:
.
custom
)
starBtn
.
imageView
?
.
contentMode
=
.
scaleAspectFit
starBtn
.
setImage
(
FUSChatCenterBunble
.
imageNamed
(
"c
all
Center_grade_star_animation_13"
),
for
:
.
selected
)
starBtn
.
imageView
?
.
animationImages
=
FUSChatCenterBunble
.
animatedImageArrayNamed
(
"c
all
Center_grade_star_animation_"
)
starBtn
.
setImage
(
FUSChatCenterBunble
.
imageNamed
(
"c
hat
Center_grade_star_animation_13"
),
for
:
.
selected
)
starBtn
.
imageView
?
.
animationImages
=
FUSChatCenterBunble
.
animatedImageArrayNamed
(
"c
hat
Center_grade_star_animation_"
)
// starBtn.imageView?.animationDuration = 0.75
starBtn
.
imageView
?
.
animationDuration
=
0.5
starBtn
.
setImage
(
FUSChatCenterBunble
.
imageNamed
(
"c
all
Center_grade_star_unselect"
),
for
:
.
normal
)
starBtn
.
setImage
(
FUSChatCenterBunble
.
imageNamed
(
"c
hat
Center_grade_star_unselect"
),
for
:
.
normal
)
starView
.
addArrangedSubview
(
starBtn
)
starBtn
.
rx
.
tap
.
map
{
index
}
.
bind
(
to
:
rate
)
.
disposed
(
by
:
disposeBag
)
...
...
@@ -150,7 +159,7 @@ class FUSCallGradeView: FUSBaseView {
}
// MARK: Data
let
rate
=
BehaviorRelay
<
Int
>
(
value
:
0
)
override
func
bindViewModel
()
{
public
override
func
bindViewModel
()
{
super
.
bindViewModel
()
rate
.
distinctUntilChanged
()
.
map
{
rate
->
String
?
in
...
...
@@ -177,11 +186,14 @@ class FUSCallGradeView: FUSBaseView {
guard
let
self
=
self
else
{
return
}
guard
self
.
rate
.
value
>
0
else
{
return
}
FUSLoadingView
.
fus_showProgressView
(
withMessage
:
""
)
FUSIMChatHttpHelper
.
fus_requestSendCallGrade
(
with
:
self
.
orderId
,
level
:
self
.
rate
.
value
)
{[
weak
self
]
in
FUSLoadingView
.
fus_dismissProgressView
()
guard
let
self
=
self
else
{
return
}
self
.
dismissHandler
?(
rate
.
value
)
self
.
dismiss
()
}
failure
:
{
msg
,
code
in
FUSLoadingView
.
fus_dismissProgressView
()
FUSDialogView
.
fus_showDialog
(
msg
)
}
...
...
Modules/FUSChatCenterModule/FUSChatCenterModule/Features/InstantMessaging/View/ToolViews/VideoChat/CallView/FUSChatCallConnectingView.swift
View file @
0c0949e8
...
...
@@ -140,9 +140,9 @@ class FUSChatCallConnectingView: FUSBaseView {
portraitNicknameLabel
.
isUserInteractionEnabled
=
true
portraitView
.
addSubview
(
portraitNicknameLabel
)
portraitFollowBtn
.
imageView
?
.
contentMode
=
.
scaleAspectFit
portraitFollowBtn
.
setImage
(
FUSChatCenterBunble
.
imageNamed
(
"callCenter_portrait_follow_icon"
),
for
:
.
normal
)
portraitFollowBtn
.
setImage
(
FUSChatCenterBunble
.
imageNamed
(
"callCenter_portrait_follow_selected_icon"
),
for
:
.
selected
)
//
portraitFollowBtn.imageView?.contentMode = .scaleAspectFit
//
portraitFollowBtn.setImage(FUSChatCenterBunble.imageNamed("callCenter_portrait_follow_icon"), for: .normal)
//
portraitFollowBtn.setImage(FUSChatCenterBunble.imageNamed("callCenter_portrait_follow_selected_icon"), for: .selected)
portraitView
.
addSubview
(
portraitFollowBtn
)
connectingBgView
.
addSubview
(
paidDataView
)
...
...
@@ -510,7 +510,11 @@ class FUSChatCallConnectingView: FUSBaseView {
FUSChatCallHelper
.
shared
.
callOtherInfo
.
map
{
$0
?
.
isFollow
??
false
}
.
bind
(
to
:
portraitFollowBtn
.
rx
.
isSelected
)
// .bind(to: portraitFollowBtn.rx.isHighlighted)
.
subscribe
(
onNext
:
{[
weak
self
]
isFollow
in
let
btnImg
=
isFollow
?
FUSChatCenterBunble
.
imageNamed
(
"callCenter_portrait_follow_selected_icon"
)
:
FUSChatCenterBunble
.
imageNamed
(
"callCenter_portrait_follow_icon"
);
self
?
.
portraitFollowBtn
.
setImage
(
btnImg
,
for
:
.
normal
)
})
.
disposed
(
by
:
disposeBag
)
portraitFaceImageView
.
addGestureRecognizer
(
UITapGestureRecognizer
(
actionBlock
:
{[
weak
self
]
_
in
...
...
Modules/FUSChatCenterModule/FUSChatCenterModule/Features/ZhaiXin/Main/Controller/FUSSingleLiveRecordViewController.m
View file @
0c0949e8
...
...
@@ -16,6 +16,7 @@
#import "FUSSingleLiveGradePopView.h"
#import "FUSIMChatHttpHelper.h"
#import "FUSChatCenterModule/FUSChatCenterModule-Swift.h"
#import <FUSFoundation/FUSFoundation-Swift.h>
#define CELL_IDENTIFIER @"FUSSingleLiveRecordV2TableViewCell"
...
...
@@ -239,22 +240,29 @@
MJWeakSelf
cell
.
commentHandler
=
^
(
FUSSingleLiveRecordModel
*
_Nonnull
model
)
{
// 打分
FUSSingleLiveGradePopView
*
pradeView
=
[[
FUSSingleLiveGradePopView
alloc
]
initWithFrame
:
UIView
.
fus_screenFrame
category
:
recordModel
.
category
.
integerValue
];
pradeView
.
pradeStarsConfirmBlock
=
^
(
NSNumber
*
pradeStar
)
{
[
FUSLoadingView
fus_showProgressViewWithMessage
:
nil
];
[
FUSIMChatHttpHelper
fus_requestSendCallGradeWith
:
model
.
callId
level
:
pradeStar
.
integerValue
success
:^
{
[
FUSLoadingView
fus_dismissProgressView
];
[
FUSDialogView
fus_showDialog
:[
NSString
fus_localString
:
@"评分成功"
]];
// 改为已评价
recordModel
.
showType
=
@"1"
;
recordModel
.
level
=
pradeStar
.
description
;
// 本地刷新这行cell
[
weakSelf
.
recordTableView
reloadRowsAtIndexPaths
:@[
indexPath
]
withRowAnimation
:
UITableViewRowAnimationRight
];
}
failure
:^
(
NSString
*
msg
,
int
code
)
{
[
FUSLoadingView
fus_dismissProgressView
];
}];
};
[
pradeView
fus_showViewWithSuperView
:[
UIApplication
sharedApplication
].
keyWindow
];
// FUSSingleLiveGradePopView *pradeView = [[FUSSingleLiveGradePopView alloc]initWithFrame:UIView.fus_screenFrame category:recordModel.category.integerValue];
// pradeView.pradeStarsConfirmBlock = ^(NSNumber *pradeStar) {
// [FUSLoadingView fus_showProgressViewWithMessage:nil];
// [FUSIMChatHttpHelper fus_requestSendCallGradeWith:model.callId level:pradeStar.integerValue success:^{
// [FUSLoadingView fus_dismissProgressView];
// [FUSDialogView fus_showDialog:[NSString fus_localString:@"评分成功"]];
// // 改为已评价
// recordModel.showType = @"1";
// recordModel.level = pradeStar.description;
// // 本地刷新这行cell
// [weakSelf.recordTableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationRight];
// } failure:^(NSString *msg, int code) {
// [FUSLoadingView fus_dismissProgressView];
// }];
// };
// [pradeView fus_showViewWithSuperView:[UIApplication sharedApplication].keyWindow];
[
FUSCallGradeView
fus_createWithOrderId
:
model
.
callId
showOn
:[
UIWindow
fus_keyWindow
]
dismissHandler
:^
(
NSInteger
startLevel
)
{
[
FUSDialogView
fus_showDialog
:[
NSString
fus_localString
:
@"评分成功"
]];
recordModel
.
showType
=
@"1"
;
recordModel
.
level
=
[
NSString
stringWithFormat
:
@"%ld"
,
startLevel
];
[
weakSelf
.
recordTableView
reloadRowsAtIndexPaths
:@[
indexPath
]
withRowAnimation
:
UITableViewRowAnimationRight
];
}];
};
return
cell
;
...
...
Modules/FUSChatCenterModule/FUSChatCenterModule/Features/ZhaiXin/Main/View/FUSCallRecordCell.swift
View file @
0c0949e8
...
...
@@ -238,7 +238,7 @@ import SJAttributesStringMaker
make
.
append
{
make
in
// 货币类型(3:宝石、4:萤火、5:露水)
if
model
.
timeIncome
.
currency
==
3
{
make
.
image
=
.
fus_d
ew
Icon
()
make
.
image
=
.
fus_d
iamon
Icon
()
}
else
if
model
.
timeIncome
.
currency
==
4
{
make
.
image
=
.
fus_fireIcon
()
}
else
if
model
.
timeIncome
.
currency
==
5
{
...
...
Modules/FUSShowRoomModule/FUSShowRoomModule.xcodeproj/xcuserdata/aaa.xcuserdatad/xcschemes/xcschememanagement.plist
View file @
0c0949e8
...
...
@@ -7,7 +7,7 @@
<
k
e
y
>
FUSShowRoomBundle.xcscheme_
^#
shared
#^
_
<
/k
e
y
>
<
d
i
c
t
>
<
k
e
y
>
orderHint
<
/k
e
y
>
<
int
e
g
e
r
>
7
7
<
/int
e
g
e
r
>
<
int
e
g
e
r
>
7
6
<
/int
e
g
e
r
>
<
/
d
i
c
t
>
<
k
e
y
>
FUSShowRoomModule.xcscheme_
^#
shared
#^
_
<
/k
e
y
>
<
d
i
c
t
>
...
...
Modules/FUSShowRoomModule/FUSShowRoomModule/Features/NewLive/Main/Other/FUSLiveHttpHelper.m
View file @
0c0949e8
...
...
@@ -767,58 +767,58 @@
[
FUSEventTrack
logEventWithName
:
@"followed_other"
];
// 每次追踪包房成功之后,需要显示提醒打开推送的 View
if
(
@available
(
iOS
11
.
0
,
*
))
{
[[
UNUserNotificationCenter
currentNotificationCenter
]
getNotificationSettingsWithCompletionHandler
:
^
(
UNNotificationSettings
*
_Nonnull
settings
)
{
if
(
settings
.
authorizationStatus
!=
UNAuthorizationStatusAuthorized
)
{
BOOL
shouldShowTip
=
[[[
NSUserDefaults
standardUserDefaults
]
objectForKey
:
FUSLiveUDKeys
.
fus_SHOULD_REMOTE_NOTIFICATION_TIP
]
boolValue
];
if
(
shouldShowTip
)
{
// 只显示一次,主线程执行
dispatch_async
(
dispatch_get_main_queue
(),
^
{
[[
NSUserDefaults
standardUserDefaults
]
setObject
:
@
(
NO
)
forKey
:
FUSLiveUDKeys
.
fus_SHOULD_REMOTE_NOTIFICATION_TIP
];
FUSRoomPushNoticeView
*
noticeView
=
[[
FUSRoomPushNoticeView
alloc
]
initWithXibFileWithShowType
:
FUSPushNoticeViewTypeLiveRoom
goToSystemSettingVcBlock
:
^
{
NSURL
*
pushSettingUrl
=
[
NSURL
URLWithString
:
UIApplicationOpenSettingsURLString
];
if
([[
UIApplication
sharedApplication
]
canOpenURL
:
pushSettingUrl
])
{
[[
UIApplication
sharedApplication
]
openURL
:
pushSettingUrl
];
}
}];
[
noticeView
fus_showViewWithSuperView
:[
UIApplication
sharedApplication
].
keyWindow
];
});
}
}
else
{
[[
NSUserDefaults
standardUserDefaults
]
setObject
:
@
(
YES
)
forKey
:
FUSLiveUDKeys
.
fus_SHOULD_REMOTE_NOTIFICATION_TIP
];
}
}];
}
else
{
if
([
UIApplication
sharedApplication
].
currentUserNotificationSettings
.
types
==
UIUserNotificationTypeNone
)
{
// 没有打开推送
BOOL
shouldShowTip
=
[[[
NSUserDefaults
standardUserDefaults
]
objectForKey
:
FUSLiveUDKeys
.
fus_SHOULD_REMOTE_NOTIFICATION_TIP
]
boolValue
];
if
(
shouldShowTip
)
{
// 只显示一次
[[
NSUserDefaults
standardUserDefaults
]
setObject
:
@
(
NO
)
forKey
:
FUSLiveUDKeys
.
fus_SHOULD_REMOTE_NOTIFICATION_TIP
];
FUSRoomPushNoticeView
*
noticeView
=
[[
FUSRoomPushNoticeView
alloc
]
initWithXibFileWithShowType
:
FUSPushNoticeViewTypeLiveRoom
goToSystemSettingVcBlock
:
^
{
NSURL
*
pushSettingUrl
=
[
NSURL
URLWithString
:
UIApplicationOpenSettingsURLString
];
if
([[
UIApplication
sharedApplication
]
canOpenURL
:
pushSettingUrl
])
{
[[
UIApplication
sharedApplication
]
openURL
:
pushSettingUrl
];
}
}];
[
noticeView
fus_showViewWithSuperView
:[
UIApplication
sharedApplication
].
keyWindow
];
}
}
else
{
[[
NSUserDefaults
standardUserDefaults
]
setObject
:
@
(
YES
)
forKey
:
FUSLiveUDKeys
.
fus_SHOULD_REMOTE_NOTIFICATION_TIP
];
}
}
//
if (@available(iOS 11.0, *)) {
//
//
[[UNUserNotificationCenter currentNotificationCenter] getNotificationSettingsWithCompletionHandler:^(UNNotificationSettings * _Nonnull settings) {
//
if (settings.authorizationStatus != UNAuthorizationStatusAuthorized) {
//
//
BOOL shouldShowTip = [[[NSUserDefaults standardUserDefaults] objectForKey:FUSLiveUDKeys.fus_SHOULD_REMOTE_NOTIFICATION_TIP] boolValue];
//
if (shouldShowTip) {
//
// 只显示一次,主线程执行
//
dispatch_async(dispatch_get_main_queue(), ^{
//
[[NSUserDefaults standardUserDefaults] setObject:@(NO) forKey:FUSLiveUDKeys.fus_SHOULD_REMOTE_NOTIFICATION_TIP];
//
FUSRoomPushNoticeView *noticeView = [[FUSRoomPushNoticeView alloc] initWithXibFileWithShowType:FUSPushNoticeViewTypeLiveRoom goToSystemSettingVcBlock:^{
//
//
NSURL *pushSettingUrl = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
//
if ([[UIApplication sharedApplication] canOpenURL:pushSettingUrl]) {
//
[[UIApplication sharedApplication] openURL:pushSettingUrl];
//
}
//
//
}];
//
//
[noticeView fus_showViewWithSuperView:[UIApplication sharedApplication].keyWindow];
//
});
//
//
}
//
//
} else {
//
[[NSUserDefaults standardUserDefaults] setObject:@(YES) forKey:FUSLiveUDKeys.fus_SHOULD_REMOTE_NOTIFICATION_TIP];
//
}
//
}];
//
} else {
//
//
if ([UIApplication sharedApplication].currentUserNotificationSettings.types == UIUserNotificationTypeNone) {
//
// 没有打开推送
//
BOOL shouldShowTip = [[[NSUserDefaults standardUserDefaults] objectForKey:FUSLiveUDKeys.fus_SHOULD_REMOTE_NOTIFICATION_TIP] boolValue];
//
if (shouldShowTip) {
//
// 只显示一次
//
[[NSUserDefaults standardUserDefaults] setObject:@(NO) forKey:FUSLiveUDKeys.fus_SHOULD_REMOTE_NOTIFICATION_TIP];
//
FUSRoomPushNoticeView *noticeView = [[FUSRoomPushNoticeView alloc] initWithXibFileWithShowType:FUSPushNoticeViewTypeLiveRoom goToSystemSettingVcBlock:^{
//
//
NSURL *pushSettingUrl = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
//
if ([[UIApplication sharedApplication] canOpenURL:pushSettingUrl]) {
//
[[UIApplication sharedApplication] openURL:pushSettingUrl];
//
}
//
//
}];
//
[noticeView fus_showViewWithSuperView:[UIApplication sharedApplication].keyWindow];
//
//
}
//
} else {
//
[[NSUserDefaults standardUserDefaults] setObject:@(YES) forKey:FUSLiveUDKeys.fus_SHOULD_REMOTE_NOTIFICATION_TIP];
//
}
//
//
}
if
([
roomId
isEqual
:[
FUSLiveHelper
shareInstance
].
roomInfoModel
.
roomId
])
{
[
FUSLiveHelper
shareInstance
].
roomInfoModel
.
liked
=
@"1"
;
...
...
Modules/FUSUserCenterModule/FUSUserCenterModule.xcodeproj/xcuserdata/aaa.xcuserdatad/xcschemes/xcschememanagement.plist
View file @
0c0949e8
...
...
@@ -7,12 +7,12 @@
<
k
e
y
>
FUSUserCenterModule.xcscheme_
^#
shared
#^
_
<
/k
e
y
>
<
d
i
c
t
>
<
k
e
y
>
orderHint
<
/k
e
y
>
<
int
e
g
e
r
>
7
3
<
/int
e
g
e
r
>
<
int
e
g
e
r
>
7
4
<
/int
e
g
e
r
>
<
/
d
i
c
t
>
<
k
e
y
>
FUSUserCenterModuleBundle.xcscheme_
^#
shared
#^
_
<
/k
e
y
>
<
d
i
c
t
>
<
k
e
y
>
orderHint
<
/k
e
y
>
<
int
e
g
e
r
>
7
6
<
/int
e
g
e
r
>
<
int
e
g
e
r
>
7
3
<
/int
e
g
e
r
>
<
/
d
i
c
t
>
<
/
d
i
c
t
>
<
/
d
i
c
t
>
...
...
Modules/FUSUserCenterModule/FUSUserCenterModule/Features/Setting/Controller/FUSVerifyVersionController.swift
View file @
0c0949e8
...
...
@@ -56,7 +56,7 @@ import RxCocoa
}
var
versionText
=
""
if
FUSConfig
.
sharedInstanced
()
.
devConfigs
.
devLevel
==
.
developer
{
versionText
=
"v"
+
FUSConfig
.
sharedInstanced
()
.
appConfigs
.
appVersion
+
"(
\(
Bundle
.
main
.
infoDictionary
?[
"CFBundle
Version
"
]
??
""
)
)"
versionText
=
"v"
+
FUSConfig
.
sharedInstanced
()
.
appConfigs
.
appVersion
+
"(
\(
Bundle
.
main
.
infoDictionary
?[
"CFBundle
ShortVersionString
"
]
??
""
)
)"
}
else
{
versionText
=
"v"
+
FUSConfig
.
sharedInstanced
()
.
appConfigs
.
appVersion
}
...
...
Modules/FUSUserCenterModule/FUSUserCenterModule/Features/Setting/Notification/View/FUSNotificationAlertTipsView.swift
View file @
0c0949e8
...
...
@@ -242,7 +242,8 @@ import RxCocoa
func
fus_setData
(
title
:
String
,
name
:
String
?,
imageUrl
:
String
?,
actionBlock
:
(()
->
Void
)?)
{
titleLabel
.
text
=
title
self
.
actionBlock
=
actionBlock
if
let
name
=
name
,
let
imageUrl
=
imageUrl
{
if
let
name
=
name
,
let
imageUrl
=
imageUrl
,
imageUrl
.
count
>
0
{
topView
.
snp
.
remakeConstraints
{
make
in
make
.
top
.
equalTo
(
self
.
topLineView
.
snp
.
bottom
)
.
offset
(
10
)
make
.
height
.
equalTo
(
26
)
...
...
Modules/FUSUserCenterModule/FUSUserCenterModule/Features/Setting/Notification/View/FUSNotificationSettingsView.swift
View file @
0c0949e8
...
...
@@ -17,7 +17,7 @@ import UIKit
guard
let
showOnView
=
((
showOn
!=
nil
)
?
showOn
:
UIViewController
.
fus_top
()?
.
view
)
else
{
return
}
if
!
showOnView
.
subviews
.
contains
(
where
:
{
$0
is
FUSNotificationSettingsView
})
{
let
view
=
FUSNotificationSettingsView
()
view
.
fus_showAlertView
(
parentView
:
showOnView
,
isNormal
:
false
)
view
.
fus_showAlertView
(
parentView
:
showOnView
,
isNormal
:
isNormal
)
}
}
...
...
@@ -233,7 +233,9 @@ import UIKit
notificationSubViewArr
.
append
(
switchBgView
)
let
switchImageView
=
UIImageView
(
frame
:
.
zero
)
switchImageView
.
image
=
FUSUserCenterBunble
.
imageNamed
(
"setting_status_point"
)
// switchImageView.image = FUSUserCenterBunble.imageNamed("setting_status_point")
switchImageView
.
backgroundColor
=
.
gray
switchImageView
.
layer
.
cornerRadius
=
5.0
/
2.0
switchBgView
.
addSubview
(
switchImageView
)
let
switchLabel
=
UILabel
()
...
...
@@ -247,7 +249,7 @@ import UIKit
switchBtn
.
contentVerticalAlignment
=
.
center
switchBtn
.
contentHorizontalAlignment
=
.
center
switchBtn
.
setImage
(
UIImage
.
fus_unSelectedIcon
(),
for
:
.
normal
)
switchBtn
.
setImage
(
UIImage
.
fus_se
cretIcon
(),
for
:
.
selected
)
switchBtn
.
setImage
(
UIImage
.
fus_se
lectedIconFillStyle
(),
for
:
.
selected
)
switchBtn
.
isSelected
=
self
.
notificationHashMap
[
type
]
??
false
switchBtn
.
isHidden
=
!
isNormal
switchBtn
.
tag
=
type
.
rawValue
...
...
@@ -273,7 +275,7 @@ import UIKit
switchBtn
.
snp
.
makeConstraints
{
make
in
make
.
right
.
equalToSuperview
()
.
offset
(
-
20
)
make
.
centerY
.
equalToSuperview
()
make
.
size
.
equalTo
(
CGSizeMake
(
18
,
18
))
make
.
size
.
equalTo
(
CGSizeMake
(
22
,
22
))
}
lastView
=
switchBgView
}
...
...
Modules/FUSUserCenterModule/FUSUserCenterModule/Features/Setting/View/FUSChatSettingOneToOneHeaderView.m
View file @
0c0949e8
...
...
@@ -399,26 +399,34 @@
// }];
// return;
// }
if
(
self
.
detailCompleteStage
==
-
1
)
{
//未完善
[
FUSAlertView
showAlertWithTitle
:[
NSString
fus_versionLocalString
:
@"私房价格"
]
message
:[
NSString
fus_versionLocalString
:
@"完善个人资料设定,可解锁价格"
]
cancelButtonTitle
:
[
NSString
fus_versionLocalString
:
@"取消"
]
otherButtonTitles
:
@[[
NSString
fus_versionLocalString
:
@"确认"
]]
clickBlock
:^
(
NSInteger
buttonIndex
)
{
if
(
buttonIndex
==
1
)
{
FUSCompleteUserInfoViewController
*
vc
=
[[
FUSCompleteUserInfoViewController
alloc
]
init
];
[
vc
fus_setControllerTypeWithType
:
1
];
[[
UIViewController
fus_topViewController
].
navigationController
pushViewController
:
vc
animated
:
YES
];
}
}];
return
;
}
else
if
(
self
.
detailCompleteStage
==
0
){
// 审核中
[
FUSAlertView
showAlertWithTitle
:[
NSString
fus_versionLocalString
:
@"私房价格"
]
message
:[
NSString
fus_versionLocalString
:
@"个人资料正在审核中,请耐心等候"
]
cancelButtonTitle
:
nil
otherButtonTitles
:
@[[
NSString
fus_versionLocalString
:
@"我知道了"
]]
clickBlock
:^
(
NSInteger
buttonIndex
)
{
}];
FUSPrivateLivePriceItemModel
*
price
=
self
.
priceModel
.
priceList
[
indexPath
.
row
];
if
([
self
.
selectedPriceModel
.
pid
isEqualToString
:
price
.
pid
])
{
// 一样的不选
return
;
}
FUSPrivateLivePriceItemModel
*
price
=
self
.
priceModel
.
priceList
[
indexPath
.
row
];
if
(
price
.
price
.
integerValue
>
0
)
{
if
(
self
.
detailCompleteStage
==
-
1
)
{
//未完善
[
FUSAlertView
showAlertWithTitle
:[
NSString
fus_versionLocalString
:
@"私房价格"
]
message
:[
NSString
fus_versionLocalString
:
@"完善个人资料设定,可解锁价格"
]
cancelButtonTitle
:
[
NSString
fus_versionLocalString
:
@"取消"
]
otherButtonTitles
:
@[[
NSString
fus_versionLocalString
:
@"确认"
]]
clickBlock
:^
(
NSInteger
buttonIndex
)
{
if
(
buttonIndex
==
1
)
{
FUSCompleteUserInfoViewController
*
vc
=
[[
FUSCompleteUserInfoViewController
alloc
]
init
];
[
vc
fus_setControllerTypeWithType
:
1
];
[[
UIViewController
fus_topViewController
].
navigationController
pushViewController
:
vc
animated
:
YES
];
}
}];
return
;
}
else
if
(
self
.
detailCompleteStage
==
0
){
// 审核中
[
FUSAlertView
showAlertWithTitle
:[
NSString
fus_versionLocalString
:
@"私房价格"
]
message
:[
NSString
fus_versionLocalString
:
@"个人资料正在审核中,请耐心等候"
]
cancelButtonTitle
:
nil
otherButtonTitles
:
@[[
NSString
fus_versionLocalString
:
@"我知道了"
]]
clickBlock
:^
(
NSInteger
buttonIndex
)
{
}];
return
;
}
}
MJWeakSelf
// 发起请求以
...
...
@@ -477,7 +485,7 @@
#pragma mark - getter and setter
-
(
void
)
setConfigModel
:
(
FUSPrivateLiveConfigModel
*
)
configModel
{
_configModel
=
configModel
;
self
.
chatSwitch
.
on
=
configModel
.
videoSwitch
;
self
.
chatSwitch
.
on
=
[
configModel
.
videoSwitch
boolValue
]
;
self
.
chatSelectedMaskView
.
hidden
=
configModel
.
videoSwitch
;
[
self
fus_loadDataSource
];
}
...
...
Modules/FUSUserCenterModule/FUSUserCenterModule/Features/Zone/Controller/FUSBackpackViewController.swift
View file @
0c0949e8
...
...
@@ -10,6 +10,31 @@ import RxSwift
import
RxCocoa
@objcMembers
public
class
FUSBackpackViewController
:
FUSBaseViewController
{
@objc
public
enum
FUSBackpackPreloadSegment
:
Int
{
case
none
case
gift
case
props
case
car
case
edge
func
fus_getTypeIndex
()
->
Int
{
switch
self
{
case
.
gift
:
return
90001
case
.
props
:
return
90002
case
.
car
:
return
90003
case
.
edge
:
return
90004
default
:
return
-
1
}
}
}
/// 一开始选择的segment
@objc
public
var
preloadSegment
:
FUSBackpackPreloadSegment
=
.
none
private
let
disposeBag
=
DisposeBag
()
public
var
defaultSegmentIndex
=
0
...
...
@@ -48,6 +73,20 @@ import RxCocoa
bindViewModel
()
}
public
override
func
viewWillAppear
(
_
animated
:
Bool
)
{
super
.
viewWillAppear
(
animated
)
// 一开始点击到哪个栏目
if
self
.
preloadSegment
!=
.
none
{
if
let
backpackTypeList
=
self
.
viewModel
.
backpackTypeList
.
value
,
let
index
=
backpackTypeList
.
firstIndex
(
where
:
{
$0
.
index
==
preloadSegment
.
fus_getTypeIndex
()
}),
self
.
segmentView
.
itemTitles
.
count
>
index
{
self
.
segmentView
.
fus_setSelectedItem
(
index
,
autoCallBack
:
true
)
}
self
.
preloadSegment
=
.
none
}
}
public
override
func
viewDidAppear
(
_
animated
:
Bool
)
{
super
.
viewDidAppear
(
animated
)
if
isFirstLoad
==
false
{
...
...
Modules/FUSUserCenterModule/FUSUserCenterModule/Features/Zone/Controller/FireFlyMyZone/FUSZoneUserInfoEditViewController.swift
View file @
0c0949e8
...
...
@@ -160,6 +160,7 @@ import FUSCommon
else
if
self
.
preClicked
==
2
{
self
.
fus_beginEditUserNickname
()
}
self
.
preClicked
=
-
1
;
}
deinit
{
...
...
Modules/FUSUserCenterModule/FUSUserCenterModule/Features/Zone/Other/FUSMyZoneCellManager.m
View file @
0c0949e8
...
...
@@ -256,6 +256,7 @@ typedef NS_ENUM(NSUInteger, FUSMyZoneSectionType) {
switch
(
self
.
zoneModel
.
vehicleMall
)
{
case
FUSZoneMotoJumpPageTypeDefalut
:
{
FUSBackpackViewController
*
motorVC
=
[[
FUSBackpackViewController
alloc
]
init
];
motorVC
.
preloadSegment
=
FUSBackpackPreloadSegmentCar
;
[
_delegate
fus_cellManager
:
self
pushToController
:
motorVC
];
break
;
}
...
...
Modules/FUSUserCenterModule/FUSUserCenterModule/Router/FUSUserCenterRouter.m
View file @
0c0949e8
...
...
@@ -38,6 +38,7 @@
#import "FUSImagePickerViewController.h"
#import "FUSBlackListViewController.h"
#import "FUSNewsFeedListViewController.h"
#import "FUSChatSettingViewController.h"
#import "FUSThirdPartyLoginHelper.h"
#import "FUSRecieveNotificationHelper.h"
#import "FUSGotBackpackItemAnimView.h"
...
...
@@ -198,6 +199,12 @@
}
-
(
void
)
fus_enterChatSettingVC
{
FUSChatSettingViewController
*
vc
=
[[
FUSChatSettingViewController
alloc
]
init
];
vc
.
hidesBottomBarWhenPushed
=
YES
;
[[
UIViewController
fus_topViewController
].
navigationController
pushViewController
:
vc
animated
:
YES
];
}
-
(
void
)
fus_enterPhoneAuthVC
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment