Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
galaxy-iOS
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
mobile-group
galaxy-iOS
Commits
898b81c6
Commit
898b81c6
authored
Aug 21, 2024
by
David黄金龙
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
处理电子签证 接口
parent
e66c0eb5
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
326 additions
and
88 deletions
+326
-88
project.pbxproj
galaxy/galaxy.xcodeproj/project.pbxproj
+40
-0
YHInvatationShareViewController.swift
...onWithGifts(邀请有礼)/C/YHInvatationShareViewController.swift
+21
-21
YHVisaPaymentVC.swift
...ificate(办证段)/VisaPayment(4电子签字缴费)/C/YHVisaPaymentVC.swift
+24
-4
YHVisaPaymentListModel.swift
...(办证段)/VisaPayment(4电子签字缴费)/M/YHVisaPaymentListModel.swift
+42
-0
YHPayMemberContentItems.swift
...办证段)/VisaPayment(4电子签字缴费)/V/YHPayMemberContentItems.swift
+24
-9
YHPayMemberItemsView.swift
...te(办证段)/VisaPayment(4电子签字缴费)/V/YHPayMemberItemsView.swift
+18
-8
YHPayMemberSectionItem.swift
...(办证段)/VisaPayment(4电子签字缴费)/V/YHPayMemberSectionItem.swift
+16
-4
YHPayMembersCell.swift
...ficate(办证段)/VisaPayment(4电子签字缴费)/V/YHPayMembersCell.swift
+14
-13
YHVisaPayTypeCell.swift
...icate(办证段)/VisaPayment(4电子签字缴费)/V/YHVisaPayTypeCell.swift
+58
-29
YHUploadCertificateViewModel.swift
...isaPayment(4电子签字缴费)/VM/YHUploadCertificateViewModel.swift
+41
-0
String+Extension.swift
galaxy/galaxy/Classes/Tools/Extention/String+Extension.swift
+23
-0
YHAllApiName.swift
galaxy/galaxy/Classes/Tools/NetWork/YHAllApiName.swift
+5
-0
No files found.
galaxy/galaxy.xcodeproj/project.pbxproj
View file @
898b81c6
...
...
@@ -655,6 +655,8 @@
A5CA3F582C749E0100EB22F5
/* YHUploadCertificateDateItem.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
A5CA3F572C749E0100EB22F5
/* YHUploadCertificateDateItem.swift */
;
};
A5CA3F5A2C74B64A00EB22F5
/* YHSmallWhiteNoteTemplateView.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
A5CA3F592C74B64A00EB22F5
/* YHSmallWhiteNoteTemplateView.swift */
;
};
A5CA3F5C2C74C4C200EB22F5
/* YHHKCardTemplateView.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
A5CA3F5B2C74C4C200EB22F5
/* YHHKCardTemplateView.swift */
;
};
A5CA3F5F2C74D59B00EB22F5
/* YHUploadCertificateViewModel.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
A5CA3F5E2C74D59B00EB22F5
/* YHUploadCertificateViewModel.swift */
;
};
A5CA3F622C74D8BD00EB22F5
/* YHVisaPaymentListModel.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
A5CA3F612C74D8BD00EB22F5
/* YHVisaPaymentListModel.swift */
;
};
A5D001212BAA9D99001F003C
/* YHChoiceButtonHoldView.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
A5D001202BAA9D99001F003C
/* YHChoiceButtonHoldView.swift */
;
};
A5D0012A2BABC84A001F003C
/* YHFileListHeaerView.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
A5D001272BABC84A001F003C
/* YHFileListHeaerView.swift */
;
};
A5D0012C2BABC84A001F003C
/* YHFileListBottomView.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
A5D001292BABC84A001F003C
/* YHFileListBottomView.swift */
;
};
...
...
@@ -1387,6 +1389,8 @@
A5CA3F572C749E0100EB22F5
/* YHUploadCertificateDateItem.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHUploadCertificateDateItem.swift
;
sourceTree
=
"<group>"
;
};
A5CA3F592C74B64A00EB22F5
/* YHSmallWhiteNoteTemplateView.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHSmallWhiteNoteTemplateView.swift
;
sourceTree
=
"<group>"
;
};
A5CA3F5B2C74C4C200EB22F5
/* YHHKCardTemplateView.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHHKCardTemplateView.swift
;
sourceTree
=
"<group>"
;
};
A5CA3F5E2C74D59B00EB22F5
/* YHUploadCertificateViewModel.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHUploadCertificateViewModel.swift
;
sourceTree
=
"<group>"
;
};
A5CA3F612C74D8BD00EB22F5
/* YHVisaPaymentListModel.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHVisaPaymentListModel.swift
;
sourceTree
=
"<group>"
;
};
A5D001202BAA9D99001F003C
/* YHChoiceButtonHoldView.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHChoiceButtonHoldView.swift
;
sourceTree
=
"<group>"
;
};
A5D001272BABC84A001F003C
/* YHFileListHeaerView.swift */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHFileListHeaerView.swift
;
sourceTree
=
"<group>"
;
};
A5D001292BABC84A001F003C
/* YHFileListBottomView.swift */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHFileListBottomView.swift
;
sourceTree
=
"<group>"
;
};
...
...
@@ -3246,6 +3250,8 @@
A57BFDE02C732A4700A78E51
/* VisaPayment(4电子签字缴费) */
=
{
isa
=
PBXGroup
;
children
=
(
A5CA3F642C7586C500EB22F5
/* M */
,
A5CA3F632C7586BE00EB22F5
/* VM */
,
A57BFDE22C732AA700A78E51
/* V */
,
A57BFDE12C732A8300A78E51
/* C */
,
);
...
...
@@ -3647,6 +3653,8 @@
A5CA3F4C2C74471C00EB22F5
/* UploadCertificate(7上传过关证件) */
=
{
isa
=
PBXGroup
;
children
=
(
A5CA3F602C74D89500EB22F5
/* M */
,
A5CA3F5D2C74D56E00EB22F5
/* VM */
,
A5CA3F4E2C7447C700EB22F5
/* V */
,
A5CA3F4D2C7447BB00EB22F5
/* C */
,
);
...
...
@@ -3674,6 +3682,36 @@
path
=
V
;
sourceTree
=
"<group>"
;
};
A5CA3F5D2C74D56E00EB22F5
/* VM */
=
{
isa
=
PBXGroup
;
children
=
(
);
path
=
VM
;
sourceTree
=
"<group>"
;
};
A5CA3F602C74D89500EB22F5
/* M */
=
{
isa
=
PBXGroup
;
children
=
(
);
path
=
M
;
sourceTree
=
"<group>"
;
};
A5CA3F632C7586BE00EB22F5
/* VM */
=
{
isa
=
PBXGroup
;
children
=
(
A5CA3F5E2C74D59B00EB22F5
/* YHUploadCertificateViewModel.swift */
,
);
path
=
VM
;
sourceTree
=
"<group>"
;
};
A5CA3F642C7586C500EB22F5
/* M */
=
{
isa
=
PBXGroup
;
children
=
(
A5CA3F612C74D8BD00EB22F5
/* YHVisaPaymentListModel.swift */
,
);
path
=
M
;
sourceTree
=
"<group>"
;
};
A5D001262BABC84A001F003C
/* V */
=
{
isa
=
PBXGroup
;
children
=
(
...
...
@@ -4171,6 +4209,7 @@
045EEE992B9F171A0022A143
/* YHPreviewInfoHoldView.swift in Sources */
,
045EEE7E2B9F171A0022A143
/* YHPersonInfoCellModel1.swift in Sources */
,
047AA3DD2C4A6126009C4554
/* YHLifeViewController.swift in Sources */
,
A5CA3F5F2C74D59B00EB22F5
/* YHUploadCertificateViewModel.swift in Sources */
,
04FD856C2C2153F000BEF9C5
/* YHMyEducationCell.swift in Sources */
,
A5DE0D3C2BB9016200976FE1
/* YHEmailInputAlertView.swift in Sources */
,
04256DE42C72E3FA00A37BA4
/* YHInfoItemOptionView.swift in Sources */
,
...
...
@@ -4527,6 +4566,7 @@
043BA8752C241B38006EF02D
/* YHAddFriendCardCell.swift in Sources */
,
A5C382CF2B5F9A9100C5E65C
/* YHServiceCenterMainViewModel.swift in Sources */
,
045EEEA52B9F171A0022A143
/* YHImageViewController.swift in Sources */
,
A5CA3F622C74D8BD00EB22F5
/* YHVisaPaymentListModel.swift in Sources */
,
045EEEF32B9F171A0022A143
/* YHFamilyMemberInfoListVC.swift in Sources */
,
F8BAADA52C4FCE9C0074D6C3
/* YHUatHelperViewModel.swift in Sources */
,
0445E6B42BEA15C4003C52F9
/* YHAppVersionManager.swift in Sources */
,
...
...
galaxy/galaxy/Classes/Modules/Home(首页)/InvitationWithGifts(邀请有礼)/C/YHInvatationShareViewController.swift
View file @
898b81c6
...
...
@@ -301,32 +301,32 @@ class YHShareOneCollectionViewCell: UICollectionViewCell {
make
.
center
.
equalToSuperview
()
make
.
width
.
height
.
equalTo
(
17
)
}
if
let
qrCode
=
generateQRCode
(
from
:
YHBaseUrlManager
.
shared
.
curH5URL
()
+
"superAppBridge.html#/evaluation?channel=lkhtj-app&customer_id=
\(
YHLoginManager
.
shared
.
userModel
?
.
id
??
""
)
&scene_id=30"
)
{
let
qrString
=
YHBaseUrlManager
.
shared
.
curH5URL
()
+
"superAppBridge.html#/evaluation?channel=lkhtj-app&customer_id=
\(
YHLoginManager
.
shared
.
userModel
?
.
id
??
""
)
&scene_id=30"
if
let
qrCode
=
qrString
.
generateQRCode
(
)
{
// 可以将qrCode设置为UIImageView的image属性来显示二维码
imageView
.
image
=
qrCode
}
}
func
generateQRCode
(
from
string
:
String
)
->
UIImage
?
{
guard
let
data
=
string
.
data
(
using
:
.
ascii
,
allowLossyConversion
:
false
)
else
{
return
nil
}
let
filter
=
CIFilter
(
name
:
"CIQRCodeGenerator"
)
filter
?
.
setValue
(
data
,
forKey
:
"inputMessage"
)
guard
let
outputImage
=
filter
?
.
outputImage
else
{
return
nil
}
let
context
=
CIContext
()
if
let
cgImage
=
context
.
createCGImage
(
outputImage
,
from
:
outputImage
.
extent
)
{
return
UIImage
(
cgImage
:
cgImage
)
}
return
nil
}
//
func generateQRCode(from string: String) -> UIImage? {
//
guard let data = string.data(using: .ascii, allowLossyConversion: false) else {
//
return nil
//
}
//
//
let filter = CIFilter(name: "CIQRCodeGenerator")
//
filter?.setValue(data, forKey: "inputMessage")
//
//
guard let outputImage = filter?.outputImage else {
//
return nil
//
}
//
//
let context = CIContext()
//
if let cgImage = context.createCGImage(outputImage, from: outputImage.extent) {
//
return UIImage(cgImage: cgImage)
//
}
//
//
return nil
//
}
}
class
YHShareTwoCollectionViewCell
:
UICollectionViewCell
{
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/CustomerService/Certificate(办证段)/VisaPayment(4电子签字缴费)/C/YHVisaPaymentVC.swift
View file @
898b81c6
...
...
@@ -9,8 +9,12 @@
import
UIKit
class
YHVisaPaymentVC
:
YHBaseViewController
{
var
items
:
[
String
]
=
[
"1"
,
"1"
,
"1"
]
//for test hjl
let
items
:
[
String
]
=
[
"1"
,
"2"
,
"3"
]
lazy
var
viewModel
:
YHVisaPaymentViewModel
=
{
let
vm
=
YHVisaPaymentViewModel
()
return
vm
}()
lazy
var
tableView
:
UITableView
=
{
let
tableView
=
UITableView
(
frame
:
.
zero
,
style
:
.
grouped
)
...
...
@@ -63,10 +67,24 @@ class YHVisaPaymentVC: YHBaseViewController {
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
setupUI
()
loadData
()
}
}
private
extension
YHVisaPaymentVC
{
func
loadData
()
{
let
params
:
[
String
:
Any
]
=
[
"order_id"
:
133874
]
viewModel
.
getVisaPaymentList
(
params
)
{
success
,
error
in
if
success
{
}
else
{
}
self
.
tableView
.
reloadData
()
}
}
func
setupUI
()
{
gk_navTitle
=
"签证缴费"
gk_navBarAlpha
=
1.0
...
...
@@ -117,11 +135,13 @@ extension YHVisaPaymentVC: UITableViewDelegate, UITableViewDataSource {
let
warningCell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHVisaPaymentTipsCell
.
cellReuseIdentifier
,
for
:
indexPath
)
return
warningCell
}
else
if
indexPath
.
section
==
1
{
let
approveCell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHVisaPayTypeCell
.
cellReuseIdentifier
,
for
:
indexPath
)
let
approveCell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHVisaPayTypeCell
.
cellReuseIdentifier
,
for
:
indexPath
)
as!
YHVisaPayTypeCell
approveCell
.
dataModel
=
self
.
viewModel
.
visaPaymentData
return
approveCell
}
else
if
indexPath
.
section
==
2
{
let
approveCell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHPayMembersCell
.
cellReuseIdentifier
,
for
:
indexPath
)
let
approveCell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHPayMembersCell
.
cellReuseIdentifier
,
for
:
indexPath
)
as!
YHPayMembersCell
approveCell
.
dataModel
=
self
.
viewModel
.
visaPaymentData
return
approveCell
}
else
{
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/CustomerService/Certificate(办证段)/VisaPayment(4电子签字缴费)/M/YHVisaPaymentListModel.swift
0 → 100644
View file @
898b81c6
//
// YHVisaPaymentListModel.swift
// galaxy
//
// Created by davidhuangA on 2024/8/20.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
import
SmartCodable
class
YHVisaPaymentListModel
:
SmartCodable
{
var
payment_url
:
String
=
""
//支付地址url
var
list
:
[
YHVisaPaymentModel
]
=
[]
required
init
()
{
}
}
class
YHVisaPaymentModel
:
SmartCodable
{
var
id
:
Int
=
-
1
//
var
type
:
String
=
""
//用户类型
var
name
:
String
=
""
//用户姓名
var
file_num
:
String
=
""
//档案号
var
approval_date
:
String
=
""
//获批日期
var
fee_hkd
:
Int
=
-
1
//缴费金额港币
var
fee_rmb
:
String
=
""
//缴费金额人民币
var
pay_status
:
Int
=
-
1
//支付状态 7-待缴费 8-已缴费 9-电子签证已过期
var
min_pay_time
:
String
=
""
//可缴费开始参考时间
var
max_pay_time
:
String
=
""
//可缴费结束参考时间
var
birthday
:
String
=
""
//生日
var
receipt
:
String
=
""
//电子签证地址
var
pay_time
:
String
=
""
// 缴费时间
var
want_min_time
:
String
=
""
//意向开始时间
var
want_max_time
:
String
=
""
//意向结束时间
var
go_time
:
String
=
""
// 实际赴港时间
required
init
()
{
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/CustomerService/Certificate(办证段)/VisaPayment(4电子签字缴费)/V/YHPayMemberContentItems.swift
View file @
898b81c6
...
...
@@ -8,6 +8,12 @@
import
UIKit
class
YHPayMemberContentItems
:
UIView
{
var
dataModel
:
YHVisaPaymentModel
?
{
didSet
{
updateUI
()
}
}
//用来自动布局
lazy
var
fakeView
:
UIView
=
{
let
view
=
UIView
()
...
...
@@ -49,7 +55,10 @@ private extension YHPayMemberContentItems {
extension
YHPayMemberContentItems
{
func
updateUI
(
type
:
Int
)
{
func
updateUI
()
{
guard
let
model
=
dataModel
else
{
return
}
whiteContentView
.
removeSubviews
()
removeSubviews
()
...
...
@@ -67,13 +76,13 @@ extension YHPayMemberContentItems {
make
.
top
.
equalTo
(
kMargin
)
make
.
left
.
right
.
equalToSuperview
()
}
item
.
updateUI
(
title
:
"档案号:"
,
detail
:
"TQEN-03709888-23"
,
showBtn
:
true
)
item
.
updateUI
(
title
:
"档案号:"
,
detail
:
model
.
file_num
,
showBtn
:
true
)
var
lastView
:
UIView
=
item
if
type
==
1
||
type
==
2
{
//支付状态 7-待缴费 8-已缴费 9-电子签证已过期
if
model
.
pay_status
==
7
||
model
.
pay_status
==
9
{
do
{
let
item
=
YHPayMemberContentItem
()
whiteContentView
.
addSubview
(
item
)
...
...
@@ -81,7 +90,7 @@ extension YHPayMemberContentItems {
make
.
top
.
equalTo
(
lastView
.
snp
.
bottom
)
.
offset
(
kMargin
)
make
.
left
.
right
.
equalToSuperview
()
}
item
.
updateUI
(
title
:
"可缴费时间段:"
,
detail
:
"
2023.10.1 - 2023.11.20
"
,
showBtn
:
false
)
item
.
updateUI
(
title
:
"可缴费时间段:"
,
detail
:
"
\(
model
.
min_pay_time
)
-
\(
model
.
max_pay_time
)
"
,
showBtn
:
false
)
lastView
=
item
}
...
...
@@ -93,11 +102,11 @@ extension YHPayMemberContentItems {
make
.
top
.
equalTo
(
lastView
.
snp
.
bottom
)
.
offset
(
kMargin
)
make
.
left
.
right
.
equalToSuperview
()
}
item
.
updateUI
(
title
:
"缴费金额:"
,
detail
:
"
230港币(≈211.89
人民币)"
,
showBtn
:
false
)
item
.
updateUI
(
title
:
"缴费金额:"
,
detail
:
"
\(
model
.
fee_hkd
)
港币(≈
\(
model
.
fee_rmb
)
人民币)"
,
showBtn
:
false
)
lastView
=
item
}
}
else
if
type
==
3
{
}
else
if
model
.
pay_status
==
8
{
do
{
let
item
=
YHPayMemberContentItem
()
...
...
@@ -106,7 +115,7 @@ extension YHPayMemberContentItems {
make
.
top
.
equalTo
(
lastView
.
snp
.
bottom
)
.
offset
(
kMargin
)
make
.
left
.
right
.
equalToSuperview
()
}
item
.
updateUI
(
title
:
"缴费金额:"
,
detail
:
"
230港币(≈211.89
人民币)"
,
showBtn
:
false
)
item
.
updateUI
(
title
:
"缴费金额:"
,
detail
:
"
\(
model
.
fee_hkd
)
港币(≈
\(
model
.
fee_rmb
)
人民币)"
,
showBtn
:
false
)
lastView
=
item
}
...
...
@@ -127,7 +136,13 @@ extension YHPayMemberContentItems {
make
.
top
.
equalTo
(
lastView
.
snp
.
bottom
)
.
offset
(
kMargin
)
make
.
left
.
right
.
equalToSuperview
()
}
item
.
updateUI
(
title
:
"缴费电子签证:"
,
detail
:
"Visa QMEN-0021813-22.pdf"
,
oneLine
:
false
,
showBtn
:
true
)
if
model
.
receipt
.
isEmpty
{
item
.
updateUI
(
title
:
"缴费电子签证:"
,
detail
:
"暂未查询到结果"
,
oneLine
:
false
,
showBtn
:
false
)
}
else
{
item
.
updateUI
(
title
:
"缴费电子签证:"
,
detail
:
model
.
receipt
,
oneLine
:
false
,
showBtn
:
true
)
}
lastView
=
item
}
}
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/CustomerService/Certificate(办证段)/VisaPayment(4电子签字缴费)/V/YHPayMemberItemsView.swift
View file @
898b81c6
...
...
@@ -11,6 +11,13 @@ import AttributedString
class
YHPayMemberItemsView
:
UIView
{
var
dataModel
:
YHVisaPaymentModel
?
{
didSet
{
updateUI
()
}
}
lazy
var
sectionItem
:
YHPayMemberSectionItem
=
{
let
view
=
YHPayMemberSectionItem
()
return
view
...
...
@@ -47,7 +54,10 @@ private extension YHPayMemberItemsView {
extension
YHPayMemberItemsView
{
func
updateUI
(
type
:
Int
=
1
)
{
func
updateUI
()
{
guard
let
model
=
dataModel
else
{
return
}
removeSubviews
()
addSubview
(
sectionItem
)
...
...
@@ -55,7 +65,7 @@ extension YHPayMemberItemsView {
make
.
top
.
left
.
right
.
equalToSuperview
()
make
.
height
.
equalTo
(
YHPayMemberSectionItem
.
viewH
)
}
sectionItem
.
updateUI
(
type
:
type
)
sectionItem
.
dataModel
=
model
addSubview
(
contentItems
)
...
...
@@ -64,7 +74,7 @@ extension YHPayMemberItemsView {
make
.
left
.
equalToSuperview
()
make
.
right
.
equalToSuperview
()
}
contentItems
.
updateUI
(
type
:
type
)
contentItems
.
dataModel
=
model
addSubview
(
lineView
)
lineView
.
snp
.
makeConstraints
{
make
in
...
...
@@ -73,10 +83,10 @@ extension YHPayMemberItemsView {
make
.
height
.
equalTo
(
1
)
make
.
bottom
.
equalToSuperview
()
}
if
type
==
3
{
lineView
.
isHidden
=
true
}
else
{
lineView
.
isHidden
=
false
}
//
if type == 3 {
//
lineView.isHidden = true
//
} else {
//
lineView.isHidden = false
//
}
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/CustomerService/Certificate(办证段)/VisaPayment(4电子签字缴费)/V/YHPayMemberSectionItem.swift
View file @
898b81c6
...
...
@@ -11,6 +11,12 @@ import UIKit
class
YHPayMemberSectionItem
:
UIView
{
static
let
viewH
:
CGFloat
=
22.0
var
dataModel
:
YHVisaPaymentModel
?
{
didSet
{
updateUI
()
}
}
lazy
var
tagView
:
UIView
=
{
let
view
=
UIView
()
view
.
backgroundColor
=
.
brandMainColor
...
...
@@ -76,20 +82,26 @@ private extension YHPayMemberSectionItem {
extension
YHPayMemberSectionItem
{
func
updateUI
(
type
:
Int
)
{
func
updateUI
()
{
guard
let
model
=
dataModel
else
{
return
}
var
txt
=
"待缴费"
var
color
:
UIColor
=
UIColor
.
failColor
if
type
==
1
{
//支付状态 7-待缴费 8-已缴费 9-电子签证已过期
if
model
.
pay_status
==
7
{
txt
=
"待缴费"
color
=
.
brandMainColor
}
else
if
type
==
2
{
}
else
if
model
.
pay_status
==
9
{
txt
=
"已过期"
color
=
.
failColor
}
else
if
type
==
3
{
}
else
if
model
.
pay_status
==
8
{
txt
=
"已缴费"
color
=
.
mainTextColor50
}
titleLabel
.
text
=
model
.
name
detailLabel
.
text
=
txt
detailLabel
.
textColor
=
color
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/CustomerService/Certificate(办证段)/VisaPayment(4电子签字缴费)/V/YHPayMembersCell.swift
View file @
898b81c6
...
...
@@ -13,6 +13,12 @@ class YHPayMembersCell: UITableViewCell {
static
let
cellReuseIdentifier
=
"YHPayMembersCell"
var
dataModel
:
YHVisaPaymentListModel
?
{
didSet
{
updataUI
()
}
}
lazy
var
whiteContentView
:
UIView
=
{
let
view
=
UIView
()
view
.
backgroundColor
=
.
white
...
...
@@ -107,32 +113,26 @@ private extension YHPayMembersCell {
make
.
bottom
.
equalToSuperview
()
}
updateUI
()
//for test hjl
}
}
private
extension
YHPayMembersCell
{
func
updateUI
()
{
func
updataUI
()
{
guard
let
model
=
dataModel
,
model
.
list
.
count
>
0
else
{
return
}
for
(
index
,
item
)
in
arrOtherView
.
enumerated
()
{
item
.
removeFromSuperview
()
}
arrOtherView
.
removeAll
()
//for test hjl
fakeView
.
snp
.
removeConstraints
()
let
arr
:
[
Int
]
=
[
1
,
2
,
3
]
//for test hjl
var
lastView
:
UIView
=
tipsLable
for
(
index
,
item
)
in
arr
.
enumerated
()
{
for
(
index
,
item
)
in
model
.
list
.
enumerated
()
{
let
view
=
YHPayMemberItemsView
()
whiteContentView
.
addSubview
(
view
)
view
.
snp
.
makeConstraints
{
make
in
...
...
@@ -140,7 +140,7 @@ private extension YHPayMembersCell {
make
.
left
.
equalTo
(
kMargin
)
make
.
right
.
equalToSuperview
()
.
offset
(
-
kMargin
)
}
view
.
updateUI
(
type
:
index
+
1
)
view
.
dataModel
=
item
lastView
=
view
arrOtherView
.
append
(
view
)
...
...
@@ -155,5 +155,6 @@ private extension YHPayMembersCell {
make
.
bottom
.
equalToSuperview
()
}
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/CustomerService/Certificate(办证段)/VisaPayment(4电子签字缴费)/V/YHVisaPayTypeCell.swift
View file @
898b81c6
...
...
@@ -14,6 +14,12 @@ class YHVisaPayTypeCell: UITableViewCell {
static
let
cellReuseIdentifier
=
"YHVisaPayTypeCell"
var
dataModel
:
YHVisaPaymentListModel
?
{
didSet
{
updataUI
()
}
}
lazy
var
whiteContentView
:
UIView
=
{
let
view
=
UIView
()
view
.
backgroundColor
=
.
white
...
...
@@ -24,6 +30,23 @@ class YHVisaPayTypeCell: UITableViewCell {
}()
lazy
var
linkLabel
:
UILabel
=
{
let
label
=
UILabel
()
label
.
numberOfLines
=
0
label
.
textColor
=
UIColor
.
brandMainColor
label
.
font
=
UIFont
.
PFSC_R
(
ofSize
:
12
)
let
linkTxt
:
String
=
"https://www.gov.hk/tc/residents/immigration/nonpermanent/onlinepaymentforevisa.htm"
return
label
}()
lazy
var
qrCodeImageView
:
UIImageView
=
{
let
qrCode
:
UIImageView
=
UIImageView
()
qrCode
.
contentMode
=
.
scaleAspectFill
qrCode
.
isUserInteractionEnabled
=
false
qrCode
.
addGestureRecognizer
(
longPress
)
return
qrCode
}()
/// 已添加的长按手势
private
lazy
var
longPress
:
UILongPressGestureRecognizer
=
{
...
...
@@ -45,6 +68,34 @@ class YHVisaPayTypeCell: UITableViewCell {
private
extension
YHVisaPayTypeCell
{
func
updataUI
()
{
guard
let
model
=
dataModel
else
{
return
}
let
linkTxt
:
String
=
model
.
payment_url
let
aa
:
ASAttributedString
=
.
init
(
NSAttributedString
(
string
:
linkTxt
),
.
font
(
UIFont
.
PFSC_R
(
ofSize
:
12
)),
.
foreground
(
UIColor
.
brandMainColor
),
.
underline
([
.
single
],
color
:
UIColor
.
brandMainColor
),
.
action
{
if
let
url
=
URL
(
string
:
linkTxt
)
{
if
UIApplication
.
shared
.
canOpenURL
(
url
)
{
UIApplication
.
shared
.
open
(
url
,
options
:
[:],
completionHandler
:
nil
)
}
else
{
// 显示一个提示,告知用户无法打开链接
print
(
"无法打开链接"
)
}
}
})
linkLabel
.
attributed
.
text
=
aa
let
qrString
=
linkTxt
if
let
qrCode
=
qrString
.
generateQRCode
()
{
// 可以将qrCode设置为UIImageView的image属性来显示二维码
self
.
qrCodeImageView
.
image
=
qrCode
self
.
qrCodeImageView
.
isUserInteractionEnabled
=
true
}
}
func
saveImage
(
_
image
:
UIImage
)
{
// 确保应用有权访问相册
PHPhotoLibrary
.
requestAuthorization
{
status
in
...
...
@@ -143,27 +194,8 @@ private extension YHVisaPayTypeCell {
let
link
=
UILabel
()
link
.
numberOfLines
=
0
link
.
textColor
=
UIColor
.
brandMainColor
link
.
font
=
UIFont
.
PFSC_R
(
ofSize
:
12
)
let
linkTxt
:
String
=
"https://www.gov.hk/tc/residents/immigration/nonpermanent/onlinepaymentforevisa.htm"
let
aa
:
ASAttributedString
=
.
init
(
NSAttributedString
(
string
:
linkTxt
),
.
font
(
UIFont
.
PFSC_R
(
ofSize
:
12
)),
.
foreground
(
UIColor
.
brandMainColor
),
.
underline
([
.
single
],
color
:
UIColor
.
brandMainColor
),
.
action
{
if
let
url
=
URL
(
string
:
linkTxt
)
{
if
UIApplication
.
shared
.
canOpenURL
(
url
)
{
UIApplication
.
shared
.
open
(
url
,
options
:
[:],
completionHandler
:
nil
)
}
else
{
// 显示一个提示,告知用户无法打开链接
print
(
"无法打开链接"
)
}
}
})
link
.
attributed
.
text
=
aa
holdView
.
addSubview
(
link
)
link
.
snp
.
makeConstraints
{
make
in
holdView
.
addSubview
(
linkLabel
)
linkLabel
.
snp
.
makeConstraints
{
make
in
make
.
centerY
.
equalToSuperview
()
make
.
left
.
equalTo
(
kMargin
)
make
.
right
.
equalTo
(
-
kMargin
)
...
...
@@ -182,13 +214,10 @@ private extension YHVisaPayTypeCell {
make
.
height
.
equalTo
(
1
)
}
let
qrCode
:
UIImageView
=
UIImageView
(
image
:
UIImage
(
named
:
"visaPay_qr"
))
qrCode
.
contentMode
=
.
scaleAspectFill
qrCode
.
isUserInteractionEnabled
=
true
qrCode
.
addGestureRecognizer
(
longPress
)
whiteContentView
.
addSubview
(
qrCode
)
qrCode
.
snp
.
makeConstraints
{
make
in
whiteContentView
.
addSubview
(
qrCode
ImageView
)
qrCode
ImageView
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
line2
.
snp
.
bottom
)
.
offset
(
18
)
make
.
right
.
equalTo
(
-
kMargin
)
make
.
height
.
width
.
equalTo
(
86
)
...
...
@@ -204,7 +233,7 @@ private extension YHVisaPayTypeCell {
whiteContentView
.
addSubview
(
label3
)
label3
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
qrCode
.
snp
.
top
)
.
offset
(
12
)
make
.
top
.
equalTo
(
qrCode
ImageView
.
snp
.
top
)
.
offset
(
12
)
make
.
left
.
equalTo
(
kMargin
)
make
.
height
.
equalTo
(
20
)
}
...
...
@@ -222,7 +251,7 @@ private extension YHVisaPayTypeCell {
label4
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
label3
.
snp
.
bottom
)
.
offset
(
6
)
make
.
left
.
equalTo
(
kMargin
)
make
.
right
.
equalTo
(
qrCode
.
snp
.
left
)
.
offset
(
-
kMargin
)
make
.
right
.
equalTo
(
qrCode
ImageView
.
snp
.
left
)
.
offset
(
-
kMargin
)
}
}
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/CustomerService/Certificate(办证段)/VisaPayment(4电子签字缴费)/VM/YHUploadCertificateViewModel.swift
0 → 100644
View file @
898b81c6
//
// YHVisaPaymentViewModel.swift
// galaxy
//
// Created by davidhuangA on 2024/8/20.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
class
YHVisaPaymentViewModel
:
YHBaseViewModel
{
//电子签字列表
var
visaPaymentData
:
YHVisaPaymentListModel
?
}
//请求接口
extension
YHVisaPaymentViewModel
{
//电子签字缴费列表
func
getVisaPaymentList
(
_
params
:
[
String
:
Any
],
callBackBlock
:
@escaping
(
_
success
:
Bool
,
_
error
:
YHErrorModel
?)
->
())
{
let
strUrl
=
YHBaseUrlManager
.
shared
.
curURL
()
+
YHAllApiName
.
VisaPayment
.
paymentListApi
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
{
let
dic
=
json
.
data
guard
let
resultModel
=
YHVisaPaymentListModel
.
deserialize
(
dict
:
dic
as?
[
AnyHashable
:
Any
])
else
{
callBackBlock
(
false
,
nil
)
return
}
self
.
visaPaymentData
=
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
)
}
}
}
galaxy/galaxy/Classes/Tools/Extention/String+Extension.swift
View file @
898b81c6
...
...
@@ -255,4 +255,27 @@ extension String {
let
regex
=
"^
\\
w+([-+.]
\\
w+)*@
\\
w+([-.]
\\
w+)*
\\
.
\\
w+([-.]
\\
w+)*$"
return
range
(
of
:
regex
,
options
:
.
regularExpression
,
range
:
nil
,
locale
:
nil
)
!=
nil
}
///字符串 生成二维码
func
generateQRCode
()
->
UIImage
?
{
guard
let
data
=
self
.
data
(
using
:
.
ascii
,
allowLossyConversion
:
false
)
else
{
return
nil
}
let
filter
=
CIFilter
(
name
:
"CIQRCodeGenerator"
)
filter
?
.
setValue
(
data
,
forKey
:
"inputMessage"
)
guard
let
outputImage
=
filter
?
.
outputImage
else
{
return
nil
}
let
context
=
CIContext
()
if
let
cgImage
=
context
.
createCGImage
(
outputImage
,
from
:
outputImage
.
extent
)
{
return
UIImage
(
cgImage
:
cgImage
)
}
return
nil
}
}
galaxy/galaxy/Classes/Tools/NetWork/YHAllApiName.swift
View file @
898b81c6
...
...
@@ -8,6 +8,11 @@
class
YHAllApiName
{
//办证段 - 签证缴费
struct
VisaPayment
{
//GetUserPaymentList 电子签证缴费列表
static
let
paymentListApi
=
"super-app/order/customer/service/payment"
}
//灰度功能接口
struct
Uat
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment