Commit 26ab1ad5 authored by Alex朱枝文's avatar Alex朱枝文

Merge branch 'develop' into dev_1013

# Conflicts:
#	galaxy/fastlane/Fastfile
#	galaxy/galaxy/Classes/Modules/Community(社区)/C/YHCommunityViewController.swift
合并develop代码
parents b32b566a 130b4cde
...@@ -46,13 +46,28 @@ ...@@ -46,13 +46,28 @@
[super fillWithData:data]; [super fillWithData:data];
self.customData = data; self.customData = data;
self.titleLabel.text = data.title;
self.descLabel.text = data.desc; if (![data.title isKindOfClass:[NSNull class]] && data.title != nil) {
self.priceLabel.text = data.price; self.titleLabel.text = data.title;
if (data.imageUrl == nil) { } else {
self.titleLabel.text = @""; // 或者空字符串 @""
}
if (![data.desc isKindOfClass:[NSNull class]] && data.desc != nil) {
self.descLabel.text = data.desc;
} else {
self.descLabel.text = @""; // 或者空字符串 @""
}
if (![data.price isKindOfClass:[NSNull class]] && data.price != nil) {
self.priceLabel.text = data.price;
} else {
self.priceLabel.text = @""; // 或者空字符串 @""
}
if (data.imageUrl == nil || [data.imageUrl isKindOfClass:[NSNull class]]) {
[self.iconView setImage:TUIChatBundleThemeImage(@"chat_custom_order_message_img", @"message_custom_order")]; [self.iconView setImage:TUIChatBundleThemeImage(@"chat_custom_order_message_img", @"message_custom_order")];
} else { } else {
[self.iconView setImage:[UIImage sd_imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:data.imageUrl]]]]; [self.iconView sd_setImageWithURL:[NSURL URLWithString:data.imageUrl]];
//[self.iconView setImage:[UIImage sd_imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:data.imageUrl]]]];
} }
// tell constraints they need updating // tell constraints they need updating
[self setNeedsUpdateConstraints]; [self setNeedsUpdateConstraints];
......
...@@ -47,7 +47,7 @@ ...@@ -47,7 +47,7 @@
@interface TUIBaseChatViewController : UIViewController @interface TUIBaseChatViewController : UIViewController
// 文件预览代理 // 文件预览代理
@property(nonatomic, weak) id<TUICustomOpenFileDelegate> filePreviewDelegate; @property(nonatomic, weak) id<TUIYHCustomCellClickDelegate> yhCustomCellClickDelegate;
@property(nonatomic, strong) TUIChatConversationModel *conversationData; @property(nonatomic, strong) TUIChatConversationModel *conversationData;
......
...@@ -41,6 +41,7 @@ ...@@ -41,6 +41,7 @@
#import "TUIVoiceMessageCellData.h" #import "TUIVoiceMessageCellData.h"
#import "TUIChatShortcutMenuView.h" #import "TUIChatShortcutMenuView.h"
#import "TUIFileViewController.h" #import "TUIFileViewController.h"
#import "TUIOrderCellData.h"
static UIView *gCustomTopView; static UIView *gCustomTopView;
static UIView *gTopExentsionView; static UIView *gTopExentsionView;
...@@ -59,7 +60,7 @@ static CGRect gCustomTopViewRect; ...@@ -59,7 +60,7 @@ static CGRect gCustomTopViewRect;
TUINavigationControllerDelegate, TUINavigationControllerDelegate,
TUIChatMediaDataListener, TUIChatMediaDataListener,
TIMInputViewMoreActionProtocol, TIMInputViewMoreActionProtocol,
TUICustomOpenFileDelegate> TUIYHCustomCellClickDelegate>
@property(nonatomic, strong) TUINaviBarIndicatorView *titleView; @property(nonatomic, strong) TUINaviBarIndicatorView *titleView;
@property(nonatomic, strong) TUIMessageMultiChooseView *multiChooseView; @property(nonatomic, strong) TUIMessageMultiChooseView *multiChooseView;
...@@ -332,7 +333,7 @@ static CGRect gCustomTopViewRect; ...@@ -332,7 +333,7 @@ static CGRect gCustomTopViewRect;
vc.isMsgNeedReadReceipt = self.conversationData.msgNeedReadReceipt && [TUIChatConfig defaultConfig].msgNeedReadReceipt; vc.isMsgNeedReadReceipt = self.conversationData.msgNeedReadReceipt && [TUIChatConfig defaultConfig].msgNeedReadReceipt;
_messageController = vc; _messageController = vc;
_messageController.delegate = self; _messageController.delegate = self;
_messageController.filePreviewDelegate = self; _messageController.yhCustomCellClickDelegate = self;
[_messageController setConversation:self.conversationData]; [_messageController setConversation:self.conversationData];
CGFloat textViewHeight = TUIChatConfig.defaultConfig.enableMainPageInputBar? TTextView_Height:0; CGFloat textViewHeight = TUIChatConfig.defaultConfig.enableMainPageInputBar? TTextView_Height:0;
...@@ -1558,10 +1559,10 @@ static CGRect gCustomTopViewRect; ...@@ -1558,10 +1559,10 @@ static CGRect gCustomTopViewRect;
return self.responseKeyboard; return self.responseKeyboard;
} }
#pragma mark - TUICustomOpenFileDelegate #pragma mark - TUIYHCustomCellClickDelegate
- (void)didTapInFileCell:(TUIFileMessageCellData *)cellData { - (void)didTapInFileCell:(TUIFileMessageCellData *)cellData {
if (self.filePreviewDelegate && [self.filePreviewDelegate respondsToSelector:@selector(didTapInFileCell:)]) { if (self.yhCustomCellClickDelegate && [self.yhCustomCellClickDelegate respondsToSelector:@selector(didTapInFileCell:)]) {
[self.filePreviewDelegate didTapInFileCell: cellData]; [self.yhCustomCellClickDelegate didTapInFileCell: cellData];
} else { } else {
TUIFileViewController *file = [[TUIFileViewController alloc] init]; TUIFileViewController *file = [[TUIFileViewController alloc] init];
file.data = cellData; file.data = cellData;
...@@ -1569,4 +1570,12 @@ static CGRect gCustomTopViewRect; ...@@ -1569,4 +1570,12 @@ static CGRect gCustomTopViewRect;
} }
} }
- (void)didTapCustomOrderCell:(TUIOrderCellData *)cellData {
if (self.yhCustomCellClickDelegate && [self.yhCustomCellClickDelegate respondsToSelector:@selector(didTapCustomOrderCell:)]) {
[self.yhCustomCellClickDelegate didTapCustomOrderCell: cellData];
} else {
[TUITool openLinkWithURL:[NSURL URLWithString:cellData.link]];
}
}
@end @end
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
#import "TUIBaseMessageControllerDelegate.h" #import "TUIBaseMessageControllerDelegate.h"
#import "TUIChatConversationModel.h" #import "TUIChatConversationModel.h"
#import "TUIChatDefine.h" #import "TUIChatDefine.h"
#import "TUICustomOpenFileDelegate.h" #import "TUIYHCustomCellClickDelegate.h"
NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_BEGIN
...@@ -48,7 +48,7 @@ NS_ASSUME_NONNULL_BEGIN ...@@ -48,7 +48,7 @@ NS_ASSUME_NONNULL_BEGIN
@property(nonatomic, weak) id<TUIBaseMessageControllerDelegate> delegate; @property(nonatomic, weak) id<TUIBaseMessageControllerDelegate> delegate;
@property(nonatomic, weak) id<TUICustomOpenFileDelegate> filePreviewDelegate; @property(nonatomic, weak) id<TUIYHCustomCellClickDelegate> yhCustomCellClickDelegate;
@property(nonatomic, assign) BOOL isInVC; @property(nonatomic, assign) BOOL isInVC;
......
...@@ -1532,7 +1532,7 @@ ReceiveReadMsgWithGroupID:(NSString *)groupID ...@@ -1532,7 +1532,7 @@ ReceiveReadMsgWithGroupID:(NSString *)groupID
self.hasCoverPage = YES; self.hasCoverPage = YES;
TUIRepliesDetailViewController *repliesDetailVC = [[TUIRepliesDetailViewController alloc] initWithCellData:data conversationData:self.conversationData]; TUIRepliesDetailViewController *repliesDetailVC = [[TUIRepliesDetailViewController alloc] initWithCellData:data conversationData:self.conversationData];
repliesDetailVC.delegate = self.delegate; repliesDetailVC.delegate = self.delegate;
repliesDetailVC.filePreviewDelegate = self.filePreviewDelegate; repliesDetailVC.yhCustomCellClickDelegate = self.yhCustomCellClickDelegate;
[self.navigationController pushViewController:repliesDetailVC animated:YES]; [self.navigationController pushViewController:repliesDetailVC animated:YES];
repliesDetailVC.parentPageDataProvider = self.messageDataProvider; repliesDetailVC.parentPageDataProvider = self.messageDataProvider;
__weak typeof(self) weakSelf = self; __weak typeof(self) weakSelf = self;
...@@ -1856,8 +1856,8 @@ ReceiveReadMsgWithGroupID:(NSString *)groupID ...@@ -1856,8 +1856,8 @@ ReceiveReadMsgWithGroupID:(NSString *)groupID
[fileData downloadFile]; [fileData downloadFile];
return; return;
} }
if (self.filePreviewDelegate && [self.filePreviewDelegate respondsToSelector:@selector(didTapInFileCell:)]) { if (self.yhCustomCellClickDelegate && [self.yhCustomCellClickDelegate respondsToSelector:@selector(didTapInFileCell:)]) {
[self.filePreviewDelegate didTapInFileCell: [cell fileData]]; [self.yhCustomCellClickDelegate didTapInFileCell: [cell fileData]];
} else { } else {
TUIFileViewController *file = [[TUIFileViewController alloc] init]; TUIFileViewController *file = [[TUIFileViewController alloc] init];
file.data = [cell fileData]; file.data = [cell fileData];
...@@ -1871,7 +1871,7 @@ ReceiveReadMsgWithGroupID:(NSString *)groupID ...@@ -1871,7 +1871,7 @@ ReceiveReadMsgWithGroupID:(NSString *)groupID
mergeVc.mergerElem = cell.mergeData.mergerElem; mergeVc.mergerElem = cell.mergeData.mergerElem;
mergeVc.conversationData = self.conversationData; mergeVc.conversationData = self.conversationData;
mergeVc.parentPageDataProvider = self.messageDataProvider; mergeVc.parentPageDataProvider = self.messageDataProvider;
mergeVc.filePreviewDelegate = self.filePreviewDelegate; mergeVc.yhCustomCellClickDelegate = self.yhCustomCellClickDelegate;
__weak typeof(self) weakSelf = self; __weak typeof(self) weakSelf = self;
mergeVc.willCloseCallback = ^() { mergeVc.willCloseCallback = ^() {
[weakSelf.tableView reloadData]; [weakSelf.tableView reloadData];
...@@ -1887,10 +1887,14 @@ ReceiveReadMsgWithGroupID:(NSString *)groupID ...@@ -1887,10 +1887,14 @@ ReceiveReadMsgWithGroupID:(NSString *)groupID
} }
- (void)showOrderMessage:(TUIOrderCell *)cell { - (void)showOrderMessage:(TUIOrderCell *)cell {
TUIOrderCellData *cellData = cell.customData; if (self.yhCustomCellClickDelegate && [self.yhCustomCellClickDelegate respondsToSelector:@selector(didTapInFileCell:)]) {
if (cellData.link) { [self.yhCustomCellClickDelegate didTapCustomOrderCell: cell.customData];
[TUITool openLinkWithURL:[NSURL URLWithString:cellData.link]]; } else {
} TUIOrderCellData *cellData = cell.customData;
if (cellData.link) {
[TUITool openLinkWithURL:[NSURL URLWithString:cellData.link]];
}
}
} }
- (void)showReplyMessage:(TUIReplyMessageCell *)cell { - (void)showReplyMessage:(TUIReplyMessageCell *)cell {
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
#import "TUIBaseMessageControllerDelegate.h" #import "TUIBaseMessageControllerDelegate.h"
#import "TUIChatConversationModel.h" #import "TUIChatConversationModel.h"
#import "TUIMessageDataProvider.h" #import "TUIMessageDataProvider.h"
#import "TUICustomOpenFileDelegate.h" #import "TUIYHCustomCellClickDelegate.h"
NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_BEGIN
...@@ -22,7 +22,7 @@ NS_ASSUME_NONNULL_BEGIN ...@@ -22,7 +22,7 @@ NS_ASSUME_NONNULL_BEGIN
@property(nonatomic, copy) dispatch_block_t willCloseCallback; @property(nonatomic, copy) dispatch_block_t willCloseCallback;
@property(nonatomic, strong) TUIChatConversationModel *conversationData; @property(nonatomic, strong) TUIChatConversationModel *conversationData;
@property(nonatomic, strong) TUIMessageDataProvider *parentPageDataProvider; @property(nonatomic, strong) TUIMessageDataProvider *parentPageDataProvider;
@property(nonatomic, weak) id<TUICustomOpenFileDelegate> filePreviewDelegate; @property(nonatomic, weak) id<TUIYHCustomCellClickDelegate> yhCustomCellClickDelegate;
@end @end
......
...@@ -475,8 +475,8 @@ ...@@ -475,8 +475,8 @@
} }
- (void)showFileMessage:(TUIFileMessageCell *)cell { - (void)showFileMessage:(TUIFileMessageCell *)cell {
if (self.filePreviewDelegate && [self.filePreviewDelegate respondsToSelector:@selector(didTapInFileCell:)]) { if (self.yhCustomCellClickDelegate && [self.yhCustomCellClickDelegate respondsToSelector:@selector(didTapInFileCell:)]) {
[self.filePreviewDelegate didTapInFileCell: [cell fileData]]; [self.yhCustomCellClickDelegate didTapInFileCell: [cell fileData]];
} else { } else {
TUIFileViewController *file = [[TUIFileViewController alloc] init]; TUIFileViewController *file = [[TUIFileViewController alloc] init];
file.data = [cell fileData]; file.data = [cell fileData];
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
#import "TUIBaseMessageControllerDelegate.h" #import "TUIBaseMessageControllerDelegate.h"
#import "TUIChatConversationModel.h" #import "TUIChatConversationModel.h"
#import "TUIInputController.h" #import "TUIInputController.h"
#import "TUICustomOpenFileDelegate.h" #import "TUIYHCustomCellClickDelegate.h"
@class TUIMessageDataProvider; @class TUIMessageDataProvider;
...@@ -26,7 +26,7 @@ NS_ASSUME_NONNULL_BEGIN ...@@ -26,7 +26,7 @@ NS_ASSUME_NONNULL_BEGIN
@property(nonatomic, copy) dispatch_block_t willCloseCallback; @property(nonatomic, copy) dispatch_block_t willCloseCallback;
@property(nonatomic, strong) TUIInputController *inputController; @property(nonatomic, strong) TUIInputController *inputController;
@property(nonatomic, strong) TUIMessageDataProvider *parentPageDataProvider; @property(nonatomic, strong) TUIMessageDataProvider *parentPageDataProvider;
@property(nonatomic, weak) id<TUICustomOpenFileDelegate> filePreviewDelegate; @property(nonatomic, weak) id<TUIYHCustomCellClickDelegate> yhCustomCellClickDelegate;
@end @end
......
...@@ -646,8 +646,8 @@ ...@@ -646,8 +646,8 @@
} }
- (void)showFileMessage:(TUIFileMessageCell *)cell { - (void)showFileMessage:(TUIFileMessageCell *)cell {
if (self.filePreviewDelegate && [self.filePreviewDelegate respondsToSelector:@selector(didTapInFileCell:)]) { if (self.yhCustomCellClickDelegate && [self.yhCustomCellClickDelegate respondsToSelector:@selector(didTapInFileCell:)]) {
[self.filePreviewDelegate didTapInFileCell: [cell fileData]]; [self.yhCustomCellClickDelegate didTapInFileCell: [cell fileData]];
} else { } else {
TUIFileViewController *file = [[TUIFileViewController alloc] init]; TUIFileViewController *file = [[TUIFileViewController alloc] init];
file.data = [cell fileData]; file.data = [cell fileData];
......
// //
// TUICustomOpenFileDelegate.h // TUIYHCustomCellClickDelegate.h
// Pods // Pods
// //
// Created by alexzzw on 2025/5/20. // Created by alexzzw on 2025/5/20.
...@@ -9,16 +9,17 @@ ...@@ -9,16 +9,17 @@
@import ImSDK_Plus; @import ImSDK_Plus;
@class TUIFileMessageCellData; @class TUIFileMessageCellData;
@class TUIOrderCellData;
NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_BEGIN
///////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////
// //
// TUICustomOpenFileDelegate // TUIYHCustomCellClickDelegate
// //
///////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////
@protocol TUICustomOpenFileDelegate <NSObject> @protocol TUIYHCustomCellClickDelegate <NSObject>
/** /**
* Callback for clicking file cell * Callback for clicking file cell
...@@ -28,6 +29,14 @@ NS_ASSUME_NONNULL_BEGIN ...@@ -28,6 +29,14 @@ NS_ASSUME_NONNULL_BEGIN
*/ */
- (void)didTapInFileCell:(TUIFileMessageCellData *)cellData; - (void)didTapInFileCell:(TUIFileMessageCellData *)cellData;
/**
* Callback for clicking Custom cell
* You can use this callback to: preview file inside the app
*
* @param cellData include local file data
*/
- (void)didTapCustomOrderCell:(TUIOrderCellData *)cellData;
@end @end
NS_ASSUME_NONNULL_END NS_ASSUME_NONNULL_END
......
...@@ -47,6 +47,7 @@ platform :ios do ...@@ -47,6 +47,7 @@ platform :ios do
webFix = "develop_bugfix_web" webFix = "develop_bugfix_web"
kjzf = "kjzf" kjzf = "kjzf"
develop_fix_adopter = "develop_fix_adopter" develop_fix_adopter = "develop_fix_adopter"
txim_add_card = "txim_add_card"
dev_1013 = "dev_1013" dev_1013 = "dev_1013"
......
...@@ -8775,7 +8775,7 @@ ...@@ -8775,7 +8775,7 @@
CODE_SIGN_ENTITLEMENTS = yinheReplayExt/yinheReplayExt.entitlements; CODE_SIGN_ENTITLEMENTS = yinheReplayExt/yinheReplayExt.entitlements;
CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 2;
DEVELOPMENT_TEAM = RXHYW88XR7; DEVELOPMENT_TEAM = RXHYW88XR7;
GENERATE_INFOPLIST_FILE = YES; GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = yinheReplayExt/Info.plist; INFOPLIST_FILE = yinheReplayExt/Info.plist;
...@@ -8787,7 +8787,7 @@ ...@@ -8787,7 +8787,7 @@
"@executable_path/Frameworks", "@executable_path/Frameworks",
"@executable_path/../../Frameworks", "@executable_path/../../Frameworks",
); );
MARKETING_VERSION = 2.3.2; MARKETING_VERSION = 2.3.3;
PRODUCT_BUNDLE_IDENTIFIER = com.intelligence.galaxy.yinheReplayExt; PRODUCT_BUNDLE_IDENTIFIER = com.intelligence.galaxy.yinheReplayExt;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
...@@ -8805,7 +8805,7 @@ ...@@ -8805,7 +8805,7 @@
CODE_SIGN_ENTITLEMENTS = yinheReplayExt/yinheReplayExt.entitlements; CODE_SIGN_ENTITLEMENTS = yinheReplayExt/yinheReplayExt.entitlements;
CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 2;
DEVELOPMENT_TEAM = RXHYW88XR7; DEVELOPMENT_TEAM = RXHYW88XR7;
GENERATE_INFOPLIST_FILE = YES; GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = yinheReplayExt/Info.plist; INFOPLIST_FILE = yinheReplayExt/Info.plist;
...@@ -8817,7 +8817,7 @@ ...@@ -8817,7 +8817,7 @@
"@executable_path/Frameworks", "@executable_path/Frameworks",
"@executable_path/../../Frameworks", "@executable_path/../../Frameworks",
); );
MARKETING_VERSION = 2.3.2; MARKETING_VERSION = 2.3.3;
PRODUCT_BUNDLE_IDENTIFIER = com.intelligence.galaxy.yinheReplayExt; PRODUCT_BUNDLE_IDENTIFIER = com.intelligence.galaxy.yinheReplayExt;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
...@@ -8835,7 +8835,7 @@ ...@@ -8835,7 +8835,7 @@
CODE_SIGN_ENTITLEMENTS = yinheReplayExt/yinheReplayExt.entitlements; CODE_SIGN_ENTITLEMENTS = yinheReplayExt/yinheReplayExt.entitlements;
CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 2;
DEVELOPMENT_TEAM = RXHYW88XR7; DEVELOPMENT_TEAM = RXHYW88XR7;
GENERATE_INFOPLIST_FILE = YES; GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = yinheReplayExt/Info.plist; INFOPLIST_FILE = yinheReplayExt/Info.plist;
...@@ -8847,7 +8847,7 @@ ...@@ -8847,7 +8847,7 @@
"@executable_path/Frameworks", "@executable_path/Frameworks",
"@executable_path/../../Frameworks", "@executable_path/../../Frameworks",
); );
MARKETING_VERSION = 2.3.2; MARKETING_VERSION = 2.3.3;
PRODUCT_BUNDLE_IDENTIFIER = com.intelligence.galaxy.yinheReplayExt; PRODUCT_BUNDLE_IDENTIFIER = com.intelligence.galaxy.yinheReplayExt;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
...@@ -8865,7 +8865,7 @@ ...@@ -8865,7 +8865,7 @@
CODE_SIGN_ENTITLEMENTS = yinheReplayExt/yinheReplayExt.entitlements; CODE_SIGN_ENTITLEMENTS = yinheReplayExt/yinheReplayExt.entitlements;
CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 2;
DEVELOPMENT_TEAM = RXHYW88XR7; DEVELOPMENT_TEAM = RXHYW88XR7;
GENERATE_INFOPLIST_FILE = YES; GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = yinheReplayExt/Info.plist; INFOPLIST_FILE = yinheReplayExt/Info.plist;
...@@ -8877,7 +8877,7 @@ ...@@ -8877,7 +8877,7 @@
"@executable_path/Frameworks", "@executable_path/Frameworks",
"@executable_path/../../Frameworks", "@executable_path/../../Frameworks",
); );
MARKETING_VERSION = 2.3.2; MARKETING_VERSION = 2.3.3;
PRODUCT_BUNDLE_IDENTIFIER = com.intelligence.galaxy.yinheReplayExt; PRODUCT_BUNDLE_IDENTIFIER = com.intelligence.galaxy.yinheReplayExt;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
...@@ -8954,7 +8954,7 @@ ...@@ -8954,7 +8954,7 @@
CODE_SIGN_ENTITLEMENTS = galaxy/galaxyTestEnv.entitlements; CODE_SIGN_ENTITLEMENTS = galaxy/galaxyTestEnv.entitlements;
CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 2;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = RXHYW88XR7; DEVELOPMENT_TEAM = RXHYW88XR7;
ENABLE_USER_SCRIPT_SANDBOXING = NO; ENABLE_USER_SCRIPT_SANDBOXING = NO;
...@@ -8982,7 +8982,7 @@ ...@@ -8982,7 +8982,7 @@
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
MARKETING_VERSION = 2.3.2; MARKETING_VERSION = 2.3.3;
PRODUCT_BUNDLE_IDENTIFIER = com.intelligence.galaxy; PRODUCT_BUNDLE_IDENTIFIER = com.intelligence.galaxy;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
...@@ -9103,7 +9103,7 @@ ...@@ -9103,7 +9103,7 @@
CODE_SIGN_ENTITLEMENTS = galaxy/galaxy.entitlements; CODE_SIGN_ENTITLEMENTS = galaxy/galaxy.entitlements;
CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 2;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = RXHYW88XR7; DEVELOPMENT_TEAM = RXHYW88XR7;
ENABLE_USER_SCRIPT_SANDBOXING = NO; ENABLE_USER_SCRIPT_SANDBOXING = NO;
...@@ -9131,7 +9131,7 @@ ...@@ -9131,7 +9131,7 @@
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
MARKETING_VERSION = 2.3.2; MARKETING_VERSION = 2.3.3;
PRODUCT_BUNDLE_IDENTIFIER = com.intelligence.galaxy; PRODUCT_BUNDLE_IDENTIFIER = com.intelligence.galaxy;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
...@@ -9314,7 +9314,7 @@ ...@@ -9314,7 +9314,7 @@
CODE_SIGN_ENTITLEMENTS = galaxy/galaxyDebug.entitlements; CODE_SIGN_ENTITLEMENTS = galaxy/galaxyDebug.entitlements;
CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 2;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = RXHYW88XR7; DEVELOPMENT_TEAM = RXHYW88XR7;
ENABLE_USER_SCRIPT_SANDBOXING = NO; ENABLE_USER_SCRIPT_SANDBOXING = NO;
...@@ -9342,7 +9342,7 @@ ...@@ -9342,7 +9342,7 @@
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
MARKETING_VERSION = 2.3.2; MARKETING_VERSION = 2.3.3;
PRODUCT_BUNDLE_IDENTIFIER = com.intelligence.galaxy; PRODUCT_BUNDLE_IDENTIFIER = com.intelligence.galaxy;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
...@@ -9365,7 +9365,7 @@ ...@@ -9365,7 +9365,7 @@
CODE_SIGN_ENTITLEMENTS = galaxy/galaxy.entitlements; CODE_SIGN_ENTITLEMENTS = galaxy/galaxy.entitlements;
CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 2;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = RXHYW88XR7; DEVELOPMENT_TEAM = RXHYW88XR7;
ENABLE_USER_SCRIPT_SANDBOXING = NO; ENABLE_USER_SCRIPT_SANDBOXING = NO;
...@@ -9393,7 +9393,7 @@ ...@@ -9393,7 +9393,7 @@
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
MARKETING_VERSION = 2.3.2; MARKETING_VERSION = 2.3.3;
PRODUCT_BUNDLE_IDENTIFIER = com.intelligence.galaxy; PRODUCT_BUNDLE_IDENTIFIER = com.intelligence.galaxy;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
......
...@@ -21,7 +21,14 @@ class YHNavigationController: UINavigationController { ...@@ -21,7 +21,14 @@ class YHNavigationController: UINavigationController {
override func popViewController(animated: Bool) -> UIViewController? { override func popViewController(animated: Bool) -> UIViewController? {
printLog("popViewController") printLog("popViewController")
return super.popViewController(animated: animated) let popedVC = super.popViewController(animated: animated)
if let lastVC = viewControllers.last { // 回到腾讯TUI页面,显示NavigationBar
let className = String(describing: type(of: lastVC))
if className.hasPrefix("TUI") {
super.setNavigationBarHidden(false, animated: false)
}
}
return popedVC
} }
override func setNavigationBarHidden(_ hidden: Bool, animated: Bool) { override func setNavigationBarHidden(_ hidden: Bool, animated: Bool) {
...@@ -31,8 +38,15 @@ class YHNavigationController: UINavigationController { ...@@ -31,8 +38,15 @@ class YHNavigationController: UINavigationController {
// } // }
if let lastVC = viewControllers.last { if let lastVC = viewControllers.last {
let className = String(describing: type(of: lastVC)) let className = String(describing: type(of: lastVC))
if !className.hasPrefix("TUI") { // 模糊匹配类名 if !className.hasPrefix("TUI") { // 模糊匹配类名,使得腾讯IM页面不用隐藏NavigationBar
super.setNavigationBarHidden(hidden, animated: animated) var needAnimated = false
let lastSecondCount = viewControllers.count - 2
if lastSecondCount >= 0 {
let lastSecondVC = viewControllers[lastSecondCount]
let lastSecondVCClassName = String(describing: type(of: lastSecondVC))
needAnimated = lastSecondVCClassName.hasPrefix("TUI") // 当从TUI页面跳到普通页面需要缓慢隐藏,免得出现黑条
}
super.setNavigationBarHidden(hidden, animated: needAnimated)
} }
} }
} }
......
...@@ -101,7 +101,7 @@ private extension YHPayMemberContentItem { ...@@ -101,7 +101,7 @@ private extension YHPayMemberContentItem {
} }
extension YHPayMemberContentItem { extension YHPayMemberContentItem {
func updateUI(title: String = "", detail: String = "", oneLine: Bool = true, showBtn: Bool = false) { func updateUI(title: String = "", detail: String = "", oneLine: Bool = true, showBtn: Bool = false, needBold: Bool = false) {
urlPdf = detail urlPdf = detail
...@@ -112,6 +112,9 @@ extension YHPayMemberContentItem { ...@@ -112,6 +112,9 @@ extension YHPayMemberContentItem {
addSubview(titleLabel) addSubview(titleLabel)
addSubview(detailLabel) addSubview(detailLabel)
addSubview(fakeView) addSubview(fakeView)
titleLabel.font = needBold ? UIFont.PFSC_B(ofSize: 13) : UIFont.PFSC_R(ofSize: 13)
detailLabel.font = needBold ? UIFont.PFSC_B(ofSize: 13) : UIFont.PFSC_R(ofSize: 13)
titleLabel.text = title titleLabel.text = title
let arr = detail.split(separator: "/") let arr = detail.split(separator: "/")
if arr.count > 0 { if arr.count > 0 {
......
...@@ -72,7 +72,7 @@ extension YHPayMemberContentItems { ...@@ -72,7 +72,7 @@ extension YHPayMemberContentItems {
make.top.equalTo(kMargin) make.top.equalTo(kMargin)
make.left.right.equalToSuperview() make.left.right.equalToSuperview()
} }
item.updateUI(title: "档案号:", detail: model.file_num, showBtn: true) item.updateUI(title: "档案号:", detail: model.file_num, showBtn: true, needBold: true)
var lastView: UIView = item var lastView: UIView = item
......
...@@ -11,7 +11,7 @@ import UIKit ...@@ -11,7 +11,7 @@ import UIKit
class YHVisaPaymentTipsCell: UITableViewCell { class YHVisaPaymentTipsCell: UITableViewCell {
static let cellReuseIdentifier = "YHVisaPaymentTipsCell" static let cellReuseIdentifier = "YHVisaPaymentTipsCell"
static let cellH: CGFloat = 218.0 * (KScreenWidth - 16 * 2) / 343.0 static let cellH: CGFloat = 236.0 * (KScreenWidth - 16 * 2) / 343.0
lazy var whiteContentView: UIView = { lazy var whiteContentView: UIView = {
let view = UIView() let view = UIView()
......
...@@ -122,7 +122,7 @@ extension YHHKVisaRenewalApplicationVC { ...@@ -122,7 +122,7 @@ extension YHHKVisaRenewalApplicationVC {
return return
} }
self.copyToPasteBoard(person.file_num, message: "已复制临时档案号") self.copyToPasteBoard(person.file_num, message: "已复制临时档案号")
})) }, true))
// let dateString = self.getShortDate(person.birthday) // let dateString = self.getShortDate(person.birthday)
paymentMembers.append(.subInfo("申请人出生日期:", "\(person.birthday)", nil)) paymentMembers.append(.subInfo("申请人出生日期:", "\(person.birthday)", nil))
paymentMembers.append(.subInfo("缴费金额:", "\(person.fee_money)", nil, .bottom)) paymentMembers.append(.subInfo("缴费金额:", "\(person.fee_money)", nil, .bottom))
...@@ -287,9 +287,9 @@ extension YHHKVisaRenewalApplicationVC: UITableViewDelegate, UITableViewDataSour ...@@ -287,9 +287,9 @@ extension YHHKVisaRenewalApplicationVC: UITableViewDelegate, UITableViewDataSour
cell.setupCellInfo(title: title) cell.setupCellInfo(title: title)
return cell return cell
} }
case let .subInfo(title, detail, actionTitle, cellType, defaultMargin, showBottomLine, action): case let .subInfo(title, detail, actionTitle, cellType, defaultMargin, showBottomLine, action, needBold):
if let cell = tableView.dequeueReusableCell(withIdentifier: YHVisaRenewalPayInfoCell.cellReuseIdentifier) as? YHVisaRenewalPayInfoCell { if let cell = tableView.dequeueReusableCell(withIdentifier: YHVisaRenewalPayInfoCell.cellReuseIdentifier) as? YHVisaRenewalPayInfoCell {
cell.setupCellInfo(title: title, detail: detail, rightButtonTitle: actionTitle, cellType: cellType, defaultMargin: defaultMargin, showBottomLine: showBottomLine) cell.setupCellInfo(title: title, detail: detail, rightButtonTitle: actionTitle, cellType: cellType, defaultMargin: defaultMargin, showBottomLine: showBottomLine, needBold: needBold)
cell.rightButtonEvent = { cell.rightButtonEvent = {
action?() action?()
} }
......
...@@ -285,7 +285,7 @@ extension YHHKVisaRenewalPaymentVC { ...@@ -285,7 +285,7 @@ extension YHHKVisaRenewalPaymentVC {
return return
} }
self.copyToPasteBoard(person.file_num, message: "已复制档案号") self.copyToPasteBoard(person.file_num, message: "已复制档案号")
})) }, true))
paymentMembers.append(.subInfo("可缴费时间段:", "\(person.min_pay_time) - \(person.max_pay_time)", nil)) paymentMembers.append(.subInfo("可缴费时间段:", "\(person.min_pay_time) - \(person.max_pay_time)", nil))
if person.fee_money.count > 0 { if person.fee_money.count > 0 {
paymentMembers.append(.subInfo("缴费金额:", "\(person.fee_money)", nil)) paymentMembers.append(.subInfo("缴费金额:", "\(person.fee_money)", nil))
...@@ -306,7 +306,7 @@ extension YHHKVisaRenewalPaymentVC { ...@@ -306,7 +306,7 @@ extension YHHKVisaRenewalPaymentVC {
return return
} }
self.copyToPasteBoard(person.file_num, message: "已复制档案号") self.copyToPasteBoard(person.file_num, message: "已复制档案号")
})) }, true))
if person.fee_money.count > 0 { if person.fee_money.count > 0 {
paymentMembers.append(.subInfo("缴费金额:", "\(person.fee_money)", nil)) paymentMembers.append(.subInfo("缴费金额:", "\(person.fee_money)", nil))
...@@ -329,7 +329,7 @@ extension YHHKVisaRenewalPaymentVC { ...@@ -329,7 +329,7 @@ extension YHHKVisaRenewalPaymentVC {
return return
} }
self.copyToPasteBoard(person.file_num, message: "已复制档案号") self.copyToPasteBoard(person.file_num, message: "已复制档案号")
})) }, true))
paymentMembers.append(.subInfo("可缴费时间段:", "\(person.min_pay_time) - \(person.max_pay_time)", nil)) paymentMembers.append(.subInfo("可缴费时间段:", "\(person.min_pay_time) - \(person.max_pay_time)", nil))
if person.fee_money.count > 0 { if person.fee_money.count > 0 {
paymentMembers.append(.subInfo("缴费金额:", "\(person.fee_money)", nil)) paymentMembers.append(.subInfo("缴费金额:", "\(person.fee_money)", nil))
...@@ -351,7 +351,7 @@ extension YHHKVisaRenewalPaymentVC { ...@@ -351,7 +351,7 @@ extension YHHKVisaRenewalPaymentVC {
paymentMembers.append(.occupyingSpace) paymentMembers.append(.occupyingSpace)
} }
sections.append(confirmingPresenceSection) sections.append(confirmingPresenceSection)
let payMethodTips: ASAttributedString = .init(string: "提示:", .foreground(UIColor.yhOrangeColor)) + .init(string: "请先到下方“缴费成员”处") + .init(string: "复制档案号", .foreground(UIColor.yhOrangeColor)) + .init(string: "再缴费") let payMethodTips: ASAttributedString = .init(string: "提示:", .foreground(UIColor.failColor)) + .init(string: "请先到下方“缴费成员”处", .foreground(UIColor.failColor)) + .init(string: "复制档案号", .foreground(UIColor.failColor)) + .init(string: "再缴费", .foreground(UIColor.failColor))
let webPageUrl = paymentListModel.payment_url let webPageUrl = paymentListModel.payment_url
if webPageUrl.count > 0, URL(string: webPageUrl) != nil { if webPageUrl.count > 0, URL(string: webPageUrl) != nil {
let payMethodSection: [YHVisaRenewalItemDetailType] = [.sectionHeader("港府官网缴费方式", "缴费遇到问题?", { [weak self] in let payMethodSection: [YHVisaRenewalItemDetailType] = [.sectionHeader("港府官网缴费方式", "缴费遇到问题?", { [weak self] in
...@@ -545,9 +545,9 @@ extension YHHKVisaRenewalPaymentVC: UITableViewDelegate, UITableViewDataSource { ...@@ -545,9 +545,9 @@ extension YHHKVisaRenewalPaymentVC: UITableViewDelegate, UITableViewDataSource {
cell.setupCellInfo(title: title, status: status) cell.setupCellInfo(title: title, status: status)
return cell return cell
} }
case let .subInfo(title, detail, actionTitle, cellType, defaultMargin, showBottomLine, action): case let .subInfo(title, detail, actionTitle, cellType, defaultMargin, showBottomLine, action, needBold):
if let cell = tableView.dequeueReusableCell(withIdentifier: YHVisaRenewalPayInfoCell.cellReuseIdentifier) as? YHVisaRenewalPayInfoCell { if let cell = tableView.dequeueReusableCell(withIdentifier: YHVisaRenewalPayInfoCell.cellReuseIdentifier) as? YHVisaRenewalPayInfoCell {
cell.setupCellInfo(title: title, detail: detail, rightButtonTitle: actionTitle, cellType: cellType, defaultMargin: defaultMargin, showBottomLine: showBottomLine) cell.setupCellInfo(title: title, detail: detail, rightButtonTitle: actionTitle, cellType: cellType, defaultMargin: defaultMargin, showBottomLine: showBottomLine, needBold: needBold)
cell.rightButtonEvent = { cell.rightButtonEvent = {
action?() action?()
} }
......
...@@ -16,7 +16,7 @@ enum YHVisaRenewalItemDetailType { ...@@ -16,7 +16,7 @@ enum YHVisaRenewalItemDetailType {
case payMethodUrl(_ title: String, _ tips: String, _ url: String, _ action: (() -> Void)? = nil) case payMethodUrl(_ title: String, _ tips: String, _ url: String, _ action: (() -> Void)? = nil)
case payMethodQrcode(_ title: String, _ tips: String, _ qrcodeUrl: String) case payMethodQrcode(_ title: String, _ tips: String, _ qrcodeUrl: String)
case subHeader(_ title: String, _ status: YHVisaRenewalPaymentStatus) case subHeader(_ title: String, _ status: YHVisaRenewalPaymentStatus)
case subInfo(_ title: String, _ detail: String, _ actionTitle: String? = nil, _ cellType: YHResignRoundCellType = .mid, _ defaultMargin: CGFloat? = nil, _ showBottomLine: Bool = false, _ action: (() -> Void)? = nil) case subInfo(_ title: String, _ detail: String, _ actionTitle: String? = nil, _ cellType: YHResignRoundCellType = .mid, _ defaultMargin: CGFloat? = nil, _ showBottomLine: Bool = false, _ action: (() -> Void)? = nil, _ needBold: Bool = false)
case subContent(_ title: String, _ detail: String, _ actionTitle: String? = nil, _ cellType: YHResignRoundCellType = .mid, _ action: (() -> Void)? = nil) case subContent(_ title: String, _ detail: String, _ actionTitle: String? = nil, _ cellType: YHResignRoundCellType = .mid, _ action: (() -> Void)? = nil)
case subRemark(_ remark: String) case subRemark(_ remark: String)
case occupyingSpace case occupyingSpace
...@@ -27,7 +27,7 @@ enum YHVisaRenewalInfoItemDetailType { ...@@ -27,7 +27,7 @@ enum YHVisaRenewalInfoItemDetailType {
case payMethodUrl(_ title: String, _ tips: String, _ url: String, _ action: (() -> Void)? = nil) case payMethodUrl(_ title: String, _ tips: String, _ url: String, _ action: (() -> Void)? = nil)
case payMethodQrcode(_ title: String, _ tips: String, _ qrcodeUrl: String) case payMethodQrcode(_ title: String, _ tips: String, _ qrcodeUrl: String)
case subHeader(_ title: String) case subHeader(_ title: String)
case subInfo(_ title: String, _ detail: String, _ actionTitle: String? = nil, _ cellType: YHResignRoundCellType = .mid, _ defaultMargin: CGFloat? = nil, _ showBottomLine: Bool = false, _ action: (() -> Void)? = nil) case subInfo(_ title: String, _ detail: String, _ actionTitle: String? = nil, _ cellType: YHResignRoundCellType = .mid, _ defaultMargin: CGFloat? = nil, _ showBottomLine: Bool = false, _ action: (() -> Void)? = nil, _ needBold: Bool = false)
case subContent(_ title: String, _ detail: String, _ actionTitle: String? = nil, _ cellType: YHResignRoundCellType = .mid, _ action: (() -> Void)? = nil) case subContent(_ title: String, _ detail: String, _ actionTitle: String? = nil, _ cellType: YHResignRoundCellType = .mid, _ action: (() -> Void)? = nil)
case occupyingSpace case occupyingSpace
} }
...@@ -55,11 +55,13 @@ class YHVisaRenewalPayInfoCell: YHVisaRenewalPayInfoBaseCell { ...@@ -55,11 +55,13 @@ class YHVisaRenewalPayInfoCell: YHVisaRenewalPayInfoBaseCell {
fatalError("init(coder:) has not been implemented") fatalError("init(coder:) has not been implemented")
} }
func setupCellInfo(title: String, detail: String, rightButtonTitle: String? = nil, cellType: YHResignRoundCellType = .mid, defaultMargin: CGFloat? = nil, showBottomLine: Bool = false) { func setupCellInfo(title: String, detail: String, rightButtonTitle: String? = nil, cellType: YHResignRoundCellType = .mid, defaultMargin: CGFloat? = nil, showBottomLine: Bool = false, needBold: Bool = false) {
infoTitleLabel.text = title infoTitleLabel.text = title
infoDetailLabel.text = detail infoDetailLabel.text = detail
updateInnerCellCorner(cellType) updateInnerCellCorner(cellType)
bottomLineView.isHidden = !showBottomLine bottomLineView.isHidden = !showBottomLine
infoTitleLabel.font = needBold ? .PFSC_B(ofSize: 13) : .PFSC_R(ofSize: 13)
infoDetailLabel.font = needBold ? .PFSC_B(ofSize: 13) : .PFSC_R(ofSize: 13)
var bottomMargin: CGFloat = cellType == .bottom ? 16 : 0 var bottomMargin: CGFloat = cellType == .bottom ? 16 : 0
if let defaultMargin = defaultMargin { if let defaultMargin = defaultMargin {
......
...@@ -12,6 +12,7 @@ import TUIConversation ...@@ -12,6 +12,7 @@ import TUIConversation
import TUIChat import TUIChat
import IQKeyboardManagerSwift import IQKeyboardManagerSwift
import GKNavigationBarSwift import GKNavigationBarSwift
import SafariServices
class YHMessageListVC: YHBaseViewController { class YHMessageListVC: YHBaseViewController {
private let messageListManager = YHTUIMessageListManager.shared private let messageListManager = YHTUIMessageListManager.shared
...@@ -502,7 +503,7 @@ extension YHMessageListVC { ...@@ -502,7 +503,7 @@ extension YHMessageListVC {
if let vc = vc as? TUIBaseChatViewController { if let vc = vc as? TUIBaseChatViewController {
vc.navigationItem.rightBarButtonItem = nil vc.navigationItem.rightBarButtonItem = nil
vc.navigationItem.rightBarButtonItems = nil vc.navigationItem.rightBarButtonItems = nil
vc.filePreviewDelegate = self vc.yhCustomCellClickDelegate = self
} }
} }
...@@ -585,7 +586,7 @@ extension YHMessageListVC: UITableViewDelegate, UITableViewDataSource { ...@@ -585,7 +586,7 @@ extension YHMessageListVC: UITableViewDelegate, UITableViewDataSource {
if let vc = vc as? TUIBaseChatViewController { if let vc = vc as? TUIBaseChatViewController {
vc.navigationItem.rightBarButtonItem = nil vc.navigationItem.rightBarButtonItem = nil
vc.navigationItem.rightBarButtonItems = nil vc.navigationItem.rightBarButtonItems = nil
vc.filePreviewDelegate = self vc.yhCustomCellClickDelegate = self
} }
return return
...@@ -721,7 +722,7 @@ extension YHMessageListVC: YHMessageListDelegate { ...@@ -721,7 +722,7 @@ extension YHMessageListVC: YHMessageListDelegate {
} }
} }
extension YHMessageListVC: TUICustomOpenFileDelegate { extension YHMessageListVC: TUIYHCustomCellClickDelegate {
func didTap(inFileCell cellData: TUIFileMessageCellData) { func didTap(inFileCell cellData: TUIFileMessageCellData) {
var isExist: ObjCBool = false var isExist: ObjCBool = false
let path = cellData.getFilePath(&isExist) let path = cellData.getFilePath(&isExist)
...@@ -732,4 +733,66 @@ extension YHMessageListVC: TUICustomOpenFileDelegate { ...@@ -732,4 +733,66 @@ extension YHMessageListVC: TUICustomOpenFileDelegate {
cellData.downloadFile() cellData.downloadFile()
} }
} }
func didTapCustomOrderCell(_ cellData: TUIOrderCellData) {
let linkAddress = cellData.link ?? ""
guard linkAddress.count > 0, linkAddress.isValidHttpUrl || linkAddress.isValidHttpsUrl || linkAddress.isValidFileUrl, let url = URL(string: linkAddress) else {
handelMessageType(linkAddress)
return
}
let safariViewController = SFSafariViewController(url: url)
safariViewController.dismissButtonStyle = .close
safariViewController.modalPresentationStyle = .fullScreen
UIViewController.current?.present(safariViewController, animated: true, completion: nil)
}
private func handelMessageType(_ content: String?) {
if let dicData = content, dicData.count > 0, let data = dicData.data(using: .utf8) {
do {
if let jsonObject = try JSONSerialization.jsonObject(with: data, options: []) as? [String: Any] {
// 转换成功,jsonObject 是一个字典
printLog("JSON字符串转换为字典成功: \(jsonObject)")
/*
"{\"order_id\":151824,\"type\":27}"
*/
if !jsonObject.isEmpty {
let msgType: String = jsonObject["msg_type"] as? String ?? ""
let navH5Url: String = jsonObject["nav_h5_url"] as? String ?? ""
let orderID: Int = jsonObject["order_id"] as? Int ?? -1
let type: Int = jsonObject["type"] as? Int ?? -1
let batchId: Int = jsonObject["batch_id"] as? Int ?? 0
if msgType == "card_msg", navH5Url.count > 0 {
let title = jsonObject["title"] as? String ?? ""
var url = ""
if YHLoginManager.shared.isLogin() {
let token = YHLoginManager.shared.h5Token
if navH5Url.contains("?") {
url = navH5Url + "&param=" + token
} else {
url = navH5Url + "?param=" + token
}
} else {
url = navH5Url
}
let vc = YHH5WebViewVC()
vc.isFullScreenFlag = false
vc.navTitle = title
vc.url = url
UIViewController.current?.navigationController?.pushViewController(vc)
} else if orderID > -1, type > -1 {
YHServiceOrderListViewController.jumpToMessageController(type: type, orderId: orderID, batchId)
}
} else {
printLog("ddddd")
}
} else {
printLog("JSON字符串不是有效的字典格式")
}
} catch {
printLog("JSON解析错误: \(error)")
}
}
}
} }
...@@ -68,7 +68,9 @@ class YHAboutGalaxyViewController: YHBaseViewController { ...@@ -68,7 +68,9 @@ class YHAboutGalaxyViewController: YHBaseViewController {
label.lineBreakMode = .byTruncatingTail label.lineBreakMode = .byTruncatingTail
let paragraphStyle = NSMutableParagraphStyle() let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.lineSpacing = 5.0 // 设置行间距 paragraphStyle.lineSpacing = 5.0 // 设置行间距
let attributedString = NSMutableAttributedString(string: "专注海外服务17年,总部设立在深圳,现已分别在北京、上海、广州等地建立分公司,立足于香港身份规划服务,业务逐步多元化发展。".local) let currentYear = Calendar.current.component(.year, from: Date())
let yearsOfService = currentYear - 2007
let attributedString = NSMutableAttributedString(string: "专注海外服务\(yearsOfService)年,总部设立在深圳,现已分别在北京、上海、广州等地建立分公司,立足于香港身份规划服务,业务逐步多元化发展。".local)
attributedString.addAttribute(.paragraphStyle, value: paragraphStyle, range: NSRange(location: 0, length: attributedString.length)) attributedString.addAttribute(.paragraphStyle, value: paragraphStyle, range: NSRange(location: 0, length: attributedString.length))
label.attributedText = attributedString label.attributedText = attributedString
return label return label
......
...@@ -168,7 +168,7 @@ class YHMemberCenterViewController: YHBaseViewController, UIGestureRecognizerDel ...@@ -168,7 +168,7 @@ class YHMemberCenterViewController: YHBaseViewController, UIGestureRecognizerDel
if isNeedLoading, let index = YHMembershipLevel.allCases.firstIndex(where: { data in if isNeedLoading, let index = YHMembershipLevel.allCases.firstIndex(where: { data in
data.rawValue == memberCenterInfo.currentLevel data.rawValue == memberCenterInfo.currentLevel
}) { }) {
DispatchQueue.main.asyncAfter(deadline: .now() + 0.25) { DispatchQueue.main.asyncAfter(deadline: .now() + 0.75) {
self.headerView.bannerView.scrollToItem(at: index, animated: false) self.headerView.bannerView.scrollToItem(at: index, animated: false)
self.switchCard(YHMembershipLevel.allCases[index]) self.switchCard(YHMembershipLevel.allCases[index])
} }
......
...@@ -342,6 +342,9 @@ extension YHShareManager { ...@@ -342,6 +342,9 @@ extension YHShareManager {
components.iosBundleId = Bundle.main.bundleIdentifier components.iosBundleId = Bundle.main.bundleIdentifier
components.androidDeepLink = linkUrl // 安卓平台调用不过 所以需要单独写出来 components.androidDeepLink = linkUrl // 安卓平台调用不过 所以需要单独写出来
components.androidPackageName = "com.galaxy.galaxyandroid" components.androidPackageName = "com.galaxy.galaxyandroid"
components.harmonyOSDeepLink = linkUrl
components.harmonyOSFallbackUrl = YhConstant.DeepLink.fallbackLoadPage
components.harmonyOSPackageName = "com.galaxy.hklife"
let url = components.buildLongLink() let url = components.buildLongLink()
return url.absoluteString return url.absoluteString
...@@ -373,6 +376,9 @@ extension YHShareManager { ...@@ -373,6 +376,9 @@ extension YHShareManager {
components.iosBundleId = Bundle.main.bundleIdentifier components.iosBundleId = Bundle.main.bundleIdentifier
components.androidDeepLink = linkUrl // 安卓平台调用不过 所以需要单独写出来 components.androidDeepLink = linkUrl // 安卓平台调用不过 所以需要单独写出来
components.androidPackageName = "com.galaxy.galaxyandroid" components.androidPackageName = "com.galaxy.galaxyandroid"
components.harmonyOSDeepLink = linkUrl
components.harmonyOSFallbackUrl = YhConstant.DeepLink.fallbackLoadPage
components.harmonyOSPackageName = "com.galaxy.hklife"
components.buildShortLink { shortLink, error in components.buildShortLink { shortLink, error in
callBack(shortLink?.url.absoluteString, error) callBack(shortLink?.url.absoluteString, error)
} }
......
...@@ -226,6 +226,7 @@ extension YhConstant { ...@@ -226,6 +226,7 @@ extension YhConstant {
static let urlPreUrlFix = "https://yinheapp.drcn.agconnect.link" static let urlPreUrlFix = "https://yinheapp.drcn.agconnect.link"
static let url = "yinheapp://hkdiy-h5.galaxy-immi.com/galaxyapp" static let url = "yinheapp://hkdiy-h5.galaxy-immi.com/galaxyapp"
static let compareUrl = "yinheapp://hkdiy-h5.galaxy-immi.com/galaxyapp?type=" static let compareUrl = "yinheapp://hkdiy-h5.galaxy-immi.com/galaxyapp?type="
static let fallbackLoadPage = "https://hkdiy-h5.galaxy-immi.com/superApp/loadPage"
} }
......
...@@ -5,12 +5,12 @@ ...@@ -5,12 +5,12 @@
"scale" : "1x" "scale" : "1x"
}, },
{ {
"filename" : "签证缴费温馨提示@2x.png", "filename" : "切图@2x.png",
"idiom" : "universal", "idiom" : "universal",
"scale" : "2x" "scale" : "2x"
}, },
{ {
"filename" : "签证缴费温馨提示@3x.png", "filename" : "切图@3x.png",
"idiom" : "universal", "idiom" : "universal",
"scale" : "3x" "scale" : "3x"
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment