最新的swiftUI发布后,作为没什么swift的基础的我也是很感兴趣,就兴致勃勃的开始学,用最新的语言开发项目。
为什么用SwiftUI呢,因为写的真的很舒服,尽管不能兼容ios13一下,但还是经不住着UI的诱惑。下面开始
第一个页面登录,首先登录肯定是要网络请求的,其实方法还是swift写的
因为项目中登录需要服务器认证Authorization,所以先写一个认证的账号密码,每个人都是不一样的
let credential = Data("账号:密码".utf8).base64EncodedString()
接下来开始,项目中要求先post请求后,在进行get请求
guardleturl =URL(string: appLoginPost)else{ return }
varrequset =URLRequest(url:url)
requset.httpMethod="POST"
requset.setValue("UTF-8", forHTTPHeaderField:"Charset")
requset.setValue("application/json", forHTTPHeaderField:"Content-Type")
requset.addValue("Basic \(credential)", forHTTPHeaderField:"Authorization")
URLSession.shared.dataTask(with: requset){(Data,response,Error)in
do{
let json =JSON(Data!)
if let access_token = json["access_token"].string{
getLogin(access_token: access_token, user: user)
userDefault.set(access_token, forKey:"ACCESS_TOKEN")
}else{
print("请重新输入账号和密码")
}
}
}.resume()
注意返回的数据Data ,需要从中解析,推荐大家使用SwiftyJSON这个库,简洁方便。get请求使用方法一样,只需要讲刚刚获取的token传入便可
requset.httpMethod = "GET"
requset.setValue(access_token,forHTTPHeaderField: "Cookie")//这里根据自己的服务器设置
requset.setValue("application/json", forHTTPHeaderField: "Content-Type")