Причина: в схеме SQLite (data/pvz.db, scripts/db.py) в таблице profiles отсутствовали столбцы casino и zombie_lab. Кроме того, в db.py и game/js/systems/auth.js (mergeUserData, getDefaultData) структуры данных казино не сериализовались и не объединялись, из-за чего при перезагрузке страницы или сетевой синхронизации профиля игрока сервер перезаписывал кэш без данных депозита (deposit: 0).
Исправление:
В scripts/db.py добавлена миграция колонок casino TEXT DEFAULT '{}' и zombie_lab TEXT DEFAULT '{}' в таблицу profiles.
Методы get_user_profile, save_user_profile, authenticate_user, register_user, admin_get_user_detail, admin_import_db обновлены для полноценного сохранения и извлечения данных банка и казино.
В game/js/systems/auth.js обновлены getDefaultData и mergeUserData для надежного слияния прогресса казино без риска потери депозита.
В базе данных data/pvz.db восстановлен вклад пользователя kostyan в объёме 100 000 монет с начислением накопленных процентов.
✅ **Исправлено в коммите `bd31473`**
- **Причина:** в схеме SQLite (`data/pvz.db`, `scripts/db.py`) в таблице `profiles` отсутствовали столбцы `casino` и `zombie_lab`. Кроме того, в `db.py` и `game/js/systems/auth.js` (`mergeUserData`, `getDefaultData`) структуры данных казино не сериализовались и не объединялись, из-за чего при перезагрузке страницы или сетевой синхронизации профиля игрока сервер перезаписывал кэш без данных депозита (`deposit: 0`).
- **Исправление:**
1. В `scripts/db.py` добавлена миграция колонок `casino TEXT DEFAULT '{}'` и `zombie_lab TEXT DEFAULT '{}'` в таблицу `profiles`.
2. Методы `get_user_profile`, `save_user_profile`, `authenticate_user`, `register_user`, `admin_get_user_detail`, `admin_import_db` обновлены для полноценного сохранения и извлечения данных банка и казино.
3. В `game/js/systems/auth.js` обновлены `getDefaultData` и `mergeUserData` для надежного слияния прогресса казино без риска потери депозита.
4. В базе данных `data/pvz.db` восстановлен вклад пользователя `kostyan` в объёме **100 000 монет** с начислением накопленных процентов.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Делал вклад под пользователем kostyan. Вклад пропал
✅ Исправлено в коммите
bd31473data/pvz.db,scripts/db.py) в таблицеprofilesотсутствовали столбцыcasinoиzombie_lab. Кроме того, вdb.pyиgame/js/systems/auth.js(mergeUserData,getDefaultData) структуры данных казино не сериализовались и не объединялись, из-за чего при перезагрузке страницы или сетевой синхронизации профиля игрока сервер перезаписывал кэш без данных депозита (deposit: 0).scripts/db.pyдобавлена миграция колонокcasino TEXT DEFAULT '{}'иzombie_lab TEXT DEFAULT '{}'в таблицуprofiles.get_user_profile,save_user_profile,authenticate_user,register_user,admin_get_user_detail,admin_import_dbобновлены для полноценного сохранения и извлечения данных банка и казино.game/js/systems/auth.jsобновленыgetDefaultDataиmergeUserDataдля надежного слияния прогресса казино без риска потери депозита.data/pvz.dbвосстановлен вклад пользователяkostyanв объёме 100 000 монет с начислением накопленных процентов.