- 浏览: 9604 次
- 来自: 苏州
文章分类
最新评论
聚合数据iOS SDK 12306火车票查询订票演示示例
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 :juhe.apis.train.s (宏 :
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 :juhe.apis.train.s2s (宏 :
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 :juhe.apis.train.yp (宏 : 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 :juhe.apis.train.ticket.cc (宏 : 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 :juhe.apis.train.ticket.order (宏 : 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
相关推荐
入门该项目是Flutter的起点,Flutter是一个特殊的程序包,其中包括针对Android和/或iOS的平台特定的实现代码。 要获得Flutter入门方面的帮助,请查看我们的,其中提供了教程,示例,有关移动开发的指南以及完整的API...
ESP8266系列模组SDK示例/AT指令开发/ESP8266常见问题等资料截图,见附件下载: ESP8266系列模块核心处理器 ESP8266 在较小尺寸封装中集成了业界领先的 Tensilica L106 超低功耗 32 位微型 MCU,带有 16 位精简模式,...
7.4.1 聚合支付接入示例 101 7.5 小结 105 第8章 微信登录 8.1 微信开放平台 107 8.1.1 UnionID机制 108 8.2 微信自动登录 109 8.2.1 数据结构设计 110 8.2.2 代码实现 112 8.2.3 使用...
7.4.1 聚合支付接入示例 101 7.5 小结 105 第8章 微信登录 8.1 微信开放平台 107 8.1.1 UnionID机制 108 8.2 微信自动登录 109 8.2.1 数据结构设计 110 8.2.2 代码实现 112 8.2.3 使用UnionID登录...
7.4.1 聚合支付接入示例 101 7.5 小结 105 第8章 微信登录 8.1 微信开放平台 107 8.1.1 UnionID机制 108 8.2 微信自动登录 109 8.2.1 数据结构设计 110 8.2.2 代码实现 112 8.2.3 使用UnionID登录...
5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...
5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...
Flume 是一个分布式、可靠和高可用的服务,用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型。这是一个可靠、容错的服务。 彩信发送开发包 apimms apimms 提供了各种语言用来发送彩信...
Flume 是一个分布式、可靠和高可用的服务,用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型。这是一个可靠、容错的服务。 彩信发送开发包 apimms apimms 提供了各种语言用来发送彩信...
Flume 是一个分布式、可靠和高可用的服务,用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型。这是一个可靠、容错的服务。 彩信发送开发包 apimms apimms 提供了各种语言用来发送彩信...
Flume 是一个分布式、可靠和高可用的服务,用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型。这是一个可靠、容错的服务。 彩信发送开发包 apimms apimms 提供了各种语言用来发送彩信...
Flume 是一个分布式、可靠和高可用的服务,用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型。这是一个可靠、容错的服务。 彩信发送开发包 apimms apimms 提供了各种语言用来发送彩信...
Flume 是一个分布式、可靠和高可用的服务,用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型。这是一个可靠、容错的服务。 彩信发送开发包 apimms apimms 提供了各种语言用来发送彩信...
Flume 是一个分布式、可靠和高可用的服务,用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型。这是一个可靠、容错的服务。 彩信发送开发包 apimms apimms 提供了各种语言用来发送彩信...
Flume 是一个分布式、可靠和高可用的服务,用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型。这是一个可靠、容错的服务。 彩信发送开发包 apimms apimms 提供了各种语言用来发送彩信...
Flume 是一个分布式、可靠和高可用的服务,用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型。这是一个可靠、容错的服务。 彩信发送开发包 apimms apimms 提供了各种语言用来发送彩信...
Flume 是一个分布式、可靠和高可用的服务,用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型。这是一个可靠、容错的服务。 彩信发送开发包 apimms apimms 提供了各种语言用来发送彩信...
Flume 是一个分布式、可靠和高可用的服务,用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型。这是一个可靠、容错的服务。 彩信发送开发包 apimms apimms 提供了各种语言用来发送彩信...
Flume 是一个分布式、可靠和高可用的服务,用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型。这是一个可靠、容错的服务。 彩信发送开发包 apimms apimms 提供了各种语言用来发送彩信...