Commit 261350f7 authored by Steven杜宇's avatar Steven杜宇

// 资料上传

parent 51c65e92
...@@ -114,6 +114,9 @@ class YHMaterialModelItemModel: SmartCodable { ...@@ -114,6 +114,9 @@ class YHMaterialModelItemModel: SmartCodable {
var status: String = "" var status: String = ""
var updated_at: String = "" var updated_at: String = ""
var size: String = ""
var type: String = ""
// 获取文件后缀名 eg:123.pdf -> pdf // 获取文件后缀名 eg:123.pdf -> pdf
func getFileSuffixName()->String { func getFileSuffixName()->String {
let res1 = url.pathExtension.lowercased() let res1 = url.pathExtension.lowercased()
......
...@@ -57,7 +57,7 @@ class YHResignMaterialGroup { ...@@ -57,7 +57,7 @@ class YHResignMaterialGroup {
} }
} }
class YHResignMaterialViewModel: NSObject { class YHResignMaterialViewModel: YHBaseViewModel {
// 全部 // 全部
var allGroup: YHResignMaterialGroup = YHResignMaterialGroup() var allGroup: YHResignMaterialGroup = YHResignMaterialGroup()
// 待上传 // 待上传
...@@ -203,5 +203,110 @@ class YHResignMaterialViewModel: NSObject { ...@@ -203,5 +203,110 @@ class YHResignMaterialViewModel: NSObject {
} }
} }
// 添加/删除/重命名 资料
func updateMaterials(material: YHMaterialModel, addInfoArr:[YHMaterialModelItemModel], callback:((_ success: Bool,_ error:YHErrorModel?)->())?) {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.ResignMaterial.uploadMaterials
var params = [
"material_id" : "\(material.id)",
"template_id" : "\(material.template_id)",
"status" : material.status,
"audit_remark" : material.audit_remark,
] as! [String : Any]
var info: [[String : Any]] = []
for item in material.info {
if let dict = item.toDictionary() {
info.append(dict)
}
}
for item in addInfoArr {
if let dict = item.toDictionary() {
info.append(dict)
}
}
params["info"] = info
let _ = YHNetRequest.postRequest(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 isSuccess = json.data?.peel as? Bool else {
let err = YHErrorModel(errorCode: YHErrorCode.dictParseError.rawValue, errorMsg: YHErrorCode.dictParseError.description())
callback?(false, err)
return
}
callback?(isSuccess, nil)
} else {
let err = YHErrorModel(errorCode: Int32(json.code), errorMsg: json.msg.isEmpty ? "" : json.msg)
callback?(false, err)
}
} failBlock: { err in
callback?(false, err)
}
}
func uploadFilesWithMaterial(material: YHMaterialModel, fileUrl: URL, callback: (()->())?) {
if let fileData = try? Data(contentsOf: fileUrl) {
// 将文件数据上传到服务器
let size = String(format: "%.2fM", Double(fileData.count)/(1024.0 * 1024.0))
print("\(size)")
// 先OSS上传得到URL
YHHUD.show(.progress(message: "上传中..."))
self.uploadFile(fileUrl.absoluteString) {
[weak self] successUrl, error in
guard let self = self else { return }
YHHUD.hide()
// 再调用业务接口
if let successUrl = successUrl, !successUrl.isEmpty {
let fileName = successUrl.lastPathComponent
let suffixName = successUrl.pathExtension.lowercased()
let model = YHMaterialModelItemModel()
model.url = successUrl
model.name = fileName
model.naming = fileName
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "YYYY-MM-dd"
let dateString = dateFormatter.string(from: Date())
model.updated_at = dateString
YHHUD.show(.progress(message: "上传中..."))
self.updateMaterials(material: material, addInfoArr: [model]) {
success, error in
YHHUD.hide()
if success {
YHHUD.flash(message: "上传成功")
} else {
var msg = "上传失败"
if let errorMsg = error?.errorMsg, !errorMsg.isEmpty {
msg = errorMsg
}
YHHUD.flash(message:msg)
}
callback?()
}
return
}
var msg = "上传图片失败"
if let errorMsg = error?.errorMsg, !errorMsg.isEmpty {
msg = errorMsg
}
YHHUD.flash(message: msg)
}
} else {
YHHUD.flash(message: "识别文件失败")
}
}
} }
...@@ -522,6 +522,8 @@ class YHAllApiName { ...@@ -522,6 +522,8 @@ class YHAllApiName {
static let resignMaterialList = "super-app/identity-renewal/renewal-batch-list" static let resignMaterialList = "super-app/identity-renewal/renewal-batch-list"
// 资料模版详情 // 资料模版详情
static let resginTemplateDetail = "super-app/identity-renewal/template-detail" static let resginTemplateDetail = "super-app/identity-renewal/template-detail"
// 文件上传
static let uploadMaterials = "super-app/identity-renewal/renewal-upload"
} }
struct ResignCertificate { struct ResignCertificate {
......
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