Итак, Айв создал веб-сайт Wix для движения автобусов (например, приложение moovit), и я попытался добавить функцию отчета в реальном времени (чтобы пользователи могли сообщать о прибытии автобуса в режиме реального времени).
Моя проблема в том, что, что бы я ни пытался, я не могу обновить свой набор данных!
скажем, у меня есть 3 станции: station1, station2, station3, когда я обновляю время прибытия station3, мой wix решает скопировать всю строку station3 в startion1 без обновления поля, которое я хотел.
может кто-нибудь подарить мне работающую функцию обновления?
вот мой код: (часть обновления идет после console.log (1))
export function button1_click(event) {
let stationIndex = $w("#stationDropDown").selectedIndex;
console.log($w("#stationDropDown").selectedIndex);
$w("#dataset1").getItems(0, 12).then((data) => {
var currStation = data.items[$w("#stationDropDown").selectedIndex];
console.log(currStation);
let arrivalsArray = currStation.arrivals;
let rt_arrivalsArray = currStation.rtArrivals;
let reporteTimes = currStation.reporteTimes;
if(arrivalsArray.length!==rt_arrivalsArray.length || reporteTimes.length!==rt_arrivalsArray.length)
{
console.log("there is a length problem in the station database:"+arrivalsArray.length+","+rt_arrivalsArray.length+","+reporteTimes.length);
return;
}
let closestArrivalIndex = getClosestArrivalIndex(arrivalsArray);
console.log("closestArrivalIndex=" + closestArrivalIndex);
var now = new Date();
if (now.getMinutes() < 10)
currStation.rtArrivals[closestArrivalIndex] = now.getHours() + ":0" + now.getMinutes();
else
currStation.rtArrivals[closestArrivalIndex] = now.getHours() + ":" + now.getMinutes();
if(reporteTimes.length>closestArrivalIndex)
{
if(reporteTimes[closestArrivalIndex]==="")
currStation.reporteTimes[closestArrivalIndex]=0;
currStation.reporteTimes[closestArrivalIndex]++;
}
console.log("1");
let toUpdate = {
"rtArrivals": currStation.rtArrivals,
"reporteTimes": currStation.reporteTimes,
};
wixData.update("dataset1", toUpdate);
$w("#dataset1").save(currStation);
console.log("done reporting");
});
}