94 lines
2.8 KiB
JavaScript
94 lines
2.8 KiB
JavaScript
|
//版本更替
|
|||
|
(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');
|
|||
|
}
|
|||
|
}());
|