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

查看12306火车票查询API:https://www.juhe.cn/docs/api/id/22

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

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

/* 12306火车票查询订票 */
/**
 @brief 12306火车票查询订票--1、车次查询

 @brief  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

不合法的座位类型


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值