文档章节

聚合数据iOS SDK 12306火车票查询订票演示示例

王航-聚合数据
 王航-聚合数据
发布于 2014/10/10 09:31
字数 1787
阅读 74
收藏 0
点赞 0
评论 0

1,将聚合数据SDK(JuheApis.framework)添加到你的程序中来,SDK依赖的包包括:



2,在聚合SDK Framework的JHSDKAPIPath.h文件中找到快递查询接口宏,以及字典参数

/* 12306火车票查询订票 */
/**
 @brief 2306火车票查询订票--1、车次查询
 @param lname       string     必填     车次名称,如:G4
 @param ldtype      string     非必填     返回数据的格式,xml或json,默认json
 */
#define kJHAPIS_LIFE_TRAIN_S             @"juhe.apis.train.s"                //1、车次查询

/**
 @brief 12306火车票查询订票--2、站到站查询
 @param start       string     必填     出发站
 @param end         string     必填     终点站
 @param traintype     string     非必填     列车类型,G-高速动车 K-快速 T-空调特快 D-动车组 Z-直达特快 Q-其他
 @param dtype       string     非必填     返回数据的格式,xml或json,默认json
 */
#define kJHAPIS_LIFE_TRAIN_S2S           @"juhe.apis.train.s2s"              //2、站到站查询

/**
 @brief 12306火车票查询订票--3、12306实时余票查询
 @param dtype       string     非必填     返回数据的格式,xml或json,默认json
 @param from        string     必填     出发站,如:上海虹桥
 @param to          string     必填     到达站,如:温州南
 @param date        string     非必填     出发日期,默认今日
 @param tt          string     非必填     车次类型,默认全部,如:G(高铁)、D(动车)、T(特快)、Z(直达)、K(快速)、Q(其他)
 */
#define kJHAPIS_LIFE_TRAIN_YP            @"juhe.apis.train.yp"               //3、12306实时余票查询

/**
 @brief 12306火车票查询订票--4、12306订票①:查询车次
 @param from        string     必填     出发站名称:如上海虹桥
 @param to          string     必填     到达站名称:如温州南
 @param date        date     非必填     默认当天,格式:2014-07-11
 @param tt          string     非必填     车次类型,默认全部,如:G(高铁)、D(动车)、T(特快)、Z(直达)、K(快速)、Q(其他)
 */
#define kJHAPIS_LIFE_TRAIN_TICKET_CC     @"juhe.apis.train.ticket.cc"        //4、12306订票①:查询车次

/**
 @brief 12306火车票查询订票--5、12306订票②:提交订单
 @param name                    string     必填     乘客姓名
 @param seat                    string     必填     座位类型:商务座:9,一等座:M,二等座:O,特等座:P,高级软卧:6,软卧:4,硬卧:3,软座:2,硬座:1,无座:0
 @param mobile                  string     必填     乘客手机号码
 @param idcard                  string     必填     乘客身份证号码
 @param username                string     必填     12306官网账号
 @param password                string     必填     12306官网密码
 @param train_no                string     必填     步骤①对应车次返回值
 @param station_train_code      string     必填     步骤①对应车次返回值
 @param from_station_telecode     string     必填     步骤①对应车次返回值
 @param to_station_telecode     string     必填     步骤①对应车次返回值
 @param from_station_name       string     必填     步骤①对应车次返回值
 @param to_station_name         string     必填     步骤①对应车次返回值
 @param secretStr               string     必填     步骤①对应车次返回值
 */
#define kJHAPIS_LIFE_TRAIN_TICKET_ORDER    @"juhe.apis.train.ticket.order"     //5、12306订票②:提交订单



3,快递查询接口在程序中调用方法(将ViewController.m改为.mm)

#import "ViewController.h"

#import <JuheApis/JuheAPI.h>
#import <JuheApis/JHOpenidSupplier.h>
#import <JuheApis/JHSDKAPIPath.h>

@interface ViewController ()
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    [[JHOpenidSupplier shareSupplier] registerJuheAPIByOpenId:@"申请到的OpenId“];
    
    UIButton* beginBtn=[UIButton buttonWithType:UIButtonTypeSystem];
    beginBtn.frame=CGRectMake(20, 111, 280, 40);
    [beginBtn setTitle:@"开始" forState:UIControlStateNormal];
    [beginBtn setTitleColor:[UIColor darkGrayColor] forState:UIControlStateNormal];
    [beginBtn addTarget:self action:@selector(doTestAction) forControlEvents:UIControlEventTouchUpInside];
    [beginBtn setBackgroundImage:[UIImage imageNamed:@"button5"] forState:UIControlStateNormal];
    [self.view addSubview:beginBtn];
}

