Commit 4fc0d6f8 authored by Steven杜宇's avatar Steven杜宇

Merge branch 'develop' of http://gitlab.galaxy-immi.com/mobile-group/galaxy-iOS into develop

parents d34af22c e18e0b67
...@@ -30,9 +30,10 @@ platform :ios do ...@@ -30,9 +30,10 @@ platform :ios do
uat = "uat" uat = "uat"
davidhuang_branch = "davidhuang" davidhuang_branch = "davidhuang"
alex_branch = "main-bugfix-alex" alex_branch = "main-bugfix-alex"
double11 = "double11"
#打包正使用的分支 #打包正使用的分支
myPack_branch = develop_branch myPack_branch = double11
# 打adhoc包 执行命令 fastlane galaxyTest # 打adhoc包 执行命令 fastlane galaxyTest
lane :galaxyTest do lane :galaxyTest do
......
...@@ -267,6 +267,8 @@ ...@@ -267,6 +267,8 @@
045792132CBCFB8000EBD99B /* YHResignUploadTravelCardDetailModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045792122CBCFB8000EBD99B /* YHResignUploadTravelCardDetailModel.swift */; }; 045792132CBCFB8000EBD99B /* YHResignUploadTravelCardDetailModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045792122CBCFB8000EBD99B /* YHResignUploadTravelCardDetailModel.swift */; };
045792152CBD041F00EBD99B /* YHResignUploadTravelHKTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045792142CBD041F00EBD99B /* YHResignUploadTravelHKTableViewCell.swift */; }; 045792152CBD041F00EBD99B /* YHResignUploadTravelHKTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045792142CBD041F00EBD99B /* YHResignUploadTravelHKTableViewCell.swift */; };
045792172CBD046E00EBD99B /* YHResignUploadTravelPassportTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045792162CBD046E00EBD99B /* YHResignUploadTravelPassportTableViewCell.swift */; }; 045792172CBD046E00EBD99B /* YHResignUploadTravelPassportTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045792162CBD046E00EBD99B /* YHResignUploadTravelPassportTableViewCell.swift */; };
045792192CBE08BA00EBD99B /* YHLookResignResultViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045792182CBE08BA00EBD99B /* YHLookResignResultViewModel.swift */; };
0457921B2CBE0C3F00EBD99B /* YHLookResignResultModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0457921A2CBE0C3F00EBD99B /* YHLookResignResultModel.swift */; };
045A08C02C37ABF500BCBABA /* YHSegmentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045A08BF2C37ABF500BCBABA /* YHSegmentView.swift */; }; 045A08C02C37ABF500BCBABA /* YHSegmentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045A08BF2C37ABF500BCBABA /* YHSegmentView.swift */; };
045A08C22C37EB8B00BCBABA /* YHMyFileListNoneCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045A08C12C37EB8B00BCBABA /* YHMyFileListNoneCell.swift */; }; 045A08C22C37EB8B00BCBABA /* YHMyFileListNoneCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045A08C12C37EB8B00BCBABA /* YHMyFileListNoneCell.swift */; };
045A7E672C2ACB1A008F995B /* YHLoginOneLeadView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045A7E662C2ACB1A008F995B /* YHLoginOneLeadView.swift */; }; 045A7E672C2ACB1A008F995B /* YHLoginOneLeadView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045A7E662C2ACB1A008F995B /* YHLoginOneLeadView.swift */; };
...@@ -1219,6 +1221,8 @@ ...@@ -1219,6 +1221,8 @@
045792122CBCFB8000EBD99B /* YHResignUploadTravelCardDetailModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHResignUploadTravelCardDetailModel.swift; sourceTree = "<group>"; }; 045792122CBCFB8000EBD99B /* YHResignUploadTravelCardDetailModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHResignUploadTravelCardDetailModel.swift; sourceTree = "<group>"; };
045792142CBD041F00EBD99B /* YHResignUploadTravelHKTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHResignUploadTravelHKTableViewCell.swift; sourceTree = "<group>"; }; 045792142CBD041F00EBD99B /* YHResignUploadTravelHKTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHResignUploadTravelHKTableViewCell.swift; sourceTree = "<group>"; };
045792162CBD046E00EBD99B /* YHResignUploadTravelPassportTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHResignUploadTravelPassportTableViewCell.swift; sourceTree = "<group>"; }; 045792162CBD046E00EBD99B /* YHResignUploadTravelPassportTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHResignUploadTravelPassportTableViewCell.swift; sourceTree = "<group>"; };
045792182CBE08BA00EBD99B /* YHLookResignResultViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHLookResignResultViewModel.swift; sourceTree = "<group>"; };
0457921A2CBE0C3F00EBD99B /* YHLookResignResultModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHLookResignResultModel.swift; sourceTree = "<group>"; };
045A08BF2C37ABF500BCBABA /* YHSegmentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHSegmentView.swift; sourceTree = "<group>"; }; 045A08BF2C37ABF500BCBABA /* YHSegmentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHSegmentView.swift; sourceTree = "<group>"; };
045A08C12C37EB8B00BCBABA /* YHMyFileListNoneCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMyFileListNoneCell.swift; sourceTree = "<group>"; }; 045A08C12C37EB8B00BCBABA /* YHMyFileListNoneCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMyFileListNoneCell.swift; sourceTree = "<group>"; };
045A7E662C2ACB1A008F995B /* YHLoginOneLeadView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHLoginOneLeadView.swift; sourceTree = "<group>"; }; 045A7E662C2ACB1A008F995B /* YHLoginOneLeadView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHLoginOneLeadView.swift; sourceTree = "<group>"; };
...@@ -3934,6 +3938,7 @@ ...@@ -3934,6 +3938,7 @@
04CA2C172CBA0CC700F36DE7 /* M */ = { 04CA2C172CBA0CC700F36DE7 /* M */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
0457921A2CBE0C3F00EBD99B /* YHLookResignResultModel.swift */,
); );
path = M; path = M;
sourceTree = "<group>"; sourceTree = "<group>";
...@@ -3957,6 +3962,7 @@ ...@@ -3957,6 +3962,7 @@
04CA2C1C2CBA0CC700F36DE7 /* VM */ = { 04CA2C1C2CBA0CC700F36DE7 /* VM */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
045792182CBE08BA00EBD99B /* YHLookResignResultViewModel.swift */,
); );
path = VM; path = VM;
sourceTree = "<group>"; sourceTree = "<group>";
...@@ -5591,6 +5597,7 @@ ...@@ -5591,6 +5597,7 @@
044EE2462C93E22E00A2FE3A /* YHResignCertificateDetailHkViewController.swift in Sources */, 044EE2462C93E22E00A2FE3A /* YHResignCertificateDetailHkViewController.swift in Sources */,
A5ACE94B2B4564F7002C94D2 /* YHHUDRotatingImageView.swift in Sources */, A5ACE94B2B4564F7002C94D2 /* YHHUDRotatingImageView.swift in Sources */,
A5ACE94F2B4564F7002C94D2 /* YhOverlayView.swift in Sources */, A5ACE94F2B4564F7002C94D2 /* YhOverlayView.swift in Sources */,
0457921B2CBE0C3F00EBD99B /* YHLookResignResultModel.swift in Sources */,
045EEEB92B9F171A0022A143 /* YHWorkMessageSelectTableViewCell.swift in Sources */, 045EEEB92B9F171A0022A143 /* YHWorkMessageSelectTableViewCell.swift in Sources */,
04FA8B302C0874CA00ABE43F /* YHOneKeyLoginViewModel.swift in Sources */, 04FA8B302C0874CA00ABE43F /* YHOneKeyLoginViewModel.swift in Sources */,
04256E112C75BD2700A37BA4 /* YHVisaPaymentListModel.swift in Sources */, 04256E112C75BD2700A37BA4 /* YHVisaPaymentListModel.swift in Sources */,
...@@ -5651,6 +5658,7 @@ ...@@ -5651,6 +5658,7 @@
045EEECD2B9F171A0022A143 /* YHScoreDataModel.swift in Sources */, 045EEECD2B9F171A0022A143 /* YHScoreDataModel.swift in Sources */,
044F39622CB8FF16007CA277 /* YHVisaRenewalPayContentCell.swift in Sources */, 044F39622CB8FF16007CA277 /* YHVisaRenewalPayContentCell.swift in Sources */,
04F2432F2C94704200DF2C74 /* YHPaddedLabel.swift in Sources */, 04F2432F2C94704200DF2C74 /* YHPaddedLabel.swift in Sources */,
045792192CBE08BA00EBD99B /* YHLookResignResultViewModel.swift in Sources */,
A5ACE9342B4564F7002C94D2 /* YHAllApiName.swift in Sources */, A5ACE9342B4564F7002C94D2 /* YHAllApiName.swift in Sources */,
04AF82D62C25542D0028CE2A /* YHInterestTopicLayout.swift in Sources */, 04AF82D62C25542D0028CE2A /* YHInterestTopicLayout.swift in Sources */,
04912F6E2CB6A64700CC3105 /* YHResignAppointSubmitTipsView.swift in Sources */, 04912F6E2CB6A64700CC3105 /* YHResignAppointSubmitTipsView.swift in Sources */,
...@@ -6279,9 +6287,11 @@ ...@@ -6279,9 +6287,11 @@
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES; ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
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_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = RXHYW88XR7; DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = RXHYW88XR7;
ENABLE_USER_SCRIPT_SANDBOXING = NO; ENABLE_USER_SCRIPT_SANDBOXING = NO;
FRAMEWORK_SEARCH_PATHS = ( FRAMEWORK_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
...@@ -6310,6 +6320,7 @@ ...@@ -6310,6 +6320,7 @@
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 = "";
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = com.dev.profile;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = TESTENV; SWIFT_ACTIVE_COMPILATION_CONDITIONS = TESTENV;
SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_OBJC_BRIDGING_HEADER = "$(SRCROOT)/$(TARGET_NAME)/Res/galaxy-Bridge-Header.h"; SWIFT_OBJC_BRIDGING_HEADER = "$(SRCROOT)/$(TARGET_NAME)/Res/galaxy-Bridge-Header.h";
...@@ -6421,9 +6432,11 @@ ...@@ -6421,9 +6432,11 @@
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES; ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
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_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = RXHYW88XR7; DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = RXHYW88XR7;
ENABLE_USER_SCRIPT_SANDBOXING = NO; ENABLE_USER_SCRIPT_SANDBOXING = NO;
FRAMEWORK_SEARCH_PATHS = ( FRAMEWORK_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
...@@ -6452,6 +6465,7 @@ ...@@ -6452,6 +6465,7 @@
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 = "";
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = com.dev.profile;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = UATENV; SWIFT_ACTIVE_COMPILATION_CONDITIONS = UATENV;
SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_OBJC_BRIDGING_HEADER = "$(SRCROOT)/$(TARGET_NAME)/Res/galaxy-Bridge-Header.h"; SWIFT_OBJC_BRIDGING_HEADER = "$(SRCROOT)/$(TARGET_NAME)/Res/galaxy-Bridge-Header.h";
...@@ -6626,9 +6640,11 @@ ...@@ -6626,9 +6640,11 @@
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES; ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
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_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = RXHYW88XR7; DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = RXHYW88XR7;
ENABLE_USER_SCRIPT_SANDBOXING = NO; ENABLE_USER_SCRIPT_SANDBOXING = NO;
FRAMEWORK_SEARCH_PATHS = ( FRAMEWORK_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
...@@ -6657,6 +6673,7 @@ ...@@ -6657,6 +6673,7 @@
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 = "";
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = com.dev.profile;
SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_OBJC_BRIDGING_HEADER = "$(SRCROOT)/$(TARGET_NAME)/Res/galaxy-Bridge-Header.h"; SWIFT_OBJC_BRIDGING_HEADER = "$(SRCROOT)/$(TARGET_NAME)/Res/galaxy-Bridge-Header.h";
SWIFT_VERSION = 5.0; SWIFT_VERSION = 5.0;
...@@ -6673,9 +6690,11 @@ ...@@ -6673,9 +6690,11 @@
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES; ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
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_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = RXHYW88XR7; DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = RXHYW88XR7;
ENABLE_USER_SCRIPT_SANDBOXING = NO; ENABLE_USER_SCRIPT_SANDBOXING = NO;
FRAMEWORK_SEARCH_PATHS = ( FRAMEWORK_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
...@@ -6704,6 +6723,7 @@ ...@@ -6704,6 +6723,7 @@
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 = "";
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = com.dev.profile;
SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_OBJC_BRIDGING_HEADER = "$(SRCROOT)/$(TARGET_NAME)/Res/galaxy-Bridge-Header.h"; SWIFT_OBJC_BRIDGING_HEADER = "$(SRCROOT)/$(TARGET_NAME)/Res/galaxy-Bridge-Header.h";
SWIFT_VERSION = 5.0; SWIFT_VERSION = 5.0;
......
...@@ -138,8 +138,9 @@ extension YHButlerServiceManager { ...@@ -138,8 +138,9 @@ extension YHButlerServiceManager {
if !jsonObject.isEmpty { if !jsonObject.isEmpty {
let orderID : Int = jsonObject["order_id"] as? Int ?? -1 let orderID : Int = jsonObject["order_id"] as? Int ?? -1
let type : Int = jsonObject["type"] as? Int ?? -1 let type : Int = jsonObject["type"] as? Int ?? -1
let batchId: Int = jsonObject["batch_id"] as? Int ?? 0
if orderID > -1,type > -1 { if orderID > -1,type > -1 {
YHServiceOrderListView.jumpToMessageController(type: type, orderId: orderID) YHServiceOrderListView.jumpToMessageController(type: type, orderId: orderID, batchId)
return QYLinkClickActionPolicy.cancel return QYLinkClickActionPolicy.cancel
} }
} else { } else {
......
...@@ -39,11 +39,23 @@ class YHHKEventWebViewController: YHBaseViewController { ...@@ -39,11 +39,23 @@ class YHHKEventWebViewController: YHBaseViewController {
extension YHHKEventWebViewController { extension YHHKEventWebViewController {
func loadData() { func loadData() {
guard let urlString = model.list.first else { return } guard let urlString = model.list.first else { return }
let url = NSURL(string: urlString) // let url = NSURL(string: urlString)
// 创建请求 // // 创建请求
let request = NSURLRequest(url: url! as URL) // let request = NSURLRequest(url: url! as URL)
// 加载请求 // // 加载请求
self.webview.load(request as URLRequest) // self.webview.load(request as URLRequest)
if let url = URL(string: urlString) {
let request = NSURLRequest(url: url)
webview.load(request as URLRequest)
} else {
let tmpUrl = YHURLEncodeHelper.urlEncodedString(urlString)
if let url = URL(string: tmpUrl) {
let request = URLRequest(url: url)
webview.load(request)
} else {
printLog("url: 有问题")
}
}
if model.tag.contains("日历") { if model.tag.contains("日历") {
picUrl = urlString picUrl = urlString
......
...@@ -113,12 +113,18 @@ class YHHomeWebViewController: YHBaseViewController, WKUIDelegate, WKNavigationD ...@@ -113,12 +113,18 @@ class YHHomeWebViewController: YHBaseViewController, WKUIDelegate, WKNavigationD
api.delegate = self api.delegate = self
webview.addJavascriptObject(api, namespace: nil) webview.addJavascriptObject(api, namespace: nil)
// 创建网址 if let url = URL(string: url) {
let url = NSURL(string: url) let request = URLRequest(url: url)
// 创建请求 webview.load(request)
let request = NSURLRequest(url: url! as URL) } else {
// 加载请求 let tmpUrl = YHURLEncodeHelper.urlEncodedString(url)
webview.load(request as URLRequest) if let url = URL(string: tmpUrl) {
let request = URLRequest(url: url)
webview.load(request)
} else {
printLog("url: 有问题")
}
}
// 添加wkwebview // 添加wkwebview
self.view.addSubview(webview) self.view.addSubview(webview)
......
...@@ -102,11 +102,26 @@ private extension YHStatusAdvantageVC { ...@@ -102,11 +102,26 @@ private extension YHStatusAdvantageVC {
} }
func reloadWebUrl() { func reloadWebUrl() {
let url = NSURL(string: url) // let url = NSURL(string: url)
// 创建请求 // // 创建请求
let request = NSURLRequest(url: url! as URL) // let request = NSURLRequest(url: url! as URL)
// 加载请求 // 加载请求
webview.load(request as URLRequest) // webview.load(request as URLRequest)
if let url = URL(string: url) {
let request = URLRequest(url: url)
webview.load(request)
} else {
let tmpUrl = YHURLEncodeHelper.urlEncodedString(url)
if let url = URL(string: tmpUrl) {
let request = URLRequest(url: url)
webview.load(request)
} else {
printLog("url: 有问题")
}
}
} }
func setupUI() { func setupUI() {
......
...@@ -25,7 +25,8 @@ class YHBannerModel: SmartCodable { ...@@ -25,7 +25,8 @@ class YHBannerModel: SmartCodable {
//分享相关参数 //分享相关参数
var is_share_h5_flag : Bool = false var is_share_h5_flag : Bool = false
var addtition_param : YHBannerAdditionModel? var addtition_param : YHBannerAdditionModel?
//是否为双11活动
var is_double_11_flag : Bool = false
required init() { required init() {
} }
......
...@@ -22,6 +22,7 @@ class YHConfigModel : SmartCodable { ...@@ -22,6 +22,7 @@ class YHConfigModel : SmartCodable {
var suggest_updating_msg: String = "" var suggest_updating_msg: String = ""
var is_integral_open : Bool = false //条件控制哈 var is_integral_open : Bool = false //条件控制哈
var is_recharge_order_open : Bool = false //双十一banner开关 //`is_recharge_order_open` int NOT NULL DEFAULT '0' COMMENT '1 开启 0关闭',
required init() { required init() {
} }
......
...@@ -135,7 +135,7 @@ extension YHHomeBannerView: FSPagerViewDataSource, FSPagerViewDelegate { ...@@ -135,7 +135,7 @@ extension YHHomeBannerView: FSPagerViewDataSource, FSPagerViewDelegate {
if model.skip_url.isEmpty == false { if model.skip_url.isEmpty == false {
switch model.skip_type { switch model.skip_type {
case 1: //跳转H5 case 1: //跳转H5
// var url = "http://192.168.23.66:10300/superAppBridge.html#/schoolEvaluation"//建明的本机IP
var url = "" var url = ""
if YHLoginManager.shared.isLogin() { if YHLoginManager.shared.isLogin() {
let token = YHLoginManager.shared.h5Token let token = YHLoginManager.shared.h5Token
...@@ -151,6 +151,11 @@ extension YHHomeBannerView: FSPagerViewDataSource, FSPagerViewDelegate { ...@@ -151,6 +151,11 @@ extension YHHomeBannerView: FSPagerViewDataSource, FSPagerViewDelegate {
let vc = YHH5WebViewVC() let vc = YHH5WebViewVC()
vc.url = url vc.url = url
vc.isFullScreenFlag = false vc.isFullScreenFlag = false
if model.is_double_11_flag {
vc.isHideNavigationBar = true
}
if model.is_share_h5_flag { if model.is_share_h5_flag {
if let tModel = model.addtition_param { if let tModel = model.addtition_param {
......
...@@ -223,6 +223,8 @@ class YHServiceOrderListView: YHBaseViewController { ...@@ -223,6 +223,8 @@ class YHServiceOrderListView: YHBaseViewController {
} else if type == 35 { } else if type == 35 {
//查看续签结果 //查看续签结果
let vc = YHLookResignResultViewController() let vc = YHLookResignResultViewController()
vc.orderId = orderId
vc.batchId = stepId
UIViewController.current?.navigationController?.pushViewController(vc) UIViewController.current?.navigationController?.pushViewController(vc)
} else if type == 36 { } else if type == 36 {
//续签补件 //续签补件
......
...@@ -32,8 +32,11 @@ extension YHPrincleViewModel { ...@@ -32,8 +32,11 @@ extension YHPrincleViewModel {
//获取获批信列表 //获取获批信列表
func getApprovalLetter(param:[String : Any],callback:((_ success: Bool,_ error:YHErrorModel?)->())?) { func getApprovalLetter(param:[String : Any],callback:((_ success: Bool,_ error:YHErrorModel?)->())?) {
YHHUD.show(.progress(message: ""))
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Principle.getApprovalLetterApi let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Principle.getApprovalLetterApi
let _ = YHNetRequest.getRequest(url: strUrl,params: param) { [weak self] json, code in let _ = YHNetRequest.getRequest(url: strUrl,params: param) { [weak self] json, code in
YHHUD.hide()
//1. json字符串 转 对象 //1. json字符串 转 对象
guard let self = self else { return } guard let self = self else { return }
printLog("model 是 ==> \(json)") printLog("model 是 ==> \(json)")
......
...@@ -14,8 +14,8 @@ class YHLookResignResultViewController: YHBaseViewController { ...@@ -14,8 +14,8 @@ class YHLookResignResultViewController: YHBaseViewController {
// 批次id // 批次id
var batchId: Int = 0 var batchId: Int = 0
var state = 2 var state = 2
lazy var viewModel: YHResignUploadDocListViewModel = { lazy var viewModel: YHLookResignResultViewModel = {
let vm = YHResignUploadDocListViewModel() let vm = YHLookResignResultViewModel()
return vm return vm
}() }()
...@@ -72,27 +72,40 @@ class YHLookResignResultViewController: YHBaseViewController { ...@@ -72,27 +72,40 @@ class YHLookResignResultViewController: YHBaseViewController {
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
setupUI() setupUI()
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
loadData() loadData()
} }
@objc func clickNextBtn() { @objc func clickNextBtn() {
if state == 1 {
let vc = YHResignUploadDocListViewController()
vc.orderId = orderId
vc.batchId = batchId
self.navigationController?.pushViewController(vc)
} else {
if privacyView.isAgree {
let vc = YHHKVisaRenewalPaymentVC(orderId: orderId, renewalId: batchId)
self.navigationController?.pushViewController(vc)
} else {
privacyView.alert()
}
}
} }
} }
private extension YHLookResignResultViewController { private extension YHLookResignResultViewController {
func loadData() { func loadData() {
// viewModel.getUploadDocProgress(orderID: orderId, stepID: batchId) {[weak self] success, err in viewModel.getRenewalResult(batchId) {[weak self] success, error in
// guard let self = self else { return } guard let self = self else { return }
// viewModel.getUploadDocList(orderID: orderId, stepID: batchId) {[weak self] success, err in if self.viewModel.dataModel.status == 1 || self.viewModel.dataModel.status == 2 {
// guard let self = self else { return } state = 0
// self.tableView.reloadData() } else if self.viewModel.dataModel.status == 2 {
// } state = 1
// } } else {
state = 2
}
self.updateView()
self.tableView.reloadData()
}
} }
...@@ -121,7 +134,9 @@ private extension YHLookResignResultViewController { ...@@ -121,7 +134,9 @@ private extension YHLookResignResultViewController {
} }
tableView.tableHeaderView = headView tableView.tableHeaderView = headView
}
func updateView() {
if state == 0 { if state == 0 {
bottomView.isHidden = true bottomView.isHidden = true
tableView.snp.remakeConstraints { make in tableView.snp.remakeConstraints { make in
...@@ -155,6 +170,7 @@ private extension YHLookResignResultViewController { ...@@ -155,6 +170,7 @@ private extension YHLookResignResultViewController {
make.right.equalTo(0) make.right.equalTo(0)
} }
} }
headView.dataSource = self.viewModel.dataModel
} }
func convertNumberToChineseText(_ number: Int) -> String { func convertNumberToChineseText(_ number: Int) -> String {
...@@ -170,7 +186,7 @@ extension YHLookResignResultViewController: UITableViewDelegate, UITableViewData ...@@ -170,7 +186,7 @@ extension YHLookResignResultViewController: UITableViewDelegate, UITableViewData
func numberOfSections(in tableView: UITableView) -> Int { func numberOfSections(in tableView: UITableView) -> Int {
if state == 0 { if state == 0 {
return 3 return self.viewModel.dataModel.data.data.count
} else if state == 1 { } else if state == 1 {
return 1 return 1
} else { } else {
...@@ -183,7 +199,7 @@ extension YHLookResignResultViewController: UITableViewDelegate, UITableViewData ...@@ -183,7 +199,7 @@ extension YHLookResignResultViewController: UITableViewDelegate, UITableViewData
if section == 1 { if section == 1 {
return 1 return 1
} }
return 2 return self.viewModel.dataModel.data.data.count
} }
return 1 return 1
} }
...@@ -192,20 +208,27 @@ extension YHLookResignResultViewController: UITableViewDelegate, UITableViewData ...@@ -192,20 +208,27 @@ extension YHLookResignResultViewController: UITableViewDelegate, UITableViewData
if state == 0 { if state == 0 {
let approveCell = tableView.dequeueReusableCell(withIdentifier: YHLookResignResultStateOneTableViewCell.cellReuseIdentifier, for: indexPath) as! YHLookResignResultStateOneTableViewCell let approveCell = tableView.dequeueReusableCell(withIdentifier: YHLookResignResultStateOneTableViewCell.cellReuseIdentifier, for: indexPath) as! YHLookResignResultStateOneTableViewCell
approveCell.title = "第" + convertNumberToChineseText(indexPath.section + 1) + "批" approveCell.title = "第" + convertNumberToChineseText(indexPath.section + 1) + "批"
approveCell.dataSource = self.viewModel.dataModel.data.data[indexPath.section]
return approveCell return approveCell
} else if state == 1 { } else if state == 1 {
let approveCell = tableView.dequeueReusableCell(withIdentifier: YHLookResignResultStateTwoTableViewCell.cellReuseIdentifier, for: indexPath) as! YHLookResignResultStateTwoTableViewCell let approveCell = tableView.dequeueReusableCell(withIdentifier: YHLookResignResultStateTwoTableViewCell.cellReuseIdentifier, for: indexPath) as! YHLookResignResultStateTwoTableViewCell
approveCell.dataSource = [1,2,3,4,5,6] approveCell.state = state
let model = YHLookResignResultDataLettersModel()
model.result_file = ""
model.user = self.viewModel.dataModel.data.user
approveCell.dataSource = [model]
return approveCell return approveCell
} else { } else {
if indexPath.section == 0 { if indexPath.section == 0 {
let approveCell = tableView.dequeueReusableCell(withIdentifier: YHLookResignResultStateThreePeopleTableViewCell.cellReuseIdentifier, for: indexPath) as! YHLookResignResultStateThreePeopleTableViewCell let approveCell = tableView.dequeueReusableCell(withIdentifier: YHLookResignResultStateThreePeopleTableViewCell.cellReuseIdentifier, for: indexPath) as! YHLookResignResultStateThreePeopleTableViewCell
approveCell.title = "第" + convertNumberToChineseText(indexPath.section + 1) + "批" approveCell.title = "第" + convertNumberToChineseText(indexPath.row + 1) + "批"
approveCell.dataSource = self.viewModel.dataModel.data.data[indexPath.row]
return approveCell return approveCell
} else { } else {
let approveCell = tableView.dequeueReusableCell(withIdentifier: YHLookResignResultStateThreeTableViewCell.cellReuseIdentifier, for: indexPath) as! YHLookResignResultStateThreeTableViewCell let approveCell = tableView.dequeueReusableCell(withIdentifier: YHLookResignResultStateThreeTableViewCell.cellReuseIdentifier, for: indexPath) as! YHLookResignResultStateThreeTableViewCell
approveCell.dataSource = [1,2,3,4,5,6] approveCell.state = state
approveCell.dataSource = self.viewModel.dataModel.data.letters
return approveCell return approveCell
} }
} }
...@@ -216,16 +239,18 @@ extension YHLookResignResultViewController: UITableViewDelegate, UITableViewData ...@@ -216,16 +239,18 @@ extension YHLookResignResultViewController: UITableViewDelegate, UITableViewData
return 140 return 140
} }
if state == 1 { if state == 1 {
// return 258 return 258
let number = (6 - 1) / 2 // let number = (6 - 1) / 2
return CGFloat(208 + 116 * number) // return CGFloat(208 + 116 * number)
} }
if indexPath.section == 0 { if indexPath.section == 0 {
return 126 return 126
} }
// return 242 if self.viewModel.dataModel.data.letters.count == 1 {
let number = (6 - 1) / 2 return 242
}
let number = (self.viewModel.dataModel.data.letters.count - 1) / 2
return CGFloat(192 + 116 * number) return CGFloat(192 + 116 * number)
} }
...@@ -253,3 +278,28 @@ extension YHLookResignResultViewController: UITableViewDelegate, UITableViewData ...@@ -253,3 +278,28 @@ extension YHLookResignResultViewController: UITableViewDelegate, UITableViewData
return view return view
} }
} }
extension YHLookResignResultViewController : UIScrollViewDelegate {
func scrollViewDidScroll(_ scrollView: UIScrollView) {
if scrollView.contentOffset.y > 0 {
var alpha = scrollView.contentOffset.y / (k_Height_NavigationtBarAndStatuBar)
if alpha > 1.0 {
alpha = 1.0
}
gk_navBarAlpha = alpha
gk_navBackgroundColor = .white
if state == 0 {
gk_navTitle = "续签审核中"
} else if state == 1 {
gk_navTitle = "续签待补件"
} else {
gk_navTitle = "续签已获批"
}
gk_backImage = UIImage(named: "back_icon")
} else {
gk_navBarAlpha = 0.0
gk_navTitle = ""
gk_backImage = UIImage(named: "back_icon")
}
}
}
//
// YHLookResignResultModel.swift
// galaxy
//
// Created by EDY on 2024/10/15.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
import SmartCodable
class YHLookResignResultModel: SmartCodable {
var status: Int = 0 //续签状态: 1: 待递交 2:审核中 3:待补件 4:已获批
var statusText: String = ""
var mode: Int = 0 //续签状态: 1: 个人 2:家庭
var data: YHLookResignResultDataModel = YHLookResignResultDataModel()
required init() {
}
}
class YHLookResignResultDataModel: SmartCodable {
var data: [YHLookResignResultDataDataModel] = [] //人员
var user: String = "" //主申请人信息
var deadline: String = ""
var letters: [YHLookResignResultDataLettersModel] = []
var main: YHLookResignResultDataMainModel = YHLookResignResultDataMainModel()
required init() {
}
}
class YHLookResignResultDataDataModel: SmartCodable {
var number: Int = 0
var pay_deadline: String = ""
var result_date: String = ""
var users: [String] = []
var result_file: String = ""
required init() {
}
}
class YHLookResignResultDataLettersModel: SmartCodable {
var user: String = "" //人信息
var result_file: String = ""
required init() {
}
}
class YHLookResignResultDataMainModel: SmartCodable {
var pay_deadline: String = ""
var result_date: String = ""
required init() {
}
}
...@@ -28,6 +28,35 @@ class YHLookResignResultHeadView: UIView { ...@@ -28,6 +28,35 @@ class YHLookResignResultHeadView: UIView {
} }
} }
var dataSource: YHLookResignResultModel? {
didSet {
guard let dataSource = dataSource else { return }
if state == 0 {
let a = ASAttributedString.init("\(dataSource.data.user),您的【优秀人才入境计划】续签申请资料已递交至港府,且港府", .font(UIFont.PFSC_M(ofSize:14)), .foreground(UIColor.mainTextColor50))
let b = ASAttributedString.init("已确认递交申请", .font(UIFont.PFSC_M(ofSize:14)),.foreground(UIColor.brandMainColor))
let c = ASAttributedString.init(",入境处审核周期预计4-8周,请耐心等待获批结果", .font(UIFont.PFSC_M(ofSize:14)), .foreground(UIColor.mainTextColor50))
messageLabel.attributed.text = a+b+c
} else if state == 1 {
let a = ASAttributedString.init("\(dataSource.data.user),您的【优秀人才入境计划】续签申请已获得", .font(UIFont.PFSC_M(ofSize:14)), .foreground(UIColor.mainTextColor50))
let b = ASAttributedString.init("港府补件通知", .font(UIFont.PFSC_M(ofSize:14)),.foreground(UIColor.brandMainColor))
let c = ASAttributedString.init(",请您于\(dataSource.data.deadline)前根据补件信内容,补充资料递交至港府!", .font(UIFont.PFSC_M(ofSize:14)), .foreground(UIColor.mainTextColor50))
messageLabel.attributed.text = a+b+c
} else {
if dataSource.mode == 1 {
let a = ASAttributedString.init("\(dataSource.data.user),您申请的【优秀人才入境计划】续签申请在\(dataSource.data.main.pay_deadline)", .font(UIFont.PFSC_M(ofSize:14)), .foreground(UIColor.mainTextColor50))
let b = ASAttributedString.init("正式获批", .font(UIFont.PFSC_M(ofSize:14)),.foreground(UIColor.brandMainColor))
let c = ASAttributedString.init("!请在\(dataSource.data.main.result_date)前,赴港缴费领取新签证!", .font(UIFont.PFSC_M(ofSize:14)), .foreground(UIColor.mainTextColor50))
messageLabel.attributed.text = a+b+c
} else {
let a = ASAttributedString.init("\(dataSource.data.user),您与家人申请的【优秀人才入境计划】续签申请已", .font(UIFont.PFSC_M(ofSize:14)), .foreground(UIColor.mainTextColor50))
let b = ASAttributedString.init("正式获批", .font(UIFont.PFSC_M(ofSize:14)),.foreground(UIColor.brandMainColor))
let c = ASAttributedString.init("!请在截止时间前赴港缴费领取新签证", .font(UIFont.PFSC_M(ofSize:14)), .foreground(UIColor.mainTextColor50))
messageLabel.attributed.text = a+b+c
}
}
}
}
override init(frame: CGRect) { override init(frame: CGRect) {
super.init(frame: frame) super.init(frame: frame)
setUpView() setUpView()
......
...@@ -50,11 +50,7 @@ class YHLookResignResultPrivateView: UIView { ...@@ -50,11 +50,7 @@ class YHLookResignResultPrivateView: UIView {
let a = ASAttributedString.init("已阅读并同意", .font(UIFont.PFSC_M(ofSize:13)), .foreground(UIColor.mainTextColor50)) let a = ASAttributedString.init("已阅读并同意", .font(UIFont.PFSC_M(ofSize:13)), .foreground(UIColor.mainTextColor50))
let c = ASAttributedString.init("缴费须知", .font(UIFont.PFSC_M(ofSize:13)),.foreground(UIColor.brandMainColor), .action { let c = ASAttributedString.init("缴费须知", .font(UIFont.PFSC_M(ofSize:13)),.foreground(UIColor.brandMainColor), .action {
// 跳转引导 // 跳转引导
YHLookResignAlertView.show { [weak self] in self.alert()
guard let self = self else { return }
self.agreeButton.isSelected = true
self.isAgree = self.agreeButton.isSelected
}
}) })
let e = ASAttributedString.init(",请勿在香港境外点击缴费链接", .font(UIFont.PFSC_M(ofSize:13)), .foreground(UIColor.mainTextColor50)) let e = ASAttributedString.init(",请勿在香港境外点击缴费链接", .font(UIFont.PFSC_M(ofSize:13)), .foreground(UIColor.mainTextColor50))
label.attributed.text = a+c+e label.attributed.text = a+c+e
...@@ -77,4 +73,11 @@ class YHLookResignResultPrivateView: UIView { ...@@ -77,4 +73,11 @@ class YHLookResignResultPrivateView: UIView {
isAgree = agreeButton.isSelected isAgree = agreeButton.isSelected
} }
func alert() {
YHLookResignAlertView.show { [weak self] in
guard let self = self else { return }
self.agreeButton.isSelected = true
self.isAgree = self.agreeButton.isSelected
}
}
} }
...@@ -27,11 +27,17 @@ class YHLookResignResultStateOneTableViewCell: UITableViewCell { ...@@ -27,11 +27,17 @@ class YHLookResignResultStateOneTableViewCell: UITableViewCell {
titleLabel.text = title titleLabel.text = title
} }
} }
var dataSource: [YHResignUploadDocModel]? { var dataSource: YHLookResignResultDataDataModel? {
didSet { didSet {
updateAllViews() updateAllViews()
} }
} }
lazy var previewFileTool:YHFilePreviewTool = {
let tool = YHFilePreviewTool(targetVC: UIViewController.current)
return tool
}()
override func awakeFromNib() { override func awakeFromNib() {
super.awakeFromNib() super.awakeFromNib()
// Initialization code // Initialization code
...@@ -163,7 +169,31 @@ class YHLookResignResultStateOneTableViewCell: UITableViewCell { ...@@ -163,7 +169,31 @@ class YHLookResignResultStateOneTableViewCell: UITableViewCell {
} }
func updateAllViews() { func updateAllViews() {
guard let dataSource = dataSource else { return }
var names = ""
var i = 0
for item in dataSource.users {
if i == 0 {
names = names + item
} else {
names = names + "、" + item
}
i += 1
}
peopleValueLabel.text = names
if dataSource.result_file.count != 0 {
let a = ASAttributedString.init("递交凭证.pdf", .font(UIFont.PFSC_M(ofSize:14)), .foreground(UIColor.brandMainColor), .underline(.single), .action {
// 点击预览
let viewModel = YHBaseViewModel()
viewModel.getRealUsefulUrl(dataSource.result_file) { success in
self.previewFileTool.openXLSXRemoteFile(urlString: success, fileName:"")
}
})
docValueLabel.attributed.text = a
} else {
let a = ASAttributedString.init("待递交", .font(UIFont.PFSC_M(ofSize:14)), .foreground(UIColor(hex: 0xff8000)))
docValueLabel.attributed.text = a
}
} }
} }
...@@ -26,7 +26,7 @@ class YHLookResignResultStateThreePeopleTableViewCell: UITableViewCell { ...@@ -26,7 +26,7 @@ class YHLookResignResultStateThreePeopleTableViewCell: UITableViewCell {
titleLabel.text = title titleLabel.text = title
} }
} }
var dataSource: [YHResignUploadDocModel]? { var dataSource: YHLookResignResultDataDataModel? {
didSet { didSet {
updateAllViews() updateAllViews()
} }
...@@ -154,7 +154,7 @@ class YHLookResignResultStateThreePeopleTableViewCell: UITableViewCell { ...@@ -154,7 +154,7 @@ class YHLookResignResultStateThreePeopleTableViewCell: UITableViewCell {
make.right.equalTo(-16) make.right.equalTo(-16)
} }
peopleValueLabel = { docValueLabel = {
let label = UILabel() let label = UILabel()
label.textColor = UIColor.mainTextColor50 label.textColor = UIColor.mainTextColor50
label.font = UIFont.PFSC_M(ofSize: 14) label.font = UIFont.PFSC_M(ofSize: 14)
...@@ -162,8 +162,8 @@ class YHLookResignResultStateThreePeopleTableViewCell: UITableViewCell { ...@@ -162,8 +162,8 @@ class YHLookResignResultStateThreePeopleTableViewCell: UITableViewCell {
label.textAlignment = .right label.textAlignment = .right
return label return label
}() }()
centerView.addSubview(peopleValueLabel) centerView.addSubview(docValueLabel)
peopleValueLabel.snp.makeConstraints { make in docValueLabel.snp.makeConstraints { make in
make.left.equalTo(16) make.left.equalTo(16)
make.top.equalTo(84) make.top.equalTo(84)
make.height.equalTo(20) make.height.equalTo(20)
...@@ -173,7 +173,20 @@ class YHLookResignResultStateThreePeopleTableViewCell: UITableViewCell { ...@@ -173,7 +173,20 @@ class YHLookResignResultStateThreePeopleTableViewCell: UITableViewCell {
} }
func updateAllViews() { func updateAllViews() {
guard let dataSource = dataSource else { return }
var names = ": "
var i = 0
for item in dataSource.users {
if i == 0 {
names = names + item
} else {
names = names + "、" + item
}
i += 1
}
titleLabel.text = title + names
peopleValueLabel.text = dataSource.result_date
docValueLabel.text = dataSource.pay_deadline
} }
} }
...@@ -19,8 +19,8 @@ class YHLookResignResultStateThreeTableViewCell: UITableViewCell { ...@@ -19,8 +19,8 @@ class YHLookResignResultStateThreeTableViewCell: UITableViewCell {
var flagImageView: UIImageView! var flagImageView: UIImageView!
var flagLabel: UILabel! var flagLabel: UILabel!
var mainItemView: UIView! var mainItemView: UIView!
var state: Int = 0
var dataSource: [Int]? { var dataSource: [YHLookResignResultDataLettersModel]? {
didSet { didSet {
updateAllViews() updateAllViews()
} }
...@@ -115,6 +115,8 @@ class YHLookResignResultStateThreeTableViewCell: UITableViewCell { ...@@ -115,6 +115,8 @@ class YHLookResignResultStateThreeTableViewCell: UITableViewCell {
mainItemView.removeSubviews() mainItemView.removeSubviews()
if dataSource.count == 1 { if dataSource.count == 1 {
let view = YHLookResignResultItemView(frame: .zero) let view = YHLookResignResultItemView(frame: .zero)
view.state = state
view.dataSource = dataSource.first
mainItemView.addSubview(view) mainItemView.addSubview(view)
view.snp.makeConstraints { make in view.snp.makeConstraints { make in
make.centerX.equalToSuperview() make.centerX.equalToSuperview()
...@@ -128,6 +130,8 @@ class YHLookResignResultStateThreeTableViewCell: UITableViewCell { ...@@ -128,6 +130,8 @@ class YHLookResignResultStateThreeTableViewCell: UITableViewCell {
let y: Int = count / 2 let y: Int = count / 2
let x: Int = count % 2 let x: Int = count % 2
let view = YHLookResignResultItemView(frame: .zero) let view = YHLookResignResultItemView(frame: .zero)
view.state = state
view.dataSource = item
mainItemView.addSubview(view) mainItemView.addSubview(view)
view.snp.makeConstraints { make in view.snp.makeConstraints { make in
if x == 0 { if x == 0 {
......
...@@ -19,8 +19,8 @@ class YHLookResignResultStateTwoTableViewCell: UITableViewCell { ...@@ -19,8 +19,8 @@ class YHLookResignResultStateTwoTableViewCell: UITableViewCell {
var flagImageView: UIImageView! var flagImageView: UIImageView!
var flagLabel: UILabel! var flagLabel: UILabel!
var mainItemView: UIView! var mainItemView: UIView!
var state: Int = 0
var dataSource: [Int]? { var dataSource: [YHLookResignResultDataLettersModel]? {
didSet { didSet {
updateAllViews() updateAllViews()
} }
...@@ -117,6 +117,8 @@ class YHLookResignResultStateTwoTableViewCell: UITableViewCell { ...@@ -117,6 +117,8 @@ class YHLookResignResultStateTwoTableViewCell: UITableViewCell {
mainItemView.removeSubviews() mainItemView.removeSubviews()
if dataSource.count == 1 { if dataSource.count == 1 {
let view = YHLookResignResultItemView(frame: .zero) let view = YHLookResignResultItemView(frame: .zero)
view.state = state
view.dataSource = dataSource.first
mainItemView.addSubview(view) mainItemView.addSubview(view)
view.snp.makeConstraints { make in view.snp.makeConstraints { make in
make.centerX.equalToSuperview() make.centerX.equalToSuperview()
...@@ -130,6 +132,8 @@ class YHLookResignResultStateTwoTableViewCell: UITableViewCell { ...@@ -130,6 +132,8 @@ class YHLookResignResultStateTwoTableViewCell: UITableViewCell {
let y: Int = count / 2 let y: Int = count / 2
let x: Int = count % 2 let x: Int = count % 2
let view = YHLookResignResultItemView(frame: .zero) let view = YHLookResignResultItemView(frame: .zero)
view.state = state
view.dataSource = dataSource.first
mainItemView.addSubview(view) mainItemView.addSubview(view)
view.snp.makeConstraints { make in view.snp.makeConstraints { make in
if x == 0 { if x == 0 {
...@@ -148,12 +152,40 @@ class YHLookResignResultStateTwoTableViewCell: UITableViewCell { ...@@ -148,12 +152,40 @@ class YHLookResignResultStateTwoTableViewCell: UITableViewCell {
} }
class YHLookResignResultItemView: UIImageView { class YHLookResignResultItemView: UIImageView {
var dataSource: YHLookResignResultDataLettersModel? {
didSet {
self.titleLabel.text = dataSource?.user
}
}
var state: Int? {
didSet {
if state == 0 {
self.image = UIImage(named: "look_resign_result_mail_two")
self.titleLabel.textColor = UIColor(hex: 0xb75e24).withAlphaComponent(0.6)
} else if state == 1 {
self.image = UIImage(named: "look_resign_result_mail_three")
self.titleLabel.textColor = UIColor(hex: 0xe97900)
} else {
self.image = UIImage(named: "look_resign_result_mail_four")
self.titleLabel.textColor = UIColor(hex: 0xb75e24)
}
}
}
var titleLabel: UILabel! var titleLabel: UILabel!
lazy var previewFileTool:YHFilePreviewTool = {
let tool = YHFilePreviewTool(targetVC: UIViewController.current)
return tool
}()
override init(frame: CGRect) { override init(frame: CGRect) {
super.init(frame:frame) super.init(frame:frame)
self.isUserInteractionEnabled = true
createUI() createUI()
let tap = UITapGestureRecognizer(target: self, action: #selector(handleTap))
tap.delegate = self
addGestureRecognizer(tap)
} }
required init?(coder: NSCoder) { required init?(coder: NSCoder) {
...@@ -181,5 +213,21 @@ class YHLookResignResultItemView: UIImageView { ...@@ -181,5 +213,21 @@ class YHLookResignResultItemView: UIImageView {
make.bottom.equalTo(self.snp.centerY) make.bottom.equalTo(self.snp.centerY)
} }
} }
@objc private func handleTap(_ sender: AnyObject?) {
let viewModel = YHBaseViewModel()
viewModel.getRealUsefulUrl(dataSource?.result_file ?? "") { success in
self.previewFileTool.openXLSXRemoteFile(urlString: success, fileName:"")
}
}
}
extension YHLookResignResultItemView: UIGestureRecognizerDelegate {
func gestureRecognizer(_ gestureRecognizer:UIGestureRecognizer, shouldReceive touch:UITouch) -> Bool {
if touch.view == self {
return true
}
return false
}
} }
//
// YHLookResignResultViewModel.swift
// galaxy
//
// Created by EDY on 2024/10/15.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHLookResignResultViewModel: YHBaseViewModel {
var dataModel : YHLookResignResultModel = YHLookResignResultModel()
func getRenewalResult(_ id: Int, callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
let params: [String: Any] = ["id": id]
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.ResignResult.result
let _ = YHNetRequest.getRequest(url: strUrl,params: params) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
printLog("model 是 ==> \(json)")
if json.code == 200 {
guard let dic = json.data?.peel as? [String : Any], let resultModel = YHLookResignResultModel.deserialize(from: dic) else {
let err = YHErrorModel(errorCode: YHErrorCode.dictParseError.rawValue, errorMsg: YHErrorCode.dictParseError.description())
callBackBlock(false, err)
return
}
self.dataModel = resultModel
callBackBlock(true, nil)
} else {
let err = YHErrorModel(errorCode: Int32(json.code), errorMsg: json.msg.isEmpty ? "" : json.msg)
callBackBlock(false,err)
}
} failBlock: { err in
callBackBlock(false,err)
}
}
}
...@@ -44,10 +44,11 @@ class YHResignUploadTravelCardListViewController: YHBaseViewController { ...@@ -44,10 +44,11 @@ class YHResignUploadTravelCardListViewController: YHBaseViewController {
button.setTitle("下一步,去查看续签总结", for: .disabled) button.setTitle("下一步,去查看续签总结", for: .disabled)
button.setTitleColor(UIColor.white, for: .normal) button.setTitleColor(UIColor.white, for: .normal)
button.setTitleColor(UIColor.white, for: .disabled) button.setTitleColor(UIColor.white, for: .disabled)
button.setBackgroundColor(color: UIColor.brandMainColor, forState: .normal)
button.setBackgroundColor(color: UIColor.brandMainColor.withAlphaComponent(0.3), forState: .disabled)
button.layer.cornerRadius = kCornerRadius3 button.layer.cornerRadius = kCornerRadius3
button.clipsToBounds = true button.clipsToBounds = true
button.addTarget(self, action: #selector(clickNextBtn), for: .touchUpInside) button.addTarget(self, action: #selector(clickNextBtn), for: .touchUpInside)
button.backgroundColor = UIColor.brandMainColor
return button return button
}() }()
...@@ -84,15 +85,13 @@ private extension YHResignUploadTravelCardListViewController { ...@@ -84,15 +85,13 @@ private extension YHResignUploadTravelCardListViewController {
func loadData() { func loadData() {
let params: [String : Any] = ["order_id": orderId] let params: [String : Any] = ["order_id": orderId]
YHHUD.show(.progress(message: "加载中...")) YHHUD.show(.progress(message: "加载中..."))
// viewModel.getTravelDocsList(orderID: 132957, renewalId: 288, callBackBlock: {[weak self] success, error in
viewModel.getTravelDocsList(orderID: orderId, renewalId: batchId, callBackBlock: {[weak self] success, error in viewModel.getTravelDocsList(orderID: orderId, renewalId: batchId, callBackBlock: {[weak self] success, error in
YHHUD.hide() YHHUD.hide()
guard let self = self else { return } guard let self = self else { return }
if success { if self.viewModel.arrTravelDocs.is_report_redirect {
rewardBtn.isEnabled = true
} else { } else {
rewardBtn.isEnabled = false
} }
self.tableView.reloadData() self.tableView.reloadData()
}) })
...@@ -131,7 +130,7 @@ private extension YHResignUploadTravelCardListViewController { ...@@ -131,7 +130,7 @@ private extension YHResignUploadTravelCardListViewController {
extension YHResignUploadTravelCardListViewController: UITableViewDelegate, UITableViewDataSource { extension YHResignUploadTravelCardListViewController: UITableViewDelegate, UITableViewDataSource {
func numberOfSections(in tableView: UITableView) -> Int { func numberOfSections(in tableView: UITableView) -> Int {
return viewModel.arrTravelDocs.count return viewModel.arrTravelDocs.list.count
} }
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
...@@ -140,7 +139,7 @@ extension YHResignUploadTravelCardListViewController: UITableViewDelegate, UITab ...@@ -140,7 +139,7 @@ extension YHResignUploadTravelCardListViewController: UITableViewDelegate, UITab
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let approveCell = tableView.dequeueReusableCell(withIdentifier: YHResignUploadTravelCardListTableViewCell.cellReuseIdentifier, for: indexPath) as! YHResignUploadTravelCardListTableViewCell let approveCell = tableView.dequeueReusableCell(withIdentifier: YHResignUploadTravelCardListTableViewCell.cellReuseIdentifier, for: indexPath) as! YHResignUploadTravelCardListTableViewCell
approveCell.dataModel = viewModel.arrTravelDocs[indexPath.section] approveCell.dataModel = viewModel.arrTravelDocs.list[indexPath.section]
return approveCell return approveCell
} }
...@@ -149,7 +148,7 @@ extension YHResignUploadTravelCardListViewController: UITableViewDelegate, UITab ...@@ -149,7 +148,7 @@ extension YHResignUploadTravelCardListViewController: UITableViewDelegate, UITab
} }
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let model = viewModel.arrTravelDocs[indexPath.section] let model = viewModel.arrTravelDocs.list[indexPath.section]
if model.status == 2 { if model.status == 2 {
return return
} else { } else {
......
...@@ -15,7 +15,7 @@ class YHResignUploadTravelHKViewController: YHBaseViewController { ...@@ -15,7 +15,7 @@ class YHResignUploadTravelHKViewController: YHBaseViewController {
let vm = YHResignUploadTravelCardDetailViewModel() let vm = YHResignUploadTravelCardDetailViewModel()
return vm return vm
}() }()
var fatherData: YHResignUploadTravelCardListModel = YHResignUploadTravelCardListModel() var fatherData: YHResignUploadTravelCardListDetailModel = YHResignUploadTravelCardListDetailModel()
//上个界面传递过来的数据对象 //上个界面传递过来的数据对象
var dataModel : YHResignUploadTravelCardDetailModel = YHResignUploadTravelCardDetailModel() var dataModel : YHResignUploadTravelCardDetailModel = YHResignUploadTravelCardDetailModel()
var orderId: Int = 0 var orderId: Int = 0
......
...@@ -16,7 +16,7 @@ class YHResignUploadTravelPassportViewController: YHBaseViewController { ...@@ -16,7 +16,7 @@ class YHResignUploadTravelPassportViewController: YHBaseViewController {
return vm return vm
}() }()
var fatherData: YHResignUploadTravelCardListModel = YHResignUploadTravelCardListModel() var fatherData: YHResignUploadTravelCardListDetailModel = YHResignUploadTravelCardListDetailModel()
//上个界面传递过来的数据对象 //上个界面传递过来的数据对象
var dataModel : YHResignUploadTravelCardDetailModel = YHResignUploadTravelCardDetailModel() var dataModel : YHResignUploadTravelCardDetailModel = YHResignUploadTravelCardDetailModel()
var orderId: Int = 0 var orderId: Int = 0
......
...@@ -10,6 +10,15 @@ import UIKit ...@@ -10,6 +10,15 @@ import UIKit
import SmartCodable import SmartCodable
class YHResignUploadTravelCardListModel: SmartCodable { class YHResignUploadTravelCardListModel: SmartCodable {
var is_report_redirect: Bool = false
var list : [YHResignUploadTravelCardListDetailModel] = []
required init() {
}
}
class YHResignUploadTravelCardListDetailModel: SmartCodable {
var id : Int = -1//用户id var id : Int = -1//用户id
var name : String = ""//用户姓名 var name : String = ""//用户姓名
var type : String = ""//用户类型 var type : String = ""//用户类型
......
...@@ -13,7 +13,7 @@ class YHResignUploadTravelCardListTableViewCell: UITableViewCell { ...@@ -13,7 +13,7 @@ class YHResignUploadTravelCardListTableViewCell: UITableViewCell {
static let cellReuseIdentifier = "YHResignUploadTravelCardListTableViewCell" static let cellReuseIdentifier = "YHResignUploadTravelCardListTableViewCell"
static let cellH : CGFloat = 70 static let cellH : CGFloat = 70
var dataModel : YHResignUploadTravelCardListModel? { var dataModel : YHResignUploadTravelCardListDetailModel? {
didSet { didSet {
updataUI() updataUI()
} }
......
...@@ -11,7 +11,7 @@ import UIKit ...@@ -11,7 +11,7 @@ import UIKit
class YHResignUploadTravelCardViewModel: YHBaseViewModel { class YHResignUploadTravelCardViewModel: YHBaseViewModel {
//列表信息 //列表信息
var arrTravelDocs : [YHResignUploadTravelCardListModel] = [] var arrTravelDocs : YHResignUploadTravelCardListModel = YHResignUploadTravelCardListModel()
//旅行证件嫌弃 //旅行证件嫌弃
var travelDetailModel : YHTravelDocsPreparationDetailModel? var travelDetailModel : YHTravelDocsPreparationDetailModel?
...@@ -31,13 +31,13 @@ extension YHResignUploadTravelCardViewModel { ...@@ -31,13 +31,13 @@ extension YHResignUploadTravelCardViewModel {
printLog("model 是 ==> \(json)") printLog("model 是 ==> \(json)")
if json.code == 200 { if json.code == 200 {
guard let dic = json.data?.peel as? [Any],let list = [YHResignUploadTravelCardListModel].deserialize(from: dic) else { guard let dic = json.data?.peel as? [String : Any], let resultModel = YHResignUploadTravelCardListModel.deserialize(from: dic) else {
let err = YHErrorModel(errorCode: YHErrorCode.dictParseError.rawValue, errorMsg: YHErrorCode.dictParseError.description()) let err = YHErrorModel(errorCode: YHErrorCode.dictParseError.rawValue, errorMsg: YHErrorCode.dictParseError.description())
self.arrTravelDocs = [] self.travelDetailModel = nil
callBackBlock(false, err) callBackBlock(false, err)
return return
} }
self.arrTravelDocs = list self.arrTravelDocs = resultModel
callBackBlock(true, nil) callBackBlock(true, nil)
} else { } else {
......
...@@ -17,11 +17,14 @@ import Photos ...@@ -17,11 +17,14 @@ import Photos
class YHH5WebViewVC: YHBaseViewController, WKUIDelegate, WKNavigationDelegate { class YHH5WebViewVC: YHBaseViewController, WKUIDelegate, WKNavigationDelegate {
lazy var webview : DWKWebView = { lazy var webview : DWKWebView = {
let webview = DWKWebView(frame: .zero) let config = WKWebViewConfiguration()
config.applicationNameForUserAgent = "YinHeApp"
let webview = DWKWebView(frame: .zero, configuration: config)
webview.scrollView.contentInsetAdjustmentBehavior = .never webview.scrollView.contentInsetAdjustmentBehavior = .never
webview.navigationDelegate = self webview.navigationDelegate = self
webview.scrollView.delegate = self webview.scrollView.delegate = self
webview.setDebugMode(false) webview.setDebugMode(false)
return webview return webview
}() }()
...@@ -73,7 +76,6 @@ class YHH5WebViewVC: YHBaseViewController, WKUIDelegate, WKNavigationDelegate { ...@@ -73,7 +76,6 @@ class YHH5WebViewVC: YHBaseViewController, WKUIDelegate, WKNavigationDelegate {
//分享到H5的情况 //分享到H5的情况
var shareH5Title : String = "20秒极速测分" var shareH5Title : String = "20秒极速测分"
var shareH5Describe : String = "您的朋友邀请您进行香港优才测评,来试试吧" var shareH5Describe : String = "您的朋友邀请您进行香港优才测评,来试试吧"
//外部传进来的分享链接 //外部传进来的分享链接
var shareUrlFromOutside : String? var shareUrlFromOutside : String?
...@@ -88,16 +90,12 @@ class YHH5WebViewVC: YHBaseViewController, WKUIDelegate, WKNavigationDelegate { ...@@ -88,16 +90,12 @@ class YHH5WebViewVC: YHBaseViewController, WKUIDelegate, WKNavigationDelegate {
//UI元素的控制变量 如下 //UI元素的控制变量 如下
//1、底部分享view
// var isWithBottomViewFlag : Bool = false
// lazy var shareView: YHShareViewOnTablebarView = {
// let view = YHShareViewOnTablebarView()
// return view
// }()
//2、是否通屏展示- 默认通屏(导航栏透明) //2、是否通屏展示- 默认通屏(导航栏透明)
var isFullScreenFlag : Bool = true var isFullScreenFlag : Bool = true
//2.1、是否隐藏导航栏
var isHideNavigationBar : Bool = false
//3、右上角分享按钮 //3、右上角分享按钮
var isShowRightShareItemFlag : Bool = false var isShowRightShareItemFlag : Bool = false
...@@ -123,12 +121,42 @@ class YHH5WebViewVC: YHBaseViewController, WKUIDelegate, WKNavigationDelegate { ...@@ -123,12 +121,42 @@ class YHH5WebViewVC: YHBaseViewController, WKUIDelegate, WKNavigationDelegate {
// MARK: - 内部方法 // MARK: - 内部方法
private extension YHH5WebViewVC { private extension YHH5WebViewVC {
func reloadWebViewWithToken() {
if YHLoginManager.shared.isLogin() {
if !url.contains("param=") {
let token = YHLoginManager.shared.h5Token
var tUrl = url + "?param=" + token
let urlHasParam = String.hasQueryParameters(urlString: url)
if urlHasParam {
tUrl = url + "&param=" + token
}
if let url = NSURL(string: tUrl) as? URL {
let request = NSURLRequest(url: url)
webview.load(request as URLRequest)
}
return
} else {
printLog("理论上不存在的情况,暂时不处理")
}
}
//最后兜底 刷新
if let url = NSURL(string: url) as? URL {
let request = NSURLRequest(url: url)
webview.load(request as URLRequest)
}
}
func reloadUI() { func reloadUI() {
if isNeedRefreshDataFlag { if isNeedRefreshDataFlag {
let url = NSURL(string: url) if let url = NSURL(string: url) as? URL {
let request = NSURLRequest(url: url! as URL) let request = NSURLRequest(url: url)
webview.load(request as URLRequest) webview.load(request as URLRequest)
}
} }
} }
...@@ -155,49 +183,43 @@ private extension YHH5WebViewVC { ...@@ -155,49 +183,43 @@ private extension YHH5WebViewVC {
//默认白色返回按钮 //默认白色返回按钮
gk_backImage = myDefaultBackImage gk_backImage = myDefaultBackImage
if isHideNavigationBar {
// gk_navBarAlpha = 0.0
isFullScreenFlag = true //导航栏隐藏的情况下强制通屏
} else {
}
gk_navigationBar.isHidden = isHideNavigationBar
if isFullScreenFlag { if isFullScreenFlag {
gk_navBarAlpha = 0.0 gk_navBarAlpha = 0.0
} else { } else {
gk_navTitle = navTitle gk_navTitle = navTitle
gk_navBarAlpha = 1.0 gk_navBarAlpha = 1.0
} }
NotificationCenter.default.addObserver(self, selector: #selector(updateNetWorkUI), name: .reachabilityChanged, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(updateNetWorkUI), name: .reachabilityChanged, object: nil)
view.backgroundColor = .white view.backgroundColor = .white
// if isWithBottomViewFlag {
// loadQrInfo()
// view.addSubview(shareView)
//
// shareView.block = { tag in
// if tag == 0 {
// //分享
// self.share()
// } else {
// //预约咨询
// if self.arrQrInfo.count > 1 {
// let codeUrl = self.arrQrInfo[0]
// let downloadUrl = self.arrQrInfo[1]
// YHConsultantQRCodeView.codeView(codeUrl, downloadUrl: downloadUrl).show()
// }
// }
// }
// }
// 创建wkwebview // 创建wkwebview
let api = YHJsApi() let api = YHJsApi()
api.delegate = self api.delegate = self
webview.addJavascriptObject(api, namespace: nil) webview.addJavascriptObject(api, namespace: nil)
let url = NSURL(string: url) if let url = URL(string: url) {
let request = NSURLRequest(url: url! as URL) let request = URLRequest(url: url)
webview.load(request as URLRequest) webview.load(request)
} else {
let tmpUrl = YHURLEncodeHelper.urlEncodedString(url)
if let url = URL(string: tmpUrl) {
let request = URLRequest(url: url)
webview.load(request)
} else {
printLog("url: 有问题")
}
}
view.addSubview(webview) view.addSubview(webview)
if isFullScreenFlag { if isFullScreenFlag {
...@@ -343,17 +365,52 @@ extension YHH5WebViewVC { ...@@ -343,17 +365,52 @@ extension YHH5WebViewVC {
// MARK: - h5实现的接口 // MARK: - h5实现的接口
extension YHH5WebViewVC { extension YHH5WebViewVC {
//H5调用 App的分享
func shareH5Syn(title : String ,desc : String ,url : String) {
shareUrlFromOutside = url
shareH5Title = title
shareH5Describe = desc
share()
}
//登录带token刷新
func loginAndRefeshWithTokenSyn(_ tag : String) {
//判断登录状态
if !YHLoginManager.shared.isLogin() {
if tag.contains("1") {
YHLoginManager.shared.loginSuccessActionBlock = {[weak self] in
YHLoginManager.shared.loginSuccessActionBlock = nil
guard let self = self else { return }
self.reloadWebViewWithToken()
}
}
YHOneKeyLoginManager.shared.oneKeyLogin()
} else {
printLog("当前已是登录状态")
}
}
//是否隐藏导航栏
func hideNavigationBarSyn(_ tag : String) {
if tag.contains("1") {
//隐藏
isHideNavigationBar = true
supportFullScreenSyn("1")//强制通屏
} else {
//不隐藏
isHideNavigationBar = false
}
gk_navigationBar.isHidden = isHideNavigationBar
}
//是否支持通屏 //是否支持通屏
func supportFullScreenSyn(_ tag : String) { func supportFullScreenSyn(_ tag : String) {
if tag.contains("1") { if tag.contains("1") {
//支持 //支持
isFullScreenFlag = true isFullScreenFlag = true
} else { } else {
//不支持 //不支持
isFullScreenFlag = false isFullScreenFlag = false
} }
webview.snp.removeConstraints() webview.snp.removeConstraints()
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
import Foundation import Foundation
import UIKit import UIKit
import SafariServices
typealias JSCallback = (String, Bool)->Void typealias JSCallback = (String, Bool)->Void
typealias JSDicCallback = ([String : Any],Bool)->Void typealias JSDicCallback = ([String : Any],Bool)->Void
...@@ -17,6 +18,84 @@ class YHJsApi: NSObject { ...@@ -17,6 +18,84 @@ class YHJsApi: NSObject {
} }
extension YHJsApi { extension YHJsApi {
//17、 H5调用app的分享
@objc func shareH5Syn(_ dicData: String) {
DispatchQueue.main.async {
if let data = dicData.data(using: .utf8) {
do {
if let jsonObject = try JSONSerialization.jsonObject(with: data, options: []) as? [String: Any] {
// 转换成功,jsonObject 是一个字典
print("JSON字符串转换为字典成功: \(jsonObject)")
/*
{
ShareH5Title : "分享标题"
ShareH5Describe : "分享描述"
ShareH5Url : "分享链接"
}
*/
if !jsonObject.isEmpty,jsonObject.keys.count == 3 {
let shareH5Title : String = jsonObject["ShareH5Title"] as? String ?? ""
let shareH5Describe : String = jsonObject["ShareH5Describe"] as? String ?? ""
let shareH5Url : String = jsonObject["ShareH5Url"] as? String ?? ""
if !shareH5Title.isEmpty,!shareH5Describe.isEmpty,!shareH5Url.isEmpty {
if let delegate = self.delegate as? YHH5WebViewVC {
delegate.shareH5Syn(title: shareH5Title, desc: shareH5Describe, url: shareH5Url)
}
} else {
printLog("参数不合法...")
}
} else {
printLog("ddddd")
}
} else {
printLog("JSON字符串不是有效的字典格式")
}
} catch {
printLog("JSON解析错误: \(error)")
}
}
}
}
//16、招行聚合支付
@objc func cmbPaySyn(_ payUrl : String) {
DispatchQueue.main.async {
// let tUrl = "https://test-sign.galaxy-immi.com/webPayConfirm?id=dXlHS3RRQUV4QmZ2KzRwM0phRTVyMXdWUnVjUjJvRHdmQmNWVDV0UW1Zbz0="//测试环境
// let tUrl = "https://beta-sign.galaxy-immi.com/webPayConfirm?id=Qk9sbUlzenp0OGFOdVZ4ekphQXJGWnJ0ODdBS3gxdWNJcURrOHBLbm4xND0%3D"//正式环境
if !payUrl.isEmpty,let url = URL(string: payUrl) {
let safariViewController = SFSafariViewController(url: url)
safariViewController.dismissButtonStyle = .close
safariViewController.modalPresentationStyle = .fullScreen
UIViewController.current?.present(safariViewController, animated: true, completion: nil)
} else {
printLog("hjl : 这个url不合法 -- " + payUrl)
}
}
}
//15、登录带token刷新
@objc func loginAndRefeshWithTokenSyn(_ tag : Any) {
DispatchQueue.main.async {
if let tag = tag as? String, tag.count == 1 {
if let delegate = self.delegate as? YHH5WebViewVC {
delegate.loginAndRefeshWithTokenSyn(tag)
}
}
}
}
//14、是否隐藏导航栏 "0"-默认不隐藏 “1”-隐藏
@objc func hideNavigationBarSyn(_ tag : Any) {
DispatchQueue.main.async {
if let tag = tag as? String, tag.count == 1 {
if let delegate = self.delegate as? YHH5WebViewVC {
delegate.hideNavigationBarSyn(tag)
}
}
}
}
//13、是否支持通屏 //13、是否支持通屏
@objc func supportFullScreenSyn(_ tag : Any) { @objc func supportFullScreenSyn(_ tag : Any) {
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
// //
import UIKit import UIKit
import WebKit @preconcurrency import WebKit
class YHWebViewViewController: YHBaseViewController, WKUIDelegate, WKNavigationDelegate { class YHWebViewViewController: YHBaseViewController, WKUIDelegate, WKNavigationDelegate {
...@@ -29,12 +29,26 @@ class YHWebViewViewController: YHBaseViewController, WKUIDelegate, WKNavigationD ...@@ -29,12 +29,26 @@ class YHWebViewViewController: YHBaseViewController, WKUIDelegate, WKNavigationD
webview = WKWebView(frame: CGRect(x: 0, y: statusHeight + navHeight!, width: self.view.frame.width, height: self.view.frame.height - k_Height_NavigationtBarAndStatuBar)) webview = WKWebView(frame: CGRect(x: 0, y: statusHeight + navHeight!, width: self.view.frame.width, height: self.view.frame.height - k_Height_NavigationtBarAndStatuBar))
webview.navigationDelegate = self webview.navigationDelegate = self
// 创建网址 // // 创建网址
let url = NSURL(string: url) // let url = NSURL(string: url)
// 创建请求 // // 创建请求
let request = NSURLRequest(url: url! as URL) // let request = NSURLRequest(url: url! as URL)
// 加载请求 // // 加载请求
webview.load(request as URLRequest) // webview.load(request as URLRequest)
if let url = URL(string: url) {
let request = URLRequest(url: url)
webview.load(request)
} else {
let tmpUrl = YHURLEncodeHelper.urlEncodedString(url)
if let url = URL(string: tmpUrl) {
let request = URLRequest(url: url)
webview.load(request)
} else {
printLog("url: 有问题")
}
}
// 添加wkwebview // 添加wkwebview
self.view.addSubview(webview) self.view.addSubview(webview)
......
...@@ -33,6 +33,7 @@ enum YHPersonalModuleItemType: Int { ...@@ -33,6 +33,7 @@ enum YHPersonalModuleItemType: Int {
case version case version
case userItems//用户条款 case userItems//用户条款
case privaceAgreement//隐私协议 case privaceAgreement//隐私协议
case myOrder //我的订单 双十一订单入口
} }
class PersonalModuleItem { class PersonalModuleItem {
...@@ -280,6 +281,11 @@ class YHMyViewController: YHBaseViewController, ConstraintRelatableTarget { ...@@ -280,6 +281,11 @@ class YHMyViewController: YHBaseViewController, ConstraintRelatableTarget {
items.append(item) items.append(item)
} }
if let configModel = YHConfigManager.shared.reqVM.configModel,configModel.is_recharge_order_open {
let item = PersonalModuleItem(icon: "mine_item_myOrder", title: "我的订单".local, type:.myOrder)
items.append(item)
}
do { do {
let item = PersonalModuleItem(icon: "mine_item_msg", title: "我的消息".local, type:.myMessage) let item = PersonalModuleItem(icon: "mine_item_msg", title: "我的消息".local, type:.myMessage)
items.append(item) items.append(item)
...@@ -292,6 +298,8 @@ class YHMyViewController: YHBaseViewController, ConstraintRelatableTarget { ...@@ -292,6 +298,8 @@ class YHMyViewController: YHBaseViewController, ConstraintRelatableTarget {
} }
} }
if YHUatHelper.shared.getUatModuleStatusBy(module: .Mine_EvaluationCode) == 1 { if YHUatHelper.shared.getUatModuleStatusBy(module: .Mine_EvaluationCode) == 1 {
let item = PersonalModuleItem(icon: "mine_item_code", title: "我的测评码".local, type:.myTestCode) let item = PersonalModuleItem(icon: "mine_item_code", title: "我的测评码".local, type:.myTestCode)
items.append(item) items.append(item)
...@@ -399,32 +407,19 @@ extension YHMyViewController : UITableViewDelegate, UITableViewDataSource { ...@@ -399,32 +407,19 @@ extension YHMyViewController : UITableViewDelegate, UITableViewDataSource {
case .aboutUs: case .aboutUs:
let vc = YHAboutGalaxyViewController() let vc = YHAboutGalaxyViewController()
self.navigationController?.pushViewController(vc) self.navigationController?.pushViewController(vc)
case .myOrder:
// let view = YHRangeDatePickerSheetView.sheetView() //我的订单
// view.block = { if let token = YHLoginManager.shared.userModel?.token,token.count > 5 {
// [weak self] (startDate,endDate) in var url = YHBaseUrlManager.shared.curH5URL() + "superAppBridge.html#/order/my"
// guard let self = self else { return } url = "?param=" + YHLoginManager.shared.h5Token
// printLog("URL: \(url)")
// printLog(startDate) let vc = YHH5WebViewVC()
// printLog(endDate) vc.url = url
// } vc.isFullScreenFlag = false
// view.show() //for test hjl vc.navTitle = "我的订单"
vc.isSupportWebviewInterBackFlag = true
UIViewController.current?.navigationController?.pushViewController(vc)
// SFSafariViewController }
// let vc = YHH5WebViewVC()
// vc.url = "https://beta-sign.galaxy-immi.com/webPayConfirm?id=Qk9sbUlzenp0OGFOdVZ4ekphQXJGWnJ0ODdBS3gxdWNJcURrOHBLbm4xND0%3D"
// vc.isFullScreenFlag = false
// vc.isSupportWebviewInterBackFlag = true
// UIViewController.current?.navigationController?.pushViewController(vc)//for test hjl
// if let url = URL(string: "https://beta-sign.galaxy-immi.com/webPayConfirm?id=Qk9sbUlzenp0OGFOdVZ4ekphQXJGWnJ0ODdBS3gxdWNJcURrOHBLbm4xND0%3D") {
// let safariViewController = SFSafariViewController(url: url)
// safariViewController.dismissButtonStyle = .close
// safariViewController.modalPresentationStyle = .fullScreen
// UIViewController.current?.present(safariViewController, animated: true, completion: nil)
// }//for test hjl
default: default:
printLog("不需要响应") printLog("不需要响应")
} }
......
...@@ -610,4 +610,10 @@ class YHAllApiName { ...@@ -610,4 +610,10 @@ class YHAllApiName {
static let detail = "super-app/renewal/travel-cert-detail" static let detail = "super-app/renewal/travel-cert-detail"
static let save = "super-app/renewal/travel-cert-save" static let save = "super-app/renewal/travel-cert-save"
} }
//续签结果查看
struct ResignResult {
static let result = "super-app/renewal/renewal-result"
}
} }
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "wode_dingdan@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "wode_dingdan@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
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