Light12306/tools/onInstall_open12306.js

94 lines
2.8 KiB
JavaScript
Raw Permalink Normal View History

2014-09-09 00:31:39 +08:00
//版本更替
(function() {
var currentVersion = baseInfo.getInstance().info.version,
oldVersion = Storage.get('currentVersion');
if (!oldVersion) {
Statistics.trigger(0, '1');
chrome.tabs.create({url: "https://kyfw.12306.cn/otn/"});
Storage.set('currentVersion', currentVersion);
} else if (Storage.get('currentVersion') != currentVersion) {
Statistics.trigger(0, '2', Storage.get('currentVersion'));
Storage.set('currentVersion', currentVersion);
}
//1.x或2.0.x版本适配
if (!oldVersion || /^1\./.test(oldVersion) || /^2\.0\./.test(oldVersion)) {
//有监控中任务转为monitorBox没有则记录InputKeeper
if (Storage.get('monitoring') == 'on') {
var date = parseInt(Storage.get('flightDate'), 10),
flight = new Flight({
from: Storage.get('flightFrom'),
to: Storage.get('flightTo'),
date: Storage.get('flightFiveDays') == 'true' ? [date - 172800000, date + 172800000] : [date, date],
extra: Storage.get('flightFiveDays') == 'true' ? [date - 172800000, date + 172800000] : [date - 172800000, date + 172800000]
});
Storage.set(flight.getId(), JSON.stringify({
flight: {
main: JSON.parse(Storage.get('rightDateTicket')),
extra: JSON.parse(Storage.get('otherTicketsInfo')),
lowestPrice: parseInt(Storage.get('lowestPrice'))
},
monitor: {
lastTime: parseInt(Storage.get('lastMonitorTime'), 10),
time: parseInt(Storage.get('lastMonitorTime'), 10),
type: Storage.get('monitorType'),
price: Storage.get('absolutePrice')
},
lastShowedPrice: parseInt(Storage.get('lastShowedPrice'), 10)
}));
Storage.set('monitorBox', JSON.stringify([flight.getId()]));
Storage.set('monitorHistory', JSON.stringify([flight.getId()]));
} else {
Storage.set('lastInput', {
from: Storage.get('flightFrom'),
to: Storage.get('flightTo'),
date: parseInt(Storage.get('flightDate'), 10),
extra: Storage.get('flightFiveDays') == 'true'
});
}
Storage.remove('flightFrom');
Storage.remove('flightTo');
Storage.remove('flightDate');
Storage.remove('flightFiveDays');
Storage.remove('monitorType');
Storage.remove('absolutePrice');
Storage.remove('rightDateTicket');
Storage.remove('otherTicketsInfo');
Storage.remove('lowestPrice');
Storage.remove('lastShowedPrice');
Storage.remove('lastMonitorTime');
var lastStage;
switch (Storage.get('myStage')) {
case 'ticketRoot':
lastStage = 'root';
break;
case 'monitorGroup':
if (Storage.get('monitoring') == 'on') {
lastStage = 'monitorBox';
} else {
lastStage = 'flightSetting';
}
break;
case 'cheapTicketList':
lastStage = 'bargainList';
break;
case 'setting':
lastStage = 'commonSetting';
break;
default:
lastStage = 'root';
}
Storage.set('lastStage', lastStage);
Storage.remove('monitoring');
Storage.remove('myStage');
}
}());