UNPKG

cticket

Version:

查询12306车票信息,可筛选过站

68 lines (55 loc) 2.26 kB
import request from 'request'; import Promise from 'es6-promise'; import { getStationName } from './helpers'; const requestTickets = (from, to, date) => new Promise((resolve, reject) => { const fromStation = getStationName(from); const toStation = getStationName(to); if (!fromStation) { reject({ msg: '出发站代码未找到', data: null }); return; } if (!toStation) { reject({ msg: '到站代码未找到', data: null }); return; } // 请求地址,12306可能会修改此api地址 // const requestUrl = `https://kyfw.12306.cn/otn/lcxxcx/query?purpose_codes=ADULT&queryDate=${date}&from_station=${fromStation}&to_station=${toStation}`; const requestUrl = `https://kyfw.12306.cn/otn/leftTicket/query?leftTicketDTO.train_date=${date}&leftTicketDTO.from_station=${fromStation}&leftTicketDTO.to_station=${toStation}&purpose_codes=ADULT`; // const requestUrl = `https://kyfw.12306.cn/otn/leftTicket/queryZ?leftTicketDTO.train_date=${date}&leftTicketDTO.from_station=${fromStation}&leftTicketDTO.to_station=${toStation}&purpose_codes=ADULT`; console.log('requesting tickets(from: %s, to: %s, date: %s)', from, to, date); // console.log(requestUrl); request.get({ uri: requestUrl, rejectUnauthorized: false }, (error, response, body) => { if (error) { reject({ msg: '获取车票信息失败', data: error }); return; } const result = JSON.parse(body); if (!result.data) { reject({ msg: '获取车票接口有误', data: result }); return; } // const data = result.data; const data = { searchDate: date, datas: result.data.map(({ queryLeftNewDTO }) => queryLeftNewDTO) }; resolve(data, { from, to, date }); }); }); export default requestTickets;