mirror of
https://github.com/SophiaAtkinson/steamwidgets-web.git
synced 2025-06-27 10:17:41 -07:00
#1 Stats data
This commit is contained in:
@ -28,7 +28,6 @@ class ApiController extends BaseController {
|
||||
|
||||
$data = SteamApp::querySteamData($appid, $language);
|
||||
|
||||
//Save hit
|
||||
HitsModel::addHit(HitsModel::HITTYPE_MODULE_APP);
|
||||
|
||||
return json(array('code' => 200, 'appid' => $appid, 'lang' => $language, 'data' => $data));
|
||||
@ -50,7 +49,6 @@ class ApiController extends BaseController {
|
||||
|
||||
$data = SteamServer::querySteamData(env('STEAM_API_KEY'), $addr);
|
||||
|
||||
//Save hit
|
||||
HitsModel::addHit(HitsModel::HITTYPE_MODULE_SERVER);
|
||||
|
||||
return json(array('code' => 200, 'addr' => $addr, 'data' => $data));
|
||||
@ -72,7 +70,6 @@ class ApiController extends BaseController {
|
||||
|
||||
$data = SteamUser::querySteamData(env('STEAM_API_KEY'), $steamid);
|
||||
|
||||
//Save hit
|
||||
HitsModel::addHit(HitsModel::HITTYPE_MODULE_USER);
|
||||
|
||||
return json(array('code' => 200, 'steamid' => $steamid, 'data' => $data));
|
||||
@ -94,7 +91,6 @@ class ApiController extends BaseController {
|
||||
|
||||
$data = SteamWorkshop::querySteamData($itemid);
|
||||
|
||||
//Save hit
|
||||
HitsModel::addHit(HitsModel::HITTYPE_MODULE_WORKSHOP);
|
||||
|
||||
return json(array('code' => 200, 'itemid' => $itemid, 'data' => $data));
|
||||
@ -116,7 +112,6 @@ class ApiController extends BaseController {
|
||||
|
||||
$data = SteamGroup::querySteamData($group);
|
||||
|
||||
//Save hit
|
||||
HitsModel::addHit(HitsModel::HITTYPE_MODULE_GROUP);
|
||||
|
||||
return json(array('code' => 200, 'group' => $group, 'data' => $data));
|
||||
|
@ -80,6 +80,7 @@ class StatsController extends BaseController
|
||||
$data[HitsModel::HITTYPE_MODULE_SERVER] = [];
|
||||
$data[HitsModel::HITTYPE_MODULE_USER] = [];
|
||||
$data[HitsModel::HITTYPE_MODULE_WORKSHOP] = [];
|
||||
$data[HitsModel::HITTYPE_MODULE_GROUP] = [];
|
||||
|
||||
$hits = HitsModel::getHitsPerDay($start, $end);
|
||||
|
||||
@ -90,6 +91,7 @@ class StatsController extends BaseController
|
||||
$count_total[HitsModel::HITTYPE_MODULE_SERVER] = 0;
|
||||
$count_total[HitsModel::HITTYPE_MODULE_USER] = 0;
|
||||
$count_total[HitsModel::HITTYPE_MODULE_WORKSHOP] = 0;
|
||||
$count_total[HitsModel::HITTYPE_MODULE_GROUP] = 0;
|
||||
|
||||
for ($i = 0; $i < $hits->count(); $i++) {
|
||||
$count_total[$hits->get($i)->get('hittype')] += $hits->get($i)->get('count');
|
||||
@ -101,7 +103,7 @@ class StatsController extends BaseController
|
||||
'code' => 200,
|
||||
'data' => $data,
|
||||
'counts' => $count_total,
|
||||
'count_total' => $count_total[HitsModel::HITTYPE_MODULE_APP] + $count_total[HitsModel::HITTYPE_MODULE_SERVER] + $count_total[HitsModel::HITTYPE_MODULE_USER] + $count_total[HitsModel::HITTYPE_MODULE_WORKSHOP],
|
||||
'count_total' => $count_total[HitsModel::HITTYPE_MODULE_APP] + $count_total[HitsModel::HITTYPE_MODULE_SERVER] + $count_total[HitsModel::HITTYPE_MODULE_USER] + $count_total[HitsModel::HITTYPE_MODULE_WORKSHOP] + $count_total[HitsModel::HITTYPE_MODULE_GROUP],
|
||||
'start' => $start,
|
||||
'end' => $end,
|
||||
'day_diff' => $dayDiff
|
||||
|
@ -68,6 +68,7 @@ window.vue = new Vue({
|
||||
document.getElementById('count-server').innerHTML = response.counts.mod_server;
|
||||
document.getElementById('count-user').innerHTML = response.counts.mod_user;
|
||||
document.getElementById('count-workshop').innerHTML = response.counts.mod_workshop;
|
||||
document.getElementById('count-group').innerHTML = response.counts.mod_group;
|
||||
|
||||
let content = document.getElementById(elem);
|
||||
if (content) {
|
||||
@ -76,6 +77,7 @@ window.vue = new Vue({
|
||||
let data_server = [];
|
||||
let data_user = [];
|
||||
let data_workshop = [];
|
||||
let data_group = [];
|
||||
|
||||
let day = 60 * 60 * 24 * 1000;
|
||||
let dt = new Date(Date.parse(start));
|
||||
@ -98,6 +100,7 @@ window.vue = new Vue({
|
||||
data_server.push(0);
|
||||
data_user.push(0);
|
||||
data_workshop.push(0);
|
||||
data_group.push(0);
|
||||
}
|
||||
|
||||
for (const [key, value] of Object.entries(response.data.mod_app)) {
|
||||
@ -132,6 +135,14 @@ window.vue = new Vue({
|
||||
});
|
||||
}
|
||||
|
||||
for (const [key, value] of Object.entries(response.data.mod_group)) {
|
||||
labels.forEach(function(lblElem, lblIndex){
|
||||
if (lblElem == key) {
|
||||
data_group[lblIndex] = parseInt(value[0]);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
const config = {
|
||||
type: 'line',
|
||||
data: {
|
||||
@ -160,6 +171,12 @@ window.vue = new Vue({
|
||||
backgroundColor: 'rgb(24, 125, 54)',
|
||||
borderColor: 'rgb(24, 125, 54)',
|
||||
data: data_workshop,
|
||||
},
|
||||
{
|
||||
label: 'Group',
|
||||
backgroundColor: 'rgb(223, 90, 85)',
|
||||
borderColor: 'rgb(223, 90, 85)',
|
||||
data: data_group,
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@ -16,7 +16,7 @@ const STEAMWIDGETS_GROUP_VERSION = 'v1';
|
||||
*/
|
||||
class SteamGroupElem extends HTMLElement
|
||||
{
|
||||
HEADLINE_MAX_LEN = 30;
|
||||
HEADLINE_MAX_LEN = 32;
|
||||
DESCRIPTION_MAX_LEN = 40;
|
||||
|
||||
storedData = {};
|
||||
|
@ -18,6 +18,7 @@
|
||||
<div>Server count: <div class="is-inline-block" id="count-server"></div></div>
|
||||
<div>User count: <div class="is-inline-block" id="count-user"></div></div>
|
||||
<div>Workshop count: <div class="is-inline-block" id="count-workshop"></div></div>
|
||||
<div>Group count: <div class="is-inline-block" id="count-group"></div></div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
|
Reference in New Issue
Block a user