Commit 1fe41362 authored by Steven杜宇's avatar Steven杜宇

// 证书过滤UI

parent 13484f37
...@@ -208,6 +208,8 @@ ...@@ -208,6 +208,8 @@
0480976B2BA15269000B9DCA /* YHCertificateInfoCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0480976A2BA15269000B9DCA /* YHCertificateInfoCell.swift */; }; 0480976B2BA15269000B9DCA /* YHCertificateInfoCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0480976A2BA15269000B9DCA /* YHCertificateInfoCell.swift */; };
0480976D2BA158A1000B9DCA /* YHCertificateResourceUploadVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0480976C2BA158A1000B9DCA /* YHCertificateResourceUploadVC.swift */; }; 0480976D2BA158A1000B9DCA /* YHCertificateResourceUploadVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0480976C2BA158A1000B9DCA /* YHCertificateResourceUploadVC.swift */; };
048097712BA18D66000B9DCA /* YHCertificateSearchBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 048097702BA18D66000B9DCA /* YHCertificateSearchBar.swift */; }; 048097712BA18D66000B9DCA /* YHCertificateSearchBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 048097702BA18D66000B9DCA /* YHCertificateSearchBar.swift */; };
0493B3DC2BA7EFE600AF9393 /* YHCertificateSearchViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0493B3DB2BA7EFE600AF9393 /* YHCertificateSearchViewController.swift */; };
0493B3DE2BA80C2300AF9393 /* YHCertificateFilterButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0493B3DD2BA80C2300AF9393 /* YHCertificateFilterButton.swift */; };
049A48A82B49417300D0C641 /* YHAboutUsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 049A48A72B49417300D0C641 /* YHAboutUsViewController.swift */; }; 049A48A82B49417300D0C641 /* YHAboutUsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 049A48A72B49417300D0C641 /* YHAboutUsViewController.swift */; };
049A48AA2B49536000D0C641 /* YHAboutUsAdvantageCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 049A48A92B49536000D0C641 /* YHAboutUsAdvantageCell.swift */; }; 049A48AA2B49536000D0C641 /* YHAboutUsAdvantageCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 049A48A92B49536000D0C641 /* YHAboutUsAdvantageCell.swift */; };
04A671592B9F18C800C1FB91 /* YHCertificateUploadSheetView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04A671582B9F18C800C1FB91 /* YHCertificateUploadSheetView.swift */; }; 04A671592B9F18C800C1FB91 /* YHCertificateUploadSheetView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04A671582B9F18C800C1FB91 /* YHCertificateUploadSheetView.swift */; };
...@@ -567,6 +569,8 @@ ...@@ -567,6 +569,8 @@
0480976A2BA15269000B9DCA /* YHCertificateInfoCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHCertificateInfoCell.swift; sourceTree = "<group>"; }; 0480976A2BA15269000B9DCA /* YHCertificateInfoCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHCertificateInfoCell.swift; sourceTree = "<group>"; };
0480976C2BA158A1000B9DCA /* YHCertificateResourceUploadVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHCertificateResourceUploadVC.swift; sourceTree = "<group>"; }; 0480976C2BA158A1000B9DCA /* YHCertificateResourceUploadVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHCertificateResourceUploadVC.swift; sourceTree = "<group>"; };
048097702BA18D66000B9DCA /* YHCertificateSearchBar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHCertificateSearchBar.swift; sourceTree = "<group>"; }; 048097702BA18D66000B9DCA /* YHCertificateSearchBar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHCertificateSearchBar.swift; sourceTree = "<group>"; };
0493B3DB2BA7EFE600AF9393 /* YHCertificateSearchViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHCertificateSearchViewController.swift; sourceTree = "<group>"; };
0493B3DD2BA80C2300AF9393 /* YHCertificateFilterButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHCertificateFilterButton.swift; sourceTree = "<group>"; };
049A48A72B49417300D0C641 /* YHAboutUsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHAboutUsViewController.swift; sourceTree = "<group>"; }; 049A48A72B49417300D0C641 /* YHAboutUsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHAboutUsViewController.swift; sourceTree = "<group>"; };
049A48A92B49536000D0C641 /* YHAboutUsAdvantageCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHAboutUsAdvantageCell.swift; sourceTree = "<group>"; }; 049A48A92B49536000D0C641 /* YHAboutUsAdvantageCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHAboutUsAdvantageCell.swift; sourceTree = "<group>"; };
04A671582B9F18C800C1FB91 /* YHCertificateUploadSheetView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHCertificateUploadSheetView.swift; sourceTree = "<group>"; }; 04A671582B9F18C800C1FB91 /* YHCertificateUploadSheetView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHCertificateUploadSheetView.swift; sourceTree = "<group>"; };
...@@ -1396,6 +1400,7 @@ ...@@ -1396,6 +1400,7 @@
A592FE922BA6CFFC0062FACA /* YHCertificateEntryBottomView.swift */, A592FE922BA6CFFC0062FACA /* YHCertificateEntryBottomView.swift */,
A592FE942BA6D23C0062FACA /* YHCertificateEntryCell.swift */, A592FE942BA6D23C0062FACA /* YHCertificateEntryCell.swift */,
A5EF213A2BA6EC98005027E6 /* YHQuestionAndAnswerCell.swift */, A5EF213A2BA6EC98005027E6 /* YHQuestionAndAnswerCell.swift */,
0493B3DD2BA80C2300AF9393 /* YHCertificateFilterButton.swift */,
); );
path = V; path = V;
sourceTree = "<group>"; sourceTree = "<group>";
...@@ -1405,6 +1410,7 @@ ...@@ -1405,6 +1410,7 @@
children = ( children = (
04A6715B2B9FE9EA00C1FB91 /* YHUploadContentVC.swift */, 04A6715B2B9FE9EA00C1FB91 /* YHUploadContentVC.swift */,
0480976C2BA158A1000B9DCA /* YHCertificateResourceUploadVC.swift */, 0480976C2BA158A1000B9DCA /* YHCertificateResourceUploadVC.swift */,
0493B3DB2BA7EFE600AF9393 /* YHCertificateSearchViewController.swift */,
0477E17B2BA4238400436346 /* YHMaterialListViewController.swift */, 0477E17B2BA4238400436346 /* YHMaterialListViewController.swift */,
A58A8C8E2BA6978100632765 /* YHMineCertificateEntryViewController.swift */, A58A8C8E2BA6978100632765 /* YHMineCertificateEntryViewController.swift */,
A5EF21302BA6DF94005027E6 /* YHMineSchemeViewController.swift */, A5EF21302BA6DF94005027E6 /* YHMineSchemeViewController.swift */,
...@@ -2218,6 +2224,7 @@ ...@@ -2218,6 +2224,7 @@
A5ACE9422B4564F7002C94D2 /* AppDelegate+Extension.swift in Sources */, A5ACE9422B4564F7002C94D2 /* AppDelegate+Extension.swift in Sources */,
045EEEBC2B9F171A0022A143 /* YHClipperButton.swift in Sources */, 045EEEBC2B9F171A0022A143 /* YHClipperButton.swift in Sources */,
045EEF102B9F171A0022A143 /* YHMainApplicantInformationViewModel.swift in Sources */, 045EEF102B9F171A0022A143 /* YHMainApplicantInformationViewModel.swift in Sources */,
0493B3DC2BA7EFE600AF9393 /* YHCertificateSearchViewController.swift in Sources */,
A5FD63BF2B6250BC00D1D9DA /* YHInformationPerfectCell.swift in Sources */, A5FD63BF2B6250BC00D1D9DA /* YHInformationPerfectCell.swift in Sources */,
045EEE942B9F171A0022A143 /* YHPreviewInfoQuestionAndAnswerItemView.swift in Sources */, 045EEE942B9F171A0022A143 /* YHPreviewInfoQuestionAndAnswerItemView.swift in Sources */,
045EEED32B9F171A0022A143 /* YHScoreItemCell.swift in Sources */, 045EEED32B9F171A0022A143 /* YHScoreItemCell.swift in Sources */,
...@@ -2324,6 +2331,7 @@ ...@@ -2324,6 +2331,7 @@
045EEEF92B9F171A0022A143 /* YHFormItemTitleCell.swift in Sources */, 045EEEF92B9F171A0022A143 /* YHFormItemTitleCell.swift in Sources */,
045EEEC32B9F171A0022A143 /* YHOtherResidenceFillView.swift in Sources */, 045EEEC32B9F171A0022A143 /* YHOtherResidenceFillView.swift in Sources */,
045EEE792B9F171A0022A143 /* YHPreviewViewModel.swift in Sources */, 045EEE792B9F171A0022A143 /* YHPreviewViewModel.swift in Sources */,
0493B3DE2BA80C2300AF9393 /* YHCertificateFilterButton.swift in Sources */,
045EEE822B9F171A0022A143 /* YHPersonInfoIdentityCardModel.swift in Sources */, 045EEE822B9F171A0022A143 /* YHPersonInfoIdentityCardModel.swift in Sources */,
045EEE952B9F171A0022A143 /* YHPreviewInfoCertificateInformationItemsView.swift in Sources */, 045EEE952B9F171A0022A143 /* YHPreviewInfoCertificateInformationItemsView.swift in Sources */,
045EEEBB2B9F171A0022A143 /* YHWorkIntroductionTableViewCell.swift in Sources */, 045EEEBB2B9F171A0022A143 /* YHWorkIntroductionTableViewCell.swift in Sources */,
......
...@@ -14,6 +14,7 @@ import IQKeyboardManagerSwift ...@@ -14,6 +14,7 @@ import IQKeyboardManagerSwift
class YHCertificateResourceUploadVC: YHBaseViewController { class YHCertificateResourceUploadVC: YHBaseViewController {
var items:[String] = ["1", "2", "2", "2", "2", "2", "2", "2"] var items:[String] = ["1", "2", "2", "2", "2", "2", "2", "2"]
var viewModel: YHCertificateViewModel = YHCertificateViewModel()
lazy var tableView: UITableView = { lazy var tableView: UITableView = {
...@@ -122,3 +123,31 @@ extension YHCertificateResourceUploadVC: JXSegmentedListContainerViewListDelegat ...@@ -122,3 +123,31 @@ extension YHCertificateResourceUploadVC: JXSegmentedListContainerViewListDelegat
return view return view
} }
} }
extension YHCertificateResourceUploadVC {
func requestList() {
let params = [
"order_id" : "0",
"node": "1",
"state": "",
"category_id": "",
"status_all": "",
"keywork": "",
"template_cate_id": "",
"supplement_ids": []] as [String: Any]
viewModel.getCertificateList(params: params) {
listInfo, error in
if let listInfo = listInfo {
let arr = listInfo.supplementList
}
if let errorMsg = error?.errorMsg, errorMsg.count > 0 {
YHHUD.flash(message: errorMsg, duration:3)
}
}
}
}
//
// YHCertificateSearchViewController.swift
// galaxy
//
// Created by edy on 2024/3/18.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHCertificateSearchViewController: YHBaseViewController {
var items:[String] = ["1", "2", "2", "2", "2", "2", "2", "2"]
var viewModel: YHCertificateViewModel = YHCertificateViewModel()
lazy var tableView: UITableView = {
let tableView = UITableView(frame:.zero, style:.grouped)
if #available(iOS 11.0, *) {
tableView.contentInsetAdjustmentBehavior = .never
}
tableView.estimatedSectionHeaderHeight = 14.0
tableView.estimatedSectionFooterHeight = 1.0
tableView.showsVerticalScrollIndicator = false
tableView.separatorStyle = .none
tableView.delegate = self
tableView.dataSource = self
tableView.backgroundColor = UIColor(hexString:"#F8F8F8")
tableView.register(UITableViewCell.self, forCellReuseIdentifier: "UITableViewCell")
tableView.register(YHCertificateInfoCell.self, forCellReuseIdentifier: YHCertificateInfoCell.cellReuseIdentifier)
return tableView
}()
lazy var searchView:UIView = {
let view = UIView()
view.backgroundColor = .white
view.addSubview(searchBar)
searchBar.snp.makeConstraints { make in
make.centerY.equalToSuperview()
make.left.equalToSuperview().offset(16)
make.size.equalTo(CGSize(width: KScreenWidth-32.0, height:YHCertificateSearchBar.height))
}
return view
}()
lazy var searchBar: YHCertificateSearchBar = {
let bar = YHCertificateSearchBar(frame:CGRect(x: 0, y: 0, width:KScreenWidth-32, height:YHCertificateSearchBar.height))
return bar
}()
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = .white
self.gk_navTitle = "资料搜索".local
createUI()
}
func createUI() {
view.addSubview(searchView)
view.addSubview(tableView)
searchView.snp.makeConstraints { make in
make.left.right.equalToSuperview()
make.top.equalToSuperview().offset(k_Height_NavigationtBarAndStatuBar)
make.height.equalTo(32+YHCertificateSearchBar.height)
}
tableView.snp.makeConstraints { make in
make.left.right.bottom.equalToSuperview()
make.top.equalTo(searchView.snp.bottom)
}
}
}
extension YHCertificateSearchViewController: UITableViewDelegate, UITableViewDataSource {
func numberOfSections(in tableView: UITableView) -> Int {
return items.count
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let item = items[indexPath.section]
let cell = tableView.dequeueReusableCell(withIdentifier: YHCertificateInfoCell.cellReuseIdentifier, for: indexPath)
return cell
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableView.automaticDimension
}
private func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> CGFloat {
return 14.0
}
private func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> CGFloat {
return 1.0
}
func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
return UIView()
}
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
return UIView()
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
}
}
...@@ -24,10 +24,15 @@ class YHMaterialListViewController: YHBaseViewController { ...@@ -24,10 +24,15 @@ class YHMaterialListViewController: YHBaseViewController {
bar.title = "资料上传".local bar.title = "资料上传".local
bar.showLeftSecondButtonType(.search) bar.showLeftSecondButtonType(.search)
bar.backBlock = { bar.backBlock = {
[weak self] in
guard let self = self else { return }
self.navigationController?.popViewController(animated: true) self.navigationController?.popViewController(animated: true)
} }
bar.leftSecondBtnClick = { bar.leftSecondBtnClick = {
print("点击搜索") [weak self] in
guard let self = self else { return }
let vc = YHCertificateSearchViewController()
self.navigationController?.pushViewController(vc)
} }
return bar return bar
}() }()
...@@ -68,23 +73,22 @@ class YHMaterialListViewController: YHBaseViewController { ...@@ -68,23 +73,22 @@ class YHMaterialListViewController: YHBaseViewController {
return JXSegmentedListContainerView(dataSource: self, type: .collectionView) return JXSegmentedListContainerView(dataSource: self, type: .collectionView)
}() }()
lazy var searchView:UIView = { lazy var filterBtn: YHCertificateFilterButton = {
let view = UIView() let btn = YHCertificateFilterButton.filterBtn()
view.backgroundColor = .white btn.clickBlock = {
view.addSubview(searchBar) [weak self] select in
searchBar.snp.makeConstraints { make in guard let self = self else { return }
make.centerY.equalToSuperview() filterSheetView.show()
make.left.equalToSuperview().offset(16)
make.size.equalTo(CGSize(width: KScreenWidth-32.0, height:YHCertificateSearchBar.height))
} }
return view return btn
}() }()
lazy var searchBar: YHCertificateSearchBar = { lazy var filterSheetView: YHCertificateFilterView = {
let bar = YHCertificateSearchBar(frame:CGRect(x: 0, y: 0, width:KScreenWidth-32, height:YHCertificateSearchBar.height)) let view = YHCertificateFilterView.sheetView
return bar // view.
return view
}() }()
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
self.gk_navigationBar.isHidden = true self.gk_navigationBar.isHidden = true
...@@ -95,6 +99,7 @@ class YHMaterialListViewController: YHBaseViewController { ...@@ -95,6 +99,7 @@ class YHMaterialListViewController: YHBaseViewController {
} }
view.addSubview(navBar) view.addSubview(navBar)
view.addSubview(segmentedView) view.addSubview(segmentedView)
view.addSubview(filterBtn)
view.addSubview(listContainerView) view.addSubview(listContainerView)
navBar.snp.makeConstraints { make in navBar.snp.makeConstraints { make in
...@@ -103,10 +108,17 @@ class YHMaterialListViewController: YHBaseViewController { ...@@ -103,10 +108,17 @@ class YHMaterialListViewController: YHBaseViewController {
make.height.equalTo(k_Height_NavContentBar) make.height.equalTo(k_Height_NavContentBar)
} }
segmentedView.snp.makeConstraints { make in segmentedView.snp.makeConstraints { make in
make.left.right.equalToSuperview() make.left.equalToSuperview()
make.right.equalToSuperview().offset(-21-18)
make.top.equalToSuperview().offset(k_Height_NavigationtBarAndStatuBar) make.top.equalToSuperview().offset(k_Height_NavigationtBarAndStatuBar)
make.height.equalTo(Self.segmentHeight) make.height.equalTo(Self.segmentHeight)
} }
filterBtn.snp.makeConstraints { make in
make.width.height.equalTo(YHCertificateFilterButton.width)
make.centerY.equalTo(segmentedView.snp.centerY)
make.right.equalToSuperview().offset(-18)
}
listContainerView.snp.makeConstraints { make in listContainerView.snp.makeConstraints { make in
make.left.right.equalToSuperview() make.left.right.equalToSuperview()
make.top.equalTo(segmentedView.snp.bottom) make.top.equalTo(segmentedView.snp.bottom)
......
...@@ -161,6 +161,9 @@ extension YHMineCertificateEntryViewController : UITableViewDelegate,UITableView ...@@ -161,6 +161,9 @@ extension YHMineCertificateEntryViewController : UITableViewDelegate,UITableView
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView.deselectRow(at: indexPath, animated: true) tableView.deselectRow(at: indexPath, animated: true)
printLog("点击了 tableView Cell \(indexPath.section)") printLog("点击了 tableView Cell \(indexPath.section)")
let vc = YHMaterialListViewController()
self.navigationController?.pushViewController(vc)
// //获取订单号 // //获取订单号
......
//
// YHCertificateFilterButton.swift
// galaxy
//
// Created by edy on 2024/3/18.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHCertificateFilterButton: UIView {
static let width = 37.0
static let translucentWidth = 16.0
var translucentImgView: UIImageView!
var filterImgView: UIImageView!
var filterButton: UIButton!
var isSelect: Bool = false {
didSet {
let imgName = isSelect ? "my_cer_filter_select" : "my_cer_filter_unselect"
filterImgView.image = UIImage(named: imgName)
}
}
var clickBlock:((Bool)->())?
static func filterBtn()-> YHCertificateFilterButton {
let btn = YHCertificateFilterButton(frame: CGRect(x: 0, y: 0, width: Self.width, height: Self.width))
return btn
}
override init(frame: CGRect) {
super.init(frame: frame)
createUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func createUI() {
translucentImgView = UIImageView(image: UIImage(named: "my_cer_translucent"))
filterImgView = UIImageView(image: UIImage(named: "my_cer_filter_unselect"))
filterButton = UIButton()
filterButton.addTarget(self, action: #selector(didFilterBtnClicked), for: .touchUpInside)
self.addSubviews([translucentImgView, filterImgView, filterButton])
translucentImgView.snp.makeConstraints { make in
make.size.equalTo(CGSize(width: Self.translucentWidth, height: 20))
make.left.equalToSuperview()
make.centerY.equalToSuperview()
}
filterImgView.snp.makeConstraints { make in
make.size.equalTo(CGSize(width: 21, height: 21))
make.left.equalTo(translucentImgView.snp.right)
make.centerY.equalToSuperview()
}
filterButton.snp.makeConstraints { make in
make.edges.equalToSuperview()
}
}
@objc func didFilterBtnClicked() {
isSelect = !isSelect
if let clickBlock = clickBlock {
clickBlock(isSelect)
}
}
}
...@@ -78,15 +78,14 @@ class YHCertificateViewModel: YHBaseViewModel { ...@@ -78,15 +78,14 @@ class YHCertificateViewModel: YHBaseViewModel {
} }
} }
func getUploadCertificateList(isSilient:Bool = false, callBack:@escaping (_ listInfo: YHUploadCertificateInfo?, _ error:YHErrorModel?)->()) { func getCertificateList(params:[String: Any], isSilient:Bool = false, callBack:@escaping (_ listInfo: YHUploadCertificateInfo?, _ error:YHErrorModel?)->()) {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Family.familyInfoApi let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Certificate.certificateListApi
if !isSilient { if !isSilient {
YHHUD.show(.progress(message: "数据加载中...")) YHHUD.show(.progress(message: "数据加载中..."))
} }
let params = ["id": 0]
let _ = YHNetRequest.getRequest(url: strUrl, params:params) { json, code in let _ = YHNetRequest.getRequest(url: strUrl, params:params) { json, code in
if !isSilient { if !isSilient {
......
...@@ -189,6 +189,9 @@ class YHAllApiName { ...@@ -189,6 +189,9 @@ class YHAllApiName {
// 我的证件-状态数量统计 // 我的证件-状态数量统计
static let statisticApi = "infoflow/certificate/statistic" static let statisticApi = "infoflow/certificate/statistic"
// 证件列表
static let certificateListApi = "infoflow/needUploadItems"
//获取问答列表 //获取问答列表
static let questionAndAnswerApi = "infoflow/answer-question/getAnswerQuestion" static let questionAndAnswerApi = "infoflow/answer-question/getAnswerQuestion"
} }
......
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Group 3394@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Group 3394@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Group 3394@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Group 3394@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Rectangle 2855@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"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