博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
swift开发网络篇 - 用户登录POST JSON and header
阅读量:4945 次
发布时间:2019-06-11

本文共 3368 字,大约阅读时间需要 11 分钟。

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.layer.borderWidth =1

        phoneNumber.layer.borderColor =UIColor.lightGrayColor().CGColor

        phoneNumber.layer.cornerRadius =5

        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.layer.borderWidth =1

        PassNumber.layer.borderColor =UIColor.lightGrayColor().CGColor

        PassNumber.layer.cornerRadius =5

        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 = 5

        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)

        }

    

    }

    

}

 

转载于:https://www.cnblogs.com/Free-Thinker/p/6428792.html

你可能感兴趣的文章
uva 10537 Toll! Revisited(优先队列优化dijstra及变形)
查看>>
MySQL对时间的处理总结
查看>>
笔记四:python乱码深度剖析二
查看>>
《PHP程序员面试笔试宝典》——如何回答技术性的问题?
查看>>
【转载】Amit’s A star Page 中译文
查看>>
注册谷歌账号并验证时显示号码无法用于验证的问题
查看>>
Hive 变量和属性
查看>>
Python安装第三方库 xlrd 和 xlwt 。处理Excel表格
查看>>
课后作业-阅读任务-阅读提问-3
查看>>
Asp.Net Core 中利用QuartzHostedService 实现 Quartz 注入依赖 (DI)
查看>>
细说sqlserver索引及SQL性能优化原则
查看>>
一般数据库增量数据处理和数据仓库增量数据处理的几种策略
查看>>
centos6.5适用的国内yum源:网易、搜狐
查看>>
视频直播技术(三):低延时直播经验总结
查看>>
Application failed to start because it could not find or load the QT platform plugin “windows”
查看>>
python合并多表或两表数据
查看>>
第一个python作业题目以及代码
查看>>
Windows Azure 社区新闻综述(#71 版)
查看>>
Windows XP 的最高版本 .net framework 安装
查看>>
本机不装Oracle,使用plsql连接远程Oracle的方法
查看>>