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
d9e1a5b9
authored
Mar 18, 2026
by
suolong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
完成主播端设置礼物互动ui和api
parent
e2dba143
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
673 additions
and
57 deletions
Modules/FUSShowRoomModule/FUSShowRoomModule.xcodeproj/project.pbxproj
Modules/FUSShowRoomModule/FUSShowRoomModule/Features/NewLive/Main/Controller/FUSLiveGiftInteractAddPopView.h
Modules/FUSShowRoomModule/FUSShowRoomModule/Features/NewLive/Main/Controller/FUSLiveGiftInteractAddPopView.m
Modules/FUSShowRoomModule/FUSShowRoomModule/Features/NewLive/Main/Controller/FUSLiveGiftInteractGiftDropdownView.h
Modules/FUSShowRoomModule/FUSShowRoomModule/Features/NewLive/Main/Controller/FUSLiveGiftInteractGiftDropdownView.m
Modules/FUSShowRoomModule/FUSShowRoomModule/Features/NewLive/Main/Controller/FUSLiveGiftInteractSettingViewController.m
Modules/FUSShowRoomModule/FUSShowRoomModule/Features/NewLive/Main/Controller/Model/FUSLiveGiftInteractSettingItemModel.h
Modules/FUSShowRoomModule/FUSShowRoomModule/Features/NewLive/Main/Controller/Model/FUSLiveGiftInteractSettingItemModel.m
Modules/FUSShowRoomModule/FUSShowRoomModule/Features/NewLive/Main/Controller/cell/FUSLiveGiftInteractGiftDropdownCell.h
Modules/FUSShowRoomModule/FUSShowRoomModule/Features/NewLive/Main/Controller/cell/FUSLiveGiftInteractGiftDropdownCell.m
Modules/FUSShowRoomModule/FUSShowRoomModule/Features/NewLive/Main/Controller/cell/FUSLiveGiftInteractSettingEnableCell.h
Modules/FUSShowRoomModule/FUSShowRoomModule/Features/NewLive/Main/Controller/cell/FUSLiveGiftInteractSettingEnableCell.m
Modules/FUSShowRoomModule/FUSShowRoomModule/Features/NewLive/Main/Controller/cell/FUSLiveGiftInteractSettingItemCell.h
Modules/FUSShowRoomModule/FUSShowRoomModule/Features/NewLive/Main/Controller/cell/FUSLiveGiftInteractSettingItemCell.m
Modules/FUSShowRoomModule/FUSShowRoomModule/Features/NewLive/Main/Other/FUSLiveHttpHelper.h
Modules/FUSShowRoomModule/FUSShowRoomModule/Features/NewLive/Main/Other/FUSLiveHttpHelper.m
Modules/FUSShowRoomModule/FUSShowRoomModule/Others/FUSShowRoomURLs.h
Modules/FUSShowRoomModule/FUSShowRoomModule/Others/FUSShowRoomURLs.m
Modules/FUSShowRoomModule/FUSShowRoomModule.xcodeproj/project.pbxproj
View file @
d9e1a5b9
...
@@ -1336,8 +1336,14 @@
...
@@ -1336,8 +1336,14 @@
BED6586C2C5B745E00668116
/* FUSLiveMainViewController.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
BED655592C5B745D00668116
/* FUSLiveMainViewController.m */
;
};
BED6586C2C5B745E00668116
/* FUSLiveMainViewController.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
BED655592C5B745D00668116
/* FUSLiveMainViewController.m */
;
};
BEEF8E4B2F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingViewController.h in Headers */
=
{
isa
=
PBXBuildFile
;
fileRef
=
BEEF8E492F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingViewController.h */
;
};
BEEF8E4B2F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingViewController.h in Headers */
=
{
isa
=
PBXBuildFile
;
fileRef
=
BEEF8E492F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingViewController.h */
;
};
BEEF8E4C2F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingViewController.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
BEEF8E4A2F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingViewController.m */
;
};
BEEF8E4C2F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingViewController.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
BEEF8E4A2F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingViewController.m */
;
};
BEEF8E6C2F90000100A1B2C3
/* FUSLiveGiftInteractSettingItemModel.h in Headers */
=
{
isa
=
PBXBuildFile
;
fileRef
=
BEEF8E6A2F90000100A1B2C3
/* FUSLiveGiftInteractSettingItemModel.h */
;
};
BEEF8E6D2F90000100A1B2C3
/* FUSLiveGiftInteractSettingItemModel.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
BEEF8E6B2F90000100A1B2C3
/* FUSLiveGiftInteractSettingItemModel.m */
;
};
BEEF8E5A2F7B000100A1B2C3
/* FUSLiveGiftInteractAddPopView.h in Headers */
=
{
isa
=
PBXBuildFile
;
fileRef
=
BEEF8E562F7B000100A1B2C3
/* FUSLiveGiftInteractAddPopView.h */
;
};
BEEF8E5A2F7B000100A1B2C3
/* FUSLiveGiftInteractAddPopView.h in Headers */
=
{
isa
=
PBXBuildFile
;
fileRef
=
BEEF8E562F7B000100A1B2C3
/* FUSLiveGiftInteractAddPopView.h */
;
};
BEEF8E5B2F7B000100A1B2C3
/* FUSLiveGiftInteractAddPopView.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
BEEF8E572F7B000100A1B2C3
/* FUSLiveGiftInteractAddPopView.m */
;
};
BEEF8E5B2F7B000100A1B2C3
/* FUSLiveGiftInteractAddPopView.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
BEEF8E572F7B000100A1B2C3
/* FUSLiveGiftInteractAddPopView.m */
;
};
BEF0A1072F86AA0100ABCDEF
/* FUSLiveGiftInteractGiftDropdownCell.h in Headers */
=
{
isa
=
PBXBuildFile
;
fileRef
=
BEF0A1012F86AA0100ABCDEF
/* FUSLiveGiftInteractGiftDropdownCell.h */
;
};
BEF0A1052F86AA0100ABCDEF
/* FUSLiveGiftInteractGiftDropdownCell.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
BEF0A1022F86AA0100ABCDEF
/* FUSLiveGiftInteractGiftDropdownCell.m */
;
};
BEF0A1082F86AA0100ABCDEF
/* FUSLiveGiftInteractGiftDropdownView.h in Headers */
=
{
isa
=
PBXBuildFile
;
fileRef
=
BEF0A1032F86AA0100ABCDEF
/* FUSLiveGiftInteractGiftDropdownView.h */
;
};
BEF0A1062F86AA0100ABCDEF
/* FUSLiveGiftInteractGiftDropdownView.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
BEF0A1042F86AA0100ABCDEF
/* FUSLiveGiftInteractGiftDropdownView.m */
;
};
BEEF8E512F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingEnableCell.h in Headers */
=
{
isa
=
PBXBuildFile
;
fileRef
=
BEEF8E4D2F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingEnableCell.h */
;
};
BEEF8E512F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingEnableCell.h in Headers */
=
{
isa
=
PBXBuildFile
;
fileRef
=
BEEF8E4D2F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingEnableCell.h */
;
};
BEEF8E522F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingEnableCell.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
BEEF8E4E2F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingEnableCell.m */
;
};
BEEF8E522F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingEnableCell.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
BEEF8E4E2F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingEnableCell.m */
;
};
BEEF8E532F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingItemCell.h in Headers */
=
{
isa
=
PBXBuildFile
;
fileRef
=
BEEF8E4F2F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingItemCell.h */
;
};
BEEF8E532F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingItemCell.h in Headers */
=
{
isa
=
PBXBuildFile
;
fileRef
=
BEEF8E4F2F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingItemCell.h */
;
};
...
@@ -3721,12 +3727,18 @@
...
@@ -3721,12 +3727,18 @@
BED6555B2C5B745D00668116
/* VELPictureInPictureController.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
VELPictureInPictureController.m
;
sourceTree
=
"<group>"
;
};
BED6555B2C5B745D00668116
/* VELPictureInPictureController.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
VELPictureInPictureController.m
;
sourceTree
=
"<group>"
;
};
BEEF8E492F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingViewController.h */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
FUSLiveGiftInteractSettingViewController.h
;
sourceTree
=
"<group>"
;
};
BEEF8E492F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingViewController.h */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
FUSLiveGiftInteractSettingViewController.h
;
sourceTree
=
"<group>"
;
};
BEEF8E4A2F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingViewController.m */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
FUSLiveGiftInteractSettingViewController.m
;
sourceTree
=
"<group>"
;
};
BEEF8E4A2F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingViewController.m */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
FUSLiveGiftInteractSettingViewController.m
;
sourceTree
=
"<group>"
;
};
BEEF8E6A2F90000100A1B2C3
/* FUSLiveGiftInteractSettingItemModel.h */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
FUSLiveGiftInteractSettingItemModel.h
;
sourceTree
=
"<group>"
;
};
BEEF8E6B2F90000100A1B2C3
/* FUSLiveGiftInteractSettingItemModel.m */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
FUSLiveGiftInteractSettingItemModel.m
;
sourceTree
=
"<group>"
;
};
BEEF8E562F7B000100A1B2C3
/* FUSLiveGiftInteractAddPopView.h */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
FUSLiveGiftInteractAddPopView.h
;
sourceTree
=
"<group>"
;
};
BEEF8E562F7B000100A1B2C3
/* FUSLiveGiftInteractAddPopView.h */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
FUSLiveGiftInteractAddPopView.h
;
sourceTree
=
"<group>"
;
};
BEEF8E572F7B000100A1B2C3
/* FUSLiveGiftInteractAddPopView.m */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
FUSLiveGiftInteractAddPopView.m
;
sourceTree
=
"<group>"
;
};
BEEF8E572F7B000100A1B2C3
/* FUSLiveGiftInteractAddPopView.m */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
FUSLiveGiftInteractAddPopView.m
;
sourceTree
=
"<group>"
;
};
BEF0A1032F86AA0100ABCDEF
/* FUSLiveGiftInteractGiftDropdownView.h */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
FUSLiveGiftInteractGiftDropdownView.h
;
sourceTree
=
"<group>"
;
};
BEF0A1042F86AA0100ABCDEF
/* FUSLiveGiftInteractGiftDropdownView.m */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
FUSLiveGiftInteractGiftDropdownView.m
;
sourceTree
=
"<group>"
;
};
BEEF8E4D2F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingEnableCell.h */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
FUSLiveGiftInteractSettingEnableCell.h
;
sourceTree
=
"<group>"
;
};
BEEF8E4D2F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingEnableCell.h */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
FUSLiveGiftInteractSettingEnableCell.h
;
sourceTree
=
"<group>"
;
};
BEEF8E4E2F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingEnableCell.m */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
FUSLiveGiftInteractSettingEnableCell.m
;
sourceTree
=
"<group>"
;
};
BEEF8E4E2F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingEnableCell.m */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
FUSLiveGiftInteractSettingEnableCell.m
;
sourceTree
=
"<group>"
;
};
BEEF8E4F2F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingItemCell.h */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
FUSLiveGiftInteractSettingItemCell.h
;
sourceTree
=
"<group>"
;
};
BEEF8E4F2F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingItemCell.h */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
FUSLiveGiftInteractSettingItemCell.h
;
sourceTree
=
"<group>"
;
};
BEEF8E502F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingItemCell.m */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
FUSLiveGiftInteractSettingItemCell.m
;
sourceTree
=
"<group>"
;
};
BEEF8E502F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingItemCell.m */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
FUSLiveGiftInteractSettingItemCell.m
;
sourceTree
=
"<group>"
;
};
BEF0A1012F86AA0100ABCDEF
/* FUSLiveGiftInteractGiftDropdownCell.h */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
FUSLiveGiftInteractGiftDropdownCell.h
;
sourceTree
=
"<group>"
;
};
BEF0A1022F86AA0100ABCDEF
/* FUSLiveGiftInteractGiftDropdownCell.m */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
FUSLiveGiftInteractGiftDropdownCell.m
;
sourceTree
=
"<group>"
;
};
BED6555D2C5B745D00668116
/* FUSBarrageCardModel.h */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
FUSBarrageCardModel.h
;
sourceTree
=
"<group>"
;
};
BED6555D2C5B745D00668116
/* FUSBarrageCardModel.h */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
FUSBarrageCardModel.h
;
sourceTree
=
"<group>"
;
};
BED6555E2C5B745D00668116
/* FUSBarrageCardModel.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
FUSBarrageCardModel.m
;
sourceTree
=
"<group>"
;
};
BED6555E2C5B745D00668116
/* FUSBarrageCardModel.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
FUSBarrageCardModel.m
;
sourceTree
=
"<group>"
;
};
BED655612C5B745D00668116
/* FUSGiftSendToModel.h */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
FUSGiftSendToModel.h
;
sourceTree
=
"<group>"
;
};
BED655612C5B745D00668116
/* FUSGiftSendToModel.h */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
FUSGiftSendToModel.h
;
sourceTree
=
"<group>"
;
};
...
@@ -6572,13 +6584,25 @@
...
@@ -6572,13 +6584,25 @@
BED6555B2C5B745D00668116
/* VELPictureInPictureController.m */
,
BED6555B2C5B745D00668116
/* VELPictureInPictureController.m */
,
BEEF8E492F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingViewController.h */
,
BEEF8E492F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingViewController.h */
,
BEEF8E4A2F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingViewController.m */
,
BEEF8E4A2F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingViewController.m */
,
BEEF8E6E2F90000200A1B2C3
/* Model */
,
BEEF8E562F7B000100A1B2C3
/* FUSLiveGiftInteractAddPopView.h */
,
BEEF8E562F7B000100A1B2C3
/* FUSLiveGiftInteractAddPopView.h */
,
BEEF8E572F7B000100A1B2C3
/* FUSLiveGiftInteractAddPopView.m */
,
BEEF8E572F7B000100A1B2C3
/* FUSLiveGiftInteractAddPopView.m */
,
BEF0A1032F86AA0100ABCDEF
/* FUSLiveGiftInteractGiftDropdownView.h */
,
BEF0A1042F86AA0100ABCDEF
/* FUSLiveGiftInteractGiftDropdownView.m */
,
BEEF8E552F6F0C7E00A1B2C3
/* cell */
,
BEEF8E552F6F0C7E00A1B2C3
/* cell */
,
);
);
path
=
Controller
;
path
=
Controller
;
sourceTree
=
"<group>"
;
sourceTree
=
"<group>"
;
};
};
BEEF8E6E2F90000200A1B2C3
/* Model */
=
{
isa
=
PBXGroup
;
children
=
(
BEEF8E6A2F90000100A1B2C3
/* FUSLiveGiftInteractSettingItemModel.h */
,
BEEF8E6B2F90000100A1B2C3
/* FUSLiveGiftInteractSettingItemModel.m */
,
);
path
=
Model
;
sourceTree
=
"<group>"
;
};
BEEF8E552F6F0C7E00A1B2C3
/* cell */
=
{
BEEF8E552F6F0C7E00A1B2C3
/* cell */
=
{
isa
=
PBXGroup
;
isa
=
PBXGroup
;
children
=
(
children
=
(
...
@@ -6586,6 +6610,8 @@
...
@@ -6586,6 +6610,8 @@
BEEF8E4E2F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingEnableCell.m */
,
BEEF8E4E2F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingEnableCell.m */
,
BEEF8E4F2F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingItemCell.h */
,
BEEF8E4F2F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingItemCell.h */
,
BEEF8E502F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingItemCell.m */
,
BEEF8E502F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingItemCell.m */
,
BEF0A1012F86AA0100ABCDEF
/* FUSLiveGiftInteractGiftDropdownCell.h */
,
BEF0A1022F86AA0100ABCDEF
/* FUSLiveGiftInteractGiftDropdownCell.m */
,
);
);
path
=
cell
;
path
=
cell
;
sourceTree
=
"<group>"
;
sourceTree
=
"<group>"
;
...
@@ -8797,9 +8823,12 @@
...
@@ -8797,9 +8823,12 @@
BED65A322C5B745F00668116
/* FUSLiveShareToChatView.h in Headers */
,
BED65A322C5B745F00668116
/* FUSLiveShareToChatView.h in Headers */
,
BED6586B2C5B745E00668116
/* FUSLiveMainViewController.h in Headers */
,
BED6586B2C5B745E00668116
/* FUSLiveMainViewController.h in Headers */
,
BEEF8E4B2F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingViewController.h in Headers */
,
BEEF8E4B2F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingViewController.h in Headers */
,
BEEF8E6C2F90000100A1B2C3
/* FUSLiveGiftInteractSettingItemModel.h in Headers */
,
BEEF8E5A2F7B000100A1B2C3
/* FUSLiveGiftInteractAddPopView.h in Headers */
,
BEEF8E5A2F7B000100A1B2C3
/* FUSLiveGiftInteractAddPopView.h in Headers */
,
BEF0A1082F86AA0100ABCDEF
/* FUSLiveGiftInteractGiftDropdownView.h in Headers */
,
BEEF8E512F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingEnableCell.h in Headers */
,
BEEF8E512F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingEnableCell.h in Headers */
,
BEEF8E532F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingItemCell.h in Headers */
,
BEEF8E532F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingItemCell.h in Headers */
,
BEF0A1072F86AA0100ABCDEF
/* FUSLiveGiftInteractGiftDropdownCell.h in Headers */
,
BE189DC12C733B460008418B
/* FSRActiveViewController.h in Headers */
,
BE189DC12C733B460008418B
/* FSRActiveViewController.h in Headers */
,
BED658F72C5B745E00668116
/* FUSLiveChatFastInputCell.h in Headers */
,
BED658F72C5B745E00668116
/* FUSLiveChatFastInputCell.h in Headers */
,
BED65AAA2C5B745F00668116
/* FUSHomeView.h in Headers */
,
BED65AAA2C5B745F00668116
/* FUSHomeView.h in Headers */
,
...
@@ -10955,9 +10984,12 @@
...
@@ -10955,9 +10984,12 @@
BED658CA2C5B745E00668116
/* FUSContributeListModel.m in Sources */
,
BED658CA2C5B745E00668116
/* FUSContributeListModel.m in Sources */
,
BED6586C2C5B745E00668116
/* FUSLiveMainViewController.m in Sources */
,
BED6586C2C5B745E00668116
/* FUSLiveMainViewController.m in Sources */
,
BEEF8E4C2F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingViewController.m in Sources */
,
BEEF8E4C2F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingViewController.m in Sources */
,
BEEF8E6D2F90000100A1B2C3
/* FUSLiveGiftInteractSettingItemModel.m in Sources */
,
BEEF8E5B2F7B000100A1B2C3
/* FUSLiveGiftInteractAddPopView.m in Sources */
,
BEEF8E5B2F7B000100A1B2C3
/* FUSLiveGiftInteractAddPopView.m in Sources */
,
BEF0A1062F86AA0100ABCDEF
/* FUSLiveGiftInteractGiftDropdownView.m in Sources */
,
BEEF8E522F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingEnableCell.m in Sources */
,
BEEF8E522F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingEnableCell.m in Sources */
,
BEEF8E542F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingItemCell.m in Sources */
,
BEEF8E542F6F0C7E00A1B2C3
/* FUSLiveGiftInteractSettingItemCell.m in Sources */
,
BEF0A1052F86AA0100ABCDEF
/* FUSLiveGiftInteractGiftDropdownCell.m in Sources */
,
BED659A82C5B745F00668116
/* FUSLinkMicSettingView.m in Sources */
,
BED659A82C5B745F00668116
/* FUSLinkMicSettingView.m in Sources */
,
BED65A3A2C5B745F00668116
/* FUSTreasureBoxInfoModel.m in Sources */
,
BED65A3A2C5B745F00668116
/* FUSTreasureBoxInfoModel.m in Sources */
,
BED6589E2C5B745E00668116
/* FUSBlurImageView.m in Sources */
,
BED6589E2C5B745E00668116
/* FUSBlurImageView.m in Sources */
,
Modules/FUSShowRoomModule/FUSShowRoomModule/Features/NewLive/Main/Controller/FUSLiveGiftInteractAddPopView.h
View file @
d9e1a5b9
...
@@ -9,10 +9,10 @@ NS_ASSUME_NONNULL_BEGIN
...
@@ -9,10 +9,10 @@ NS_ASSUME_NONNULL_BEGIN
@property
(
nonatomic
,
copy
)
void
(
^
saveHandler
)(
NSString
*
desc
,
FUSLiveGiftDataModel
*
gift
,
NSInteger
count
);
@property
(
nonatomic
,
copy
)
void
(
^
saveHandler
)(
NSString
*
desc
,
FUSLiveGiftDataModel
*
gift
,
NSInteger
count
);
@property
(
nonatomic
,
copy
,
nullable
)
void
(
^
dismissHandler
)(
void
);
@property
(
nonatomic
,
copy
,
nullable
)
void
(
^
dismissHandler
)(
void
);
-
(
void
)
show
;
-
(
void
)
showInView
:(
UIView
*
)
view
;
-
(
void
)
showInView
:(
UIView
*
)
view
;
-
(
void
)
dismiss
;
-
(
void
)
dismiss
;
@end
@end
NS_ASSUME_NONNULL_END
NS_ASSUME_NONNULL_END
Modules/FUSShowRoomModule/FUSShowRoomModule/Features/NewLive/Main/Controller/FUSLiveGiftInteractAddPopView.m
View file @
d9e1a5b9
#import "FUSLiveGiftInteractAddPopView.h"
#import "FUSLiveGiftInteractAddPopView.h"
#import "FUSGiftDataCenter.h"
#import "FUSGiftDataCenter.h"
#import "FUSDialogView.h"
#import "FUSLiveGiftDataModel.h"
#import "FUSLiveGiftInteractGiftDropdownView.h"
#import "FUSTextField.h"
#import "FUSTextField.h"
#import "UIViewController+FUSExpand.h"
#import "UIViewController+FUSExpand.h"
@interface
FUSLiveGiftInteractAddPopView
()
<
UITextFieldDelegate
>
@interface
FUSLiveGiftInteractAddPopView
()
@property
(
nonatomic
,
strong
)
UIControl
*
maskView
;
@property
(
nonatomic
,
strong
)
UIControl
*
maskView
;
@property
(
nonatomic
,
strong
)
UIView
*
contentView
;
@property
(
nonatomic
,
strong
)
UIView
*
contentView
;
...
@@ -19,6 +21,8 @@
...
@@ -19,6 +21,8 @@
@property
(
nonatomic
,
strong
)
UIControl
*
giftSelectView
;
@property
(
nonatomic
,
strong
)
UIControl
*
giftSelectView
;
@property
(
nonatomic
,
strong
)
UILabel
*
giftLabel
;
@property
(
nonatomic
,
strong
)
UILabel
*
giftLabel
;
@property
(
nonatomic
,
strong
)
UIImageView
*
giftArrowView
;
@property
(
nonatomic
,
strong
)
UIImageView
*
giftArrowView
;
@property
(
nonatomic
,
strong
)
FUSLiveGiftInteractGiftDropdownView
*
giftDropdownView
;
@property
(
nonatomic
,
assign
)
BOOL
giftDropdownVisible
;
@property
(
nonatomic
,
strong
)
UILabel
*
countTitleLabel
;
@property
(
nonatomic
,
strong
)
UILabel
*
countTitleLabel
;
@property
(
nonatomic
,
strong
)
UILabel
*
countLabel
;
@property
(
nonatomic
,
strong
)
UILabel
*
countLabel
;
...
@@ -47,6 +51,15 @@
...
@@ -47,6 +51,15 @@
return
self
;
return
self
;
}
}
-
(
void
)
show
{
UIViewController
*
topVC
=
[
UIViewController
fus_topViewController
];
UIView
*
container
=
topVC
.
navigationController
?
topVC
.
navigationController
.
view
:
topVC
.
view
;
if
(
!
container
)
{
container
=
[
UIViewController
fus_topMostWindow
];
}
[
self
showInView
:
container
];
}
-
(
void
)
showInView
:
(
UIView
*
)
view
{
-
(
void
)
showInView
:
(
UIView
*
)
view
{
if
(
!
view
)
{
if
(
!
view
)
{
return
;
return
;
...
@@ -63,7 +76,9 @@
...
@@ -63,7 +76,9 @@
self
.
giftLabel
.
textColor
=
[
UIColor
colorWithHex
:
@"#999999"
];
self
.
giftLabel
.
textColor
=
[
UIColor
colorWithHex
:
@"#999999"
];
self
.
giftLabel
.
text
=
[
NSString
fus_localString
:
@"请选择礼物"
];
self
.
giftLabel
.
text
=
[
NSString
fus_localString
:
@"请选择礼物"
];
self
.
descField
.
text
=
@""
;
self
.
descField
.
text
=
@""
;
[
self
.
descField
resignFirstResponder
];
[
self
fus_setGiftArrowExpanded
:
NO
];
[
self
fus_setGiftArrowExpanded
:
NO
];
[
self
fus_hideGiftDropdown
];
self
.
countOptions
=
@[
@
(
1
)];
self
.
countOptions
=
@[
@
(
1
)];
self
.
countIndex
=
0
;
self
.
countIndex
=
0
;
[
self
fus_applyCountIndex
:
0
];
[
self
fus_applyCountIndex
:
0
];
...
@@ -78,6 +93,7 @@
...
@@ -78,6 +93,7 @@
return
;
return
;
}
}
self
.
isDismissing
=
YES
;
self
.
isDismissing
=
YES
;
[
self
fus_hideGiftDropdown
];
[
self
endEditing
:
YES
];
[
self
endEditing
:
YES
];
[
UIView
animateWithDuration
:
0
.
25
delay
:
0
options
:
UIViewAnimationOptionBeginFromCurrentState
animations
:^
{
[
UIView
animateWithDuration
:
0
.
25
delay
:
0
options
:
UIViewAnimationOptionBeginFromCurrentState
animations
:^
{
self
.
maskView
.
alpha
=
0
;
self
.
maskView
.
alpha
=
0
;
...
@@ -124,6 +140,12 @@
...
@@ -124,6 +140,12 @@
self
.
giftSelectView
.
frame
=
CGRectMake
(
padding
,
y
,
fieldW
,
fieldH
);
self
.
giftSelectView
.
frame
=
CGRectMake
(
padding
,
y
,
fieldW
,
fieldH
);
self
.
giftLabel
.
frame
=
CGRectMake
(
12
,
0
,
fieldW
-
12
-
12
-
14
,
fieldH
);
self
.
giftLabel
.
frame
=
CGRectMake
(
12
,
0
,
fieldW
-
12
-
12
-
14
,
fieldH
);
self
.
giftArrowView
.
frame
=
CGRectMake
(
fieldW
-
12
-
14
,
(
fieldH
-
14
)
/
2
.
0
,
14
,
14
);
self
.
giftArrowView
.
frame
=
CGRectMake
(
fieldW
-
12
-
14
,
(
fieldH
-
14
)
/
2
.
0
,
14
,
14
);
CGFloat
dropdownY
=
CGRectGetMaxY
(
self
.
giftSelectView
.
frame
)
+
4
;
CGFloat
dropdownMaxH
=
MAX
(
0
,
contentH
-
8
-
dropdownY
);
CGFloat
dropdownH
=
[
self
.
giftDropdownView
fus_preferredHeightWithMaxHeight
:
dropdownMaxH
];
self
.
giftDropdownView
.
frame
=
CGRectMake
(
padding
,
dropdownY
,
fieldW
,
dropdownH
);
y
=
CGRectGetMaxY
(
self
.
giftSelectView
.
frame
)
+
sectionGap
;
y
=
CGRectGetMaxY
(
self
.
giftSelectView
.
frame
)
+
sectionGap
;
self
.
countTitleLabel
.
frame
=
CGRectMake
(
padding
,
y
,
fieldW
,
labelH
);
self
.
countTitleLabel
.
frame
=
CGRectMake
(
padding
,
y
,
fieldW
,
labelH
);
...
@@ -134,11 +156,13 @@
...
@@ -134,11 +156,13 @@
self
.
plusBtn
.
frame
=
CGRectMake
(
padding
+
fieldW
-
btnSize
,
y
,
btnSize
,
btnSize
);
self
.
plusBtn
.
frame
=
CGRectMake
(
padding
+
fieldW
-
btnSize
,
y
,
btnSize
,
btnSize
);
self
.
countLabel
.
frame
=
CGRectMake
(
CGRectGetMaxX
(
self
.
minusBtn
.
frame
),
y
,
fieldW
-
btnSize
*
2
,
btnSize
);
self
.
countLabel
.
frame
=
CGRectMake
(
CGRectGetMaxX
(
self
.
minusBtn
.
frame
),
y
,
fieldW
-
btnSize
*
2
,
btnSize
);
CGFloat
btnW
=
(
contentW
-
padding
*
2
-
14
)
/
2
.
0
;
CGFloat
bottomBtnH
=
44
;
CGFloat
bottomBtnH
=
44
;
CGFloat
bottomY
=
contentH
-
16
-
bottomBtnH
;
CGFloat
bottomY
=
contentH
-
16
-
bottomBtnH
;
CGFloat
btnW
=
(
contentW
-
padding
*
2
-
14
)
/
2
.
0
;
self
.
cancelBtn
.
frame
=
CGRectMake
(
padding
,
bottomY
,
btnW
,
bottomBtnH
);
self
.
cancelBtn
.
frame
=
CGRectMake
(
padding
,
bottomY
,
btnW
,
bottomBtnH
);
self
.
saveBtn
.
frame
=
CGRectMake
(
CGRectGetMaxX
(
self
.
cancelBtn
.
frame
)
+
14
,
bottomY
,
btnW
,
bottomBtnH
);
self
.
saveBtn
.
frame
=
CGRectMake
(
CGRectGetMaxX
(
self
.
cancelBtn
.
frame
)
+
14
,
bottomY
,
btnW
,
bottomBtnH
);
self
.
giftDropdownView
.
hidden
=
!
self
.
giftDropdownVisible
||
dropdownH
<=
0
;
}
}
-
(
void
)
fus_buildUI
{
-
(
void
)
fus_buildUI
{
...
@@ -180,6 +204,9 @@
...
@@ -180,6 +204,9 @@
descField
.
attributedPlaceholder
=
[[
NSAttributedString
alloc
]
initWithString
:[
NSString
fus_localString
:
@"例如:做鬼脸"
]
attributes
:@{
NSForegroundColorAttributeName
:
[
UIColor
colorWithHex
:
@"#999999"
],
NSFontAttributeName
:
[
UIFont
fus_themeFont
:
14
]}];
descField
.
attributedPlaceholder
=
[[
NSAttributedString
alloc
]
initWithString
:[
NSString
fus_localString
:
@"例如:做鬼脸"
]
attributes
:@{
NSForegroundColorAttributeName
:
[
UIColor
colorWithHex
:
@"#999999"
],
NSFontAttributeName
:
[
UIFont
fus_themeFont
:
14
]}];
descField
.
checkChineseLen
=
NO
;
descField
.
checkChineseLen
=
NO
;
descField
.
textMaxLength
=
6
;
descField
.
textMaxLength
=
6
;
descField
.
returnKeyType
=
UIReturnKeyDone
;
descField
.
enablesReturnKeyAutomatically
=
YES
;
descField
.
delegate
=
self
;
descField
.
contentEdgeInsets
=
UIEdgeInsetsMake
(
0
,
12
,
0
,
12
);
descField
.
contentEdgeInsets
=
UIEdgeInsetsMake
(
0
,
12
,
0
,
12
);
[
content
addSubview
:
descField
];
[
content
addSubview
:
descField
];
self
.
descField
=
descField
;
self
.
descField
=
descField
;
...
@@ -212,6 +239,20 @@
...
@@ -212,6 +239,20 @@
[
giftSelect
addSubview
:
arrow
];
[
giftSelect
addSubview
:
arrow
];
self
.
giftArrowView
=
arrow
;
self
.
giftArrowView
=
arrow
;
FUSLiveGiftInteractGiftDropdownView
*
dropdown
=
[[
FUSLiveGiftInteractGiftDropdownView
alloc
]
initWithFrame
:
CGRectZero
];
dropdown
.
hidden
=
YES
;
__weak
typeof
(
self
)
weakSelf
=
self
;
dropdown
.
selectHandler
=
^
(
FUSLiveGiftDataModel
*
gift
)
{
weakSelf
.
selectedGift
=
gift
;
NSString
*
name
=
gift
.
name
.
length
?
gift
.
name
:
[
NSString
fus_localString
:
@"礼物"
];
weakSelf
.
giftLabel
.
textColor
=
[
UIColor
colorWithHex
:
@"#22222B"
];
weakSelf
.
giftLabel
.
text
=
name
;
[
weakSelf
fus_hideGiftDropdown
];
[
weakSelf
fus_updateCountOptionsForGift
:
gift
];
};
[
content
addSubview
:
dropdown
];
self
.
giftDropdownView
=
dropdown
;
UILabel
*
countTitle
=
[[
UILabel
alloc
]
initWithFrame
:
CGRectZero
];
UILabel
*
countTitle
=
[[
UILabel
alloc
]
initWithFrame
:
CGRectZero
];
countTitle
.
font
=
[
UIFont
fus_themeFont
:
12
];
countTitle
.
font
=
[
UIFont
fus_themeFont
:
12
];
countTitle
.
textColor
=
[
UIColor
colorWithHex
:
@"#666666"
];
countTitle
.
textColor
=
[
UIColor
colorWithHex
:
@"#666666"
];
...
@@ -277,6 +318,7 @@
...
@@ -277,6 +318,7 @@
}
}
-
(
void
)
fus_onMaskTouchDown
{
-
(
void
)
fus_onMaskTouchDown
{
[
self
fus_hideGiftDropdown
];
[
self
endEditing
:
YES
];
[
self
endEditing
:
YES
];
}
}
...
@@ -303,6 +345,7 @@
...
@@ -303,6 +345,7 @@
}
}
-
(
void
)
fus_onTapGiftSelect
{
-
(
void
)
fus_onTapGiftSelect
{
[
self
endEditing
:
YES
];
if
(
self
.
giftList
.
count
>
0
)
{
if
(
self
.
giftList
.
count
>
0
)
{
[
self
fus_presentGiftPicker
];
[
self
fus_presentGiftPicker
];
return
;
return
;
...
@@ -336,40 +379,33 @@
...
@@ -336,40 +379,33 @@
}
}
-
(
void
)
fus_presentGiftPicker
{
-
(
void
)
fus_presentGiftPicker
{
if
(
self
.
giftDropdownVisible
)
{
[
self
fus_hideGiftDropdown
];
return
;
}
[
self
fus_showGiftDropdown
];
}
-
(
void
)
fus_showGiftDropdown
{
if
(
self
.
giftList
.
count
==
0
)
{
if
(
self
.
giftList
.
count
==
0
)
{
[
FUSDialogView
fus_showDialog
:[
NSString
fus_localString
:
@"暂无可选礼物"
]];
return
;
return
;
}
}
self
.
giftDropdownVisible
=
YES
;
[
self
fus_setGiftArrowExpanded
:
YES
];
[
self
fus_setGiftArrowExpanded
:
YES
];
UIAlertController
*
ac
=
[
UIAlertController
alertControllerWithTitle
:[
NSString
fus_localString
:
@"请选择礼物"
]
message
:
nil
preferredStyle
:
UIAlertControllerStyleActionSheet
];
self
.
giftDropdownView
.
giftList
=
self
.
giftList
;
__weak
typeof
(
self
)
weakSelf
=
self
;
self
.
giftDropdownView
.
selectedGift
=
self
.
selectedGift
;
[
self
.
giftDropdownView
fus_reload
];
NSInteger
maxCount
=
MIN
(
self
.
giftList
.
count
,
30
);
[
self
.
contentView
bringSubviewToFront
:
self
.
giftDropdownView
];
for
(
NSInteger
i
=
0
;
i
<
maxCount
;
i
++
)
{
[
self
setNeedsLayout
];
FUSLiveGiftDataModel
*
model
=
self
.
giftList
[
i
];
}
NSString
*
name
=
model
.
name
.
length
?
model
.
name
:
[
NSString
stringWithFormat
:
@"%@%ld"
,
[
NSString
fus_localString
:
@"礼物"
],
(
long
)
i
];
[
ac
addAction
:[
UIAlertAction
actionWithTitle
:
name
style
:
UIAlertActionStyleDefault
handler
:
^
(
UIAlertAction
*
_Nonnull
action
)
{
-
(
void
)
fus_hideGiftDropdown
{
weakSelf
.
selectedGift
=
model
;
if
(
!
self
.
giftDropdownVisible
)
{
weakSelf
.
giftLabel
.
textColor
=
[
UIColor
colorWithHex
:
@"#22222B"
];
return
;
weakSelf
.
giftLabel
.
text
=
name
;
[
weakSelf
fus_setGiftArrowExpanded
:
NO
];
[
weakSelf
fus_updateCountOptionsForGift
:
model
];
}]];
}
[
ac
addAction
:[
UIAlertAction
actionWithTitle
:[
NSString
fus_localString
:
@"取消"
]
style
:
UIAlertActionStyleCancel
handler
:
^
(
UIAlertAction
*
_Nonnull
action
)
{
[
weakSelf
fus_setGiftArrowExpanded
:
NO
];
}]];
UIPopoverPresentationController
*
pop
=
ac
.
popoverPresentationController
;
if
(
pop
&&
self
.
giftSelectView
)
{
pop
.
sourceView
=
self
.
giftSelectView
;
pop
.
sourceRect
=
self
.
giftSelectView
.
bounds
;
}
}
self
.
giftDropdownVisible
=
NO
;
UIViewController
*
topVC
=
[
UIViewController
fus_topViewController
];
[
self
fus_setGiftArrowExpanded
:
NO
];
[
topVC
presentViewController
:
ac
animated
:
YES
completion
:
nil
];
[
self
setNeedsLayout
];
}
}
-
(
void
)
fus_onClickSave
{
-
(
void
)
fus_onClickSave
{
...
@@ -478,4 +514,15 @@
...
@@ -478,4 +514,15 @@
button
.
layer
.
borderColor
=
(
enabled
?
[
UIColor
colorWithHex
:
@"#DADDE1"
]
:
[
UIColor
colorWithHex
:
@"#EFEFEF"
]).
CGColor
;
button
.
layer
.
borderColor
=
(
enabled
?
[
UIColor
colorWithHex
:
@"#DADDE1"
]
:
[
UIColor
colorWithHex
:
@"#EFEFEF"
]).
CGColor
;
}
}
#pragma mark - UITextFieldDelegate
-
(
BOOL
)
textFieldShouldReturn
:
(
UITextField
*
)
textField
{
[
textField
resignFirstResponder
];
return
YES
;
}
-
(
void
)
textFieldDidBeginEditing
:
(
UITextField
*
)
textField
{
[
self
fus_hideGiftDropdown
];
}
@end
@end
Modules/FUSShowRoomModule/FUSShowRoomModule/Features/NewLive/Main/Controller/FUSLiveGiftInteractGiftDropdownView.h
0 → 100644
View file @
d9e1a5b9
#import <UIKit/UIKit.h>
@class
FUSLiveGiftDataModel
;
NS_ASSUME_NONNULL_BEGIN
@interface
FUSLiveGiftInteractGiftDropdownView
:
UIView
@property
(
nonatomic
,
copy
)
NSArray
<
FUSLiveGiftDataModel
*>
*
giftList
;
@property
(
nonatomic
,
strong
,
nullable
)
FUSLiveGiftDataModel
*
selectedGift
;
@property
(
nonatomic
,
copy
,
nullable
)
void
(
^
selectHandler
)(
FUSLiveGiftDataModel
*
gift
);
-
(
CGFloat
)
fus_preferredHeightWithMaxHeight
:(
CGFloat
)
maxHeight
;
-
(
void
)
fus_reload
;
@end
NS_ASSUME_NONNULL_END
Modules/FUSShowRoomModule/FUSShowRoomModule/Features/NewLive/Main/Controller/FUSLiveGiftInteractGiftDropdownView.m
0 → 100644
View file @
d9e1a5b9
#import "FUSLiveGiftInteractGiftDropdownView.h"
#import "FUSLiveGiftDataModel.h"
#import "FUSLiveGiftInteractGiftDropdownCell.h"
@interface
FUSLiveGiftInteractGiftDropdownView
()
<
UITableViewDataSource
,
UITableViewDelegate
>
@property
(
nonatomic
,
strong
)
UITableView
*
tableView
;
@end
@implementation
FUSLiveGiftInteractGiftDropdownView
-
(
instancetype
)
initWithFrame
:(
CGRect
)
frame
{
self
=
[
super
initWithFrame
:
frame
];
if
(
!
self
)
{
return
nil
;
}
self
.
backgroundColor
=
[
UIColor
colorWithHex
:
@"#F5F5F5"
];
self
.
layer
.
cornerRadius
=
8
;
self
.
clipsToBounds
=
YES
;
self
.
layer
.
borderWidth
=
1
;
self
.
layer
.
borderColor
=
[
UIColor
colorWithHex
:
@"#EFEFEF"
].
CGColor
;
self
.
tableView
=
[[
UITableView
alloc
]
initWithFrame
:
CGRectZero
style
:
UITableViewStylePlain
];
self
.
tableView
.
dataSource
=
self
;
self
.
tableView
.
delegate
=
self
;
self
.
tableView
.
backgroundColor
=
UIColor
.
clearColor
;
self
.
tableView
.
separatorStyle
=
UITableViewCellSeparatorStyleNone
;
self
.
tableView
.
rowHeight
=
40
;
self
.
tableView
.
showsVerticalScrollIndicator
=
YES
;
self
.
tableView
.
contentInset
=
UIEdgeInsetsZero
;
self
.
tableView
.
scrollIndicatorInsets
=
UIEdgeInsetsZero
;
[
self
.
tableView
registerClass
:
FUSLiveGiftInteractGiftDropdownCell
.
class
forCellReuseIdentifier
:
@"FUSLiveGiftInteractGiftDropdownCell"
];
[
self
addSubview
:
self
.
tableView
];
self
.
giftList
=
@[];
return
self
;
}
-
(
void
)
layoutSubviews
{
[
super
layoutSubviews
];
self
.
tableView
.
frame
=
self
.
bounds
;
}
-
(
CGFloat
)
fus_preferredHeightWithMaxHeight
:
(
CGFloat
)
maxHeight
{
return
MAX
(
0
,
maxHeight
);
}
-
(
void
)
fus_reload
{
[
self
.
tableView
reloadData
];
}
#pragma mark - UITableViewDataSource / UITableViewDelegate
-
(
NSInteger
)
tableView
:
(
UITableView
*
)
tableView
numberOfRowsInSection
:
(
NSInteger
)
section
{
return
self
.
giftList
.
count
;
}
-
(
UITableViewCell
*
)
tableView
:
(
UITableView
*
)
tableView
cellForRowAtIndexPath
:
(
NSIndexPath
*
)
indexPath
{
FUSLiveGiftInteractGiftDropdownCell
*
cell
=
[
tableView
dequeueReusableCellWithIdentifier
:
@"FUSLiveGiftInteractGiftDropdownCell"
forIndexPath
:
indexPath
];
if
(
indexPath
.
row
<
self
.
giftList
.
count
)
{
FUSLiveGiftDataModel
*
model
=
self
.
giftList
[
indexPath
.
row
];
BOOL
selected
=
(
self
.
selectedGift
&&
[
self
.
selectedGift
.
gid
isEqualToString
:
model
.
gid
]);
[
cell
fus_setupWithModel
:
model
selected
:
selected
];
}
return
cell
;
}
-
(
void
)
tableView
:
(
UITableView
*
)
tableView
didSelectRowAtIndexPath
:
(
NSIndexPath
*
)
indexPath
{
if
(
indexPath
.
row
>=
self
.
giftList
.
count
)
{
return
;
}
FUSLiveGiftDataModel
*
model
=
self
.
giftList
[
indexPath
.
row
];
self
.
selectedGift
=
model
;
[
self
.
tableView
reloadData
];
if
(
self
.
selectHandler
)
{
self
.
selectHandler
(
model
);
}
}
@end
Modules/FUSShowRoomModule/FUSShowRoomModule/Features/NewLive/Main/Controller/FUSLiveGiftInteractSettingViewController.m
View file @
d9e1a5b9
This diff is collapsed.
Click to expand it.
Modules/FUSShowRoomModule/FUSShowRoomModule/Features/NewLive/Main/Controller/Model/FUSLiveGiftInteractSettingItemModel.h
0 → 100644
View file @
d9e1a5b9
#import "FUSBaseModel.h"
NS_ASSUME_NONNULL_BEGIN
@interface
FUSLiveGiftInteractSettingItemModel
:
FUSBaseModel
/// 配置ID
@property
(
nonatomic
,
copy
)
NSString
*
sid
;
/// 互动描述
@property
(
nonatomic
,
copy
)
NSString
*
name
;
/// 礼物ID
@property
(
nonatomic
,
copy
)
NSString
*
giftId
;
/// 礼物图标URL
@property
(
nonatomic
,
copy
)
NSString
*
giftIcon
;
/// 礼物名称
@property
(
nonatomic
,
copy
)
NSString
*
giftName
;
/// 礼物数量
@property
(
nonatomic
,
assign
)
NSInteger
giftNum
;
/// 状态(0:关闭,1:开启)
@property
(
nonatomic
,
assign
)
NSInteger
status
;
/// 添加时间(服务器返回原始字符串)
@property
(
nonatomic
,
copy
)
NSString
*
addtime
;
@end
NS_ASSUME_NONNULL_END
Modules/FUSShowRoomModule/FUSShowRoomModule/Features/NewLive/Main/Controller/Model/FUSLiveGiftInteractSettingItemModel.m
0 → 100644
View file @
d9e1a5b9
#import "FUSLiveGiftInteractSettingItemModel.h"
@implementation
FUSLiveGiftInteractSettingItemModel
@end
Modules/FUSShowRoomModule/FUSShowRoomModule/Features/NewLive/Main/Controller/cell/FUSLiveGiftInteractGiftDropdownCell.h
0 → 100644
View file @
d9e1a5b9
#import <UIKit/UIKit.h>
@class
FUSLiveGiftDataModel
;
NS_ASSUME_NONNULL_BEGIN
@interface
FUSLiveGiftInteractGiftDropdownCell
:
UITableViewCell
-
(
void
)
fus_setupWithModel
:(
FUSLiveGiftDataModel
*
)
model
selected
:(
BOOL
)
selected
;
@end
NS_ASSUME_NONNULL_END
Modules/FUSShowRoomModule/FUSShowRoomModule/Features/NewLive/Main/Controller/cell/FUSLiveGiftInteractGiftDropdownCell.m
0 → 100644
View file @
d9e1a5b9
#import "FUSLiveGiftInteractGiftDropdownCell.h"
#import "FUSLiveGiftDataModel.h"
@interface
FUSLiveGiftInteractGiftDropdownCell
()
@property
(
nonatomic
,
strong
)
UIImageView
*
giftImageView
;
@property
(
nonatomic
,
strong
)
UILabel
*
nameLabel
;
@property
(
nonatomic
,
strong
)
UIButton
*
priceButton
;
@end
@implementation
FUSLiveGiftInteractGiftDropdownCell
-
(
instancetype
)
initWithStyle
:(
UITableViewCellStyle
)
style
reuseIdentifier
:(
NSString
*
)
reuseIdentifier
{
self
=
[
super
initWithStyle
:
UITableViewCellStyleDefault
reuseIdentifier
:
reuseIdentifier
];
if
(
!
self
)
{
return
nil
;
}
self
.
selectionStyle
=
UITableViewCellSelectionStyleNone
;
self
.
backgroundColor
=
UIColor
.
clearColor
;
self
.
contentView
.
backgroundColor
=
UIColor
.
clearColor
;
self
.
giftImageView
=
[[
UIImageView
alloc
]
initWithFrame
:
CGRectZero
];
self
.
giftImageView
.
contentMode
=
UIViewContentModeScaleAspectFit
;
self
.
giftImageView
.
clipsToBounds
=
YES
;
[
self
.
contentView
addSubview
:
self
.
giftImageView
];
self
.
nameLabel
=
[[
UILabel
alloc
]
initWithFrame
:
CGRectZero
];
self
.
nameLabel
.
font
=
[
UIFont
fus_themeFont
:
14
];
self
.
nameLabel
.
textColor
=
[
UIColor
colorWithHex
:
@"#22222B"
];
[
self
.
contentView
addSubview
:
self
.
nameLabel
];
self
.
priceButton
=
[
UIButton
buttonWithType
:
UIButtonTypeCustom
];
self
.
priceButton
.
userInteractionEnabled
=
NO
;
self
.
priceButton
.
titleLabel
.
font
=
[
UIFont
fus_themeFont
:
12
];
[
self
.
priceButton
setTitleColor
:[
UIColor
colorWithHex
:
@"#58DBD7"
]
forState
:
UIControlStateNormal
];
[
self
.
priceButton
setImage
:
UIImage
.
fus_diamonIcon
forState
:
UIControlStateNormal
];
self
.
priceButton
.
imageView
.
contentMode
=
UIViewContentModeScaleAspectFit
;
self
.
priceButton
.
contentHorizontalAlignment
=
UIControlContentHorizontalAlignmentRight
;
[
self
.
contentView
addSubview
:
self
.
priceButton
];
UIView
*
selectedBg
=
[[
UIView
alloc
]
initWithFrame
:
CGRectZero
];
selectedBg
.
backgroundColor
=
[
UIColor
colorWithHex
:
@"#F5F5F5"
];
self
.
selectedBackgroundView
=
selectedBg
;
return
self
;
}
-
(
void
)
layoutSubviews
{
[
super
layoutSubviews
];
CGFloat
h
=
self
.
contentView
.
bounds
.
size
.
height
;
CGFloat
w
=
self
.
contentView
.
bounds
.
size
.
width
;
CGFloat
padding
=
12
;
CGFloat
icon
=
24
;
self
.
giftImageView
.
frame
=
CGRectMake
(
padding
,
(
h
-
icon
)
/
2
.
0
,
icon
,
icon
);
CGFloat
priceW
=
78
;
self
.
priceButton
.
frame
=
CGRectMake
(
w
-
padding
-
priceW
,
0
,
priceW
,
h
);
CGFloat
nameX
=
CGRectGetMaxX
(
self
.
giftImageView
.
frame
)
+
10
;
CGFloat
nameW
=
CGRectGetMinX
(
self
.
priceButton
.
frame
)
-
8
-
nameX
;
self
.
nameLabel
.
frame
=
CGRectMake
(
nameX
,
0
,
MAX
(
0
,
nameW
),
h
);
}
-
(
void
)
prepareForReuse
{
[
super
prepareForReuse
];
self
.
giftImageView
.
image
=
nil
;
self
.
nameLabel
.
text
=
nil
;
[
self
.
priceButton
setTitle
:
nil
forState
:
UIControlStateNormal
];
}
-
(
void
)
fus_setupWithModel
:
(
FUSLiveGiftDataModel
*
)
model
selected
:
(
BOOL
)
selected
{
NSString
*
name
=
model
.
name
.
length
?
model
.
name
:
[
NSString
fus_localString
:
@"礼物"
];
self
.
nameLabel
.
text
=
name
;
[
self
.
giftImageView
setWebImageWithSubURLString
:
model
.
resource
];
NSString
*
price
=
model
.
price
.
length
?
model
.
price
:
@""
;
[
self
.
priceButton
setTitle
:
price
forState
:
UIControlStateNormal
];
self
.
selectedBackgroundView
.
hidden
=
!
selected
;
}
@end
Modules/FUSShowRoomModule/FUSShowRoomModule/Features/NewLive/Main/Controller/cell/FUSLiveGiftInteractSettingEnableCell.h
View file @
d9e1a5b9
...
@@ -8,7 +8,8 @@ NS_ASSUME_NONNULL_BEGIN
...
@@ -8,7 +8,8 @@ NS_ASSUME_NONNULL_BEGIN
-
(
void
)
fus_setupWithEnabled
:(
BOOL
)
isEnabled
;
-
(
void
)
fus_setupWithEnabled
:(
BOOL
)
isEnabled
;
-
(
void
)
fus_setSwitchUserInteractionEnabled
:(
BOOL
)
enabled
;
@end
@end
NS_ASSUME_NONNULL_END
NS_ASSUME_NONNULL_END
Modules/FUSShowRoomModule/FUSShowRoomModule/Features/NewLive/Main/Controller/cell/FUSLiveGiftInteractSettingEnableCell.m
View file @
d9e1a5b9
...
@@ -60,6 +60,10 @@
...
@@ -60,6 +60,10 @@
[
self
.
enableSwitch
setOn
:
isEnabled
animated
:
NO
];
[
self
.
enableSwitch
setOn
:
isEnabled
animated
:
NO
];
}
}
-
(
void
)
fus_setSwitchUserInteractionEnabled
:
(
BOOL
)
enabled
{
self
.
enableSwitch
.
userInteractionEnabled
=
enabled
;
}
-
(
void
)
onSwitchChanged
:
(
UISwitch
*
)
sender
{
-
(
void
)
onSwitchChanged
:
(
UISwitch
*
)
sender
{
if
(
self
.
switchChangedHandler
)
{
if
(
self
.
switchChangedHandler
)
{
self
.
switchChangedHandler
(
sender
.
isOn
);
self
.
switchChangedHandler
(
sender
.
isOn
);
...
@@ -67,4 +71,3 @@
...
@@ -67,4 +71,3 @@
}
}
@end
@end
Modules/FUSShowRoomModule/FUSShowRoomModule/Features/NewLive/Main/Controller/cell/FUSLiveGiftInteractSettingItemCell.h
View file @
d9e1a5b9
...
@@ -2,17 +2,16 @@
...
@@ -2,17 +2,16 @@
NS_ASSUME_NONNULL_BEGIN
NS_ASSUME_NONNULL_BEGIN
@class
FUSLiveGiftInteractSettingItemModel
;
@interface
FUSLiveGiftInteractSettingItemCell
:
UITableViewCell
@interface
FUSLiveGiftInteractSettingItemCell
:
UITableViewCell
@property
(
nonatomic
,
copy
,
nullable
)
void
(
^
switchChangedHandler
)(
NSInteger
index
,
BOOL
isOn
);
@property
(
nonatomic
,
copy
,
nullable
)
void
(
^
switchChangedHandler
)(
NSInteger
index
,
BOOL
isOn
);
@property
(
nonatomic
,
copy
,
nullable
)
void
(
^
deleteHandler
)(
NSInteger
index
);
@property
(
nonatomic
,
copy
,
nullable
)
void
(
^
deleteHandler
)(
NSInteger
index
);
-
(
void
)
fus_setupWithTitle
:(
NSString
*
)
title
-
(
void
)
fus_setupWithItemModel
:(
FUSLiveGiftInteractSettingItemModel
*
)
itemModel
subTitle
:(
NSString
*
)
subTitle
index
:(
NSInteger
)
index
;
isOn
:(
BOOL
)
isOn
index
:(
NSInteger
)
index
;
@end
@end
NS_ASSUME_NONNULL_END
NS_ASSUME_NONNULL_END
Modules/FUSShowRoomModule/FUSShowRoomModule/Features/NewLive/Main/Controller/cell/FUSLiveGiftInteractSettingItemCell.m
View file @
d9e1a5b9
#import "FUSLiveGiftInteractSettingItemCell.h"
#import "FUSLiveGiftInteractSettingItemCell.h"
#import "FUSLiveGiftInteractSettingItemModel.h"
@interface
FUSLiveGiftInteractSettingItemCell
()
@interface
FUSLiveGiftInteractSettingItemCell
()
@property
(
nonatomic
,
strong
)
UILabel
*
titleLabel
;
@property
(
nonatomic
,
strong
)
UILabel
*
titleLabel
;
@property
(
nonatomic
,
strong
)
UILabel
*
subTitleLabel
;
@property
(
nonatomic
,
strong
)
UILabel
*
bindingLabel
;
@property
(
nonatomic
,
strong
)
UIImageView
*
giftIconView
;
@property
(
nonatomic
,
strong
)
UILabel
*
giftInfoLabel
;
@property
(
nonatomic
,
strong
)
UISwitch
*
itemSwitch
;
@property
(
nonatomic
,
strong
)
UISwitch
*
itemSwitch
;
@property
(
nonatomic
,
strong
)
UIButton
*
deleteBtn
;
@property
(
nonatomic
,
strong
)
UIButton
*
deleteBtn
;
@property
(
nonatomic
,
assign
)
NSInteger
itemIndex
;
@property
(
nonatomic
,
assign
)
NSInteger
itemIndex
;
...
@@ -27,10 +30,21 @@
...
@@ -27,10 +30,21 @@
self
.
titleLabel
.
textColor
=
[
UIColor
colorWithHex
:
@"#22222B"
];
self
.
titleLabel
.
textColor
=
[
UIColor
colorWithHex
:
@"#22222B"
];
[
self
.
contentView
addSubview
:
self
.
titleLabel
];
[
self
.
contentView
addSubview
:
self
.
titleLabel
];
self
.
subTitleLabel
=
[[
UILabel
alloc
]
initWithFrame
:
CGRectZero
];
self
.
bindingLabel
=
[[
UILabel
alloc
]
initWithFrame
:
CGRectZero
];
self
.
subTitleLabel
.
font
=
[
UIFont
fus_themeFont
:
12
];
self
.
bindingLabel
.
font
=
[
UIFont
fus_themeFont
:
12
];
self
.
subTitleLabel
.
textColor
=
[
UIColor
colorWithHex
:
@"#999999"
];
self
.
bindingLabel
.
textColor
=
[
UIColor
colorWithHex
:
@"#999999"
];
[
self
.
contentView
addSubview
:
self
.
subTitleLabel
];
self
.
bindingLabel
.
numberOfLines
=
1
;
[
self
.
contentView
addSubview
:
self
.
bindingLabel
];
self
.
giftIconView
=
[[
UIImageView
alloc
]
initWithFrame
:
CGRectZero
];
self
.
giftIconView
.
contentMode
=
UIViewContentModeScaleAspectFit
;
[
self
.
contentView
addSubview
:
self
.
giftIconView
];
self
.
giftInfoLabel
=
[[
UILabel
alloc
]
initWithFrame
:
CGRectZero
];
self
.
giftInfoLabel
.
font
=
[
UIFont
fus_themeFont
:
12
];
self
.
giftInfoLabel
.
textColor
=
[
UIColor
colorWithHex
:
@"#999999"
];
self
.
giftInfoLabel
.
numberOfLines
=
1
;
[
self
.
contentView
addSubview
:
self
.
giftInfoLabel
];
self
.
itemSwitch
=
[[
UISwitch
alloc
]
initWithFrame
:
CGRectZero
];
self
.
itemSwitch
=
[[
UISwitch
alloc
]
initWithFrame
:
CGRectZero
];
self
.
itemSwitch
.
onTintColor
=
[
UIColor
colorWithHex
:
@"#01D9E0"
];
self
.
itemSwitch
.
onTintColor
=
[
UIColor
colorWithHex
:
@"#01D9E0"
];
...
@@ -73,8 +87,23 @@
...
@@ -73,8 +87,23 @@
switchSize
.
height
);
switchSize
.
height
);
CGFloat
maxTextW
=
switchX
-
padding
-
spacing
;
CGFloat
maxTextW
=
switchX
-
padding
-
spacing
;
self
.
titleLabel
.
frame
=
CGRectMake
(
padding
,
10
,
maxTextW
,
22
);
self
.
titleLabel
.
frame
=
CGRectMake
(
padding
,
12
,
maxTextW
,
22
);
self
.
subTitleLabel
.
frame
=
CGRectMake
(
padding
,
CGRectGetMaxY
(
self
.
titleLabel
.
frame
)
+
2
,
maxTextW
,
18
);
CGFloat
subY
=
CGRectGetMaxY
(
self
.
titleLabel
.
frame
)
+
2
;
CGFloat
iconSize
=
12
;
CGFloat
iconSpace
=
4
;
CGFloat
prefixSpace
=
4
;
CGSize
bindSize
=
[
self
.
bindingLabel
sizeThatFits
:
CGSizeMake
(
maxTextW
,
18
)];
CGFloat
bindW
=
MIN
(
bindSize
.
width
,
maxTextW
);
self
.
bindingLabel
.
frame
=
CGRectMake
(
padding
,
subY
,
bindW
,
18
);
CGFloat
iconX
=
CGRectGetMaxX
(
self
.
bindingLabel
.
frame
)
+
prefixSpace
;
self
.
giftIconView
.
frame
=
CGRectMake
(
iconX
,
subY
+
3
,
iconSize
,
iconSize
);
CGFloat
infoX
=
CGRectGetMaxX
(
self
.
giftIconView
.
frame
)
+
iconSpace
;
CGFloat
infoW
=
MAX
(
0
,
padding
+
maxTextW
-
infoX
);
self
.
giftInfoLabel
.
frame
=
CGRectMake
(
infoX
,
subY
,
infoW
,
18
);
}
}
-
(
void
)
prepareForReuse
{
-
(
void
)
prepareForReuse
{
...
@@ -82,16 +111,29 @@
...
@@ -82,16 +111,29 @@
self
.
itemIndex
=
NSNotFound
;
self
.
itemIndex
=
NSNotFound
;
self
.
switchChangedHandler
=
nil
;
self
.
switchChangedHandler
=
nil
;
self
.
deleteHandler
=
nil
;
self
.
deleteHandler
=
nil
;
self
.
bindingLabel
.
text
=
@""
;
self
.
giftInfoLabel
.
text
=
@""
;
self
.
giftIconView
.
image
=
nil
;
}
}
-
(
void
)
fus_setupWithTitle
:
(
NSString
*
)
title
-
(
void
)
fus_setupWithItemModel
:
(
FUSLiveGiftInteractSettingItemModel
*
)
itemModel
subTitle
:
(
NSString
*
)
subTitle
index
:
(
NSInteger
)
index
{
isOn
:
(
BOOL
)
isOn
index
:
(
NSInteger
)
index
{
self
.
itemIndex
=
index
;
self
.
itemIndex
=
index
;
self
.
titleLabel
.
text
=
title
;
self
.
titleLabel
.
text
=
itemModel
.
name
;
self
.
subTitleLabel
.
text
=
subTitle
;
[
self
.
itemSwitch
setOn
:
isOn
animated
:
NO
];
self
.
bindingLabel
.
text
=
[
NSString
stringWithFormat
:
@"%@:"
,
[
NSString
fus_localString
:
@"绑定"
]];
NSString
*
giftName
=
itemModel
.
giftName
.
length
?
itemModel
.
giftName
:
[
NSString
fus_localString
:
@"礼物"
];
self
.
giftInfoLabel
.
text
=
[
NSString
stringWithFormat
:
@"%@ × %ld"
,
giftName
,
(
long
)
itemModel
.
giftNum
];
UIImage
*
placeholder
=
[
FUSShowRoomCenterBunble
imageNamed
:
@"icon_gift_placehold"
];
if
(
itemModel
.
giftIcon
.
length
>
0
)
{
[
self
.
giftIconView
setWebImageWithSubURLString
:
itemModel
.
giftIcon
placeholder
:
placeholder
];
}
else
{
self
.
giftIconView
.
image
=
placeholder
;
}
[
self
setNeedsLayout
];
[
self
.
itemSwitch
setOn
:(
itemModel
.
status
==
1
)
animated
:
NO
];
}
}
-
(
void
)
onSwitchChanged
:
(
UISwitch
*
)
sender
{
-
(
void
)
onSwitchChanged
:
(
UISwitch
*
)
sender
{
...
@@ -107,4 +149,3 @@
...
@@ -107,4 +149,3 @@
}
}
@end
@end
Modules/FUSShowRoomModule/FUSShowRoomModule/Features/NewLive/Main/Other/FUSLiveHttpHelper.h
View file @
d9e1a5b9
...
@@ -793,6 +793,12 @@ NS_ASSUME_NONNULL_BEGIN
...
@@ -793,6 +793,12 @@ NS_ASSUME_NONNULL_BEGIN
/// switchState:状态(0:关闭,1:开启)
/// switchState:状态(0:关闭,1:开启)
+
(
void
)
fus_setLiveGameStateWithSwitchState
:(
BOOL
)
state
success
:(
void
(
^
)(
void
))
success
failure
:(
void
(
^
)(
NSString
*
,
int
))
failure
;
+
(
void
)
fus_setLiveGameStateWithSwitchState
:(
BOOL
)
state
success
:(
void
(
^
)(
void
))
success
failure
:(
void
(
^
)(
NSString
*
,
int
))
failure
;
/// 设置礼物互动开关
/// switchState:状态(0:关闭,1:开启)
+
(
void
)
fus_requestGiftInteractionStateSwitchSet
:(
BOOL
)
switchState
succeed
:(
void
(
^
)(
BOOL
switchState
))
succeed
failure
:(
void
(
^
)(
NSString
*
msg
,
NSInteger
code
))
failure
;
/// 直播关闭麦克风数据状态同步
/// 直播关闭麦克风数据状态同步
/// behavior 行为(1:关闭、0:取消关闭)
/// behavior 行为(1:关闭、0:取消关闭)
...
@@ -1152,6 +1158,66 @@ NS_ASSUME_NONNULL_BEGIN
...
@@ -1152,6 +1158,66 @@ NS_ASSUME_NONNULL_BEGIN
succeed
:(
void
(
^
)(
NSDictionary
*
dataDict
))
succeed
succeed
:(
void
(
^
)(
NSDictionary
*
dataDict
))
succeed
failure
:(
void
(
^
)(
NSString
*
msg
,
NSInteger
code
))
failure
;
failure
:(
void
(
^
)(
NSString
*
msg
,
NSInteger
code
))
failure
;
/// 礼物互动行为-管理获取配置列表
/// @param uid 用户ID
/// @param roomId 房间ID
/// @param channelId 频道ID
/// @param succeed 成功回调(返回 dataList 原始数组)
/// @param failure 失败回调
+
(
void
)
fus_requestGiftInteractManageListWithUid
:(
NSString
*
)
uid
RoomId
:(
NSString
*
)
roomId
channelId
:(
NSString
*
)
channelId
succeed
:(
void
(
^
)(
NSArray
*
dataList
))
succeed
failure
:(
void
(
^
)(
NSString
*
msg
,
NSInteger
code
))
failure
;
/// 礼物互动行为-管理新增配置
/// @param uid 用户ID
/// @param roomId 房间ID
/// @param channelId 频道ID
/// @param name 行为描述
/// @param giftId 礼物ID
/// @param giftNum 礼物数量
/// @param succeed 成功回调
/// @param failure 失败回调
+
(
void
)
fus_requestGiftInteractManageAddWithUid
:(
NSString
*
)
uid
roomId
:(
NSString
*
)
roomId
channelId
:(
NSString
*
)
channelId
name
:(
NSString
*
)
name
giftId
:(
NSString
*
)
giftId
giftNum
:(
NSInteger
)
giftNum
succeed
:(
void
(
^
)(
void
))
succeed
failure
:(
void
(
^
)(
NSString
*
msg
,
NSInteger
code
))
failure
;
/// 礼物互动行为-管理删除配置
/// @param uid 用户ID
/// @param roomId 房间ID
/// @param channelId 频道ID
/// @param sid 互动配置ID
/// @param succeed 成功回调
/// @param failure 失败回调
+
(
void
)
fus_requestGiftInteractManageDelWithUid
:(
NSString
*
)
uid
roomId
:(
NSString
*
)
roomId
channelId
:(
NSString
*
)
channelId
sid
:(
NSString
*
)
sid
succeed
:(
void
(
^
)(
void
))
succeed
failure
:(
void
(
^
)(
NSString
*
msg
,
NSInteger
code
))
failure
;
/// 礼物互动行为-管理更新状态
/// @param uid 用户ID
/// @param roomId 房间ID
/// @param channelId 频道ID
/// @param sid 互动配置ID
/// @param status 状态(0:关闭,1:开启)
/// @param succeed 成功回调(返回服务器实际状态)
/// @param failure 失败回调
+
(
void
)
fus_requestGiftInteractManageUpdateStatusWithUid
:(
NSString
*
)
uid
roomId
:(
NSString
*
)
roomId
channelId
:(
NSString
*
)
channelId
sid
:(
NSString
*
)
sid
status
:(
NSInteger
)
status
succeed
:(
void
(
^
)(
NSInteger
serverStatus
))
succeed
failure
:(
void
(
^
)(
NSString
*
msg
,
NSInteger
code
))
failure
;
@end
@end
...
...
Modules/FUSShowRoomModule/FUSShowRoomModule/Features/NewLive/Main/Other/FUSLiveHttpHelper.m
View file @
d9e1a5b9
...
@@ -335,6 +335,141 @@
...
@@ -335,6 +335,141 @@
}];
}];
}
}
/// 礼物互动行为-管理获取配置列表
+
(
void
)
fus_requestGiftInteractManageListWithUid
:(
NSString
*
)
uid
RoomId
:(
NSString
*
)
roomId
channelId
:(
NSString
*
)
channelId
succeed
:(
void
(
^
)(
NSArray
*
dataList
))
succeed
failure
:(
void
(
^
)(
NSString
*
msg
,
NSInteger
code
))
failure
{
if
([
NSString
isNullWithString
:
uid
]
||
[
NSString
isNullWithString
:
roomId
]
||
[
NSString
isNullWithString
:
channelId
])
{
if
(
failure
)
{
failure
(
@"参数错误"
,
ERROR_CODE
);
}
return
;
}
NSDictionary
*
params
=
@{
@"uid"
:
uid
,
@"roomId"
:
roomId
,
@"channelId"
:
channelId
};
[
FUSHttpHelper
postRequestBinaryWithUrl
:
FUSShowRoomURLs
.
fus_URL_interactionGiftManageList
params
:
params
success
:^
(
NSDictionary
*
dataDict
,
int
code
)
{
NSArray
*
list
=
[
dataDict
[
@"dataList"
]
isKindOfClass
:
NSArray
.
class
]
?
dataDict
[
@"dataList"
]
:
@[];
if
(
succeed
)
{
succeed
(
list
);
}
}
failure
:^
(
NSDictionary
*
dataDict
,
int
code
)
{
if
(
failure
)
{
failure
(
FAILURE_MESSAGE
,
code
);
}
}];
}
/// 礼物互动行为-管理新增配置
+
(
void
)
fus_requestGiftInteractManageAddWithUid
:(
NSString
*
)
uid
roomId
:(
NSString
*
)
roomId
channelId
:(
NSString
*
)
channelId
name
:(
NSString
*
)
name
giftId
:(
NSString
*
)
giftId
giftNum
:(
NSInteger
)
giftNum
succeed
:(
void
(
^
)(
void
))
succeed
failure
:(
void
(
^
)(
NSString
*
msg
,
NSInteger
code
))
failure
{
if
([
NSString
isNullWithString
:
uid
]
||
[
NSString
isNullWithString
:
roomId
]
||
[
NSString
isNullWithString
:
channelId
]
||
[
NSString
isNullWithString
:
name
]
||
[
NSString
isNullWithString
:
giftId
]
||
giftNum
<=
0
)
{
if
(
failure
)
{
failure
(
@"参数错误"
,
ERROR_CODE
);
}
return
;
}
NSDictionary
*
params
=
@{
@"uid"
:
uid
,
@"roomId"
:
roomId
,
@"channelId"
:
channelId
,
@"name"
:
name
,
@"giftId"
:
giftId
,
@"giftNum"
:
@
(
giftNum
)};
[
FUSHttpHelper
postRequestBinaryWithUrl
:
FUSShowRoomURLs
.
fus_URL_interactionGiftManageAdd
params
:
params
success
:^
(
NSDictionary
*
dataDict
,
int
code
)
{
if
(
succeed
)
{
succeed
();
}
}
failure
:^
(
NSDictionary
*
dataDict
,
int
code
)
{
if
(
failure
)
{
NSString
*
msg
=
[
dataDict
[
@"msg"
]
isKindOfClass
:
NSString
.
class
]
?
dataDict
[
@"msg"
]
:
FAILURE_MESSAGE
;
failure
(
msg
,
code
);
}
}];
}
/// 礼物互动行为-管理删除配置
+
(
void
)
fus_requestGiftInteractManageDelWithUid
:(
NSString
*
)
uid
roomId
:(
NSString
*
)
roomId
channelId
:(
NSString
*
)
channelId
sid
:(
NSString
*
)
sid
succeed
:(
void
(
^
)(
void
))
succeed
failure
:(
void
(
^
)(
NSString
*
msg
,
NSInteger
code
))
failure
{
if
([
NSString
isNullWithString
:
uid
]
||
[
NSString
isNullWithString
:
roomId
]
||
[
NSString
isNullWithString
:
channelId
]
||
[
NSString
isNullWithString
:
sid
])
{
if
(
failure
)
{
failure
(
@"参数错误"
,
ERROR_CODE
);
}
return
;
}
NSDictionary
*
params
=
@{
@"uid"
:
uid
,
@"roomId"
:
roomId
,
@"channelId"
:
channelId
,
@"sid"
:
sid
};
[
FUSHttpHelper
postRequestBinaryWithUrl
:
FUSShowRoomURLs
.
fus_URL_interactionGiftManageDel
params
:
params
success
:^
(
NSDictionary
*
dataDict
,
int
code
)
{
if
(
succeed
)
{
succeed
();
}
}
failure
:^
(
NSDictionary
*
dataDict
,
int
code
)
{
if
(
failure
)
{
NSString
*
msg
=
[
dataDict
[
@"msg"
]
isKindOfClass
:
NSString
.
class
]
?
dataDict
[
@"msg"
]
:
FAILURE_MESSAGE
;
failure
(
msg
,
code
);
}
}];
}
/// 礼物互动行为-管理更新状态
+
(
void
)
fus_requestGiftInteractManageUpdateStatusWithUid
:(
NSString
*
)
uid
roomId
:(
NSString
*
)
roomId
channelId
:(
NSString
*
)
channelId
sid
:(
NSString
*
)
sid
status
:(
NSInteger
)
status
succeed
:(
void
(
^
)(
NSInteger
serverStatus
))
succeed
failure
:(
void
(
^
)(
NSString
*
msg
,
NSInteger
code
))
failure
{
if
([
NSString
isNullWithString
:
uid
]
||
[
NSString
isNullWithString
:
roomId
]
||
[
NSString
isNullWithString
:
channelId
]
||
[
NSString
isNullWithString
:
sid
])
{
if
(
failure
)
{
failure
(
@"参数错误"
,
ERROR_CODE
);
}
return
;
}
NSDictionary
*
params
=
@{
@"uid"
:
uid
,
@"roomId"
:
roomId
,
@"channelId"
:
channelId
,
@"sid"
:
sid
,
@"status"
:
@
(
status
)};
[
FUSHttpHelper
postRequestBinaryWithUrl
:
FUSShowRoomURLs
.
fus_URL_interactionGiftManageUpdStatus
params
:
params
success
:^
(
NSDictionary
*
dataDict
,
int
code
)
{
if
(
succeed
)
{
succeed
(
status
);
}
}
failure
:^
(
NSDictionary
*
dataDict
,
int
code
)
{
if
(
failure
)
{
NSString
*
msg
=
[
dataDict
[
@"msg"
]
isKindOfClass
:
NSString
.
class
]
?
dataDict
[
@"msg"
]
:
FAILURE_MESSAGE
;
failure
(
msg
,
code
);
}
}];
}
+
(
void
)
fus_getWecomeEnterRoomGiftWithRoomId
:(
NSString
*
)
roomId
success
:(
void
(
^
)(
void
))
success
failure
:(
void
(
^
)(
NSString
*
,
int
))
failure
{
+
(
void
)
fus_getWecomeEnterRoomGiftWithRoomId
:(
NSString
*
)
roomId
success
:(
void
(
^
)(
void
))
success
failure
:(
void
(
^
)(
NSString
*
,
int
))
failure
{
// 空值校验
// 空值校验
...
@@ -2525,6 +2660,25 @@
...
@@ -2525,6 +2660,25 @@
}];
}];
}
}
/// 设置礼物互动开关
/// switchState:状态(0:关闭,1:开启)
+
(
void
)
fus_requestGiftInteractionStateSwitchSet
:
(
BOOL
)
switchState
succeed
:
(
void
(
^
)(
BOOL
switchState
))
succeed
failure
:
(
void
(
^
)(
NSString
*
msg
,
NSInteger
code
))
failure
{
NSString
*
uid
=
FUSCacheDataShare
.
shareStore
.
userDetailInfo
.
uid
?:
@""
;
NSDictionary
*
parm
=
@{
@"uid"
:
uid
,
@"switchState"
:
switchState
?
@1
:
@0
};
[
FUSHttpHelper
postRequestBinaryWithUrl
:
FUSShowRoomURLs
.
fus_URL_ROOM_Set_Gift_Interaction_Switch
params
:
parm
success
:^
(
NSDictionary
*
_Nullable
dataDict
,
int
code
)
{
BOOL
serverState
=
[
dataDict
[
@"switchState"
]
boolValue
];
if
(
succeed
)
{
succeed
(
serverState
);
}
}
failure
:^
(
NSDictionary
*
_Nullable
dataDict
,
int
code
)
{
if
(
failure
)
failure
(
dataDict
[
@"msg"
],
code
);
}];
}
/// 直播关闭麦克风数据状态同步
/// 直播关闭麦克风数据状态同步
/// behavior 行为(1:关闭、0:取消关闭)
/// behavior 行为(1:关闭、0:取消关闭)
...
...
Modules/FUSShowRoomModule/FUSShowRoomModule/Others/FUSShowRoomURLs.h
View file @
d9e1a5b9
...
@@ -16,18 +16,23 @@ NS_ASSUME_NONNULL_BEGIN
...
@@ -16,18 +16,23 @@ NS_ASSUME_NONNULL_BEGIN
// 推屏记录
// 推屏记录
+
(
NSString
*
)
fus_URL_OPEN_SCREEN_ADD_LOG
;
+
(
NSString
*
)
fus_URL_OPEN_SCREEN_ADD_LOG
;
// 获取房间贡献榜
+
(
NSString
*
)
fus_URL_RANK_ROOM_DEVOTE_GET
;
+
(
NSString
*
)
fus_URL_RANK_ROOM_DEVOTE_GET
;
// Fusi-获取房间真实用户列表
// Fusi-获取房间真实用户列表
+
(
NSString
*
)
fus_URL_Live_Real_Users_GetList
;
+
(
NSString
*
)
fus_URL_Live_Real_Users_GetList
;
// 获取房间互动游戏列表
+
(
NSString
*
)
fus_URL_ROOM_Interact_Game_List
;
+
(
NSString
*
)
fus_URL_ROOM_Interact_Game_List
;
// 设置直播游戏开关
+
(
NSString
*
)
fus_URL_ROOM_Set_Live_Game_Switch
;
+
(
NSString
*
)
fus_URL_ROOM_Set_Live_Game_Switch
;
+
(
NSString
*
)
fus_URL_ROOM_Set_Live_Mute_Close
;
// 设置礼物互动开关
+
(
NSString
*
)
fus_URL_ROOM_Set_Gift_Interaction_Switch
;
// 设置直播静音关闭
+
(
NSString
*
)
fus_URL_ROOM_Set_Live_Mute_Close
;
#pragma mark -- 包房相关
#pragma mark -- 包房相关
// 结束直播间推荐热门列表
// 结束直播间推荐热门列表
...
@@ -487,6 +492,18 @@ NS_ASSUME_NONNULL_BEGIN
...
@@ -487,6 +492,18 @@ NS_ASSUME_NONNULL_BEGIN
/// 礼物互动行为-主播获取任务列表
/// 礼物互动行为-主播获取任务列表
+
(
NSString
*
)
fus_URL_interactionGiftTaskList
;
+
(
NSString
*
)
fus_URL_interactionGiftTaskList
;
/// 礼物互动行为-管理获取配置列表
+
(
NSString
*
)
fus_URL_interactionGiftManageList
;
/// 礼物互动行为-管理新增配置
+
(
NSString
*
)
fus_URL_interactionGiftManageAdd
;
/// 礼物互动行为-管理删除配置
+
(
NSString
*
)
fus_URL_interactionGiftManageDel
;
/// 礼物互动行为-管理更新状态
+
(
NSString
*
)
fus_URL_interactionGiftManageUpdStatus
;
/// 获取模式列表
/// 获取模式列表
+
(
NSString
*
)
fus_URL_vsTypeGetList
;
+
(
NSString
*
)
fus_URL_vsTypeGetList
;
...
...
Modules/FUSShowRoomModule/FUSShowRoomModule/Others/FUSShowRoomURLs.m
View file @
d9e1a5b9
...
@@ -36,6 +36,10 @@
...
@@ -36,6 +36,10 @@
return
[
FUSConfig
.
sharedInstanced
.
pathConfigs
apiUrl
:
@"/personal/liveGame/switch/set"
];
return
[
FUSConfig
.
sharedInstanced
.
pathConfigs
apiUrl
:
@"/personal/liveGame/switch/set"
];
}
}
+
(
NSString
*
)
fus_URL_ROOM_Set_Gift_Interaction_Switch
{
return
[
FUSConfig
.
sharedInstanced
.
pathConfigs
apiUrl
:
@"/personal/giftinteractionstate/switch/set"
];
}
+
(
NSString
*
)
fus_URL_ROOM_Set_Live_Mute_Close
{
+
(
NSString
*
)
fus_URL_ROOM_Set_Live_Mute_Close
{
return
[
FUSConfig
.
sharedInstanced
.
pathConfigs
apiUrl
:
@"/data/live/mute/close"
];
return
[
FUSConfig
.
sharedInstanced
.
pathConfigs
apiUrl
:
@"/data/live/mute/close"
];
}
}
...
@@ -793,6 +797,26 @@
...
@@ -793,6 +797,26 @@
return
[
FUSConfig
.
sharedInstanced
.
pathConfigs
apiUrl
:
@"/interaction/gift/taskdata/list"
];
return
[
FUSConfig
.
sharedInstanced
.
pathConfigs
apiUrl
:
@"/interaction/gift/taskdata/list"
];
}
}
/// 礼物互动行为-管理获取配置列表
+
(
NSString
*
)
fus_URL_interactionGiftManageList
{
return
[
FUSConfig
.
sharedInstanced
.
pathConfigs
apiUrl
:
@"/interaction/gift/manage/list"
];
}
/// 礼物互动行为-管理新增配置
+
(
NSString
*
)
fus_URL_interactionGiftManageAdd
{
return
[
FUSConfig
.
sharedInstanced
.
pathConfigs
apiUrl
:
@"/interaction/gift/manage/add"
];
}
/// 礼物互动行为-管理删除配置
+
(
NSString
*
)
fus_URL_interactionGiftManageDel
{
return
[
FUSConfig
.
sharedInstanced
.
pathConfigs
apiUrl
:
@"/interaction/gift/manage/del"
];
}
/// 礼物互动行为-管理更新状态
+
(
NSString
*
)
fus_URL_interactionGiftManageUpdStatus
{
return
[
FUSConfig
.
sharedInstanced
.
pathConfigs
apiUrl
:
@"/interaction/gift/manage/updstatus"
];
}
/// 获取模式列表
/// 获取模式列表
+
(
NSString
*
)
fus_URL_vsTypeGetList
{
+
(
NSString
*
)
fus_URL_vsTypeGetList
{
return
[
FUSConfig
.
sharedInstanced
.
pathConfigs
apiUrl
:
@"/vs/type/getList"
];
return
[
FUSConfig
.
sharedInstanced
.
pathConfigs
apiUrl
:
@"/vs/type/getList"
];
...
...
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