宽窄优行-由【嘉易行】项目成品而来
younger_times
2023-07-05 0d8f5fc8a516bfd07e425909e4a4432600572ee7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
////
////  OBSUploader.swift
////  QuanKeTong
////
////  Created by alvin_y on 2019/7/31.
////  Copyright © 2019 yang-wang. All rights reserved.
////
//
//import UIKit
//import RxSwift
//import RxCocoa
//import MBProgressHUD
//
//let endPoint = "obs.cn-north-1.myhuaweicloud.com"
//let accessKeyId = "ZDJVKLKCTZF1EOXUTKAO"
//let accessKeySecret = "whZhFn9gP44qxjfEk5XrZMGfr36qFCSCPUdu4bxN"
//let bucketName = "qwerpoiu147"
//let oss_domain = "https://qwerpoiu147.obs.cn-north-1.myhuaweicloud.com"
//let OBS_URL = "https://\(endPoint)"
//
///// OBS上传文件
//class YYHuaWeiOBSManager: NSObject {
//    
//    static let shared = YYHuaWeiOBSManager()
//    
//    var configuration: OBSServiceConfiguration {
//        let credentailProvider = OBSStaticCredentialProvider.init(accessKey: accessKeyId, secretKey: accessKeySecret)
//        return OBSServiceConfiguration.init(url: URL.init(string: OBS_URL), credentialProvider: credentailProvider)
//    }
//    
//    lazy var obsClient: OBSClient = OBSClient.init(configuration: configuration)
//    
//    func uploadImage(keys: [String], image: [UIImage]) -> Observable<[String]> {
//        if keys.count == 0 {
//            return Observable.just([])
//        }
//        var ob: [Observable<String>] = []
//        let count = keys.count
//        for i in 0..<count {
//            ob.append(createTask(key: keys[i], image: image[i]))
//        }
//        return Observable.zip(ob)
//    }
//    
//    func uploadImage(key: String, image: UIImage) -> Observable<String> {
//        if key.isEmpty {
//            return Observable.just("")
//        } else {
//            var hud: MBProgressHUD?
//            hud = MBProgressHUD.showAdded(to: app.window!, animated: true)
//            hud?.mode = .indeterminate
//            hud?.bezelView.backgroundColor = #colorLiteral(red: 0, green: 0, blue: 0, alpha: 0.7)
//            hud?.customView?.frame = CGRect(x: 0, y: 0, width: 50, height: 50)
//            hud?.show(animated: true)
//            
//        let client = obsClient
//            return Observable<String>.create{ ob in
//                let put = OBSPutObjectWithDataRequest.init(bucketName: bucketName, objectKey: "\(key).png", uploadData: resizeImage(originalImg: image, maxWidth: 320, maxHeight: 480).pngData())
//                let task = client.putObject(put, completionHandler: { (response, error) in
//                })
//                task?.continueWith(block: { (r) -> Any? in
//                    DispatchQueue.main.async {
//                        hud?.hide(animated: true)
//                    }
//                    if r.error == nil {
//                        ob.onNext("\(oss_domain)/\(key).png")
//                    } else {
//                        ob.onError(OBSUploaderError.Failed)
//                        DispatchQueue.main.async {
//                            alert(msg: r.error?.localizedDescription ?? "")
//                        }
//                    }
//                    return nil
//                })
//                
//                return Disposables.create{
//                    
//                }
//                }.observeOn(MainScheduler.instance)
//        }
//    }
//    
//    func createTask(key: String, image: UIImage) -> Observable<String> {
//        let client = obsClient
//        return Observable<String>.create{ ob in
//            let put = OBSPutObjectWithDataRequest.init(bucketName: bucketName, objectKey: "\(key).png", uploadData: resizeImage(originalImg: image, maxWidth: 320, maxHeight: 480).pngData())
//            let task = client.putObject(put, completionHandler: { (response, error) in
//            })
//            
//            task?.continueWith(block: { (r) -> Any? in
//                if r.error == nil {
//                    ob.onNext("\(oss_domain)/\(key).png")
//                } else {
//                    ob.onError(OBSUploaderError.Failed)
//                }
//                return nil
//            })
//            return Disposables.create{
//                
//            }
//            }.observeOn(MainScheduler.instance)
//    }
//
//}
//enum OBSUploaderError: Error {
//    case Failed
//}