');
}
send(){
$('#btnUpdateUsers').text('更新中...');
$.ajax({
type: 'POST',
url: 'http://drrrkari.com/ajax.php',
dataType: 'json',
timeout: 12000,
context: this,
success: this.success,
error: function(e){
console.log('ERROR!', e);
$('#btnUpdateUsers').text('更新失敗 :p');
}
});
}
success(json, status, xhr){
$('#btnUpdateUsers').text('ユーザーリスト更新');
this.json = json;
this.displayUserlist(json);
}
displayUserlist(json){
console.log('json取得完了', json.talks);
$('#userList').empty();
// 入室者数分繰り返す
for(var key in json.users){
var userJson = json.users[key];
//console.log('j', userJson);
// 表示用データの作成
var iconUrl = `http://drrrkari.com/css/icon_${userJson.icon}.png`;
userJson.trip = (userJson.trip === undefined)? '': userJson.trip;
userJson.encip = (!userJson.encip)? 'host: '+json.hostip: userJson.encip;
// unixtimeを読める形式にする
//var d = new Date(userJson.update * 1000);
//var date = d.toLocaleDateString();
//var time = d.toLocaleTimeString('ja-JP');
//var update = date + ' ' + time;
var date = this.toDateString(userJson.update, '/');
var time = this.toTimeString(userJson.update, ':');
var update = date + ' ' + time;
// 入室者の情報を表示する
$('#userList').append(`
${userJson.name}
${userJson.trip}
${update}
${userJson.encip}
${userJson.id}
`);
// 保存時のデータを作成
this.tsv +=
userJson.icon +'\t'+
userJson.name +'\t'+
userJson.trip +'\t'+
userJson.id +'\t'+
userJson.encip +'\n';
}
}
userListSave(){
// 保存時のファイル名
var date = this.toDateString(this.json.update, '-');
var time = this.toTimeString(this.json.update, null);
var filename = 'userlist_' + date + '_' + time + '_' + this.json.name + '.txt';
// 保存するファイルの内容
var data = this.tsv;
// 保存実行
var blob = new Blob([ data ], { "type" : "text/plain" });
var a = document.getElementById('aSaveUserList');
a.download = filename;
a.href = window.URL.createObjectURL(blob);
console.log('save', filename);
}
// unixtimeの年月日部分を読める形式で返す
toDateString(unixtime, separator){
var t = new Date(unixtime * 1000);
var y = t.getFullYear();
var m = ( '00' + (t.getMonth() + 1) ).slice(-2)
var d = ( '00' + t.getDate() ).slice(-2);
//console.log(y, m, d);
if(separator === null){
return y + m + d; // yyyyddmm 区切り記号無し
}
else{
return y + separator + m + separator + d;
}
}
// unixtimeの時刻部分を読める形式で返す
toTimeString(unixtime, separator){
var t = new Date(unixtime * 1000);
var h = ('00' + t.getHours() ).slice(-2);
var m = ('00' + t.getMinutes() ).slice(-2);;
var s = ('00' + t.getSeconds() ).slice(-2);
//console.log(h+':'+m+':'+s);
if(separator === null){
return h+m+s; // hhmmss 区切り記号無し
}
else{
return h + separator + m + separator + s
}
}
}
const ruv = new RoomuserView();
ruv.ui();
ruv.send();