v5.9.5
Warehouse to MiniApp
This commit is contained in:
parent
3271d464c6
commit
063ed5fc3a
@ -88,6 +88,13 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="section">
|
||||||
|
<h2>🗄️ Склад</h2>
|
||||||
|
<div id="enterprises">
|
||||||
|
<p>Нет доступного склада.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<a href="https://t.me/CampFireGameBot" class="button">🏠 Перейти в чат бота</a>
|
<a href="https://t.me/CampFireGameBot" class="button">🏠 Перейти в чат бота</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -98,7 +105,7 @@
|
|||||||
fetch(`/player/${playerId}`)
|
fetch(`/player/${playerId}`)
|
||||||
.then(response => response.json())
|
.then(response => response.json())
|
||||||
.then(data => {
|
.then(data => {
|
||||||
const { user, business, enterprises } = data;
|
const { user, business, enterprises, warehouse } = data;
|
||||||
|
|
||||||
// Личные данные
|
// Личные данные
|
||||||
document.getElementById("name").textContent = user.name || user.username;
|
document.getElementById("name").textContent = user.name || user.username;
|
||||||
@ -168,6 +175,29 @@
|
|||||||
enterprisesDiv.appendChild(div);
|
enterprisesDiv.appendChild(div);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Склад (имеет следующие переменные playerId: DataTypes.BIGINT,capacity: DataTypes.INTEGER, // Общая ёмкость складаwood: DataTypes.INTEGER,coal: DataTypes.INTEGER,oil: DataTypes.INTEGER,metall: DataTypes.INTEGER,gold: DataTypes.INTEGER,diamond: DataTypes.INTEGER,), красиво выводим весь склад и добавляем прогрессбар заполненности
|
||||||
|
const warehouseDiv = document.getElementById("warehouse");
|
||||||
|
if (warehouse) {
|
||||||
|
warehouseDiv.innerHTML = "";
|
||||||
|
const resources = Object.keys(warehouse.dataValues).filter(key => key !== 'playerId' && key !== 'capacity');
|
||||||
|
resources.forEach(resource => {
|
||||||
|
const div = document.createElement("div");
|
||||||
|
div.classList.add("resource");
|
||||||
|
div.innerHTML = `
|
||||||
|
<strong>${getResourceName(resource)}</strong><br>
|
||||||
|
Количество: ${warehouse[resource]}<br>
|
||||||
|
Максимум: ${warehouse.capacity}
|
||||||
|
`;
|
||||||
|
// Добавляем прогрессбар заполненности склада
|
||||||
|
const progress = (warehouse[resource] / warehouse.capacity) * 100;
|
||||||
|
const progressBar = document.createElement("div");
|
||||||
|
progressBar.classList.add("progress-bar");
|
||||||
|
progressBar.innerHTML = `<div class="progress-bar-inner" style="width: ${progress}%"></div>`;
|
||||||
|
div.appendChild(progressBar);
|
||||||
|
warehouseDiv.appendChild(div);
|
||||||
|
});
|
||||||
|
}
|
||||||
})
|
})
|
||||||
.catch(err => {
|
.catch(err => {
|
||||||
console.error("Ошибка загрузки данных:", err);
|
console.error("Ошибка загрузки данных:", err);
|
||||||
|
@ -25,6 +25,7 @@ app.get('/player/:id', async (req, res) => {
|
|||||||
business = await BusinessModel.findOne( {where: { owner: user.business.id} } )
|
business = await BusinessModel.findOne( {where: { owner: user.business.id} } )
|
||||||
}
|
}
|
||||||
const enterprises = await EnterpriseModel.findAll({ where: { playerId } });
|
const enterprises = await EnterpriseModel.findAll({ where: { playerId } });
|
||||||
|
const warehouse = await WarehouseModel.findOne({ where: { playerId } });
|
||||||
|
|
||||||
if (!user || !character) {
|
if (!user || !character) {
|
||||||
return res.status(404).json({ error: "Игрок не найден." });
|
return res.status(404).json({ error: "Игрок не найден." });
|
||||||
@ -55,6 +56,7 @@ app.get('/player/:id', async (req, res) => {
|
|||||||
},
|
},
|
||||||
business: business || { name: "Отсутствует", balance: 0, materials: 0, users: [] },
|
business: business || { name: "Отсутствует", balance: 0, materials: 0, users: [] },
|
||||||
enterprises: enterprises || [],
|
enterprises: enterprises || [],
|
||||||
|
warehouse: warehouse || { materials: 0, maxMaterials: 0 },
|
||||||
});
|
});
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.error(err);
|
console.error(err);
|
||||||
|
Loading…
Reference in New Issue
Block a user