聚合数据iOS SDK 12306火车票查询订票演示示例
聚合数据iOS SDK 12306火车票查询订票演示示例
王航-聚合数据 发表于3年前
聚合数据iOS SDK 12306火车票查询订票演示示例
  • 发表于 3年前
  • 阅读 65
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

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

共有 人打赏支持
粉丝 3
博文 12
码字总数 10969
×
王航-聚合数据
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: