Commit 50f7a08e authored by David黄金龙's avatar David黄金龙

Merge branch '630-dev' of http://gitlab.galaxy-immi.com/mobile-group/galaxy-iOS into 630-dev

* '630-dev' of http://gitlab.galaxy-immi.com/mobile-group/galaxy-iOS:
  OSS 上传基类修改
parents 45f488be 850490f2
...@@ -79,7 +79,7 @@ class YHBaseViewModel { ...@@ -79,7 +79,7 @@ class YHBaseViewModel {
return return
} }
YHOSSManager.share.updateToken { YHOSSManager.share.updateToken {
YHOSSManager.share.getPublic(url: url, isPublic, callBackBlock: { [weak self] success, error in YHOSSManager.share.getPublic(url: url, callBackBlock: { [weak self] success, error in
guard let _ = self else { return } guard let _ = self else { return }
DispatchQueue.main.async { DispatchQueue.main.async {
// 在这里执行需要在主线程上完成的任务 // 在这里执行需要在主线程上完成的任务
......
...@@ -25,6 +25,8 @@ class YHOSSManager: NSObject, URLSessionDelegate { ...@@ -25,6 +25,8 @@ class YHOSSManager: NSObject, URLSessionDelegate {
var publicModel: YHOSSModel = YHOSSModel() var publicModel: YHOSSModel = YHOSSModel()
var mProvider: OSSStsTokenCredentialProvider! var mProvider: OSSStsTokenCredentialProvider!
var mClient: OSSClient! var mClient: OSSClient!
var publicProvider: OSSStsTokenCredentialProvider!
var publicClient: OSSClient!
var fileName: [String] = [] var fileName: [String] = []
override init() { override init() {
...@@ -60,6 +62,8 @@ class YHOSSManager: NSObject, URLSessionDelegate { ...@@ -60,6 +62,8 @@ class YHOSSManager: NSObject, URLSessionDelegate {
return return
} }
self.model = resultModel self.model = resultModel
self.mProvider = OSSStsTokenCredentialProvider(accessKeyId: self.model.accessKeyId, secretKeyId: self.model.accessKeySecret, securityToken: self.model.securityToken)
self.mClient = OSSClient(endpoint: self.model.endpoint, credentialProvider: self.mProvider)
if let block = completionHandler { if let block = completionHandler {
block() block()
} }
...@@ -74,6 +78,8 @@ class YHOSSManager: NSObject, URLSessionDelegate { ...@@ -74,6 +78,8 @@ class YHOSSManager: NSObject, URLSessionDelegate {
return return
} }
self.publicModel = resultModel self.publicModel = resultModel
self.publicProvider = OSSStsTokenCredentialProvider(accessKeyId: self.publicModel.accessKeyId, secretKeyId: self.publicModel.accessKeySecret, securityToken: self.publicModel.securityToken)
self.publicClient = OSSClient(endpoint: self.publicModel.endpoint, credentialProvider: self.publicProvider)
} failBlock: { err in } failBlock: { err in
} }
} }
...@@ -89,8 +95,8 @@ class YHOSSManager: NSObject, URLSessionDelegate { ...@@ -89,8 +95,8 @@ class YHOSSManager: NSObject, URLSessionDelegate {
self.mProvider = OSSStsTokenCredentialProvider(accessKeyId: self.publicModel.accessKeyId, secretKeyId: self.publicModel.accessKeySecret, securityToken: self.publicModel.securityToken) self.mProvider = OSSStsTokenCredentialProvider(accessKeyId: self.publicModel.accessKeyId, secretKeyId: self.publicModel.accessKeySecret, securityToken: self.publicModel.securityToken)
self.mClient = OSSClient(endpoint: self.publicModel.endpoint, credentialProvider: self.mProvider) self.mClient = OSSClient(endpoint: self.publicModel.endpoint, credentialProvider: self.mProvider)
} else { } else {
self.mProvider = OSSStsTokenCredentialProvider(accessKeyId: self.model.accessKeyId, secretKeyId: self.model.accessKeySecret, securityToken: self.model.securityToken) // self.mProvider = OSSStsTokenCredentialProvider(accessKeyId: self.model.accessKeyId, secretKeyId: self.model.accessKeySecret, securityToken: self.model.securityToken)
self.mClient = OSSClient(endpoint: self.model.endpoint, credentialProvider: self.mProvider) // self.mClient = OSSClient(endpoint: self.model.endpoint, credentialProvider: self.mProvider)
} }
DispatchQueue.global().async { DispatchQueue.global().async {
...@@ -117,8 +123,12 @@ class YHOSSManager: NSObject, URLSessionDelegate { ...@@ -117,8 +123,12 @@ class YHOSSManager: NSObject, URLSessionDelegate {
request.uploadProgress = { (bytesSent: Int64, totalBytesSent: Int64, totalBytesExpectedToSend: Int64) -> Void in request.uploadProgress = { (bytesSent: Int64, totalBytesSent: Int64, totalBytesExpectedToSend: Int64) -> Void in
printLog("bytesSent:\(bytesSent),totalBytesSent:\(totalBytesSent),totalBytesExpectedToSend:\(totalBytesExpectedToSend)") printLog("bytesSent:\(bytesSent),totalBytesSent:\(totalBytesSent),totalBytesExpectedToSend:\(totalBytesExpectedToSend)")
} }
var task = OSSTask<AnyObject>()
let task = self.mClient.putObject(request) if isPublic {
task = self.publicClient.putObject(request)
} else {
task = self.mClient.putObject(request)
}
task.continue({ (t) -> Any? in task.continue({ (t) -> Any? in
let result = t let result = t
...@@ -139,7 +149,7 @@ class YHOSSManager: NSObject, URLSessionDelegate { ...@@ -139,7 +149,7 @@ class YHOSSManager: NSObject, URLSessionDelegate {
self.fileName.removeFirst() self.fileName.removeFirst()
} }
return return
}) }).waitUntilFinished()
} }
} }
...@@ -149,13 +159,6 @@ class YHOSSManager: NSObject, URLSessionDelegate { ...@@ -149,13 +159,6 @@ class YHOSSManager: NSObject, URLSessionDelegate {
callBackBlock(nil, YHErrorModel()) callBackBlock(nil, YHErrorModel())
return return
} }
if isPublic {
self.mProvider = OSSStsTokenCredentialProvider(accessKeyId: self.publicModel.accessKeyId, secretKeyId: self.publicModel.accessKeySecret, securityToken: self.publicModel.securityToken)
self.mClient = OSSClient(endpoint: self.publicModel.endpoint, credentialProvider: self.mProvider)
} else {
self.mProvider = OSSStsTokenCredentialProvider(accessKeyId: self.model.accessKeyId, secretKeyId: self.model.accessKeySecret, securityToken: self.model.securityToken)
self.mClient = OSSClient(endpoint: self.model.endpoint, credentialProvider: self.mProvider)
}
DispatchQueue.global().async { DispatchQueue.global().async {
let fileExtension = URL(fileURLWithPath: file).pathExtension.lowercased() let fileExtension = URL(fileURLWithPath: file).pathExtension.lowercased()
request.uploadingData = fileData request.uploadingData = fileData
...@@ -180,8 +183,12 @@ class YHOSSManager: NSObject, URLSessionDelegate { ...@@ -180,8 +183,12 @@ class YHOSSManager: NSObject, URLSessionDelegate {
request.uploadProgress = { (bytesSent: Int64, totalBytesSent: Int64, totalBytesExpectedToSend: Int64) -> Void in request.uploadProgress = { (bytesSent: Int64, totalBytesSent: Int64, totalBytesExpectedToSend: Int64) -> Void in
printLog("bytesSent:\(bytesSent),totalBytesSent:\(totalBytesSent),totalBytesExpectedToSend:\(totalBytesExpectedToSend)") printLog("bytesSent:\(bytesSent),totalBytesSent:\(totalBytesSent),totalBytesExpectedToSend:\(totalBytesExpectedToSend)")
} }
var task = OSSTask<AnyObject>()
let task = self.mClient.putObject(request) if isPublic {
task = self.publicClient.putObject(request)
} else {
task = self.mClient.putObject(request)
}
task.continue({ (t) -> Any? in task.continue({ (t) -> Any? in
let result = t let result = t
...@@ -204,18 +211,12 @@ class YHOSSManager: NSObject, URLSessionDelegate { ...@@ -204,18 +211,12 @@ class YHOSSManager: NSObject, URLSessionDelegate {
self.fileName.removeFirst() self.fileName.removeFirst()
} }
return return
}) }).waitUntilFinished()
} }
} }
func getPublic(url: String, _ isPublic: Bool = false, callBackBlock:@escaping (_ success: String?, _ error:YHErrorModel?)->()) { func getPublic(url: String, callBackBlock:@escaping (_ success: String?, _ error:YHErrorModel?)->()) {
if isPublic {
self.mProvider = OSSStsTokenCredentialProvider(accessKeyId: self.publicModel.accessKeyId, secretKeyId: self.publicModel.accessKeySecret, securityToken: self.publicModel.securityToken)
self.mClient = OSSClient(endpoint: self.publicModel.endpoint, credentialProvider: self.mProvider)
} else {
self.mProvider = OSSStsTokenCredentialProvider(accessKeyId: self.model.accessKeyId, secretKeyId: self.model.accessKeySecret, securityToken: self.model.securityToken)
self.mClient = OSSClient(endpoint: self.model.endpoint, credentialProvider: self.mProvider)
}
DispatchQueue.global().async { DispatchQueue.global().async {
let bucketName = self.getBucket(url) let bucketName = self.getBucket(url)
......
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