- (void)doTestAction
{
    /* 1、车次查询 */
   [self test : kJHAPIS_LIFE_TRAIN_S            parameters:@{@"name":@"G4" , @"dtype":@"json" }];


    /* 2、站到站查询 */

   [self test : kJHAPIS_LIFE_TRAIN_S2S       parameters:@{@"start":@"上海虹桥" , @"end":@"苏州园区" }];


    /* 3、12306实时余票查询 */
   [self test : kJHAPIS_LIFE_TRAIN_YP         parameters:@{@"from":@"上海虹桥" , @"to":@"温州南"  }];


    /* 4、12306订票①:查询车次  */
   [self test : kJHAPIS_LIFE_TRAIN_TICKET_CC           parameters:@{@"from":@"上海虹桥" , @"to":@"温州南" }];


    /* 5、12306订票②:提交订单 */
   [self test : kJHAPIS_LIFE_TRAIN_TICKET_ORDER    parameters:@{@"name":@"乘客姓名" , @"seat":@"O" , @"mobile":@"乘客手机号码" , @"idcard":@"乘客身份证号码" , @"username":@"12306官网账号" ,@"password":@"12306官网密码" , @"train_no":@"步骤①对应车次返回值"  , @"station_train_code":@"步骤①对应车次返回值" , @"from_station_telecod":@"步骤①对应车次返回值" } ] ;

 

}

