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