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
uat = "uat"
davidhuang_branch = "davidhuang"
alex_branch = "main-bugfix-alex"
double11 = "double11"
#打包正使用的分支
myPack_branch = develop_branch
myPack_branch = double11
# 打adhoc包 执行命令 fastlane galaxyTest
lane :galaxyTest do
......
......@@ -267,6 +267,8 @@
045792132CBCFB8000EBD99B /* YHResignUploadTravelCardDetailModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045792122CBCFB8000EBD99B /* YHResignUploadTravelCardDetailModel.swift */; };
045792152CBD041F00EBD99B /* YHResignUploadTravelHKTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045792142CBD041F00EBD99B /* YHResignUploadTravelHKTableViewCell.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 */; };
045A08C22C37EB8B00BCBABA /* YHMyFileListNoneCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045A08C12C37EB8B00BCBABA /* YHMyFileListNoneCell.swift */; };
045A7E672C2ACB1A008F995B /* YHLoginOneLeadView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045A7E662C2ACB1A008F995B /* YHLoginOneLeadView.swift */; };
......@@ -1219,6 +1221,8 @@
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>"; };
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>"; };
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>"; };
......@@ -3934,6 +3938,7 @@
04CA2C172CBA0CC700F36DE7 /* M */ = {
isa = PBXGroup;
children = (
0457921A2CBE0C3F00EBD99B /* YHLookResignResultModel.swift */,
);
path = M;
sourceTree = "<group>";
......@@ -3957,6 +3962,7 @@
04CA2C1C2CBA0CC700F36DE7 /* VM */ = {
isa = PBXGroup;
children = (
045792182CBE08BA00EBD99B /* YHLookResignResultViewModel.swift */,
);
path = VM;
sourceTree = "<group>";
......@@ -5591,6 +5597,7 @@
044EE2462C93E22E00A2FE3A /* YHResignCertificateDetailHkViewController.swift in Sources */,
A5ACE94B2B4564F7002C94D2 /* YHHUDRotatingImageView.swift in Sources */,
A5ACE94F2B4564F7002C94D2 /* YhOverlayView.swift in Sources */,
0457921B2CBE0C3F00EBD99B /* YHLookResignResultModel.swift in Sources */,
045EEEB92B9F171A0022A143 /* YHWorkMessageSelectTableViewCell.swift in Sources */,
04FA8B302C0874CA00ABE43F /* YHOneKeyLoginViewModel.swift in Sources */,
04256E112C75BD2700A37BA4 /* YHVisaPaymentListModel.swift in Sources */,
......@@ -5651,6 +5658,7 @@
045EEECD2B9F171A0022A143 /* YHScoreDataModel.swift in Sources */,
044F39622CB8FF16007CA277 /* YHVisaRenewalPayContentCell.swift in Sources */,
04F2432F2C94704200DF2C74 /* YHPaddedLabel.swift in Sources */,
045792192CBE08BA00EBD99B /* YHLookResignResultViewModel.swift in Sources */,
A5ACE9342B4564F7002C94D2 /* YHAllApiName.swift in Sources */,
04AF82D62C25542D0028CE2A /* YHInterestTopicLayout.swift in Sources */,
04912F6E2CB6A64700CC3105 /* YHResignAppointSubmitTipsView.swift in Sources */,
......@@ -6279,9 +6287,11 @@
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
CODE_SIGN_ENTITLEMENTS = galaxy/galaxyTestEnv.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = RXHYW88XR7;
DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = RXHYW88XR7;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
......@@ -6310,6 +6320,7 @@
PRODUCT_BUNDLE_IDENTIFIER = com.intelligence.galaxy;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = com.dev.profile;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = TESTENV;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_OBJC_BRIDGING_HEADER = "$(SRCROOT)/$(TARGET_NAME)/Res/galaxy-Bridge-Header.h";
......@@ -6421,9 +6432,11 @@
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
CODE_SIGN_ENTITLEMENTS = galaxy/galaxy.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = RXHYW88XR7;
DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = RXHYW88XR7;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
......@@ -6452,6 +6465,7 @@
PRODUCT_BUNDLE_IDENTIFIER = com.intelligence.galaxy;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = com.dev.profile;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = UATENV;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_OBJC_BRIDGING_HEADER = "$(SRCROOT)/$(TARGET_NAME)/Res/galaxy-Bridge-Header.h";
......@@ -6626,9 +6640,11 @@
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
CODE_SIGN_ENTITLEMENTS = galaxy/galaxyDebug.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = RXHYW88XR7;
DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = RXHYW88XR7;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
......@@ -6657,6 +6673,7 @@
PRODUCT_BUNDLE_IDENTIFIER = com.intelligence.galaxy;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = com.dev.profile;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_OBJC_BRIDGING_HEADER = "$(SRCROOT)/$(TARGET_NAME)/Res/galaxy-Bridge-Header.h";
SWIFT_VERSION = 5.0;
......@@ -6673,9 +6690,11 @@
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
CODE_SIGN_ENTITLEMENTS = galaxy/galaxy.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = RXHYW88XR7;
DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = RXHYW88XR7;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
......@@ -6704,6 +6723,7 @@
PRODUCT_BUNDLE_IDENTIFIER = com.intelligence.galaxy;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = com.dev.profile;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_OBJC_BRIDGING_HEADER = "$(SRCROOT)/$(TARGET_NAME)/Res/galaxy-Bridge-Header.h";
SWIFT_VERSION = 5.0;
......
......@@ -138,8 +138,9 @@ extension YHButlerServiceManager {
if !jsonObject.isEmpty {
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 orderID > -1,type > -1 {
YHServiceOrderListView.jumpToMessageController(type: type, orderId: orderID)
YHServiceOrderListView.jumpToMessageController(type: type, orderId: orderID, batchId)
return QYLinkClickActionPolicy.cancel
}
} else {
......
......@@ -39,11 +39,23 @@ class YHHKEventWebViewController: YHBaseViewController {
extension YHHKEventWebViewController {
func loadData() {
guard let urlString = model.list.first else { return }
let url = NSURL(string: urlString)
// 创建请求
let request = NSURLRequest(url: url! as URL)
// 加载请求
self.webview.load(request as URLRequest)
// let url = NSURL(string: urlString)
// // 创建请求
// let request = NSURLRequest(url: url! as URL)
// // 加载请求
// 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("日历") {
picUrl = urlString
......
......@@ -113,12 +113,18 @@ class YHHomeWebViewController: YHBaseViewController, WKUIDelegate, WKNavigationD
api.delegate = self
webview.addJavascriptObject(api, namespace: nil)
// 创建网址
let url = NSURL(string: url)
// 创建请求
let request = NSURLRequest(url: url! as URL)
// 加载请求
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
self.view.addSubview(webview)
......
......@@ -102,11 +102,26 @@ private extension YHStatusAdvantageVC {
}
func reloadWebUrl() {
let url = NSURL(string: url)
// 创建请求
let request = NSURLRequest(url: url! as URL)
// let url = NSURL(string: 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() {
......
......@@ -25,7 +25,8 @@ class YHBannerModel: SmartCodable {
//分享相关参数
var is_share_h5_flag : Bool = false
var addtition_param : YHBannerAdditionModel?
//是否为双11活动
var is_double_11_flag : Bool = false
required init() {
}
......
......@@ -22,6 +22,7 @@ class YHConfigModel : SmartCodable {
var suggest_updating_msg: String = ""
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() {
}
......
......@@ -135,7 +135,7 @@ extension YHHomeBannerView: FSPagerViewDataSource, FSPagerViewDelegate {
if model.skip_url.isEmpty == false {
switch model.skip_type {
case 1: //跳转H5
// var url = "http://192.168.23.66:10300/superAppBridge.html#/schoolEvaluation"//建明的本机IP
var url = ""
if YHLoginManager.shared.isLogin() {
let token = YHLoginManager.shared.h5Token
......@@ -151,6 +151,11 @@ extension YHHomeBannerView: FSPagerViewDataSource, FSPagerViewDelegate {
let vc = YHH5WebViewVC()
vc.url = url
vc.isFullScreenFlag = false
if model.is_double_11_flag {
vc.isHideNavigationBar = true
}
if model.is_share_h5_flag {
if let tModel = model.addtition_param {
......
......@@ -223,6 +223,8 @@ class YHServiceOrderListView: YHBaseViewController {
} else if type == 35 {
//查看续签结果
let vc = YHLookResignResultViewController()
vc.orderId = orderId
vc.batchId = stepId
UIViewController.current?.navigationController?.pushViewController(vc)
} else if type == 36 {
//续签补件
......
......@@ -32,8 +32,11 @@ extension YHPrincleViewModel {
//获取获批信列表
func getApprovalLetter(param:[String : Any],callback:((_ success: Bool,_ error:YHErrorModel?)->())?) {
YHHUD.show(.progress(message: ""))
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Principle.getApprovalLetterApi
let _ = YHNetRequest.getRequest(url: strUrl,params: param) { [weak self] json, code in
YHHUD.hide()
//1. json字符串 转 对象
guard let self = self else { return }
printLog("model 是 ==> \(json)")
......
......@@ -14,8 +14,8 @@ class YHLookResignResultViewController: YHBaseViewController {
// 批次id
var batchId: Int = 0
var state = 2
lazy var viewModel: YHResignUploadDocListViewModel = {
let vm = YHResignUploadDocListViewModel()
lazy var viewModel: YHLookResignResultViewModel = {
let vm = YHLookResignResultViewModel()
return vm
}()
......@@ -72,27 +72,40 @@ class YHLookResignResultViewController: YHBaseViewController {
override func viewDidLoad() {
super.viewDidLoad()
setupUI()
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
loadData()
}
@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 {
func loadData() {
// viewModel.getUploadDocProgress(orderID: orderId, stepID: batchId) {[weak self] success, err in
// guard let self = self else { return }
// viewModel.getUploadDocList(orderID: orderId, stepID: batchId) {[weak self] success, err in
// guard let self = self else { return }
// self.tableView.reloadData()
// }
// }
viewModel.getRenewalResult(batchId) {[weak self] success, error in
guard let self = self else { return }
if self.viewModel.dataModel.status == 1 || self.viewModel.dataModel.status == 2 {
state = 0
} else if self.viewModel.dataModel.status == 2 {
state = 1
} else {
state = 2
}
self.updateView()
self.tableView.reloadData()
}
}
......@@ -121,7 +134,9 @@ private extension YHLookResignResultViewController {
}
tableView.tableHeaderView = headView
}
func updateView() {
if state == 0 {
bottomView.isHidden = true
tableView.snp.remakeConstraints { make in
......@@ -155,6 +170,7 @@ private extension YHLookResignResultViewController {
make.right.equalTo(0)
}
}
headView.dataSource = self.viewModel.dataModel
}
func convertNumberToChineseText(_ number: Int) -> String {
......@@ -170,7 +186,7 @@ extension YHLookResignResultViewController: UITableViewDelegate, UITableViewData
func numberOfSections(in tableView: UITableView) -> Int {
if state == 0 {
return 3
return self.viewModel.dataModel.data.data.count
} else if state == 1 {
return 1
} else {
......@@ -183,7 +199,7 @@ extension YHLookResignResultViewController: UITableViewDelegate, UITableViewData
if section == 1 {
return 1
}
return 2
return self.viewModel.dataModel.data.data.count
}
return 1
}
......@@ -192,20 +208,27 @@ extension YHLookResignResultViewController: UITableViewDelegate, UITableViewData
if state == 0 {
let approveCell = tableView.dequeueReusableCell(withIdentifier: YHLookResignResultStateOneTableViewCell.cellReuseIdentifier, for: indexPath) as! YHLookResignResultStateOneTableViewCell
approveCell.title = "第" + convertNumberToChineseText(indexPath.section + 1) + "批"
approveCell.dataSource = self.viewModel.dataModel.data.data[indexPath.section]
return approveCell
} else if state == 1 {
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
} else {
if indexPath.section == 0 {
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
} else {
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
}
}
......@@ -216,16 +239,18 @@ extension YHLookResignResultViewController: UITableViewDelegate, UITableViewData
return 140
}
if state == 1 {
// return 258
let number = (6 - 1) / 2
return CGFloat(208 + 116 * number)
return 258
// let number = (6 - 1) / 2
// return CGFloat(208 + 116 * number)
}
if indexPath.section == 0 {
return 126
}
// return 242
let number = (6 - 1) / 2
if self.viewModel.dataModel.data.letters.count == 1 {
return 242
}
let number = (self.viewModel.dataModel.data.letters.count - 1) / 2
return CGFloat(192 + 116 * number)
}
......@@ -253,3 +278,28 @@ extension YHLookResignResultViewController: UITableViewDelegate, UITableViewData
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 {
}
}
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) {
super.init(frame: frame)
setUpView()
......
......@@ -50,11 +50,7 @@ class YHLookResignResultPrivateView: UIView {
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 {
// 跳转引导
YHLookResignAlertView.show { [weak self] in
guard let self = self else { return }
self.agreeButton.isSelected = true
self.isAgree = self.agreeButton.isSelected
}
self.alert()
})
let e = ASAttributedString.init(",请勿在香港境外点击缴费链接", .font(UIFont.PFSC_M(ofSize:13)), .foreground(UIColor.mainTextColor50))
label.attributed.text = a+c+e
......@@ -77,4 +73,11 @@ class YHLookResignResultPrivateView: UIView {
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 {
titleLabel.text = title
}
}
var dataSource: [YHResignUploadDocModel]? {
var dataSource: YHLookResignResultDataDataModel? {
didSet {
updateAllViews()
}
}
lazy var previewFileTool:YHFilePreviewTool = {
let tool = YHFilePreviewTool(targetVC: UIViewController.current)
return tool
}()
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
......@@ -163,7 +169,31 @@ class YHLookResignResultStateOneTableViewCell: UITableViewCell {
}
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 {
titleLabel.text = title
}
}
var dataSource: [YHResignUploadDocModel]? {
var dataSource: YHLookResignResultDataDataModel? {
didSet {
updateAllViews()
}
......@@ -154,7 +154,7 @@ class YHLookResignResultStateThreePeopleTableViewCell: UITableViewCell {
make.right.equalTo(-16)
}
peopleValueLabel = {
docValueLabel = {
let label = UILabel()
label.textColor = UIColor.mainTextColor50
label.font = UIFont.PFSC_M(ofSize: 14)
......@@ -162,8 +162,8 @@ class YHLookResignResultStateThreePeopleTableViewCell: UITableViewCell {
label.textAlignment = .right
return label
}()
centerView.addSubview(peopleValueLabel)
peopleValueLabel.snp.makeConstraints { make in
centerView.addSubview(docValueLabel)
docValueLabel.snp.makeConstraints { make in
make.left.equalTo(16)
make.top.equalTo(84)
make.height.equalTo(20)
......@@ -173,7 +173,20 @@ class YHLookResignResultStateThreePeopleTableViewCell: UITableViewCell {
}
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 {
var flagImageView: UIImageView!
var flagLabel: UILabel!
var mainItemView: UIView!
var dataSource: [Int]? {
var state: Int = 0
var dataSource: [YHLookResignResultDataLettersModel]? {
didSet {
updateAllViews()
}
......@@ -115,6 +115,8 @@ class YHLookResignResultStateThreeTableViewCell: UITableViewCell {
mainItemView.removeSubviews()
if dataSource.count == 1 {
let view = YHLookResignResultItemView(frame: .zero)
view.state = state
view.dataSource = dataSource.first
mainItemView.addSubview(view)
view.snp.makeConstraints { make in
make.centerX.equalToSuperview()
......@@ -128,6 +130,8 @@ class YHLookResignResultStateThreeTableViewCell: UITableViewCell {
let y: Int = count / 2
let x: Int = count % 2
let view = YHLookResignResultItemView(frame: .zero)
view.state = state
view.dataSource = item
mainItemView.addSubview(view)
view.snp.makeConstraints { make in
if x == 0 {
......
......@@ -19,8 +19,8 @@ class YHLookResignResultStateTwoTableViewCell: UITableViewCell {
var flagImageView: UIImageView!
var flagLabel: UILabel!
var mainItemView: UIView!
var dataSource: [Int]? {
var state: Int = 0
var dataSource: [YHLookResignResultDataLettersModel]? {
didSet {
updateAllViews()
}
......@@ -117,6 +117,8 @@ class YHLookResignResultStateTwoTableViewCell: UITableViewCell {
mainItemView.removeSubviews()
if dataSource.count == 1 {
let view = YHLookResignResultItemView(frame: .zero)
view.state = state
view.dataSource = dataSource.first
mainItemView.addSubview(view)
view.snp.makeConstraints { make in
make.centerX.equalToSuperview()
......@@ -130,6 +132,8 @@ class YHLookResignResultStateTwoTableViewCell: UITableViewCell {
let y: Int = count / 2
let x: Int = count % 2
let view = YHLookResignResultItemView(frame: .zero)
view.state = state
view.dataSource = dataSource.first
mainItemView.addSubview(view)
view.snp.makeConstraints { make in
if x == 0 {
......@@ -148,12 +152,40 @@ class YHLookResignResultStateTwoTableViewCell: UITableViewCell {
}
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!
lazy var previewFileTool:YHFilePreviewTool = {
let tool = YHFilePreviewTool(targetVC: UIViewController.current)
return tool
}()
override init(frame: CGRect) {
super.init(frame:frame)
self.isUserInteractionEnabled = true
createUI()
let tap = UITapGestureRecognizer(target: self, action: #selector(handleTap))
tap.delegate = self
addGestureRecognizer(tap)
}
required init?(coder: NSCoder) {
......@@ -181,5 +213,21 @@ class YHLookResignResultItemView: UIImageView {
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 {
button.setTitle("下一步,去查看续签总结", for: .disabled)
button.setTitleColor(UIColor.white, for: .normal)
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.clipsToBounds = true
button.addTarget(self, action: #selector(clickNextBtn), for: .touchUpInside)
button.backgroundColor = UIColor.brandMainColor
return button
}()
......@@ -84,15 +85,13 @@ private extension YHResignUploadTravelCardListViewController {
func loadData() {
let params: [String : Any] = ["order_id": orderId]
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
YHHUD.hide()
guard let self = self else { return }
if success {
if self.viewModel.arrTravelDocs.is_report_redirect {
rewardBtn.isEnabled = true
} else {
rewardBtn.isEnabled = false
}
self.tableView.reloadData()
})
......@@ -131,7 +130,7 @@ private extension YHResignUploadTravelCardListViewController {
extension YHResignUploadTravelCardListViewController: UITableViewDelegate, UITableViewDataSource {
func numberOfSections(in tableView: UITableView) -> Int {
return viewModel.arrTravelDocs.count
return viewModel.arrTravelDocs.list.count
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
......@@ -140,7 +139,7 @@ extension YHResignUploadTravelCardListViewController: UITableViewDelegate, UITab
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
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
}
......@@ -149,7 +148,7 @@ extension YHResignUploadTravelCardListViewController: UITableViewDelegate, UITab
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let model = viewModel.arrTravelDocs[indexPath.section]
let model = viewModel.arrTravelDocs.list[indexPath.section]
if model.status == 2 {
return
} else {
......
......@@ -15,7 +15,7 @@ class YHResignUploadTravelHKViewController: YHBaseViewController {
let vm = YHResignUploadTravelCardDetailViewModel()
return vm
}()
var fatherData: YHResignUploadTravelCardListModel = YHResignUploadTravelCardListModel()
var fatherData: YHResignUploadTravelCardListDetailModel = YHResignUploadTravelCardListDetailModel()
//上个界面传递过来的数据对象
var dataModel : YHResignUploadTravelCardDetailModel = YHResignUploadTravelCardDetailModel()
var orderId: Int = 0
......
......@@ -16,7 +16,7 @@ class YHResignUploadTravelPassportViewController: YHBaseViewController {
return vm
}()
var fatherData: YHResignUploadTravelCardListModel = YHResignUploadTravelCardListModel()
var fatherData: YHResignUploadTravelCardListDetailModel = YHResignUploadTravelCardListDetailModel()
//上个界面传递过来的数据对象
var dataModel : YHResignUploadTravelCardDetailModel = YHResignUploadTravelCardDetailModel()
var orderId: Int = 0
......
......@@ -10,6 +10,15 @@ import UIKit
import SmartCodable
class YHResignUploadTravelCardListModel: SmartCodable {
var is_report_redirect: Bool = false
var list : [YHResignUploadTravelCardListDetailModel] = []
required init() {
}
}
class YHResignUploadTravelCardListDetailModel: SmartCodable {
var id : Int = -1//用户id
var name : String = ""//用户姓名
var type : String = ""//用户类型
......
......@@ -13,7 +13,7 @@ class YHResignUploadTravelCardListTableViewCell: UITableViewCell {
static let cellReuseIdentifier = "YHResignUploadTravelCardListTableViewCell"
static let cellH : CGFloat = 70
var dataModel : YHResignUploadTravelCardListModel? {
var dataModel : YHResignUploadTravelCardListDetailModel? {
didSet {
updataUI()
}
......
......@@ -11,7 +11,7 @@ import UIKit
class YHResignUploadTravelCardViewModel: YHBaseViewModel {
//列表信息
var arrTravelDocs : [YHResignUploadTravelCardListModel] = []
var arrTravelDocs : YHResignUploadTravelCardListModel = YHResignUploadTravelCardListModel()
//旅行证件嫌弃
var travelDetailModel : YHTravelDocsPreparationDetailModel?
......@@ -31,13 +31,13 @@ extension YHResignUploadTravelCardViewModel {
printLog("model 是 ==> \(json)")
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())
self.arrTravelDocs = []
self.travelDetailModel = nil
callBackBlock(false, err)
return
}
self.arrTravelDocs = list
self.arrTravelDocs = resultModel
callBackBlock(true, nil)
} else {
......
......@@ -17,11 +17,14 @@ import Photos
class YHH5WebViewVC: YHBaseViewController, WKUIDelegate, WKNavigationDelegate {
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.navigationDelegate = self
webview.scrollView.delegate = self
webview.setDebugMode(false)
return webview
}()
......@@ -73,7 +76,6 @@ class YHH5WebViewVC: YHBaseViewController, WKUIDelegate, WKNavigationDelegate {
//分享到H5的情况
var shareH5Title : String = "20秒极速测分"
var shareH5Describe : String = "您的朋友邀请您进行香港优才测评,来试试吧"
//外部传进来的分享链接
var shareUrlFromOutside : String?
......@@ -88,16 +90,12 @@ class YHH5WebViewVC: YHBaseViewController, WKUIDelegate, WKNavigationDelegate {
//UI元素的控制变量 如下
//1、底部分享view
// var isWithBottomViewFlag : Bool = false
// lazy var shareView: YHShareViewOnTablebarView = {
// let view = YHShareViewOnTablebarView()
// return view
// }()
//2、是否通屏展示- 默认通屏(导航栏透明)
var isFullScreenFlag : Bool = true
//2.1、是否隐藏导航栏
var isHideNavigationBar : Bool = false
//3、右上角分享按钮
var isShowRightShareItemFlag : Bool = false
......@@ -123,12 +121,42 @@ class YHH5WebViewVC: YHBaseViewController, WKUIDelegate, WKNavigationDelegate {
// MARK: - 内部方法
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() {
if isNeedRefreshDataFlag {
let url = NSURL(string: url)
let request = NSURLRequest(url: url! as URL)
webview.load(request as URLRequest)
if let url = NSURL(string: url) as? URL {
let request = NSURLRequest(url: url)
webview.load(request as URLRequest)
}
}
}
......@@ -155,49 +183,43 @@ private extension YHH5WebViewVC {
//默认白色返回按钮
gk_backImage = myDefaultBackImage
if isHideNavigationBar {
// gk_navBarAlpha = 0.0
isFullScreenFlag = true //导航栏隐藏的情况下强制通屏
} else {
}
gk_navigationBar.isHidden = isHideNavigationBar
if isFullScreenFlag {
gk_navBarAlpha = 0.0
} else {
gk_navTitle = navTitle
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
// 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
let api = YHJsApi()
api.delegate = self
webview.addJavascriptObject(api, namespace: nil)
let url = NSURL(string: url)
let request = NSURLRequest(url: url! as URL)
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: 有问题")
}
}
view.addSubview(webview)
if isFullScreenFlag {
......@@ -343,17 +365,52 @@ extension YHH5WebViewVC {
// MARK: - h5实现的接口
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) {
if tag.contains("1") {
//支持
isFullScreenFlag = true
} else {
//不支持
isFullScreenFlag = false
}
webview.snp.removeConstraints()
......
......@@ -8,6 +8,7 @@
import Foundation
import UIKit
import SafariServices
typealias JSCallback = (String, Bool)->Void
typealias JSDicCallback = ([String : Any],Bool)->Void
......@@ -17,6 +18,84 @@ class YHJsApi: NSObject {
}
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、是否支持通屏
@objc func supportFullScreenSyn(_ tag : Any) {
......
......@@ -7,7 +7,7 @@
//
import UIKit
import WebKit
@preconcurrency import WebKit
class YHWebViewViewController: YHBaseViewController, WKUIDelegate, WKNavigationDelegate {
......@@ -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.navigationDelegate = self
// 创建网址
let url = NSURL(string: url)
// 创建请求
let request = NSURLRequest(url: url! as URL)
// 加载请求
webview.load(request as URLRequest)
// // 创建网址
// let url = NSURL(string: url)
// // 创建请求
// let request = NSURLRequest(url: url! as URL)
// // 加载请求
// 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
self.view.addSubview(webview)
......
......@@ -33,6 +33,7 @@ enum YHPersonalModuleItemType: Int {
case version
case userItems//用户条款
case privaceAgreement//隐私协议
case myOrder //我的订单 双十一订单入口
}
class PersonalModuleItem {
......@@ -280,6 +281,11 @@ class YHMyViewController: YHBaseViewController, ConstraintRelatableTarget {
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 {
let item = PersonalModuleItem(icon: "mine_item_msg", title: "我的消息".local, type:.myMessage)
items.append(item)
......@@ -292,6 +298,8 @@ class YHMyViewController: YHBaseViewController, ConstraintRelatableTarget {
}
}
if YHUatHelper.shared.getUatModuleStatusBy(module: .Mine_EvaluationCode) == 1 {
let item = PersonalModuleItem(icon: "mine_item_code", title: "我的测评码".local, type:.myTestCode)
items.append(item)
......@@ -399,32 +407,19 @@ extension YHMyViewController : UITableViewDelegate, UITableViewDataSource {
case .aboutUs:
let vc = YHAboutGalaxyViewController()
self.navigationController?.pushViewController(vc)
// let view = YHRangeDatePickerSheetView.sheetView()
// view.block = {
// [weak self] (startDate,endDate) in
// guard let self = self else { return }
//
// printLog(startDate)
// printLog(endDate)
// }
// view.show() //for test hjl
// 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
case .myOrder:
//我的订单
if let token = YHLoginManager.shared.userModel?.token,token.count > 5 {
var url = YHBaseUrlManager.shared.curH5URL() + "superAppBridge.html#/order/my"
url = "?param=" + YHLoginManager.shared.h5Token
printLog("URL: \(url)")
let vc = YHH5WebViewVC()
vc.url = url
vc.isFullScreenFlag = false
vc.navTitle = "我的订单"
vc.isSupportWebviewInterBackFlag = true
UIViewController.current?.navigationController?.pushViewController(vc)
}
default:
printLog("不需要响应")
}
......
......@@ -610,4 +610,10 @@ class YHAllApiName {
static let detail = "super-app/renewal/travel-cert-detail"
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