mirror of
https://github.com/Spythere/stacjownik.git
synced 2026-05-03 21:38:13 +00:00
Dodano wersję developerską; dodano nowy JSON z danymi scenerii
This commit is contained in:
+2
-1
@@ -5,7 +5,8 @@
|
|||||||
"scripts": {
|
"scripts": {
|
||||||
"serve": "vue-cli-service serve",
|
"serve": "vue-cli-service serve",
|
||||||
"build": "vue-cli-service build",
|
"build": "vue-cli-service build",
|
||||||
"deploy": "npm run build && firebase deploy --only hosting"
|
"deploy-prod": "npm run build && firebase deploy --only hosting:prod",
|
||||||
|
"deploy-dev": "npm run build && firebase deploy --only hosting:dev"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"core-js": "^3.12.1",
|
"core-js": "^3.12.1",
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
export const URLs = {
|
export const URLs = {
|
||||||
sceneryData: "https://spythere.github.io/api/stationData.json",
|
sceneryData: "https://spythere.github.io/api/stationDataDev.json",
|
||||||
sceneryDataDev: "http://127.0.0.1:8000/data",
|
sceneryDataDev: "http://127.0.0.1:8000/data",
|
||||||
stations: "https://api.td2.info.pl:9640/?method=getStationsOnline",
|
stations: "https://api.td2.info.pl:9640/?method=getStationsOnline",
|
||||||
trains: "https://api.td2.info.pl:9640/?method=getTrainsOnline",
|
trains: "https://api.td2.info.pl:9640/?method=getTrainsOnline",
|
||||||
|
|||||||
+51
-42
@@ -43,7 +43,41 @@ export interface State {
|
|||||||
listenerLaunched: boolean;
|
listenerLaunched: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
type StationJSONData = [string, string, string, string, string, string, string, string, boolean, string, string, number, number, number, number, string | null, boolean, boolean, boolean];
|
interface StationJSONData {
|
||||||
|
name: string;
|
||||||
|
url: string;
|
||||||
|
lines: string;
|
||||||
|
project: string;
|
||||||
|
|
||||||
|
reqLevel: number;
|
||||||
|
|
||||||
|
supportersOnly: boolean;
|
||||||
|
|
||||||
|
signalType: string;
|
||||||
|
controlType: string;
|
||||||
|
|
||||||
|
SUP: boolean;
|
||||||
|
|
||||||
|
SBL: string;
|
||||||
|
TWB: string;
|
||||||
|
|
||||||
|
routes: {
|
||||||
|
oneWay: {
|
||||||
|
catenary: number;
|
||||||
|
noCatenary: number;
|
||||||
|
};
|
||||||
|
twoWay: {
|
||||||
|
catenary: number;
|
||||||
|
noCatenary: number;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
checkpoints: string | null;
|
||||||
|
|
||||||
|
default: boolean;
|
||||||
|
nonPublic: boolean;
|
||||||
|
unavailable: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
export const key: InjectionKey<Store<State>> = Symbol()
|
export const key: InjectionKey<Store<State>> = Symbol()
|
||||||
|
|
||||||
@@ -121,16 +155,16 @@ export const store = createStore<State>({
|
|||||||
// commit(MUTATIONS.SET_DATA_CONNECTION_STATUS, DataStatus.Error);
|
// commit(MUTATIONS.SET_DATA_CONNECTION_STATUS, DataStatus.Error);
|
||||||
commit(MUTATIONS.SET_SCENERY_DATA_STATUS, DataStatus.Error);
|
commit(MUTATIONS.SET_SCENERY_DATA_STATUS, DataStatus.Error);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
commit(MUTATIONS.SET_SCENERY_DATA_STATUS, DataStatus.Loaded);
|
commit(MUTATIONS.SET_SCENERY_DATA_STATUS, DataStatus.Loaded);
|
||||||
commit(MUTATIONS.SET_DISPATCHER_DATA_STATUS, onlineDispatchersData.success ? DataStatus.Loaded : DataStatus.Warning);
|
commit(MUTATIONS.SET_DISPATCHER_DATA_STATUS, onlineDispatchersData.success ? DataStatus.Loaded : DataStatus.Warning);
|
||||||
commit(MUTATIONS.SET_TRAINS_DATA_STATUS, onlineTrainsData.success ? DataStatus.Loaded : DataStatus.Warning);
|
commit(MUTATIONS.SET_TRAINS_DATA_STATUS, onlineTrainsData.success ? DataStatus.Loaded : DataStatus.Warning);
|
||||||
|
|
||||||
const updatedStationList: Station['onlineInfo'][] = onlineStationsData.message.reduce((acc, station) => {
|
const updatedStationList: Station['onlineInfo'][] = onlineStationsData.message.reduce((acc, station) => {
|
||||||
if (station.region !== this.state.region.id || !station.isOnline) return acc;
|
if (station.region !== this.state.region.id || !station.isOnline) return acc;
|
||||||
|
|
||||||
const stationStatus = onlineDispatchersData.success ? onlineDispatchersData.message.find((status: string[]) => status[0] == station.stationHash && status[1] == this.state.region.id) : -1;
|
const stationStatus = onlineDispatchersData.success ? onlineDispatchersData.message.find((status: string[]) => status[0] == station.stationHash && status[1] == this.state.region.id) : -1;
|
||||||
|
|
||||||
const statusTimestamp = getStatusTimestamp(stationStatus);
|
const statusTimestamp = getStatusTimestamp(stationStatus);
|
||||||
const statusID = getStatusID(stationStatus);
|
const statusID = getStatusID(stationStatus);
|
||||||
@@ -188,10 +222,10 @@ export const store = createStore<State>({
|
|||||||
// Pass reduced lists to mutations
|
// Pass reduced lists to mutations
|
||||||
commit(MUTATIONS.UPDATE_STATIONS, updatedStationList);
|
commit(MUTATIONS.UPDATE_STATIONS, updatedStationList);
|
||||||
commit(MUTATIONS.UPDATE_TRAINS, updatedTrainList);
|
commit(MUTATIONS.UPDATE_TRAINS, updatedTrainList);
|
||||||
|
|
||||||
// Statuses
|
// Statuses
|
||||||
commit(MUTATIONS.SET_DATA_CONNECTION_STATUS, DataStatus.Loaded);
|
commit(MUTATIONS.SET_DATA_CONNECTION_STATUS, DataStatus.Loaded);
|
||||||
|
|
||||||
// commit(MUTATIONS.SET_TIMETABLE_DATA_STATUS, DataStatus.Loading);
|
// commit(MUTATIONS.SET_TIMETABLE_DATA_STATUS, DataStatus.Loading);
|
||||||
dispatch(ACTIONS.fetchTimetableData);
|
dispatch(ACTIONS.fetchTimetableData);
|
||||||
})
|
})
|
||||||
@@ -207,7 +241,7 @@ export const store = createStore<State>({
|
|||||||
const data: { success: boolean; message: TimetableAPIData } = await (await axios.get(URLs.getTimetableURL(train.trainNo, this.state.region.id))).data;
|
const data: { success: boolean; message: TimetableAPIData } = await (await axios.get(URLs.getTimetableURL(train.trainNo, this.state.region.id))).data;
|
||||||
|
|
||||||
if (!data.success) {
|
if (!data.success) {
|
||||||
warnings++;
|
warnings++;
|
||||||
return acc;
|
return acc;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -304,49 +338,24 @@ export const store = createStore<State>({
|
|||||||
|
|
||||||
mutations: {
|
mutations: {
|
||||||
SET_SCENERY_DATA(state, data: StationJSONData[]) {
|
SET_SCENERY_DATA(state, data: StationJSONData[]) {
|
||||||
state.stationList = data.map(station => ({
|
state.stationList = data.map(stationData => ({
|
||||||
name: station[0],
|
name: stationData.name,
|
||||||
|
|
||||||
generalInfo: {
|
generalInfo: {
|
||||||
name: station[0],
|
...stationData,
|
||||||
url: station[1],
|
checkpoints: stationData.checkpoints ? stationData.checkpoints.split(";").map(sub => ({ checkpointName: sub, scheduledTrains: [] })) : [],
|
||||||
lines: station[2],
|
|
||||||
project: station[3],
|
|
||||||
reqLevel: station[4] == "" || station[4] === null ? -1 : Number(station[4]),
|
|
||||||
supportersOnly: station[5] == "TAK",
|
|
||||||
signalType: station[6],
|
|
||||||
controlType: station[7],
|
|
||||||
|
|
||||||
SUP: station[8],
|
|
||||||
|
|
||||||
SBL: station[9],
|
|
||||||
TWB: station[10],
|
|
||||||
routes: {
|
|
||||||
oneWay: {
|
|
||||||
catenary: station[11],
|
|
||||||
noCatenary: station[12]
|
|
||||||
},
|
|
||||||
twoWay: {
|
|
||||||
catenary: station[13],
|
|
||||||
noCatenary: station[14]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
checkpoints: station[15] ? (station[15]).split(";").map(sub => ({ checkpointName: sub, scheduledTrains: [] })) : [],
|
|
||||||
|
|
||||||
default: station[16],
|
|
||||||
nonPublic: station[17],
|
|
||||||
unavailable: station[18],
|
|
||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
console.log(state.stationList);
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
SET_DATA_CONNECTION_STATUS(state, status: DataStatus) {
|
SET_DATA_CONNECTION_STATUS(state, status: DataStatus) {
|
||||||
state.dataConnectionStatus = status;
|
state.dataConnectionStatus = status;
|
||||||
},
|
},
|
||||||
|
|
||||||
SET_SCENERY_DATA_STATUS(state, status: DataStatus) {
|
SET_SCENERY_DATA_STATUS(state, status: DataStatus) {
|
||||||
state.sceneryDataStatus = status;
|
state.sceneryDataStatus = status;
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user