美文网首页
Alamofire网络请求封装与unicode编码处理

Alamofire网络请求封装与unicode编码处理

作者: doosan | 来源:发表于2017-01-05 20:36 被阅读0次

最近在用swift写项目时,确实遇到很多的问题,但是经过努力还是解决,我经常数据请求回json是Unicode编码的,同时我们需要对网络请求进行一个封装,我的这份笔记探讨一下封装和unicode转成UTF8,直接上代码


先定义一个网络请求的工具类,在这里发送网络请求

import UIKit

import Alamofire

enum MethodType{

case GET

case POST

}

class  NetworkTools: NSObject {

//封装一个类方法;

class func requetDate(_ type:MethodType,URLString:String,paramters:[String:AnyObject

]?=nil,finishCallBack:@escaping (_ result: AnyObject)->()){

//获取类型:

let method1 = type == .GET ?HTTPMethod.get : HTTPMethod.post

Alamofire.request(URLString, method: method1, parameters:paramters).responseJSON { (response) in

//处理Unicode编码。将unicode编码的json转成uft8编码

guard  let data = response.data  else{

return

}

let utf8Text = String(data: data , encoding: .utf8)

//finishCallBack(result1 as AnyObject)

finishCallBack(utf8Text as AnyObject)

}

}

}

我们在另一个工具类中调用NetworkTools


import UIKit

class NetworkToolRequest: NSObject {

class  func getIdentifierCode(params:[String:AnyObject],_ finishCallBack: @escaping(_ result: AnyObject)->()){

NetworkTools.requetDate(.POST, URLString: "http://120.77.69.123:8080/ubEApi/eApi/sendSMSCaptcha.do") { (response) in

finishCallBack(response)

}

}

//注册---接口3.2

class  func registUser(params:[String:AnyObject],_ finishCallBack: @escaping(_ result: AnyObject)->()){

NetworkTools.requetDate(.POST, URLString: "http://120.77.69.123:8080 /ubEApi/eApi/register.do", paramters: params) { (response) in

finishCallBack(response)

}

}

//登录---接口3.3

class  func LoginAccount(params:[String:AnyObject],_ finishCallBack: @escaping(_ result: AnyObject)->()){

NetworkTools.requetDate(.POST, URLString: "http://120.77.69.123:8080/ubEApi/eApi/login.do", paramters: params) { (response) in

finishCallBack(response)

}

}

//获取用户的基本信息;

}

相关文章

网友评论

      本文标题:Alamofire网络请求封装与unicode编码处理

      本文链接:https://www.haomeiwen.com/subject/ebbkjttx.html