|
@@ -20,6 +20,8 @@ public class SwiftRXMoyaReamlObjectSwiftJsonNetWorkManager: NSObject {
|
|
|
|
|
|
static let shared : SwiftRXMoyaReamlObjectSwiftJsonNetWorkManager = SwiftRXMoyaReamlObjectSwiftJsonNetWorkManager()
|
|
|
|
|
|
+ /// 成功回调 BaseModel
|
|
|
+ typealias successCallBaseModelback = (_ T: BaseModel) -> Void
|
|
|
/// 成功回调 任意类型
|
|
|
typealias successCallAnyback = (_ T: Any) -> Void
|
|
|
/// 成功回调带泛型 对象
|
|
@@ -31,6 +33,78 @@ public class SwiftRXMoyaReamlObjectSwiftJsonNetWorkManager: NSObject {
|
|
|
typealias falseCallback = () -> Void
|
|
|
var falseCallback : falseCallback?
|
|
|
|
|
|
+}
|
|
|
+
|
|
|
+// MARK: - 网络请求 取消
|
|
|
+extension SwiftRXMoyaReamlObjectSwiftJsonNetWorkManager {
|
|
|
+ // MARK: 取消所有请求
|
|
|
+ /// 取消所有请求
|
|
|
+ func cancelAllRequest() {
|
|
|
+ provider.manager.session.getTasksWithCompletionHandler { dataTasks, uploadTasks, downloadTasks in
|
|
|
+ dataTasks.forEach { $0.cancel() }
|
|
|
+ uploadTasks.forEach { $0.cancel() }
|
|
|
+ downloadTasks.forEach { $0.cancel() }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // MARK: 取消指定请求
|
|
|
+ /// 取消指定请求
|
|
|
+ ///
|
|
|
+ /// - Parameter url: 指定的网络请求地址
|
|
|
+ func cancelDesignationRequest(url:String) {
|
|
|
+ provider.manager.session.getTasksWithCompletionHandler {
|
|
|
+ (sessionDataTask, uploadData, downloadData) in
|
|
|
+ sessionDataTask.forEach {
|
|
|
+ //只取消指定url的请求
|
|
|
+ if ($0.originalRequest?.url?.absoluteString == url) {
|
|
|
+ $0.cancel()
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// MARK: - 网络请求 没有缓存
|
|
|
+extension SwiftRXMoyaReamlObjectSwiftJsonNetWorkManager {
|
|
|
+ // MARK: 泛型网络请求返回BaseModel
|
|
|
+ /// 泛型网络请求返回BaseModel
|
|
|
+ ///
|
|
|
+ /// - Parameters:
|
|
|
+ /// - target: 请求地址加参数
|
|
|
+ /// - completion: 返回对象
|
|
|
+ func requestBaseModel(target: MultiTarget,completion: @escaping successCallBaseModelback) -> Void {
|
|
|
+ //判断是否链接网络
|
|
|
+ if !isNetworkConnect{
|
|
|
+ if let falseCallback = self.falseCallback {
|
|
|
+ falseCallback()
|
|
|
+ }
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ provider.rx
|
|
|
+ .request(target)
|
|
|
+ .mapBaseModel()
|
|
|
+ .subscribeOn(ConcurrentDispatchQueueScheduler(qos: .userInitiated))
|
|
|
+ .observeOn(MainScheduler.instance)
|
|
|
+ .subscribe(onSuccess: { [weak self] element in
|
|
|
+
|
|
|
+ guard let element = element else {
|
|
|
+ if let falseCallback = self?.falseCallback {
|
|
|
+ falseCallback()
|
|
|
+ }
|
|
|
+ return
|
|
|
+ }
|
|
|
+ completion(element)
|
|
|
+ }) {
|
|
|
+ [weak self] (error) in
|
|
|
+ if let falseCallback = self?.falseCallback {
|
|
|
+ falseCallback()
|
|
|
+ }
|
|
|
+ SwiftProgressHUD.shared().showError("网络链接失败,请检查网络")
|
|
|
+ }
|
|
|
+ .disposed(by: disposeBag)
|
|
|
+ }
|
|
|
+
|
|
|
// MARK: 泛型网络请求返回任意类型
|
|
|
/// 泛型网络请求返回任意类型
|
|
|
///
|
|
@@ -149,38 +223,208 @@ public class SwiftRXMoyaReamlObjectSwiftJsonNetWorkManager: NSObject {
|
|
|
}
|
|
|
.disposed(by: disposeBag)
|
|
|
}
|
|
|
-
|
|
|
- // MARK: 取消所有请求
|
|
|
- /// 取消所有请求
|
|
|
- func cancelAllRequest() {
|
|
|
- provider.manager.session.getTasksWithCompletionHandler { dataTasks, uploadTasks, downloadTasks in
|
|
|
- dataTasks.forEach { $0.cancel() }
|
|
|
- uploadTasks.forEach { $0.cancel() }
|
|
|
- downloadTasks.forEach { $0.cancel() }
|
|
|
+}
|
|
|
+
|
|
|
+// MARK: - 网络请求 缓存
|
|
|
+extension SwiftRXMoyaReamlObjectSwiftJsonNetWorkManager {
|
|
|
+ // MARK: 泛型网络请求返回BaseModel 缓存
|
|
|
+ /// 泛型网络请求返回BaseModel 缓存
|
|
|
+ ///
|
|
|
+ /// - Parameters:
|
|
|
+ /// - target: 请求地址加参数
|
|
|
+ /// - completion: 返回对象
|
|
|
+ func requestCacheBaseModel(target: MultiTarget,completion: @escaping successCallBaseModelback) -> Void {
|
|
|
+ //判断是否链接网络
|
|
|
+ if !isNetworkConnect{
|
|
|
+ if let falseCallback = self.falseCallback {
|
|
|
+ falseCallback()
|
|
|
+ }
|
|
|
+ return
|
|
|
}
|
|
|
+
|
|
|
+ provider.rx
|
|
|
+ .request(target)
|
|
|
+ .mapCacheBaseModel()
|
|
|
+ .subscribeOn(ConcurrentDispatchQueueScheduler(qos: .userInitiated))
|
|
|
+ .observeOn(MainScheduler.instance)
|
|
|
+ .subscribe(onSuccess: { [weak self] element in
|
|
|
+
|
|
|
+ guard let element = element else {
|
|
|
+ if let falseCallback = self?.falseCallback {
|
|
|
+ falseCallback()
|
|
|
+ }
|
|
|
+ return
|
|
|
+ }
|
|
|
+ completion(element)
|
|
|
+ }) {
|
|
|
+ [weak self] (error) in
|
|
|
+ if let falseCallback = self?.falseCallback {
|
|
|
+ falseCallback()
|
|
|
+ }
|
|
|
+ SwiftProgressHUD.shared().showError("网络链接失败,请检查网络")
|
|
|
+ }
|
|
|
+ .disposed(by: disposeBag)
|
|
|
}
|
|
|
|
|
|
- // MARK: 取消指定请求
|
|
|
- /// 取消指定请求
|
|
|
+ // MARK: 泛型网络请求返回任意类型 缓存
|
|
|
+ /// 泛型网络请求返回任意类型 缓存
|
|
|
///
|
|
|
- /// - Parameter url: 指定的网络请求地址
|
|
|
- func cancelDesignationRequest(url:String) {
|
|
|
- provider.manager.session.getTasksWithCompletionHandler {
|
|
|
- (sessionDataTask, uploadData, downloadData) in
|
|
|
- sessionDataTask.forEach {
|
|
|
- //只取消指定url的请求
|
|
|
- if ($0.originalRequest?.url?.absoluteString == url) {
|
|
|
- $0.cancel()
|
|
|
+ /// - Parameters:
|
|
|
+ /// - target: 请求地址加参数
|
|
|
+ /// - completion: 返回对象
|
|
|
+ func requestCacheAny(target: MultiTarget,completion: @escaping successCallAnyback) -> Void {
|
|
|
+ //判断是否链接网络
|
|
|
+ if !isNetworkConnect{
|
|
|
+ if let falseCallback = self.falseCallback {
|
|
|
+ falseCallback()
|
|
|
+ }
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ provider.rx
|
|
|
+ .request(target)
|
|
|
+ .mapCacheAny()
|
|
|
+ .subscribeOn(ConcurrentDispatchQueueScheduler(qos: .userInitiated))
|
|
|
+ .observeOn(MainScheduler.instance)
|
|
|
+ .subscribe(onSuccess: { [weak self] element in
|
|
|
+
|
|
|
+ guard let element = element else {
|
|
|
+ if let falseCallback = self?.falseCallback {
|
|
|
+ falseCallback()
|
|
|
+ }
|
|
|
+ return
|
|
|
}
|
|
|
+ completion(element)
|
|
|
+ }) {
|
|
|
+ [weak self] (error) in
|
|
|
+ if let falseCallback = self?.falseCallback {
|
|
|
+ falseCallback()
|
|
|
+ }
|
|
|
+ SwiftProgressHUD.shared().showError("网络链接失败,请检查网络")
|
|
|
+ }
|
|
|
+ .disposed(by: disposeBag)
|
|
|
+ }
|
|
|
+
|
|
|
+ // MARK: 泛型网络请求返回对象 缓存
|
|
|
+ /// 泛型网络请求返回对象 缓存
|
|
|
+ ///
|
|
|
+ /// - Parameters:
|
|
|
+ /// - type: 泛型
|
|
|
+ /// - target: 请求地址加参数
|
|
|
+ /// - completion: 返回对象
|
|
|
+ func requestCacheObject<T: Object>(_ type: T.Type ,target: MultiTarget,completion: @escaping successCallObjectBack) -> Void {
|
|
|
+ //判断是否链接网络
|
|
|
+ if !isNetworkConnect{
|
|
|
+ if let falseCallback = self.falseCallback {
|
|
|
+ falseCallback()
|
|
|
}
|
|
|
+ return
|
|
|
}
|
|
|
+
|
|
|
+ provider.rx
|
|
|
+ .request(target)
|
|
|
+ .mapCacheObject(T.self)
|
|
|
+ .subscribeOn(ConcurrentDispatchQueueScheduler(qos: .userInitiated))
|
|
|
+ .observeOn(MainScheduler.instance)
|
|
|
+ .subscribe(onSuccess: { [weak self] element in
|
|
|
+
|
|
|
+ guard let element = element else {
|
|
|
+ if let falseCallback = self?.falseCallback {
|
|
|
+ falseCallback()
|
|
|
+ }
|
|
|
+ return
|
|
|
+ }
|
|
|
+ completion(element)
|
|
|
+ }) {
|
|
|
+ [weak self] (error) in
|
|
|
+ if let falseCallback = self?.falseCallback {
|
|
|
+ falseCallback()
|
|
|
+ }
|
|
|
+ SwiftProgressHUD.shared().showError("网络链接失败,请检查网络")
|
|
|
+ }
|
|
|
+ .disposed(by: disposeBag)
|
|
|
}
|
|
|
|
|
|
+ // MARK: 泛型网络请求返回数组对象 缓存
|
|
|
+ /// 泛型网络请求返回数组对象 缓存
|
|
|
+ ///
|
|
|
+ /// - Parameters:
|
|
|
+ /// - type: 泛型
|
|
|
+ /// - target: 请求地址加参数
|
|
|
+ /// - completion: 返回对象数组
|
|
|
+ func requestCacheArrayObject<T: Object>(_ type: T.Type ,target: MultiTarget,completion: @escaping successCallArrayObjectback) -> Void {
|
|
|
+ //判断是否链接网络
|
|
|
+ if !isNetworkConnect{
|
|
|
+ if let falseCallback = self.falseCallback {
|
|
|
+ falseCallback()
|
|
|
+ }
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ provider.rx
|
|
|
+ .request(target)
|
|
|
+ .mapArrayObject(T.self)
|
|
|
+ .subscribeOn(ConcurrentDispatchQueueScheduler(qos: .userInitiated))
|
|
|
+ .observeOn(MainScheduler.instance)
|
|
|
+ .subscribe(onSuccess: { [weak self] element in
|
|
|
+
|
|
|
+ guard let element = element else {
|
|
|
+ if let falseCallback = self?.falseCallback {
|
|
|
+ falseCallback()
|
|
|
+ }
|
|
|
+ return
|
|
|
+ }
|
|
|
+ completion(element)
|
|
|
+ }) {
|
|
|
+ [weak self] (error) in
|
|
|
+ if let falseCallback = self?.falseCallback {
|
|
|
+ falseCallback()
|
|
|
+ }
|
|
|
+ SwiftProgressHUD.shared().showError("网络链接失败,请检查网络")
|
|
|
+ }
|
|
|
+ .disposed(by: disposeBag)
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
-// MARK: - 泛型
|
|
|
+
|
|
|
+// MARK: - 泛型 没有缓存
|
|
|
extension PrimitiveSequence where TraitType == SingleTrait, ElementType == Response {
|
|
|
|
|
|
+ // MARK: 泛型BaseModel
|
|
|
+ func mapBaseModel() -> Single<BaseModel?> {
|
|
|
+ return flatMap { response -> Single<BaseModel?> in
|
|
|
+ do {
|
|
|
+ let json = try JSON(response.mapJSON())
|
|
|
+ if response.statusCode == 200 {
|
|
|
+ NXLLog("\nurl=\(String(describing: response.request!.url!))\nstatusCode=\(response.statusCode)\njson=\n\(json.description)");
|
|
|
+
|
|
|
+ let baseModel = BaseModel.init(json: json)
|
|
|
+ return Single<BaseModel?>.just(baseModel)
|
|
|
+
|
|
|
+ }else if response.statusCode == 401 {
|
|
|
+ let url = String(describing: response.request!.url!)
|
|
|
+ NXLLog("\nurl=\(url)\nstatusCode=\(response.statusCode)\njson=\n\(json.description)")
|
|
|
+ let infoModel = InfoModel(JSONString: json.description)
|
|
|
+ SwiftProgressHUD.shared().showText(infoModel!.message ?? "登录过期,请重新登录")
|
|
|
+ kAppDelegate.setLoginController()
|
|
|
+ return Single<BaseModel?>.just(nil)
|
|
|
+ }else {
|
|
|
+ let url = String(describing: response.request!.url!)
|
|
|
+ NXLLog("\nurl=\(url)\nstatusCode=\(response.statusCode)\nerror=\n\(response.description)");
|
|
|
+ SwiftProgressHUD.shared().showText(response.description)
|
|
|
+
|
|
|
+ return Single<BaseModel?>.just(nil)
|
|
|
+ }
|
|
|
+
|
|
|
+ } catch {
|
|
|
+ let url = String(describing: response.request!.url!)
|
|
|
+ NXLLog("\nurl=\(url)\nstatusCode=\(response.statusCode)\nerror=\n\(response.description)")
|
|
|
+ SwiftProgressHUD.shared().showText(response.description)
|
|
|
+ return Single<BaseModel?>.just(nil)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
// MARK: 泛型任意值
|
|
|
func mapAny() -> Single<Any?> {
|
|
|
return flatMap { response -> Single<Any?> in
|
|
@@ -310,3 +554,171 @@ extension PrimitiveSequence where TraitType == SingleTrait, ElementType == Respo
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+// MARK: - 泛型 缓存
|
|
|
+extension PrimitiveSequence where TraitType == SingleTrait, ElementType == Response {
|
|
|
+ // MARK: 泛型BaseModel
|
|
|
+ func mapCacheBaseModel() -> Single<BaseModel?> {
|
|
|
+ return flatMap { response -> Single<BaseModel?> in
|
|
|
+ do {
|
|
|
+ let json = try JSON(response.mapJSON())
|
|
|
+ if response.statusCode == 200 {
|
|
|
+ NXLLog("\nurl=\(String(describing: response.request!.url!))\nstatusCode=\(response.statusCode)\njson=\n\(json.description)");
|
|
|
+
|
|
|
+ let baseModel = BaseModel.init(json: json)
|
|
|
+ return Single<BaseModel?>.just(baseModel)
|
|
|
+
|
|
|
+ }else if response.statusCode == 401 {
|
|
|
+ let url = String(describing: response.request!.url!)
|
|
|
+ NXLLog("\nurl=\(url)\nstatusCode=\(response.statusCode)\njson=\n\(json.description)")
|
|
|
+ let infoModel = InfoModel(JSONString: json.description)
|
|
|
+ SwiftProgressHUD.shared().showText(infoModel!.message ?? "登录过期,请重新登录")
|
|
|
+ kAppDelegate.setLoginController()
|
|
|
+ return Single<BaseModel?>.just(nil)
|
|
|
+ }else {
|
|
|
+ let url = String(describing: response.request!.url!)
|
|
|
+ NXLLog("\nurl=\(url)\nstatusCode=\(response.statusCode)\nerror=\n\(response.description)");
|
|
|
+ SwiftProgressHUD.shared().showText(response.description)
|
|
|
+
|
|
|
+ return Single<BaseModel?>.just(nil)
|
|
|
+ }
|
|
|
+
|
|
|
+ } catch {
|
|
|
+ let url = String(describing: response.request!.url!)
|
|
|
+ NXLLog("\nurl=\(url)\nstatusCode=\(response.statusCode)\nerror=\n\(response.description)")
|
|
|
+ SwiftProgressHUD.shared().showText(response.description)
|
|
|
+ return Single<BaseModel?>.just(nil)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // MARK: 泛型任意值 缓存
|
|
|
+ func mapCacheAny() -> Single<Any?> {
|
|
|
+ return flatMap { response -> Single<Any?> in
|
|
|
+ do {
|
|
|
+ let json = try JSON(response.mapJSON())
|
|
|
+ if response.statusCode == 200 {
|
|
|
+ NXLLog("\nurl=\(String(describing: response.request!.url!))\nstatusCode=\(response.statusCode)\njson=\n\(json.description)");
|
|
|
+
|
|
|
+ let baseModel = BaseModel.init(json: json)
|
|
|
+ if baseModel.code == 0 {
|
|
|
+ let object = baseModel.data
|
|
|
+ return Single<Any?>.just(object)
|
|
|
+ }else if baseModel.code == 1 {
|
|
|
+ SwiftProgressHUD.shared().showText(baseModel.msg ?? "信息有误!!!")
|
|
|
+ return Single<Any?>.just(nil)
|
|
|
+ }else {
|
|
|
+ SwiftProgressHUD.shared().showText(baseModel.msg ?? "信息有误!!!")
|
|
|
+ return Single<Any?>.just(nil)
|
|
|
+ }
|
|
|
+ }else if response.statusCode == 401 {
|
|
|
+ let url = String(describing: response.request!.url!)
|
|
|
+ NXLLog("\nurl=\(url)\nstatusCode=\(response.statusCode)\njson=\n\(json.description)")
|
|
|
+ let infoModel = InfoModel(JSONString: json.description)
|
|
|
+ SwiftProgressHUD.shared().showText(infoModel!.message ?? "登录过期,请重新登录")
|
|
|
+ kAppDelegate.setLoginController()
|
|
|
+ return Single<Any?>.just(nil)
|
|
|
+ }else {
|
|
|
+ let url = String(describing: response.request!.url!)
|
|
|
+ NXLLog("\nurl=\(url)\nstatusCode=\(response.statusCode)\nerror=\n\(response.description)");
|
|
|
+ SwiftProgressHUD.shared().showText(response.description)
|
|
|
+
|
|
|
+ return Single<Any?>.just(nil)
|
|
|
+ }
|
|
|
+
|
|
|
+ } catch {
|
|
|
+ let url = String(describing: response.request!.url!)
|
|
|
+ NXLLog("\nurl=\(url)\nstatusCode=\(response.statusCode)\nerror=\n\(response.description)")
|
|
|
+ SwiftProgressHUD.shared().showText(response.description)
|
|
|
+ return Single<Any?>.just(nil)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // MARK: 泛型返回对象 缓存
|
|
|
+ func mapCacheObject<T: Object>(_ type: T.Type) -> Single<T?> {
|
|
|
+ return flatMap { response -> Single<T?> in
|
|
|
+ do {
|
|
|
+ let json = try JSON(response.mapJSON())
|
|
|
+ if response.statusCode == 200 {
|
|
|
+ NXLLog("\nurl=\(String(describing: response.request!.url!))\nstatusCode=\(response.statusCode)\njson=\n\(json.description)");
|
|
|
+
|
|
|
+ let baseModel = BaseModel.init(json: json)
|
|
|
+ if baseModel.code == 0 {
|
|
|
+ let object = T(json: JSON(baseModel.data))
|
|
|
+ return Single<T?>.just(object)
|
|
|
+ }else if baseModel.code == 1 {
|
|
|
+ SwiftProgressHUD.shared().showText(baseModel.msg ?? "信息有误!!!")
|
|
|
+ return Single<T?>.just(nil)
|
|
|
+ }else {
|
|
|
+ SwiftProgressHUD.shared().showText(baseModel.msg ?? "信息有误!!!")
|
|
|
+ return Single<T?>.just(nil)
|
|
|
+ }
|
|
|
+ }else if response.statusCode == 401 {
|
|
|
+ let url = String(describing: response.request!.url!)
|
|
|
+ NXLLog("\nurl=\(url)\nstatusCode=\(response.statusCode)\njson=\n\(json.description)")
|
|
|
+ let infoModel = InfoModel(JSONString: json.description)
|
|
|
+ SwiftProgressHUD.shared().showText(infoModel!.message ?? "登录过期,请重新登录")
|
|
|
+ kAppDelegate.setLoginController()
|
|
|
+ return Single<T?>.just(nil)
|
|
|
+ }else {
|
|
|
+ let url = String(describing: response.request!.url!)
|
|
|
+ NXLLog("\nurl=\(url)\nstatusCode=\(response.statusCode)\nerror=\n\(response.description)");
|
|
|
+ SwiftProgressHUD.shared().showText(response.description)
|
|
|
+
|
|
|
+ return Single<T?>.just(nil)
|
|
|
+ }
|
|
|
+
|
|
|
+ } catch {
|
|
|
+ let url = String(describing: response.request!.url!)
|
|
|
+ NXLLog("\nurl=\(url)\nstatusCode=\(response.statusCode)\nerror=\n\(response.description)")
|
|
|
+ SwiftProgressHUD.shared().showText(response.description)
|
|
|
+ return Single<T?>.just(nil)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // MARK: 泛型返回对象数组 缓存
|
|
|
+ func mapCacheArrayObject<T: Object>(_ type: T.Type) -> Single<[T]?> {
|
|
|
+ return flatMap { response -> Single<[T]?> in
|
|
|
+ do {
|
|
|
+ let json = try JSON(response.mapJSON())
|
|
|
+ if response.statusCode == 200 {
|
|
|
+
|
|
|
+ let url = String(describing: response.request!.url!)
|
|
|
+ NXLLog("\nurl=\(url)\nstatusCode=\(response.statusCode)\njson=\n\(json.description)")
|
|
|
+
|
|
|
+ let baseModel = BaseModel.init(json: json)
|
|
|
+ if baseModel.code == 0 {
|
|
|
+ let objects = JSON(baseModel.data).arrayObject as! [T]
|
|
|
+ return Single<[T]?>.just(objects)
|
|
|
+ }else if baseModel.code == 1 {
|
|
|
+ SwiftProgressHUD.shared().showText(baseModel.msg ?? "信息有误!!!", textAlignment: .left)
|
|
|
+ return Single<[T]?>.just(nil)
|
|
|
+ }else {
|
|
|
+ SwiftProgressHUD.shared().showText(baseModel.msg ?? "信息有误!!!", textAlignment: .left)
|
|
|
+ return Single<[T]?>.just(nil)
|
|
|
+ }
|
|
|
+ }else if response.statusCode == 401 {
|
|
|
+ let url = String(describing: response.request!.url!)
|
|
|
+ NXLLog("\nurl=\(url)\nstatusCode=\(response.statusCode)\njson=\n\(json.description)")
|
|
|
+ let infoModel = InfoModel(JSONString: json.description)
|
|
|
+ SwiftProgressHUD.shared().showText(infoModel!.message ?? "登录过期,请重新登录")
|
|
|
+ kAppDelegate.setLoginController()
|
|
|
+ return Single<[T]?>.just(nil)
|
|
|
+ }else {
|
|
|
+ let url = String(describing: response.request!.url!)
|
|
|
+ NXLLog("\nurl=\(url)\nstatusCode=\(response.statusCode)\nerror=\n\(response.description)");
|
|
|
+ SwiftProgressHUD.shared().showText(response.description)
|
|
|
+ return Single<[T]?>.just(nil)
|
|
|
+ }
|
|
|
+
|
|
|
+ } catch {
|
|
|
+ let url = String(describing: response.request!.url!)
|
|
|
+ NXLLog("\nurl=\(url)\nstatusCode=\(response.statusCode)\nerror=\n\(response.description)")
|
|
|
+ SwiftProgressHUD.shared().showText(response.description)
|
|
|
+ return Single<[T]?>.just(nil)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|