swift开发网络篇 - 用户登录POST JSON and header
版权声明:本文为博主原创文章,未经博主允许不得转载。
import UIKit
import Alamofire
class ViewController: UIViewController {
var phoneNumber =UITextField()
var passNumber =UITextField()
var confirmButton:UIButton!
overridefunc viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor =UIColor.whiteColor()
//添加所有子控件
self.addAllSubViews()
}
//添加所有子控件
func addAllSubViews()
{
// 手机号输入提示
var phoneText =UILabel(frame:CGRectMake(30,240,UIScreen.mainScreen().bounds.size.width-60,30))
phoneText.text ="请输入手机号"
self.view.addSubview(phoneText)
//手机号输入框
var phoneNumber =UITextField(frame:CGRectMake(30,270,UIScreen.mainScreen().bounds.size.width-60,30))
phoneNumber.placeholder ="请输入手机号码"
phoneNumber.text ="18000000005"
phoneNumber.
phoneNumber.layer.borderColor =UIColor.lightGrayColor().CGColor
phoneNumber.
phoneNumber.keyboardType =UIKeyboardType.NumberPad
self.view.addSubview(phoneNumber)
self.phoneNumber = phoneNumber
/// 密码输入提示
var passText =UILabel(frame:CGRectMake(30,300,UIScreen.mainScreen().bounds.size.width-60,30))
passText.text ="请输入密码"
self.view.addSubview(passText)
// 密码输入框
var PassNumber =UITextField(frame:CGRectMake(30,330,UIScreen.mainScreen().bounds.size.width-60,30))
PassNumber.placeholder ="请输入密码"
PassNumber.text ="123456"
PassNumber.
PassNumber.layer.borderColor =UIColor.lightGrayColor().CGColor
PassNumber.
self.view.addSubview(PassNumber)
self.passNumber = PassNumber
//登录
self.confirmButton =UIButton(frame:CGRectMake(30,380,UIScreen.mainScreen().bounds.size.width-60,30))
self.confirmButton.setTitle("登录",
forState: UIControlState.Normal)
self.confirmButton.setTitleColor(UIColor.blackColor(),forState:UIControlState.Normal)
self.confirmButton.setTitleColor(UIColor.blueColor(),forState:UIControlState.Highlighted)
self.confirmButton.layer.cornerRadius
=
self.confirmButton.backgroundColor =UIColor(colorLiteralRed:1,
green: 1, blue:1,alpha:0.5)
self.confirmButton.addTarget(self,
action: #selector(loginConfrim),
forControlEvents: .TouchUpInside)
self.view.addSubview(self.confirmButton)
}
func loginConfrim()
{
//收起键盘
self.view.endEditing(true)
var apptoken:String =getappToken()
}
func getappToken() ->String {
var path ="http://xxx.com/v1/app/token/request_token"
let params:NSMutableDictionary =NSMutableDictionary()
params["app_id"] = "56e6183b5610d746578a9cf4"
params["app_secret"] ="56e6183b2560ad79242a0ae4"
params["mobile_id"] ="dfgdfgsdfgsdfgsdfg"
var token:String? ="ss"
Alamofire.request(.POST, path, parameters: paramsas! [String:AnyObject],encoding:
.JSON)
.responseJSON { responsein
iflet JSON = response.result.value
{
var datajosn:NSDictionary = JSONas!NSDictionary
var data:NSDictionary = datajosn["data"] as! NSDictionary
token = data["token"]as!String
self.login(token!);
}
}
return token!
}
func login(apptoken:String)
{
var params:NSMutableDictionary =NSMutableDictionary()
params["mobile_phone"] =self.phoneNumber.text
params["password"] =self.passNumber.text
var headparams:NSMutableDictionary =NSMutableDictionary()
headparams["X-Ylwl-App-Token"] = apptoken
Alamofire.request(.POST,"http://xxxx.com/v1/app/users/login", parameters:
paramsas? [String:AnyObject] , encoding: .JSON,
headers: headparamsas! [String :String]).responseJSON
{ (responseObject)in
print(responseObject.result.value)
}
}
}
swift开发网络篇 - 用户登录POST JSON and header的更多相关文章
- swift开发网络篇—NSURLConnection基本使用
iOS开发网络篇—NSURLConnection基本使用 一.NSURLConnection的常用类 (1)NSURL:请求地址 (2)NSURLRequest:封装一个请求,保存发给服务器的全部数据 ...
- swift开发网络篇 - 网络基础
GET & POST GET GET的语义是获取指定URL的资源 将数据按照variable=value的形式,添加到action所指向的URL后面,并且两者使用"?"连接 ...
- swift开发网络篇—利用NSURLConnection GET请求和POST请求
一.GET请求和POST请求简单说明 @IBOutlet weakvar userName:UITextField! @IBOutletweakvar userPwd:UITextField! @IB ...
- swift开发网络篇—利用NSURLSession 发送GET和POST请求
说明:本文示例代码发送的请求均为http请求,需要对info.plist文件进行配置.如何配置,请参考https://github.com/HanGangAndHanMeimei/iOS9Adapta ...
- swift开发网络篇 - post 请求
/** 所有网络请求,统一使用异步请求! 在今后的开发中,如果使用简单的get/head请求,可以用NSURLConnction异步方法 GET查/POST增/PUT改/DELETE删/HEAD GE ...
- iOS开发网络篇—JSON数据的解析
iOS开发网络篇—JSON数据的解析 iOS开发网络篇—JSON介绍 一.什么是JSON JSON是一种轻量级的数据格式,一般用于数据交互 服务器返回给客户端的数据,一般都是JSON格式或者XML格式 ...
- iOS开发网络篇—发送json数据给服务器以及多值参数
iOS开发网络篇—发送json数据给服务器以及多值参数 一.发送JSON数据给服务器 发送JSON数据给服务器的步骤: (1)一定要使用POST请求 (2)设置请求头 (3)设置JSON数据为请求体 ...
- iOS开发网络篇—HTTP协议
iOS开发网络篇—HTTP协议 说明:apache tomcat服务器必须占用8080端口 一.URL 1.基本介绍 URL的全称是Uniform Resource Locator(统一资源定位符) ...
- iOS开发网络篇—NSURLConnection基本使用
iOS开发网络篇—NSURLConnection基本使用 一.NSURLConnection的常用类 (1)NSURL:请求地址 (2)NSURLRequest:封装一个请求,保存发给服务器的全部数据 ...
随机推荐
- PDF Adobe Acrobat 9 简体中文专业版(打印店内部的软件)(你懂的!)
福利 => 每天都推送 欢迎大家,关注微信扫码并加入我的4个微信公众号: 大数据躺过的坑 Java从入门到架构师 人工智能躺过的坑 Java全栈大联盟 ...
- Glide二次封装库的使用
更多代码可以查询本人GitHub:欢迎阅读,star点起来. Glide二次封装库源码 前言 为什么选择Glide? Glide 轻量级 速度快 可以根据所需加载图片的大小自动适配所需分辨率的图 支持 ...
- 网站平台的favicon.ico的logo
<link rel="shortcut icon" href="http://www.uuop.com/icotemp/2017061703035984/f ...
- 【DRF视图】
目录 开始使用内置视图 请结合[DRF序列化]此文献中的数据文件及序列化文件来阅读如下代码. DRF视图为我们提供了非常简便的方法--内置了增删改查等一系列的操作. 我们只需在url中指定对应的方法, ...
- c# 多态的美丽(虚方法、抽象、接口实现)
面向对象3大特性:封装.继承.多态. 面向对象2大原则: 1)里氏替换原则:子类可以给父类,父类不能赋给子类. 2)开放封闭原则: 封装变化,降低耦合.(对扩展开放,对修改封闭) ********** ...
- 【Uva 10163】Storage Keepers
[Link]: [Description] 你有n(n≤100)个相同的仓库.有m(m≤30)个人应聘守卫,第i个应聘者的能力值 为Pi(1≤Pi≤1000).每个仓库只能有一个守卫,但一个守卫可以看 ...
- SpringJunit测试类 BaseTest(转)
/** * * * @author Jerval * @date 2011-2-17 */ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfig ...
- 轻松学习Linux之用户账户管理及实例
Linux用户管理基础 (下载清晰视频:http://down.51cto.com/data/158699) 轻松学习Linux之用户账户管理的实例-跨硬盘移动数据 (此处视频不清楚下按下面地址下载清 ...
- position(static-relative-absolute-fixed),margin(top-right-bottom-left),top-right-bottom-left
最近写css遇到一些问题,所以准备写下来捋一下思路. 1.position=satic下看margin的使用.(top-right-bottom-left在这种case下无效) 1-1)margin ...
- jsp+tomcat+ 创建project 配置project
*如今我们已经下载到了 tomcat 7.0+ eclipse for java ee 直接解压,打开eclipse. 接下来是步骤: eclipse 打开的界面.空空如也 ! ..* 点击 file ...