更新活动中心模块,新增事件配置模型及相关API接口,优化事件列表展示,修复部分UI问题,更新本地化字符串,调整部分UI组件。删除不再使用的视图控制器。版本号更新至20.20.61。

This commit is contained in:
edwinQQQ
2025-05-19 19:27:53 +08:00
parent a99e650d45
commit 353491f56f
56 changed files with 1625 additions and 963 deletions

View File

@@ -197,44 +197,64 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey;
- (void)registerSocialCallBack {
//
[[SocialShareManager sharedManager] setHandleJumpToRoom:^(NSString * _Nonnull roomID) {
if (![NSString isEmpty:roomID]) {
//
__block BOOL isInRoom = NO;
__block XPRoomViewController *currentRoom;
[[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController.viewControllers enumerateObjectsUsingBlock:^(__kindof UIViewController * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
if ([obj isKindOfClass:[XPRoomViewController class]]) {
currentRoom = obj;
*stop = YES;
isInRoom = YES;
}
}];
[[SocialShareManager sharedManager] setHandleJumpToRoom:^(ShareItmeInfo * _Nonnull shareItem) {
switch (shareItem.shareType) {
case 1: { //
NSString *roomID = shareItem.targetUid;
if (![NSString isEmpty:roomID]) {
//
__block BOOL isInRoom = NO;
__block XPRoomViewController *currentRoom;
[[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController.viewControllers enumerateObjectsUsingBlock:^(__kindof UIViewController * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
if ([obj isKindOfClass:[XPRoomViewController class]]) {
currentRoom = obj;
*stop = YES;
isInRoom = YES;
}
}];
// mini
if (isInRoom == NO && [XPRoomMiniManager shareManager].getRoomInfo) {
@kWeakify(self);
[TTPopup alertWithMessage:YMLocalizedString(@"Combo_10") confirmHandler:^{
@kStrongify(self);
[[RtcManager instance] exitRoom];
[[NIMSDK sharedSDK].chatroomManager exitChatroom:[NSString stringWithFormat:@"%ld", [XPRoomMiniManager shareManager].getRoomInfo.roomId] completion:nil];
[self.roomMineView hiddenRoomMiniView];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
// mini
if (isInRoom == NO && [XPRoomMiniManager shareManager].getRoomInfo) {
@kWeakify(self);
[TTPopup alertWithMessage:YMLocalizedString(@"Combo_10") confirmHandler:^{
@kStrongify(self);
[[RtcManager instance] exitRoom];
[[NIMSDK sharedSDK].chatroomManager exitChatroom:[NSString stringWithFormat:@"%ld", [XPRoomMiniManager shareManager].getRoomInfo.roomId] completion:nil];
[self.roomMineView hiddenRoomMiniView];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[XPRoomViewController openRoom:roomID
viewController:[XCCurrentVCStackManager shareManager].getCurrentVC];
});
} cancelHandler:^{}];
} else if (isInRoom && ![currentRoom isSameRoom:roomID]) {
[TTPopup alertWithMessage:YMLocalizedString(@"Combo_10") confirmHandler:^{
[currentRoom exitRoom];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[XPRoomViewController openRoom:roomID
viewController:[XCCurrentVCStackManager shareManager].getCurrentVC];
});
} cancelHandler:^{}];
} else {
[XPRoomViewController openRoom:roomID
viewController:[XCCurrentVCStackManager shareManager].getCurrentVC];
});
} cancelHandler:^{}];
} else if (isInRoom && ![currentRoom isSameRoom:roomID]) {
[TTPopup alertWithMessage:YMLocalizedString(@"Combo_10") confirmHandler:^{
[currentRoom exitRoom];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[XPRoomViewController openRoom:roomID
viewController:[XCCurrentVCStackManager shareManager].getCurrentVC];
});
} cancelHandler:^{}];
} else {
[XPRoomViewController openRoom:roomID
viewController:[XCCurrentVCStackManager shareManager].getCurrentVC];
}
}
}
break;
case 2: //
{
XPWebViewController * webVC = [[XPWebViewController alloc] initWithRoomUID:nil];
webVC.url = [NSString stringWithFormat:@"%@%@",
URLWithType(kEventDetailPath),
shareItem.targetId];
[self.navigationController pushViewController:webVC animated:YES];
}
break;
default:
break;
}
}];
}