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
374fdda6
authored
Mar 31, 2025
by
ludi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改完邀请有奖大部分bug
parent
0ea3bf5e
Hide whitespace changes
Inline
Side-by-side
Showing
30 changed files
with
293 additions
and
143 deletions
DevelopmentPods/FUSCommon/FUSCommon/Classes/Common/Other/FUSSocialShareManager.m
DevelopmentPods/FUSCommon/FUSCommon/Classes/Common/View/FUSOCBaseView.m
DevelopmentPods/FUSCommon/FUSCommon/Classes/Foundation/Http/FUSCommonURLs.m
DevelopmentPods/FUSFoundation/FUSFoundation/Classes/FUSFoundation/Tools/Categories/NSString/NSMutableAttributedString+FUSHTML.m
DevelopmentPods/FUSFoundation/FUSFoundation/Classes/FUSFoundation/Tools/Categories/UIButton/UIButton+WebImage.m
DevelopmentPods/FUSFoundation/FUSFoundation/Classes/FUSFoundation/Tools/FormatContent/FUSFormatContentHelper.m
Modules/FUSChatCenterModule/FUSChatCenterModule.xcodeproj/xcuserdata/aaa.xcuserdatad/xcschemes/xcschememanagement.plist
Modules/FUSShowRoomModule/FUSShowRoomModule.xcodeproj/xcuserdata/aaa.xcuserdatad/xcschemes/xcschememanagement.plist
Modules/FUSUserCenterModule/FUSUserCenterModule.xcodeproj/project.pbxproj
Modules/FUSUserCenterModule/FUSUserCenterModule.xcodeproj/xcuserdata/aaa.xcuserdatad/xcschemes/xcschememanagement.plist
Modules/FUSUserCenterModule/FUSUserCenterModule/FUSUserCenterModuleBundle.bundle/FUSUserCenterAssets.xcassets/inviteReward/InviteReward_task_common_background.imageset/Contents.json
Modules/FUSUserCenterModule/FUSUserCenterModule/FUSUserCenterModuleBundle.bundle/FUSUserCenterAssets.xcassets/inviteReward/InviteReward_task_common_background.imageset/InviteReward_task_common_background@2x.png
Modules/FUSUserCenterModule/FUSUserCenterModule/FUSUserCenterModuleBundle.bundle/FUSUserCenterAssets.xcassets/inviteReward/inviteReward_invite_navi_rank_btn.imageset/Contents.json
Modules/FUSUserCenterModule/FUSUserCenterModule/FUSUserCenterModuleBundle.bundle/FUSUserCenterAssets.xcassets/inviteReward/inviteReward_invite_navi_rank_btn.imageset/inviteReward_invite_navi_rank_btn@2x.png
Modules/FUSUserCenterModule/FUSUserCenterModule/FUSUserCenterModuleBundle.bundle/FUSUserCenterAssets.xcassets/inviteReward/inviteReward_invite_navi_rank_btn.imageset/inviteReward_invite_navi_rank_btn@3x.png
Modules/FUSUserCenterModule/FUSUserCenterModule/Features/InviteReward/Cell/FFInviteFunctionStepOneContentView.swift
Modules/FUSUserCenterModule/FUSUserCenterModule/Features/InviteReward/Cell/FFInviteFunctionStepThreeContentView.swift
Modules/FUSUserCenterModule/FUSUserCenterModule/Features/InviteReward/Cell/FFInviteFunctionStepTwoContentView.swift
Modules/FUSUserCenterModule/FUSUserCenterModule/Features/InviteReward/Cell/FFInviteRewardInvitePlanCell.swift
Modules/FUSUserCenterModule/FUSUserCenterModule/Features/InviteReward/Cell/FFInviteRewardMyClansmanHeader.swift → Modules/FUSUserCenterModule/FUSUserCenterModule/Features/InviteReward/Cell/FFInviteRewardMyClansmanHeaderCell.swift
Modules/FUSUserCenterModule/FUSUserCenterModule/Features/InviteReward/Cell/FFInviteRewardTaskCommonCell.swift
Modules/FUSUserCenterModule/FUSUserCenterModule/Features/InviteReward/Cell/FFInviteRewardTaskMemberCell.swift
Modules/FUSUserCenterModule/FUSUserCenterModule/Features/InviteReward/FFInviteFunctionController.swift
Modules/FUSUserCenterModule/FUSUserCenterModule/Features/InviteReward/FFInviteRewardController.swift
Modules/FUSUserCenterModule/FUSUserCenterModule/Features/InviteReward/Other/FUSInviteRewardHttpHelper.m
Modules/FUSUserCenterModule/FUSUserCenterModule/Features/InviteReward/View/FFInviteEmissaryConditionAlertView.swift
Modules/FUSUserCenterModule/FUSUserCenterModule/Features/InviteReward/View/FFInviteQRCodeView.swift
Modules/FUSUserCenterModule/FUSUserCenterModule/Features/InviteReward/View/FFInviteRewardMyView.swift
Modules/FUSUserCenterModule/FUSUserCenterModule/Features/InviteReward/View/FFInviteRewardTaskView.swift
Modules/FUSUserCenterModule/FUSUserCenterModule/Features/InviteReward/View/FFMyEmissaryQRCodeView.swift
DevelopmentPods/FUSCommon/FUSCommon/Classes/Common/Other/FUSSocialShareManager.m
View file @
374fdda6
...
...
@@ -20,6 +20,7 @@
//社会化分享
#import <ShareSDK/ShareSDK.h>
#import <mob_sharesdk/WXApi.h>
#import <Social/Social.h>
@interface
FUSSocialShareManager
()
<
TWTRComposerViewControllerDelegate
,
FBSDKSharingDelegate
,
UIDocumentInteractionControllerDelegate
>
...
...
@@ -174,7 +175,8 @@
self
.
shareSuccess
=
success
;
self
.
shareFailure
=
failure
;
if
(
!
[[
Twitter
sharedInstance
].
sessionStore
hasLoggedInUsers
]
&&
!
[[
UIApplication
sharedApplication
]
canOpenURL
:[
NSURL
URLWithString
:
@"twitter://"
]])
{
if
(
viewController
==
nil
||
!
[[
UIApplication
sharedApplication
]
canOpenURL
:[
NSURL
URLWithString
:
@"twitter://"
]])
{
[
FUSDialogView
fus_showDialog
:[
NSString
fus_localString
:
@"请先安装Twitter"
]];
if
(
self
.
shareFailure
)
_shareFailure
();
self
.
shareSuccess
=
nil
;
...
...
@@ -182,46 +184,52 @@
return
;
}
//分享图片
if
(
shareType
==
FUSShareTypeImage
){
TWTRComposer
*
composer
=
[[
TWTRComposer
alloc
]
init
];
[
composer
setImage
:
image
];
__weak
typeof
(
self
)
weakSelf
=
self
;
[
composer
showFromViewController
:
viewController
completion
:
^
(
TWTRComposerResult
result
)
{
if
(
result
==
TWTRComposerResultCancelled
)
{
[
FUSDialogView
fus_showDialog
:[
NSString
fus_localString
:
@"分享取消"
]];
if
(
weakSelf
.
shareFailure
)
weakSelf
.
shareFailure
();
FUSLogInfo
(
@"Tweet composition cancelled"
);
}
else
{
//上报分享成功数据
NSString
*
version
=
[[
FUSDeviceHelper
getAppVersionNumber
]
description
];
[
FUSCommonHttpRequest
fus_socialShareStatisticWithMode
:
_mode
modeType
:
2
version
:
version
from
:
from
roomId
:
roomId
];
[
FUSDialogView
fus_showDialog
:[
NSString
fus_localString
:
@"分享成功"
]];
if
(
weakSelf
.
shareSuccess
)
weakSelf
.
shareSuccess
();
FUSLogInfo
(
@"Sending Tweet!"
);
}
weakSelf
.
shareSuccess
=
nil
;
weakSelf
.
shareFailure
=
nil
;
}];
// 检查 Twitter 是否可用
if
(
!
[
SLComposeViewController
isAvailableForServiceType
:
@"com.apple.share.Twitter.post"
])
{
[
FUSDialogView
fus_showDialog
:[
NSString
fus_localString
:
@"请先安装Twitter"
]];
if
(
self
.
shareFailure
)
_shareFailure
();
self
.
shareSuccess
=
nil
;
self
.
shareFailure
=
nil
;
return
;
}
//上报分享请求数据
[
self
shareDataReportToSeverWithPlatform
:
TwitterPlatform
from
:
from
roomId
:
roomId
];
SLComposeViewController
*
twitterComposeVC
=
[
SLComposeViewController
composeViewControllerForServiceType
:
@"com.apple.share.Twitter.post"
];
switch
(
shareType
)
{
case
FUSShareTypeText
:{
[
twitterComposeVC
setInitialText
:
content
];
}
break
;
case
FUSShareTypeImage
:{
if
(
image
!=
nil
)
{
[
twitterComposeVC
addImage
:
image
];
}
}
break
;
case
FUSShareTypeWebUrl
:{
[
twitterComposeVC
addURL
:[
NSURL
URLWithString
:
contentURL
]];
[
twitterComposeVC
setInitialText
:
content
];
}
break
;
case
FUSShareTypeDefault
:
case
FUSShareTypeImageWithText
:{
if
(
image
!=
nil
)
{
[
twitterComposeVC
addImage
:
image
];
}
[
twitterComposeVC
setInitialText
:
content
];
}
break
;
default
:
break
;
}
// Called from a UIViewController(方式一)
TWTRComposer
*
composer
=
[[
TWTRComposer
alloc
]
init
];
[
composer
setText
:
content
];
[
composer
setImage
:
image
];
[
composer
setURL
:[
NSURL
URLWithString
:
contentURL
]];
__weak
typeof
(
self
)
weakSelf
=
self
;
[
composer
showFromViewController
:
viewController
completion
:
^
(
TWTRCompos
erResult
result
)
{
if
(
result
==
TWTRCompos
erResultCancelled
)
{
twitterComposeVC
.
completionHandler
=
^
(
SLComposeViewControll
erResult
result
)
{
if
(
result
==
SLComposeViewControll
erResultCancelled
)
{
[
FUSDialogView
fus_showDialog
:[
NSString
fus_localString
:
@"分享取消"
]];
if
(
weakSelf
.
shareFailure
)
weakSelf
.
shareFailure
();
FUSLogInfo
(
@"Tweet composition cancelled"
);
}
else
{
}
else
{
//上报分享成功数据
NSString
*
version
=
[[
FUSDeviceHelper
getAppVersionNumber
]
description
];
[
FUSCommonHttpRequest
fus_socialShareStatisticWithMode
:
_mode
modeType
:
2
version
:
version
from
:
from
roomId
:
roomId
];
...
...
@@ -231,8 +239,74 @@
}
weakSelf
.
shareSuccess
=
nil
;
weakSelf
.
shareFailure
=
nil
;
};
twitterComposeVC
.
modalPresentationStyle
=
UIModalPresentationOverFullScreen
;
[[
UIViewController
fus_topViewController
]
presentViewController
:
twitterComposeVC
animated
:
YES
completion
:^
{
}];
// 20250331 下面的不用了,用新的
// if (![[Twitter sharedInstance].sessionStore hasLoggedInUsers] && ![[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"twitter://"]]) {
// [FUSDialogView fus_showDialog:[NSString fus_localString:@"请先安装Twitter"]];
// if(self.shareFailure)_shareFailure();
// self.shareSuccess = nil;
// self.shareFailure = nil;
// return;
// }
//
// //分享图片
// if(shareType == FUSShareTypeImage){
// TWTRComposer *composer = [[TWTRComposer alloc] init];
// [composer setImage:image];
// __weak typeof(self) weakSelf = self;
// [composer showFromViewController:viewController completion:^(TWTRComposerResult result) {
// if (result == TWTRComposerResultCancelled) {
// [FUSDialogView fus_showDialog:[NSString fus_localString:@"分享取消"]];
// if(weakSelf.shareFailure)weakSelf.shareFailure();
// FUSLogInfo(@"Tweet composition cancelled");
// }
// else{
// //上报分享成功数据
// NSString *version = [[FUSDeviceHelper getAppVersionNumber] description];
// [FUSCommonHttpRequest fus_socialShareStatisticWithMode:_mode modeType:2 version:version from:from roomId:roomId];
// [FUSDialogView fus_showDialog:[NSString fus_localString:@"分享成功"]];
// if(weakSelf.shareSuccess)weakSelf.shareSuccess(); FUSLogInfo(@"Sending Tweet!");
// }
// weakSelf.shareSuccess = nil;
// weakSelf.shareFailure = nil;
// }];
// return;
// }
//
// //上报分享请求数据
// [self shareDataReportToSeverWithPlatform:TwitterPlatform from:from roomId:roomId];
//
// // Called from a UIViewController(方式一)
// TWTRComposer *composer = [[TWTRComposer alloc] init];
// [composer setText:content];
// [composer setImage:image];
// [composer setURL:[NSURL URLWithString:contentURL]];
// __weak typeof(self) weakSelf = self;
// [composer showFromViewController:viewController completion:^(TWTRComposerResult result) {
// if (result == TWTRComposerResultCancelled) {
// [FUSDialogView fus_showDialog:[NSString fus_localString:@"分享取消"]];
// if(weakSelf.shareFailure)weakSelf.shareFailure();
// FUSLogInfo(@"Tweet composition cancelled");
// }
// else{
// //上报分享成功数据
// NSString *version = [[FUSDeviceHelper getAppVersionNumber] description];
// [FUSCommonHttpRequest fus_socialShareStatisticWithMode:_mode modeType:2 version:version from:from roomId:roomId];
// [FUSDialogView fus_showDialog:[NSString fus_localString:@"分享成功"]];
// if(weakSelf.shareSuccess)weakSelf.shareSuccess();
// FUSLogInfo(@"Sending Tweet!");
// }
// weakSelf.shareSuccess = nil;
// weakSelf.shareFailure = nil;
// }];
//(方式二)
// if ([[Twitter sharedInstance].sessionStore hasLoggedInUsers]) {
// TWTRComposerViewController *composer = [[TWTRComposerViewController alloc] initWithInitialText:[NSString stringWithFormat:@"%@%@",content,contentURL] image:image videoURL:nil];
...
...
DevelopmentPods/FUSCommon/FUSCommon/Classes/Common/View/FUSOCBaseView.m
View file @
374fdda6
...
...
@@ -7,6 +7,12 @@
#import "FUSOCBaseView.h"
@interface
FUSOCBaseView
()
@property
(
nonatomic
,
assign
)
BOOL
fusocviewIsLoaded
;
@end
@implementation
FUSOCBaseView
-
(
instancetype
)
init
...
...
@@ -17,8 +23,11 @@
_transparency
=
false
;
_transparencyFrame
=
CGRectZero
;
[
self
makeUI
];
[
self
bindViewModel
];
if
(
self
.
fusocviewIsLoaded
==
NO
)
{
[
self
makeUI
];
[
self
bindViewModel
];
}
self
.
fusocviewIsLoaded
=
YES
;
}
return
self
;
}
...
...
@@ -31,9 +40,11 @@
_transparency
=
false
;
_transparencyFrame
=
CGRectZero
;
[
self
makeUI
];
[
self
bindViewModel
];
if
(
self
.
fusocviewIsLoaded
==
NO
)
{
[
self
makeUI
];
[
self
bindViewModel
];
}
self
.
fusocviewIsLoaded
=
YES
;
}
return
self
;
...
...
DevelopmentPods/FUSCommon/FUSCommon/Classes/Foundation/Http/FUSCommonURLs.m
View file @
374fdda6
...
...
@@ -86,22 +86,22 @@
/// 邀请有奖-下载帮助页地址
+
(
NSString
*
)
fus_inviteDownloadHelpUrl
{
return
[
FUSConfig
.
sharedInstanced
.
pathConfigs
webUrl
:
@"/
Nesting
/newShare/helpDownload.html"
];
return
[
FUSConfig
.
sharedInstanced
.
pathConfigs
webUrl
:
@"/
vestApp
/newShare/helpDownload.html"
];
}
/// 邀请有奖-绑定帮助页地址
+
(
NSString
*
)
fus_inviteBindHelpUrl
{
return
[
FUSConfig
.
sharedInstanced
.
pathConfigs
webUrl
:
@"/
Nesting
/newShare/helpBind.html"
];
return
[
FUSConfig
.
sharedInstanced
.
pathConfigs
webUrl
:
@"/
vestApp
/newShare/helpBind.html"
];
}
/// 使者奖励地址
+
(
NSString
*
)
fus_inviteEmissaryRewardUrl
{
return
[
FUSConfig
.
sharedInstanced
.
pathConfigs
webUrl
:
@"/
Nesting
/newShare/inviteReward.html"
];
return
[
FUSConfig
.
sharedInstanced
.
pathConfigs
webUrl
:
@"/
vestApp
/newShare/inviteReward.html"
];
}
/// 我的族人地址
+
(
NSString
*
)
fus_inviteMyClansmanUrl
{
return
[
FUSConfig
.
sharedInstanced
.
pathConfigs
webUrl
:
@"/
Nesting
/newShare/inviteNum.html"
];
return
[
FUSConfig
.
sharedInstanced
.
pathConfigs
webUrl
:
@"/
vestApp
/newShare/inviteNum.html"
];
}
@end
...
...
DevelopmentPods/FUSFoundation/FUSFoundation/Classes/FUSFoundation/Tools/Categories/NSString/NSMutableAttributedString+FUSHTML.m
View file @
374fdda6
...
...
@@ -69,7 +69,8 @@
if
(
colorString
.
length
||
rtlString
.
length
)
{
styleString
=
[
NSString
stringWithFormat
:
@" style=%@%@display:inline-blcok"
,
rtlString
,
colorString
];
}
finalHtmlString
=
[
NSString
stringWithFormat
:
@"%@<div%@>%@</div>"
,
imgAutoFitHeight
,
styleString
,
htmlString
];
// finalHtmlString = [NSString stringWithFormat:@"%@<div%@>%@</div>",imgAutoFitHeight,styleString,htmlString];
finalHtmlString
=
[
NSString
stringWithFormat
:
@"%@<span%@>%@</span>"
,
imgAutoFitHeight
,
styleString
,
htmlString
];
}
// 获得HTML的Attribute
...
...
DevelopmentPods/FUSFoundation/FUSFoundation/Classes/FUSFoundation/Tools/Categories/UIButton/UIButton+WebImage.m
View file @
374fdda6
...
...
@@ -87,8 +87,7 @@
[
self
setImageWithURL
:
url
forState
:
state
placeholder
:
placeholder
];
}
-
(
void
)
setWebImageWithSubURLString
:(
NSString
*
)
urlString
controlState
:(
UIControlState
)
state
placeholder
:(
UIImage
*
)
placeholder
completion
:(
void
(
BOOL
,
UIImage
*
_Nullable
))
completion
{
-
(
void
)
setWebImageWithSubURLString
:(
NSString
*
)
urlString
controlState
:(
UIControlState
)
state
placeholder
:(
UIImage
*
)
placeholder
completion
:(
void
(
^
)(
BOOL
,
UIImage
*
_Nullable
))
completion
{
if
([
urlString
containsString
:
@"boy"
]
||
[
urlString
containsString
:
@"girl"
])
{
[
self
setImage
:
UIImage
.
fus_defaultIcon
forState
:
UIControlStateNormal
];
return
;
...
...
@@ -109,9 +108,9 @@
[
self
setImageWithURL
:
url
forState
:
state
placeholder
:
placeholder
options
:
kNilOptions
completion
:^
(
UIImage
*
_Nullable
image
,
NSURL
*
_Nonnull
url
,
YYWebImageFromType
from
,
YYWebImageStage
stage
,
NSError
*
_Nullable
error
)
{
if
(
error
==
nil
&&
image
!=
nil
)
{
completion
(
YES
,
image
);
if
(
completion
!=
nil
)
completion
(
YES
,
image
);
}
else
{
completion
(
NO
,
nil
);
if
(
completion
!=
nil
)
completion
(
NO
,
nil
);
}
}];
}
...
...
DevelopmentPods/FUSFoundation/FUSFoundation/Classes/FUSFoundation/Tools/FormatContent/FUSFormatContentHelper.m
View file @
374fdda6
...
...
@@ -59,8 +59,7 @@
}
}
}
NSMutableAttributedString
*
attr
=
[
NSMutableAttributedString
fus_attributeStringWithHTMLString
:
model
.
languageContent
baseColor
:
@"ffffff"
font
:
font
imgHeight
:
levelSize
.
height
imgWidth
:
levelSize
.
width
];
NSMutableAttributedString
*
attr
=
[
NSMutableAttributedString
fus_attributeStringWithHTMLString
:
languageContentString
baseColor
:
@"ffffff"
font
:
font
imgHeight
:
levelSize
.
height
imgWidth
:
levelSize
.
width
];
if
(
!
[
FUSDeviceHelper
fus_checkOldIPhoneDeviceHandler
:
nil
])
{
NSShadow
*
shadow
=
[[
NSShadow
alloc
]
init
];
...
...
Modules/FUSChatCenterModule/FUSChatCenterModule.xcodeproj/xcuserdata/aaa.xcuserdatad/xcschemes/xcschememanagement.plist
View file @
374fdda6
...
...
@@ -7,12 +7,12 @@
<
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
2
<
/int
e
g
e
r
>
<
int
e
g
e
r
>
7
3
<
/int
e
g
e
r
>
<
/
d
i
c
t
>
<
k
e
y
>
FUSChatCenterModule.xcscheme_
^#
shared
#^
_
<
/k
e
y
>
<
d
i
c
t
>
<
k
e
y
>
orderHint
<
/k
e
y
>
<
int
e
g
e
r
>
7
8
<
/int
e
g
e
r
>
<
int
e
g
e
r
>
7
4
<
/int
e
g
e
r
>
<
/
d
i
c
t
>
<
/
d
i
c
t
>
<
/
d
i
c
t
>
...
...
Modules/FUSShowRoomModule/FUSShowRoomModule.xcodeproj/xcuserdata/aaa.xcuserdatad/xcschemes/xcschememanagement.plist
View file @
374fdda6
...
...
@@ -7,12 +7,12 @@
<
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
4
<
/int
e
g
e
r
>
<
int
e
g
e
r
>
7
5
<
/int
e
g
e
r
>
<
/
d
i
c
t
>
<
k
e
y
>
FUSShowRoomModule.xcscheme_
^#
shared
#^
_
<
/k
e
y
>
<
d
i
c
t
>
<
k
e
y
>
orderHint
<
/k
e
y
>
<
int
e
g
e
r
>
7
5
<
/int
e
g
e
r
>
<
int
e
g
e
r
>
7
8
<
/int
e
g
e
r
>
<
/
d
i
c
t
>
<
/
d
i
c
t
>
<
/
d
i
c
t
>
...
...
Modules/FUSUserCenterModule/FUSUserCenterModule.xcodeproj/project.pbxproj
View file @
374fdda6
...
...
@@ -80,7 +80,7 @@
00B45E632D9401CE00FF138F
/* FFInviteRewardMainView.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
00B45E442D9401CE00FF138F
/* FFInviteRewardMainView.swift */
;
};
00B45E642D9401CE00FF138F
/* FFInviteFunctionStepThreeView.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
00B45E3E2D9401CE00FF138F
/* FFInviteFunctionStepThreeView.swift */
;
};
00B45E652D9401CE00FF138F
/* FFInviteRewardTaskCommonCell.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
00B45E302D9401CE00FF138F
/* FFInviteRewardTaskCommonCell.swift */
;
};
00B45E662D9401CE00FF138F
/* FFInviteRewardMyClansmanHeader
.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
00B45E2E2D9401CE00FF138F
/* FFInviteRewardMyClansmanHeader
.swift */
;
};
00B45E662D9401CE00FF138F
/* FFInviteRewardMyClansmanHeader
Cell.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
00B45E2E2D9401CE00FF138F
/* FFInviteRewardMyClansmanHeaderCell
.swift */
;
};
00B45E672D9401CE00FF138F
/* FFInviteEmissaryConditionContentAlertView.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
00B45E3B2D9401CE00FF138F
/* FFInviteEmissaryConditionContentAlertView.swift */
;
};
00B45E682D9401CE00FF138F
/* FFInviteFunctionStepOneView.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
00B45E3D2D9401CE00FF138F
/* FFInviteFunctionStepOneView.swift */
;
};
00B45E692D9401CE00FF138F
/* FFInviteRewardInviteViewModel.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
00B45E492D9401CE00FF138F
/* FFInviteRewardInviteViewModel.swift */
;
};
...
...
@@ -1009,7 +1009,7 @@
00B45E2B2D9401CE00FF138F
/* FFInviteRewardInvitePlanCell.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
FFInviteRewardInvitePlanCell.swift
;
sourceTree
=
"<group>"
;
};
00B45E2C2D9401CE00FF138F
/* FFInviteRewardMyClansmanCell.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
FFInviteRewardMyClansmanCell.swift
;
sourceTree
=
"<group>"
;
};
00B45E2D2D9401CE00FF138F
/* FFInviteRewardMyClansmanEmptyCell.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
FFInviteRewardMyClansmanEmptyCell.swift
;
sourceTree
=
"<group>"
;
};
00B45E2E2D9401CE00FF138F
/* FFInviteRewardMyClansmanHeader
.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
FFInviteRewardMyClansmanHeader
.swift
;
sourceTree
=
"<group>"
;
};
00B45E2E2D9401CE00FF138F
/* FFInviteRewardMyClansmanHeader
Cell.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
FFInviteRewardMyClansmanHeaderCell
.swift
;
sourceTree
=
"<group>"
;
};
00B45E2F2D9401CE00FF138F
/* FFInviteRewardMyHeaderCell.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
FFInviteRewardMyHeaderCell.swift
;
sourceTree
=
"<group>"
;
};
00B45E302D9401CE00FF138F
/* FFInviteRewardTaskCommonCell.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
FFInviteRewardTaskCommonCell.swift
;
sourceTree
=
"<group>"
;
};
00B45E312D9401CE00FF138F
/* FFInviteRewardTaskMemberCell.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
FFInviteRewardTaskMemberCell.swift
;
sourceTree
=
"<group>"
;
};
...
...
@@ -2073,7 +2073,7 @@
00B45E2B2D9401CE00FF138F
/* FFInviteRewardInvitePlanCell.swift */
,
00B45E2C2D9401CE00FF138F
/* FFInviteRewardMyClansmanCell.swift */
,
00B45E2D2D9401CE00FF138F
/* FFInviteRewardMyClansmanEmptyCell.swift */
,
00B45E2E2D9401CE00FF138F
/* FFInviteRewardMyClansmanHeader.swift */
,
00B45E2E2D9401CE00FF138F
/* FFInviteRewardMyClansmanHeader
Cell
.swift */
,
00B45E2F2D9401CE00FF138F
/* FFInviteRewardMyHeaderCell.swift */
,
00B45E302D9401CE00FF138F
/* FFInviteRewardTaskCommonCell.swift */
,
00B45E312D9401CE00FF138F
/* FFInviteRewardTaskMemberCell.swift */
,
...
...
@@ -4804,7 +4804,7 @@
00B45E632D9401CE00FF138F
/* FFInviteRewardMainView.swift in Sources */
,
00B45E642D9401CE00FF138F
/* FFInviteFunctionStepThreeView.swift in Sources */
,
00B45E652D9401CE00FF138F
/* FFInviteRewardTaskCommonCell.swift in Sources */
,
00B45E662D9401CE00FF138F
/* FFInviteRewardMyClansmanHeader.swift in Sources */
,
00B45E662D9401CE00FF138F
/* FFInviteRewardMyClansmanHeader
Cell
.swift in Sources */
,
00B45E672D9401CE00FF138F
/* FFInviteEmissaryConditionContentAlertView.swift in Sources */
,
00B45E682D9401CE00FF138F
/* FFInviteFunctionStepOneView.swift in Sources */
,
00B45E692D9401CE00FF138F
/* FFInviteRewardInviteViewModel.swift in Sources */
,
...
...
Modules/FUSUserCenterModule/FUSUserCenterModule.xcodeproj/xcuserdata/aaa.xcuserdatad/xcschemes/xcschememanagement.plist
View file @
374fdda6
...
...
@@ -12,7 +12,7 @@
<
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
3
<
/int
e
g
e
r
>
<
int
e
g
e
r
>
7
2
<
/int
e
g
e
r
>
<
/
d
i
c
t
>
<
/
d
i
c
t
>
<
/
d
i
c
t
>
...
...
Modules/FUSUserCenterModule/FUSUserCenterModule/FUSUserCenterModuleBundle.bundle/FUSUserCenterAssets.xcassets/inviteReward/InviteReward_task_common_background.imageset/Contents.json
0 → 100644
View file @
374fdda6
{
"images"
:
[
{
"idiom"
:
"universal"
,
"scale"
:
"1x"
},
{
"filename"
:
"InviteReward_task_common_background@2x.png"
,
"idiom"
:
"universal"
,
"scale"
:
"2x"
},
{
"idiom"
:
"universal"
,
"scale"
:
"3x"
}
],
"info"
:
{
"author"
:
"xcode"
,
"version"
:
1
}
}
Modules/FUSUserCenterModule/FUSUserCenterModule/FUSUserCenterModuleBundle.bundle/FUSUserCenterAssets.xcassets/inviteReward/InviteReward_task_common_background.imageset/InviteReward_task_common_background@2x.png
0 → 100644
View file @
374fdda6
6.1 KB
Modules/FUSUserCenterModule/FUSUserCenterModule/FUSUserCenterModuleBundle.bundle/FUSUserCenterAssets.xcassets/inviteReward/inviteReward_invite_navi_rank_btn.imageset/Contents.json
0 → 100644
View file @
374fdda6
{
"images"
:
[
{
"idiom"
:
"universal"
,
"scale"
:
"1x"
},
{
"filename"
:
"inviteReward_invite_navi_rank_btn@2x.png"
,
"idiom"
:
"universal"
,
"scale"
:
"2x"
},
{
"filename"
:
"inviteReward_invite_navi_rank_btn@3x.png"
,
"idiom"
:
"universal"
,
"scale"
:
"3x"
}
],
"info"
:
{
"author"
:
"xcode"
,
"version"
:
1
}
}
Modules/FUSUserCenterModule/FUSUserCenterModule/FUSUserCenterModuleBundle.bundle/FUSUserCenterAssets.xcassets/inviteReward/inviteReward_invite_navi_rank_btn.imageset/inviteReward_invite_navi_rank_btn@2x.png
0 → 100644
View file @
374fdda6
1.22 KB
Modules/FUSUserCenterModule/FUSUserCenterModule/FUSUserCenterModuleBundle.bundle/FUSUserCenterAssets.xcassets/inviteReward/inviteReward_invite_navi_rank_btn.imageset/inviteReward_invite_navi_rank_btn@3x.png
0 → 100644
View file @
374fdda6
2.07 KB
Modules/FUSUserCenterModule/FUSUserCenterModule/Features/InviteReward/Cell/FFInviteFunctionStepOneContentView.swift
View file @
374fdda6
...
...
@@ -99,7 +99,7 @@ class FFInviteFunctionStepOneContentView: FFInviteFunctionStepContentBaseView {
self
.
typeContentView
.
removeAllSubviews
()
if
self
.
type
==
.
media
{
let
shareTypeList
:
[
SocialSharePlatform
]
=
[
.
LineSharePlatform
,
.
WhatsAppPlatform
,
.
FacebookPlatform
,
.
TwitterPlatform
,
.
WechatFriendPlatform
,
.
WechatCirclePaltform
/*, .friendChat*/
]
let
shareTypeList
:
[
SocialSharePlatform
]
=
[
.
LineSharePlatform
,
.
WhatsAppPlatform
,
.
FacebookPlatform
,
.
TwitterPlatform
]
let
itemW
:
CGFloat
=
45
let
insentMargin
:
CGFloat
=
15
var
lineItemCount
:
Int
=
6
...
...
@@ -195,6 +195,10 @@ class FFInviteFunctionStepOneContentView: FFInviteFunctionStepContentBaseView {
loadingView
.
animationImages
=
UIImage
.
fus_animationImages
(
"fusi_loading_animate_black_"
,
mainBundle
:
false
,
needCache
:
true
)
loadingView
.
animationDuration
=
1.5
loadingView
.
startAnimating
()
qrCodeImageView
.
addSubview
(
loadingView
)
loadingView
.
snp
.
makeConstraints
{
make
in
make
.
center
.
equalToSuperview
()
}
let
copyBtnSize
=
String
.
fus_localString
(
"保存QRCode"
)
.
size
(
for
:
.
fus_themeMediumFont
(
14
))
let
copyBtn
=
FUSStyleButton
(
type
:
.
custom
)
...
...
@@ -216,12 +220,14 @@ class FFInviteFunctionStepOneContentView: FFInviteFunctionStepContentBaseView {
imgUrl
=
model
.
qrurl
}
qrCodeImageView
.
setWebImageWithSubURLString
(
imgUrl
,
controlState
:
.
normal
,
placeholder
:
.
init
())
{[
weak
loadingView
]
suc
,
image
in
if
suc
==
true
,
let
image
=
image
{
qrImage
=
image
loadingView
?
.
stopAnimating
()
loadingView
?
.
isHidden
=
true
}
DispatchQueue
.
main
.
async
(
execute
:
{
if
suc
==
true
,
let
image
=
image
{
qrImage
=
image
loadingView
?
.
stopAnimating
()
loadingView
?
.
isHidden
=
true
}
})
}
}
failure
:
{
msg
,
code
in
FUSDialogView
.
fus_showDialog
(
msg
)
...
...
Modules/FUSUserCenterModule/FUSUserCenterModule/Features/InviteReward/Cell/FFInviteFunctionStepThreeContentView.swift
View file @
374fdda6
...
...
@@ -173,14 +173,14 @@ class FFInviteFunctionStepThreeEmptyView: FUSBaseView {
emptyImageView
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalToSuperview
()
make
.
centerX
.
equalToSuperview
()
make
.
size
.
equalTo
(
CGSizeMake
(
50
,
5
0
))
make
.
size
.
equalTo
(
CGSizeMake
(
100
,
10
0
))
}
waitingLabel
.
numberOfLines
=
0
self
.
addSubview
(
waitingLabel
)
waitingLabel
.
snp
.
makeConstraints
{
make
in
// make.centerX.equalToSuperview().offset(-6)
make
.
top
.
equalTo
(
emptyImageView
.
snp
.
bottom
)
make
.
top
.
equalTo
(
emptyImageView
.
snp
.
bottom
)
.
offset
(
-
12
)
make
.
bottom
.
equalToSuperview
()
make
.
left
.
right
.
equalToSuperview
()
.
inset
(
18
)
}
...
...
Modules/FUSUserCenterModule/FUSUserCenterModule/Features/InviteReward/Cell/FFInviteFunctionStepTwoContentView.swift
View file @
374fdda6
...
...
@@ -314,16 +314,9 @@ class FFInviteFunctionStepTwoContentView: FFInviteFunctionStepContentBaseView {
// 头像
// self.saveBtn.isHidden = true
avatarImageView
.
setWebImageWithSubURLString
(
FUSSwiftCacheDataShare
.
share
.
userInfo
.
value
?
.
uid
,
placeholder
:
.
fus_boyIcon
())
{[
weak
self
]
image
,
url
,
from
,
stage
,
error
in
if
error
!=
nil
,
let
image
=
image
{
self
?
.
qrCodeView
.
ff_setup
(
url
:
FFInviteRewardInviteViewModel
.
share
.
inviteDataModel
.
value
?
.
shareData
.
shareContent
.
fus_getWebpage
()
??
""
,
avatar
:
image
,
completeHandler
:
{
isSuccess
in
if
isSuccess
{
// self?.saveBtn.isHidden = false
}
})
}
}
avatarImageView
.
setWebImageWithSubURLString
(
FUSSwiftCacheDataShare
.
share
.
userInfo
.
value
?
.
face
.
fus_bigCdn
,
placeholder
:
.
fus_boyIcon
())
// qrcode
self
.
qrCodeView
.
ff_setup
(
url
:
FFInviteRewardInviteViewModel
.
share
.
inviteDataModel
.
value
?
.
shareData
.
shareContent
.
fus_getWebpage
()
??
""
,
avatarURL
:
FUSSwiftCacheDataShare
.
share
.
userInfo
.
value
?
.
face
.
fus_bigCdn
??
""
)
}
}
Modules/FUSUserCenterModule/FUSUserCenterModule/Features/InviteReward/Cell/FFInviteRewardInvitePlanCell.swift
View file @
374fdda6
...
...
@@ -265,6 +265,8 @@ class FFInviteRewardInviteRewardDescView: FUSBaseView {
make
.
height
.
equalTo
(
25
)
}
descLabel
.
setContentHuggingPriority
(
.
required
,
for
:
.
vertical
)
descLabel
.
setContentCompressionResistancePriority
(
.
required
,
for
:
.
horizontal
)
descLabel
.
numberOfLines
=
0
descLabel
.
textAlignment
=
.
center
self
.
addSubview
(
descLabel
)
...
...
Modules/FUSUserCenterModule/FUSUserCenterModule/Features/InviteReward/Cell/FFInviteRewardMyClansmanHeader.swift
→
Modules/FUSUserCenterModule/FUSUserCenterModule/Features/InviteReward/Cell/FFInviteRewardMyClansmanHeader
Cell
.swift
View file @
374fdda6
//
// FFInviteRewardMyClansmanHeader.swift
// FFInviteRewardMyClansmanHeader
Cell
.swift
// PersonalPage
//
// Created by aaa on 2025/3/5.
...
...
@@ -7,14 +7,16 @@
import
UIKit
class
FFInviteRewardMyClansmanHeader
:
UITableViewHeaderFooterView
{
class
FFInviteRewardMyClansmanHeader
Cell
:
UITableViewCell
{
static
public
let
cellID
:
String
=
"FFInviteRewardMyClansmanHeader"
static
public
let
cellID
:
String
=
"FFInviteRewardMyClansmanHeader
Cell
"
static
public
let
cellHeight
:
CGFloat
=
45
+
8
override
init
(
reuseIdentifier
:
String
?)
{
super
.
init
(
reuseIdentifier
:
reuseIdentifier
)
makeUI
()
override
init
(
style
:
UITableViewCell
.
CellStyle
,
reuseIdentifier
:
String
?)
{
super
.
init
(
style
:
style
,
reuseIdentifier
:
reuseIdentifier
)
self
.
selectionStyle
=
UITableViewCell
.
SelectionStyle
.
none
self
.
makeUI
()
}
required
init
?(
coder
:
NSCoder
)
{
...
...
@@ -26,14 +28,14 @@ class FFInviteRewardMyClansmanHeader: UITableViewHeaderFooterView {
func
makeUI
(){
self
.
backgroundColor
=
.
fus_appBG
()
self
.
contentView
.
backgroundColor
=
.
fus_appBG
()
self
.
backgroundColor
=
.
clear
self
.
contentView
.
backgroundColor
=
.
clear
bgView
.
frame
=
CGRectMake
(
0
,
0
,
UIView
.
fus_screenW
()
-
18*
2
,
45
)
bgView
.
backgroundColor
=
.
white
.
withAlphaComponent
(
0.1
)
// bgView.addRoundCorners(with: UIRectCorner(rawValue: UIRectCorner(rawValue: UIRectCorner.topRight.rawValue | UIRectCorner.topLeft.rawValue).rawValue), radius: CGSizeMake(9, 9))
bgView
.
fus_addInviteCellShadow
(
currentRow
:
0
,
maxRowCount
:
3
)
self
.
addSubview
(
bgView
)
self
.
contentView
.
addSubview
(
bgView
)
bgView
.
snp
.
makeConstraints
{
make
in
make
.
bottom
.
equalToSuperview
()
make
.
left
.
right
.
equalToSuperview
()
.
inset
(
18
)
...
...
Modules/FUSUserCenterModule/FUSUserCenterModule/Features/InviteReward/Cell/FFInviteRewardTaskCommonCell.swift
View file @
374fdda6
...
...
@@ -26,7 +26,9 @@ class FFInviteRewardTaskCommonCell: UITableViewCell {
/// 空白卡片内容部分高度
static
public
let
emptyContentHeight
:
CGFloat
=
158
/// 背景左右两边的空隙
static
public
let
bgHorizontalMargin
:
CGFloat
=
15
static
public
let
bgHorizontalMargin
:
CGFloat
=
18
/// 背景下面空间
static
public
let
bgBottomMargin
:
CGFloat
=
10
/// 内容距离背景两边的空隙
static
public
let
contentHorizontalMargin
:
CGFloat
=
22
...
...
@@ -46,6 +48,7 @@ class FFInviteRewardTaskCommonCell: UITableViewCell {
/// 预留一个背景imageview
let
bgImageView
=
UIImageView
()
let
strokeBgImageView
=
UIImageView
(
image
:
FUSUserCenterBunble
.
imageNamed
(
"InviteReward_task_common_background"
))
let
titleLabel
=
YYLabel
()
let
descLabel
=
UILabel
()
let
lineView
=
UIView
()
...
...
@@ -60,12 +63,22 @@ class FFInviteRewardTaskCommonCell: UITableViewCell {
self
.
contentView
.
backgroundColor
=
.
clear
self
.
backgroundColor
=
.
clear
bgImageView
.
fus_addInviteShadow
()
bgImageView
.
backgroundColor
=
.
white
bgImageView
.
layer
.
cornerRadius
=
12
bgImageView
.
isUserInteractionEnabled
=
true
self
.
contentView
.
addSubview
(
bgImageView
)
bgImageView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
right
.
equalToSuperview
()
.
inset
(
FFInviteRewardTaskCommonCell
.
bgHorizontalMargin
)
make
.
top
.
bottom
.
equalToSuperview
()
make
.
top
.
equalToSuperview
()
make
.
bottom
.
equalTo
(
-
FFInviteRewardTaskCommonCell
.
bgBottomMargin
)
}
strokeBgImageView
.
contentMode
=
.
scaleAspectFill
bgImageView
.
addSubview
(
strokeBgImageView
)
strokeBgImageView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
right
.
equalToSuperview
()
.
inset
(
4
)
make
.
bottom
.
equalTo
(
-
12
)
}
bgImageView
.
addSubview
(
titleLabel
)
...
...
@@ -152,7 +165,6 @@ class FFInviteRewardTaskCommonCell: UITableViewCell {
self
.
emptyView
.
isHidden
=
false
}
self
.
bgImageView
.
fus_addInviteShadow
()
}
}
...
...
@@ -214,6 +226,7 @@ extension FUSInviteDataAwardGetListDataModel {
cellHeight
+=
FFInviteRewardTaskCommonCell
.
emptyContentHeight
}
cellHeight
+=
FFInviteRewardTaskCommonCell
.
bottomMargin
cellHeight
+=
FFInviteRewardTaskCommonCell
.
bgBottomMargin
return
cellHeight
}
...
...
Modules/FUSUserCenterModule/FUSUserCenterModule/Features/InviteReward/Cell/FFInviteRewardTaskMemberCell.swift
View file @
374fdda6
...
...
@@ -22,6 +22,7 @@ class FFInviteRewardTaskMemberCell: UITableViewCell {
self
.
selectionStyle
=
UITableViewCell
.
SelectionStyle
.
none
self
.
makeUI
()
self
.
bindViewModel
()
}
required
init
?(
coder
:
NSCoder
)
{
...
...
Modules/FUSUserCenterModule/FUSUserCenterModule/Features/InviteReward/FFInviteFunctionController.swift
View file @
374fdda6
...
...
@@ -213,7 +213,7 @@ extension UIView {
self
.
layer
.
shadowColor
=
UIColor
(
red
:
0.7
,
green
:
0.7
,
blue
:
0.7
,
alpha
:
1
)
.
cgColor
self
.
layer
.
shadowOffset
=
CGSize
(
width
:
0
,
height
:
0
)
self
.
layer
.
shadowOpacity
=
1
self
.
layer
.
shadowRadius
=
6.5
//
self.layer.shadowRadius = 6.5
}
/// 添加邀请卡片的圆角,注意,会去掉所有的 CAShapeLayer
...
...
Modules/FUSUserCenterModule/FUSUserCenterModule/Features/InviteReward/FFInviteRewardController.swift
View file @
374fdda6
...
...
@@ -126,12 +126,13 @@ public class FFInviteRewardController: FUSBaseViewController {
func
makeNaviBtn
(){
// 榜单
let
boardBtn
=
UIButton
(
type
:
.
custom
)
let
boardImageView
=
UIImageView
(
image
:
FUSUserCenterBunble
.
imageNamed
(
"fus_home_navi_rank_icon"
))
boardBtn
.
addSubview
(
boardImageView
)
boardImageView
.
snp
.
makeConstraints
{
make
in
make
.
center
.
equalToSuperview
()
make
.
size
.
equalTo
(
CGSizeMake
(
24
,
24
))
}
boardBtn
.
setImage
(
FUSUserCenterBunble
.
imageNamed
(
"inviteReward_invite_navi_rank_btn"
),
for
:
.
normal
)
// let boardImageView = UIImageView(image: FUSUserCenterBunble.imageNamed("fus_home_navi_rank_icon"))
// boardBtn.addSubview(boardImageView)
// boardImageView.snp.makeConstraints { make in
// make.center.equalToSuperview()
// make.size.equalTo(CGSizeMake(24, 24))
// }
boardBtn
.
rx
.
tap
.
subscribe
(
onNext
:
{
var
url
=
FUSCacheDataShare
.
shareStore
()
.
settingInitDataModel
.
fusiConfig
.
rankAddress
+
"?isSpecialUser=
\(
(
FUSSwiftCacheDataShare
.
share
.
settingConfigModel
.
value
?
.
specialUserMark
==
true
?
"1"
:
"0"
)
)
"
...
...
Modules/FUSUserCenterModule/FUSUserCenterModule/Features/InviteReward/Other/FUSInviteRewardHttpHelper.m
View file @
374fdda6
...
...
@@ -49,7 +49,9 @@
+
(
void
)
fus_inviteDataAwardReceiveWithSid
:(
NSString
*
)
sid
success
:(
void
(
^
)(
FUSInviteDataAwardReceiveItemModel
*
_Nonnull
))
success
failure
:(
void
(
^
)(
NSString
*
_Nonnull
,
int
))
failure
{
NSDictionary
*
parm
=
@{
@"sid"
:
sid
};
[
FUSHttpHelper
postRequestBinaryWithUrl
:
FUSUserCenterURLs
.
fus_URL_inviteDataAwardReceive
params
:
parm
success
:^
(
NSDictionary
*
_Nullable
dataDict
,
int
code
)
{
success
([
FUSInviteDataAwardReceiveItemModel
modelWithDictionary
:
dataDict
[
@"getJson"
]]);
FUSInviteDataAwardReceiveItemModel
*
model
=
[
FUSInviteDataAwardReceiveItemModel
modelWithDictionary
:
dataDict
[
@"getJson"
]];
[[
FUSRouter
userRouter
]
fus_showAwardAnimateWithCurrency
:
0
classify
:
model
.
classify
tips
:
model
.
itemName
icon
:
model
.
itemUrl
amount
:
model
.
itemNum
];
success
(
model
);
}
failure
:^
(
NSDictionary
*
_Nullable
dataDict
,
int
code
)
{
if
(
failure
)
{
failure
(
FAILURE_MESSAGE
,
code
);
...
...
@@ -61,7 +63,9 @@
+
(
void
)
fus_inviteDataTaskReceiveWithSid
:(
NSString
*
)
sid
success
:(
void
(
^
)(
FUSInviteDataAwardReceiveItemModel
*
_Nonnull
))
success
failure
:(
void
(
^
)(
NSString
*
_Nonnull
,
int
))
failure
{
NSDictionary
*
parm
=
@{
@"sid"
:
sid
};
[
FUSHttpHelper
postRequestBinaryWithUrl
:
FUSUserCenterURLs
.
fus_URL_inviteDataTaskReceive
params
:
parm
success
:^
(
NSDictionary
*
_Nullable
dataDict
,
int
code
)
{
success
([
FUSInviteDataAwardReceiveItemModel
modelWithDictionary
:
dataDict
[
@"dataJson"
]]);
FUSInviteDataAwardReceiveItemModel
*
model
=
[
FUSInviteDataAwardReceiveItemModel
modelWithDictionary
:
dataDict
[
@"dataJson"
]];
[[
FUSRouter
userRouter
]
fus_showAwardAnimateWithCurrency
:
0
classify
:
model
.
classify
tips
:
model
.
itemName
icon
:
model
.
itemUrl
amount
:
model
.
itemNum
];
success
(
model
);
}
failure
:^
(
NSDictionary
*
_Nullable
dataDict
,
int
code
)
{
if
(
failure
)
{
failure
(
FAILURE_MESSAGE
,
code
);
...
...
Modules/FUSUserCenterModule/FUSUserCenterModule/Features/InviteReward/View/FFInviteEmissaryConditionAlertView.swift
View file @
374fdda6
...
...
@@ -40,6 +40,8 @@ class FFInviteEmissaryConditionAlertView: FUSBaseView {
override
func
makeUI
()
{
super
.
makeUI
()
self
.
backgroundColor
=
.
fus_alertViewBackground
()
self
.
addSubview
(
bgBtn
)
bgBtn
.
snp
.
makeConstraints
{
make
in
make
.
edges
.
equalToSuperview
()
...
...
@@ -264,6 +266,7 @@ class FFInviteEmissaryConditionAlertViewCell: FUSBaseView {
}
conditionContentLabel
.
numberOfLines
=
0
conditionContentLabel
.
textAlignment
=
.
center
self
.
addSubview
(
conditionContentLabel
)
conditionContentLabel
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
dotView
.
snp
.
right
)
.
offset
(
5
)
...
...
Modules/FUSUserCenterModule/FUSUserCenterModule/Features/InviteReward/View/FFInviteQRCodeView.swift
View file @
374fdda6
...
...
@@ -65,12 +65,14 @@ class FFInviteQRCodeView: FUSBaseView {
}
YYWebImageManager
.
shared
()
.
requestImage
(
with
:
avatarURL
,
options
:
.
showNetworkActivity
,
progress
:
nil
,
transform
:
nil
)
{[
weak
self
]
image
,
iamgeUrl
,
from
,
stage
,
error
in
if
error
==
nil
,
let
image
=
image
{
self
?
.
ff_setup
(
url
:
url
,
avatar
:
image
,
completeHandler
:
completeHandler
)
}
else
{
completeHandler
?(
false
)
}
DispatchQueue
.
main
.
async
(
execute
:
{
if
error
==
nil
,
let
image
=
image
{
self
?
.
ff_setup
(
url
:
url
,
avatar
:
image
,
completeHandler
:
completeHandler
)
}
else
{
completeHandler
?(
false
)
}
})
}
}
...
...
Modules/FUSUserCenterModule/FUSUserCenterModule/Features/InviteReward/View/FFInviteRewardMyView.swift
View file @
374fdda6
...
...
@@ -10,7 +10,7 @@ import SJAttributesStringMaker
class
FFInviteRewardMyView
:
FFInviteRewardBaseView
{
private
let
tableView
=
UITableView
(
frame
:
.
zero
)
private
let
tableView
=
UITableView
(
frame
:
.
zero
,
style
:
.
plain
)
var
myselfInfoModel
:
FUSInviteDataMyselfGetInfoModel
?
var
dauModelList
:
[
FUSInviteDataMyselfDauGetListDataModel
]
=
.
init
()
...
...
@@ -31,7 +31,7 @@ class FFInviteRewardMyView: FFInviteRewardBaseView {
tableView
.
delegate
=
self
tableView
.
dataSource
=
self
tableView
.
register
(
FFInviteRewardMyHeaderCell
.
self
,
forCellReuseIdentifier
:
FFInviteRewardMyHeaderCell
.
cellID
)
tableView
.
register
(
FFInviteRewardMyClansmanHeader
.
self
,
forHeaderFooterViewReuseIdentifier
:
FFInviteRewardMyClansmanHeader
.
cellID
)
tableView
.
register
(
FFInviteRewardMyClansmanHeader
Cell
.
self
,
forCellReuseIdentifier
:
FFInviteRewardMyClansmanHeaderCell
.
cellID
)
tableView
.
register
(
FFInviteRewardMyClansmanEmptyCell
.
self
,
forCellReuseIdentifier
:
FFInviteRewardMyClansmanEmptyCell
.
cellID
)
tableView
.
register
(
FFInviteRewardMyClansmanCell
.
self
,
forCellReuseIdentifier
:
FFInviteRewardMyClansmanCell
.
cellID
)
self
.
addSubview
(
tableView
)
...
...
@@ -125,14 +125,14 @@ class FFInviteRewardMyView: FFInviteRewardBaseView {
extension
FFInviteRewardMyView
:
UITableViewDelegate
,
UITableViewDataSource
{
func
numberOfSections
(
in
tableView
:
UITableView
)
->
Int
{
return
2
return
3
}
func
tableView
(
_
tableView
:
UITableView
,
numberOfRowsInSection
section
:
Int
)
->
Int
{
if
section
==
0
{
if
section
==
0
||
section
==
1
{
return
1
}
else
if
section
==
1
{
else
if
section
==
2
{
return
self
.
dauModelList
.
count
<=
0
?
1
:
self
.
dauModelList
.
count
}
return
0
...
...
@@ -143,6 +143,9 @@ extension FFInviteRewardMyView: UITableViewDelegate, UITableViewDataSource{
return
FFInviteRewardMyHeaderCell
.
cellHeight
}
else
if
indexPath
.
section
==
1
{
return
FFInviteRewardMyClansmanHeaderCell
.
cellHeight
}
else
if
indexPath
.
section
==
2
{
if
self
.
dauModelList
.
count
<=
0
{
return
FFInviteRewardMyClansmanEmptyCell
.
cellHeight
}
...
...
@@ -192,6 +195,25 @@ extension FFInviteRewardMyView: UITableViewDelegate, UITableViewDataSource{
}
}
else
if
indexPath
.
section
==
1
{
if
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
FFInviteRewardMyClansmanHeaderCell
.
cellID
,
for
:
indexPath
)
as?
FFInviteRewardMyClansmanHeaderCell
{
let
regexText
=
"regex_replaceText"
cell
.
titleLabel
.
attributedText
=
.
sj
.
makeText
({[
weak
self
]
make
in
make
.
append
(
.
init
(
format
:
.
fus_localString
(
"活跃族人%@"
),
regexText
))
make
.
regex
(
regexText
)
.
replace
{
make
in
if
self
?
.
dauModelList
.
count
??
0
>
0
{
make
.
append
(
" ("
)
make
.
append
(
"
\(
self
?
.
dauModelList
.
count
??
0
)
"
)
.
textColor
(
.
fus_diamondBlue
())
make
.
append
(
") "
)
}
else
{
make
.
append
(
""
)
}
}
make
.
textColor
(
.
black
)
.
font
(
.
fus_themeMediumFont
(
18
))
})
return
cell
}
}
else
if
indexPath
.
section
==
2
{
if
self
.
dauModelList
.
count
<=
0
{
if
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
FFInviteRewardMyClansmanEmptyCell
.
cellID
,
for
:
indexPath
)
as?
FFInviteRewardMyClansmanEmptyCell
{
...
...
@@ -215,32 +237,14 @@ extension FFInviteRewardMyView: UITableViewDelegate, UITableViewDataSource{
}
func
tableView
(
_
tableView
:
UITableView
,
heightForHeaderInSection
section
:
Int
)
->
CGFloat
{
if
section
==
1
{
return
FFInviteRewardMyClansmanHeader
.
cellHeight
if
section
==
0
{
return
10
}
return
1
0
return
0
}
func
tableView
(
_
tableView
:
UITableView
,
viewForHeaderInSection
section
:
Int
)
->
UIView
?
{
if
section
==
1
{
if
let
header
=
tableView
.
dequeueReusableHeaderFooterView
(
withIdentifier
:
FFInviteRewardMyClansmanHeader
.
cellID
)
as?
FFInviteRewardMyClansmanHeader
{
let
regexText
=
"regex_replaceText"
header
.
titleLabel
.
attributedText
=
.
sj
.
makeText
({[
weak
self
]
make
in
make
.
append
(
.
init
(
format
:
.
fus_localString
(
"活跃族人%@"
),
regexText
))
make
.
regex
(
regexText
)
.
replace
{
make
in
if
self
?
.
dauModelList
.
count
??
0
>
0
{
make
.
append
(
" ("
)
make
.
append
(
"
\(
self
?
.
dauModelList
.
count
??
0
)
"
)
.
textColor
(
.
fus_diamondBlue
())
make
.
append
(
") "
)
}
else
{
make
.
append
(
""
)
}
}
make
.
textColor
(
.
black
)
.
font
(
.
fus_themeMediumFont
(
18
))
})
return
header
}
}
return
.
init
()
let
headerView
=
UIView
()
headerView
.
backgroundColor
=
.
clear
return
headerView
}
}
Modules/FUSUserCenterModule/FUSUserCenterModule/Features/InviteReward/View/FFInviteRewardTaskView.swift
View file @
374fdda6
...
...
@@ -15,7 +15,7 @@ class FFInviteRewardTaskView: FFInviteRewardBaseView {
}
let
viewType
:
FFInviteRewardTaskViewType
private
let
tableView
=
UITableView
(
frame
:
.
zero
)
private
let
tableView
=
UITableView
(
frame
:
.
zero
,
style
:
.
grouped
)
var
dataList
:
[
FUSInviteDataAwardGetListDataModel
]
=
.
init
()
...
...
@@ -183,14 +183,6 @@ extension FFInviteRewardTaskView: UITableViewDelegate, UITableViewDataSource{
}
func
tableView
(
_
tableView
:
UITableView
,
viewForHeaderInSection
section
:
Int
)
->
UIView
?
{
if
section
==
0
{
// if let header = tableView.dequeueReusableHeaderFooterView(withIdentifier: FFInviteRewardInviteFunctionHeader.cellID) as? FFInviteRewardInviteFunctionHeader {
// if self.viewType == .reward{
// header.ff_setHeaderType(type: .emissaryReward)
// }else {
// header.ff_setHeaderType(type: .emisaaryTask)
// }
// return header
// }
let
header
=
FFInviteRewardInviteFunctionHeader
(
frame
:
CGRectMake
(
0
,
0
,
UIView
.
fus_screenW
(),
FFInviteRewardInviteFunctionHeader
.
cellHeight
))
if
self
.
viewType
==
.
reward
{
header
.
ff_setHeaderType
(
type
:
.
emissaryReward
)
...
...
Modules/FUSUserCenterModule/FUSUserCenterModule/Features/InviteReward/View/FFMyEmissaryQRCodeView.swift
View file @
374fdda6
...
...
@@ -94,7 +94,7 @@ class FFMyEmissaryQRCodeView: FUSBaseView {
override
func
bindViewModel
()
{
super
.
bindViewModel
()
self
.
qrCodeView
.
ff_setup
(
url
:
FFInviteRewardInviteViewModel
.
share
.
inviteDataModel
.
value
?
.
qrcodeFormLink
??
""
,
avatarURL
:
FUSSwiftCacheDataShare
.
share
.
userInfo
.
value
?
.
uid
.
fus_bigCdn
??
""
)
{[
weak
self
]
isSuccess
in
self
.
qrCodeView
.
ff_setup
(
url
:
FFInviteRewardInviteViewModel
.
share
.
inviteDataModel
.
value
?
.
qrcodeFormLink
??
""
,
avatarURL
:
FUSSwiftCacheDataShare
.
share
.
userInfo
.
value
?
.
face
.
fus_bigCdn
??
""
)
{[
weak
self
]
isSuccess
in
if
isSuccess
{
self
?
.
avatarImageIsReady
.
accept
(
true
)
}
...
...
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