UNPKG

tlk

Version:

查询指定车次的所有站点的余票信息

111 lines (93 loc) 2.48 kB
import _ from 'lodash' import featchStationList from './apis/stationList' import featchTrains from './apis/trains' import print from './printAll' export default async ( train_no, depart_station, arrive_station, depart_date, ) => { const stationList = await featchStationList(train_no, depart_date) // 上车站点的索引 const depart_index = _.findIndex( stationList, s => s.station_name === depart_station, ) // 到达站点的索引 const arrive_index = _.findIndex( stationList, s => s.station_name === arrive_station, ) /** * 上车站点之前的站点列表 */ const beforStations = stationList.slice(0, depart_index + 1) const afterStations = stationList.slice(arrive_index) // console.log('be: ', beforStations) // console.log('af: ', afterStations) // TODO: 有问题 const jjobs = [] beforStations.map(bs => { for (const as of afterStations) { jjobs.push( queryTicket(train_no, bs.station_name, as.station_name, depart_date), ) } }) // console.log('jjobs: ', jjobs) const results = await Promise.all(jjobs) // for (const r of results) { // console.log('r: ', r) // } print(results) // /** // * 向前 // */ // if (depart_index > 0) { // // eslint-disable-next-line // console.log( // '提前上车方案:', // train_no, // depart_station, // arrive_station, // depart_date, // ) // const jb = stationList // .slice(0, depart_index + 1) // .map(s => // queryTicket(train_no, s.station_name, arrive_station, depart_date), // ) // const res = await Promise.all(jb) // print(res) // } // /** // * 向后 // */ // // eslint-disable-next-line // console.log( // '延后下车方案:', // train_no, // depart_station, // arrive_station, // depart_date, // ) // const jobs = stationList // .slice(arrive_index + 1) // .map(s => // queryTicket(train_no, depart_station, s.station_name, depart_date), // ) // const res = await Promise.all(jobs) // print(res) } async function queryTicket( train_no, depart_station, arrive_station, depart_date, ) { // console.log('==> ', train_no, depart_station, arrive_station, depart_date) const trains = await featchTrains(depart_station, arrive_station, depart_date) const train = _.find(trains, t => t.TrainNumber === train_no) return train }