Commit 21958ea3 authored by David黄金龙's avatar David黄金龙

1、小白条 ocr识别

2、相关接口添加 备注
parent 6d79550f
......@@ -42,7 +42,7 @@ platform :ios do
# 显示git当前分支最新submit id
sh "git rev-parse HEAD"
# 更新pod第三方库
cocoapods(use_bundle_exec: true)
#cocoapods(use_bundle_exec: true)
# 先清空打包路径下的文件
sh "pwd"
......
......@@ -8,10 +8,61 @@
import UIKit
import Alamofire
//import SmartCodable
import SmartCodable
class YHSmallWhiteBarInfo: SmartCodable {
var start_time : String = ""//开始时间
var end_time : String = ""//结束时间
required init() {
}
}
class YHBaseViewModel {
// 上传方法
// MARK: 属性
var smallWhiteBarInfo : YHSmallWhiteBarInfo?
// MARK: 接口
//1、获取小白条信息
func getSmallWhiteBarInfoByOcr(_ url: String, callBackBlock:@escaping (_ success: Bool, _ error:YHErrorModel?)->()) {
if YHNetworkStatusManager.shared.isNetWorkOK == false {
DispatchQueue.main.async {
YHHUD.flash(message: "网络不可用,请检查网络设置")
let errorModel = YHErrorModel(errorCode: 0, errorMsg: "网络不可用,请检查网络设置")
callBackBlock(false, errorModel)
return
}
return
}
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.OCR.smallWhiteBarApi
let params: [String : Any] = ["url": url]
let _ = YHNetRequest.postRequest(url: strUrl, params: params) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
if json.code == 200 {
let dic = json.data
guard let result = YHSmallWhiteBarInfo.deserialize(dict:dic as? [AnyHashable: Any]) else {
self.smallWhiteBarInfo = nil
callBackBlock(false, nil)
return
}
self.smallWhiteBarInfo = result
callBackBlock(true, nil)
} else {
self.smallWhiteBarInfo = nil
let error : YHErrorModel = YHErrorModel(errorCode:Int32(json.code), errorMsg: json.msg)
callBackBlock(false, error)
}
} failBlock: { err in
self.smallWhiteBarInfo = nil
callBackBlock(false,err)
}
}
// 图片上传
func uploadImage(_ image: UIImage, _ isPublic: Bool = false, callBackBlock:@escaping (_ success: String?, _ error:YHErrorModel?)->()) {
//#if DEBUG
// let size = image.imageSize()
......@@ -38,21 +89,8 @@ class YHBaseViewModel {
}
}
//获取公链URL
func getPublicImageUrl(_ url: String, _ isPublic: Bool = false, callBackBlock:@escaping (_ success: String?, _ error:YHErrorModel?)->()) {
// let strUrl = YHBaseUrlManager.shared.curOssURL() + YHAllApiName.OSS.getPublicApi
// let param: [String: Any] = ["fileUrl": url]
// let _ = YHNetRequest.getRequest(url: strUrl, params: param) { [weak self] json, code in
// //1. json字符串 转 对象
// guard let _ = self else { return }
// if json.code == 200 {
// callBackBlock(json.data as? String, nil)
// } else {
// let error : YHErrorModel = YHErrorModel(errorCode:Int32(json.code), errorMsg: json.msg)
// callBackBlock(nil, error)
// }
// } failBlock: { err in
// callBackBlock(nil,err)
// }
if YHNetworkStatusManager.shared.isNetWorkOK == false {
DispatchQueue.main.async {
YHHUD.flash(message: "网络不可用,请检查网络设置")
......@@ -73,44 +111,9 @@ class YHBaseViewModel {
}
}
//换取多张图片
func getPublicImageUrls(_ url: [String], callBackBlock:@escaping (_ success: [String : Any]?, _ error:YHErrorModel?)->()) {
let strUrl = YHBaseUrlManager.shared.curOssURL() + YHAllApiName.OSS.getPublicApi
let param: [String: Any] = ["fileUrl": url]
let _ = YHNetRequest.getRequest(url: strUrl, params: param) { [weak self] json, code in
//1. json字符串 转 对象
guard let _ = self else { return }
if json.code == 200 {
callBackBlock(json.data as? [String : Any], nil)//使用的同学完善
} else {
let error : YHErrorModel = YHErrorModel(errorCode:Int32(json.code), errorMsg: json.msg)
callBackBlock(nil, error)
}
} failBlock: { err in
callBackBlock(nil,err)
}
}
// 上传方法
func uploadFile(_ url: String, _ isPublic: Bool = false, callBackBlock:@escaping (_ success: String?, _ error:YHErrorModel?)->()) {
// let strUrl = YHBaseUrlManager.shared.curOssURL() + YHAllApiName.OSS.uploadApi
// printLog("\(url)")
// let boundary = UUID().uuidString
// let headers: HTTPHeaders = [
// "Content-type": "multipart/form-data; boundary=\(boundary)",
// "businessCode": "4001001"
// ]
// let _ = YHNetRequest.uplaodFileRequest(url: strUrl, headers: headers, fileUrl: url) { [weak self] json, code in
// guard let self = self else { return }
// if json.code == 200 {
// callBackBlock(json.data as? String, nil)
// } else {
// let error : YHErrorModel = YHErrorModel(errorCode:Int32(json.code), errorMsg: json.msg)
// callBackBlock(nil, error)
// }
// } failBlock: { err in
// callBackBlock(nil, err)
// }
if YHNetworkStatusManager.shared.isNetWorkOK == false {
DispatchQueue.main.async {
YHHUD.flash(message: "网络不可用,请检查网络设置")
......
......@@ -163,8 +163,6 @@ private extension YHUploadCertificateDetailVC {
return false
}
if detailType == .SmallWhiteNote {
if startDateStr.isEmpty {
......@@ -318,6 +316,28 @@ private extension YHUploadCertificateDetailVC {
self.uploadImageUrl = url
self.cardButton.setBackgroundImage(image, for: .normal)
self.cardButton.isHidden = false
if detailType == .SmallWhiteNote {
self.viewModel.getPublicImageUrl(url) {[weak self] success, error in
guard let self = self else { return }
guard let url = success else { return }
//进行ocr识别
self.viewModel.getSmallWhiteBarInfoByOcr(url) { success, error in
if success {
if let tmpModel = self.viewModel.smallWhiteBarInfo {
self.startDateStr = tmpModel.start_time
self.endDateStr = tmpModel.end_time
self.startDateItem.updateDate(date: self.startDateStr)
self.endDateItem.updateDate(date: self.endDateStr)
}
}
}
}
}
}
}
} else {
......
......@@ -155,6 +155,7 @@ class YHFamilyMemberViewModel : YHBaseViewModel{
}
}
//orc识别 中国身份证
func requestCnIDCardMessage(_ url: String, isBack: Int, callBackBlock:@escaping (_ success: Bool, _ error:YHErrorModel?)->()) {
let strUrl = YHBaseUrlManager.shared.curOssURL() + YHAllApiName.OCR.cn
let params: [String : Any] = ["url": url,
......@@ -179,6 +180,7 @@ class YHFamilyMemberViewModel : YHBaseViewModel{
}
}
//orc识别 港澳通行证
func requestHkIDCardMessage(_ url: String, isBack: Int, callBackBlock:@escaping (_ success: Bool, _ error:YHErrorModel?)->()) {
let strUrl = YHBaseUrlManager.shared.curOssURL() + YHAllApiName.OCR.hk
let params: [String : Any] = ["url": url,
......
......@@ -11,8 +11,8 @@ import Alamofire
import Kingfisher
enum YHCardType: Int {
case identity = 0
case passport = 1
case identity = 0 //中国身份证
case passport = 1 //港澳通行证
}
class YHMainInformationCardTableViewCell: UITableViewCell {
......
......@@ -298,9 +298,14 @@ class YHAllApiName {
}
struct OCR {
//中国身份证识别
static let cn = "ocr/id_card/recognize"
//港澳通行证识别
static let hk = "ocr/permit/recognize"
//普通文本识别 - eg:图片中扣字
static let normal = "ocr/advanced/recognize"
//小白条识别
static let smallWhiteBarApi = "super-app/small-white-bar/read"
}
//我的签字
......
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