- (void)test:(NSString *)path  parameters:(NSDictionary *)parameters{
    
    JuheAPI *juheapi = [JuheAPI shareJuheApi];
    [juheapi executeWorkWithAPI:path
                     parameters:parameters
                        success:^(id responseObject){
                            if ([[parameters objectForKey:@"dtype"] isEqualToString:@"xml"]) {
                                NSLog(@"***xml*** \n %@", responseObject);
                            }else{
                                int error_code = [[responseObject objectForKey:@"error_code"] intValue];
                                if (!error_code) {
                                    NSLog(@" %@", responseObject);
                                }else{
                                    NSLog(@" %@", responseObject);
                                }
                            }
                            
                        } failure:^(NSError *error) {
                            NSLog(@"error:   %@",error.description);
                        }];
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end


4,12306火车票查询订票接口返回数据说明以及错误码说明

   1、车次查询
   API : kJHAPIS_LIFE_TRAIN_S 

  返回字段:

名称

 

类型

说明

resultcode

 

int

返回码

reason

 

string

返回说明

result

 

dictionary

返回结果集

 

train_info

dictionary

返回结果集

 

name

string

列次名称

 

start

string

起点站

 

end

string

终点站

 

starttime

string

发车时间

 

endtime

string

到达时间

 

mileage

string

里程

station_list

 

array

站点列表

 

train_id

int

站点序号

 

station_name

string

站点名称

 

arrived_time

string

到达时间

 

leave_time

string

发车时间

 

stay

string

停留

 

mileage

string

里程

 

ssoftSeat

string

二等座

 

hardSead

string

一等座

 

softSeat

string

硬座

 

hardSleep

string

软座

 

softSleep

string

硬卧

error_code

 

int

错误码


   2、站到站查询

   API : kJHAPIS_LIFE_TRAIN_S2S   

  返回字段 :

名称

 

 

类型

说明

resultcode

 

 

int

返回码

reason

 

 

string

返回说明

result

 

 

dictionary

 

 

data

 

array

返回结果集

 

 

trainOpp

string

列次名称

 

 

train_typename

string

列车类型

 

 

start_staion

string

出发站

 

 

end_station

string

终点站

 

 

leave_time

string

发车时间

 

 

arrived_time

string

到达时间

 

 

mileage

string

里程

 

totalcount

 

int

总条数

error_code

 

 

int

错误码



   3、12306实时余票查询
   API : kJHAPIS_LIFE_TRAIN_YP    

  返回字段 :

名称

 

类型

说明

error_code

 

int

返回码

reason

 

string

返回说明

result

 

array

返回结果集

 

train_no

string

车次

 

start_station_name

string

车次始发站

 

 

end_station_name

string

车次终点站

 

from_station_name

string

出发站

 

to_station_name

string

到达站

 

start_time

string

出发时间

 

arrive_time

string

到达时间

 

train_class_name

string

车次类型

 

day_difference

string

历时天数

 

lishi

string

总历时时间

 

gr_num

string

高级软卧:-- 说明无该席位

 

qt_num

string

其他

 

rw_num

string

软卧

 

rz_num

string

软座

 

tz_num

string

特等座

 

wz_num

string

无座

 

yw_num

string

硬卧

 

yz_num

string

硬座

 

ze_num

string

二等座

 

zy_num

string

一等座

 

swz_num

string

商务座
 

   4、12306订票①:查询车次
   API : kJHAPIS_LIFE_TRAIN_TICKET_CC       

  返回字段:

 

名称

 

 

类型

说明

reason

 

 

string

返回说明

result

 

 

array

返回结果集

 

queryLeftNewDTO

 

dictionary

 

 

 
train_no

string

车次

 

 
station_train_code

 

 

 

 
start_station_telecode

 

 

 

 
start_station_name

string

车次始发站

 

 
nd_station_telecode

 

 

 

 
end_station_name

string

车次终点站

 

 
from_station_telecode

 

 

 

 
from_station_name

string

出发站

 

 
to_station_telecode

 

 

 

 
to_station_name

string

到达站

 

 
start_time

string

出发时间

 

 
arrive_time

string

到达时间

 

 
day_difference

 

历时天数

 

 
train_class_name

string

车次类型

 

 
lishi

string

总历时时间

 

 
canWebBuy

 

 

 

 
lishiValue

 

 

 

 
yp_info

 

 

 

 
control_train_day

 

 

 

 
start_train_date

 

 

 

 
seat_feature

 

 

 

 
yp_ex

 

 

 

 
train_seat_feature

 

 

 

 
seat_types

 

 

 

 
location_code

 

 

 

 
from_station_no

 

 

 

 
to_station_no

 

 

 

 
control_day

 

 

 

 
sale_time

 

 

 

 
is_support_card

 

 

 

 
gr_num

string

高级软卧:-- 说明无该席位

 

 
qt_num

string

其他

 

 
rw_num

string

软卧

 

 
rz_num

string

软座

 

 
tz_num

string

特等座

 

 
wz_num

string

无座

 

 
yw_num

string

硬卧

 

 
yz_num

string

硬座

 

 
ze_num

string

二等座

 

 
zy_num

string

一等座

 

 
swz_num

string

商务座

 

secretStr
 

 

 

 

buttonTextInfo
 

 

预订

error_code

 
 

int

错误码


   5、12306订票②:提交订单
   API : kJHAPIS_LIFE_TRAIN_TICKET_ORDER   

  返回字段 :


名称

类型

说明

reason

int

返回说明

result

dictionary

返回结果

error_code

int

错误码

  6. 12306 火车票查询订票错误码

  

错误码

 

202201

车次不能

 

202202

查询不到车次的相信息

 

202203

出发站或点站不能

 

202204

查询不到

 

202205

错误的出发站名

 

202206

错误的到达站名

 

202207

查询不到余票相关数据哦

 

202208

错误认传递的参正确

 

202209

12306络错误,

 

202210

12306号密码错误

 

202211

邮箱不存在

 

202212

查询出

 

202213

提交订单

 

202214

出票失

 

202215

 

202216

车次无法

 

202217

不合法的座位类型


5, 更多聚合数据SDK接口,访问这里: http://www.juhe.cn/juhesdk/idocs

© 著作权归作者所有

共有 人打赏支持
王航-聚合数据
粉丝 2
博文 12
码字总数 10969
作品 0
苏州
【AR】开始使用Vuforia开发iOS(2)

原 设置iOS开发环境 安装Vuforia iOS SDK 如何安装Vuforia iOS示例 编译并运行Vuforia iOS示例 支持iOS金属 iOS 64位迁移 设置iOS开发环境 适用于iOS的Vuforia引擎目前支持运行iOS 9及更高版...

lichong951 ⋅ 06/11 ⋅ 0

Proxy-Go 全平台 SDK 迎来 v4.8 更新!

Proxy-Go 全平台 SDK是proxy使用gombile实现了一份go代码编译为android和ios平台下面可以直接调用的sdk类库, 另外还为linux和windows提供sdk支持,基于这些类库,APP开发者可以轻松的开发出各...

狂奔的蜗牛. ⋅ 05/04 ⋅ 2

Proxy-Go 全平台 SDK v4.9 来啦!

Proxy-Go 全平台 SDK是proxy使用gombile实现了一份go代码编译为android和ios平台下面可以直接调用的sdk类库, 另外还为linux和windows提供sdk支持,基于这些类库,APP开发者可以轻松的开发出各...

狂奔的蜗牛. ⋅ 06/12 ⋅ 0

ZipperDown漏洞来了!微博、陌陌、快手等常用 iOS 应用恐要中招

雷锋网(公众号:雷锋网)消息,5月15日,盘古实验室对外宣布,他们在针对不同客户的 iOS 应用安全审计过程中,发现了一类通用的安全漏洞---ZipperDown漏洞。 10%的iOS应用可能受ZipperDow...

郭佳 ⋅ 05/15 ⋅ 0

React Native SDK for OSS

此文主要介绍 React Native SDK for OSS的方方面面,包括相关基本概念、项目背景、项目方案、环境搭建运行、使用姿势、注意事项等。文末的附件可运行Example Zip压缩包和针对新手的入门实用文...

zuozhao ⋅ 05/18 ⋅ 0

面试官自述:面向高级开发人员的iOS面试问题

当您准备进行技术性iOS面试时,了解您可能会询问哪些主题以及经验丰富的iOS开发人员期望什么是非常重要的。 这是许多硅谷公司用来衡量iOS候选人资历水平的一系列问题。 这些问题涉及iOS开发的...

菇哒微课 ⋅ 04/26 ⋅ 0

Windows 10 新功能 Nearby Share 支持 Android 、iOS

Windows 10 April Update 中引入了诸多新功能,其中一项功能是 Nearby Share/Near Share,它可让用户轻松地将文件从一台 Windows 10 PC 传输到另一台,在 Build 2018 大会上,微软确认该功能...

雨田桑 ⋅ 05/15 ⋅ 0

如何判断你是合格的高级iOS开发工程师?

前言 随着移动互联网的高速发展泄洪而来,有意学习移动开发的人越来越多了,竞争也是越来越大,需要学习的东西很多。如何才能在激烈的移动开发者竞争中一枝独秀,成为一名真正合格的高级iOS...

_小迷糊 ⋅ 05/26 ⋅ 0

iOS ZipperDown 漏洞来袭,我们该如何应对?

  昨天傍晚盘古实验室负责任的披露了针对 iOS 应用的 ZipperDown 漏洞,并提供了检索、查询受影响应用的平台: zipperdown.com。基于目前公开的信息,该漏洞的影响面比较大,15000 多个应用...

FreeBuf ⋅ 05/16 ⋅ 0

iOS原生混合RN开发最佳实践

做过原生iOS开发或者Android开发的同学们肯定也都了解Hybrid,有一些Hybrid的开发经验,目前我们企业开发中运用最广泛的Hybrid App技术就是原生与H5 hybrid,在早期的时候,可能部分同学也接...

光强 ⋅ 05/16 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

HiSDP —— 高效的C++软件开发平台

目前阿里集团每天有近1000PB的数据是通过LogAgent采集的,为了让LogAgent做到资源占用节省和高效采集,背后是基于HiSDP去构建的。 缘由 当决定采用C++编程语言去开发一个软件时,紧接着所面临...

阿里云云栖社区 ⋅ 11分钟前 ⋅ 0

zookeeper-3.4.12 下载与安装教程

一、zookeeper下载地址 http://mirrors.hust.edu.cn/apache/zookeeper/ 二、启动教程 把压缩包放在指定目录下 第三: 进入 conf文件夹底下 zoo_sample.cfg 文件名改成 zoo.cfg 第四步: 进入b...

泉天下 ⋅ 13分钟前 ⋅ 0

Oracle 中文日期转换

SELECT TO_date('2011年11月11日', 'yy"年"mm"月"dd"日"') FROM DUAL; 1. Oracle无法识别中文格式,所以添加双引号。 2. 后面的格式是指字符串在转换前的格式,而不是指转换后的格式。...

江戸川 ⋅ 14分钟前 ⋅ 0

MySell:API Spring Boot

起步 类目 商品 订单

BeanHo ⋅ 16分钟前 ⋅ 0

Spring方法拦截器MethodInterceptor

参考资料 1、Spring方法拦截器MethodInterceptor 2、Sharding JDBC源码分析-JdbcMethodInvocation类的作用

哎小艾 ⋅ 20分钟前 ⋅ 0

正则表达式

元字符 元字符,又叫字符集,就是用一些特殊符号表示特定种类的字符或位置。 匹配字符 . 匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线或汉字 \s 匹配任意的空白符 \d 匹配数字 匹配...

wangchen1999 ⋅ 20分钟前 ⋅ 0

数据库数据导入Elasticsearch案例分享

基于bboss持久层和bboss elasticsearch客户端实现数据库数据导入es案例分享(支持各种数据库和各种es版本) 1.案例对应的源码 https://gitee.com/bboss/bboss-elastic/blob/master/bboss-el...

bboss ⋅ 20分钟前 ⋅ 0

动手---sbt(2)

参考 https://blog.csdn.net/leishangwen/article/details/46225587 建立一个chisel_max目录,文件内容如后面所述,现在开始执行命令: joe@joe-Aspire-Z3730:/media/sdb4/download/scala$ c......

whoisliang ⋅ 27分钟前 ⋅ 0

纯js实现最简单的文件上传(后台使用MultipartFile)

<!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>XMLHttpRequest上传文件</title> <script type="text/javascript"> //图片上传 var xhr......

孟飞阳 ⋅ 32分钟前 ⋅ 0

iOS宇宙大战游戏、调试工具、各种动画、AR相册、相机图片编辑等源码

iOS精选源码 日期时间选择器,swift Space Battle 宇宙大战 SpriteKit游戏源码 LLDebugTool - 便捷的IOS调试工具(新增截屏功能) 相机扫描or长按识别二维码、FMDB、键盘动态高度、定位等 动画...

sunnyaigd ⋅ 33分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部