mirror of
https://github.com/louislam/uptime-kuma.git
synced 2024-11-27 16:54:04 +00:00
add duration to heartbeat, add timezone array
This commit is contained in:
parent
46f07fc17e
commit
82afddcfd6
5 changed files with 394 additions and 4 deletions
|
@ -23,6 +23,7 @@ class Heartbeat extends BeanModel {
|
||||||
msg: this.msg,
|
msg: this.msg,
|
||||||
ping: this.ping,
|
ping: this.ping,
|
||||||
important: this.important,
|
important: this.important,
|
||||||
|
duration: this.duration,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -44,6 +44,14 @@ class Monitor extends BeanModel {
|
||||||
bean.time = R.isoDateTime(dayjs.utc());
|
bean.time = R.isoDateTime(dayjs.utc());
|
||||||
bean.status = 0;
|
bean.status = 0;
|
||||||
|
|
||||||
|
// Duration
|
||||||
|
if (previousBeat) {
|
||||||
|
bean.duration = dayjs(bean.time).diff(dayjs(previousBeat.time), 'second');
|
||||||
|
} else {
|
||||||
|
bean.duration = 0;
|
||||||
|
console.log(previousBeat)
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (this.type === "http") {
|
if (this.type === "http") {
|
||||||
let startTime = dayjs().valueOf();
|
let startTime = dayjs().valueOf();
|
||||||
|
|
368
server/util.js
368
server/util.js
|
@ -10,3 +10,371 @@ export function ucfirst(str) {
|
||||||
const firstLetter = str.substr(0, 1);
|
const firstLetter = str.substr(0, 1);
|
||||||
return firstLetter.toUpperCase() + str.substr(1);
|
return firstLetter.toUpperCase() + str.substr(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// From: https://stackoverflow.com/questions/38399465/how-to-get-list-of-all-timezones-in-javascript
|
||||||
|
const aryIannaTimeZones = [
|
||||||
|
'Europe/Andorra',
|
||||||
|
'Asia/Dubai',
|
||||||
|
'Asia/Kabul',
|
||||||
|
'Europe/Tirane',
|
||||||
|
'Asia/Yerevan',
|
||||||
|
'Antarctica/Casey',
|
||||||
|
'Antarctica/Davis',
|
||||||
|
'Antarctica/DumontDUrville', // https://bugs.chromium.org/p/chromium/issues/detail?id=928068
|
||||||
|
'Antarctica/Mawson',
|
||||||
|
'Antarctica/Palmer',
|
||||||
|
'Antarctica/Rothera',
|
||||||
|
'Antarctica/Syowa',
|
||||||
|
'Antarctica/Troll',
|
||||||
|
'Antarctica/Vostok',
|
||||||
|
'America/Argentina/Buenos_Aires',
|
||||||
|
'America/Argentina/Cordoba',
|
||||||
|
'America/Argentina/Salta',
|
||||||
|
'America/Argentina/Jujuy',
|
||||||
|
'America/Argentina/Tucuman',
|
||||||
|
'America/Argentina/Catamarca',
|
||||||
|
'America/Argentina/La_Rioja',
|
||||||
|
'America/Argentina/San_Juan',
|
||||||
|
'America/Argentina/Mendoza',
|
||||||
|
'America/Argentina/San_Luis',
|
||||||
|
'America/Argentina/Rio_Gallegos',
|
||||||
|
'America/Argentina/Ushuaia',
|
||||||
|
'Pacific/Pago_Pago',
|
||||||
|
'Europe/Vienna',
|
||||||
|
'Australia/Lord_Howe',
|
||||||
|
'Antarctica/Macquarie',
|
||||||
|
'Australia/Hobart',
|
||||||
|
'Australia/Currie',
|
||||||
|
'Australia/Melbourne',
|
||||||
|
'Australia/Sydney',
|
||||||
|
'Australia/Broken_Hill',
|
||||||
|
'Australia/Brisbane',
|
||||||
|
'Australia/Lindeman',
|
||||||
|
'Australia/Adelaide',
|
||||||
|
'Australia/Darwin',
|
||||||
|
'Australia/Perth',
|
||||||
|
'Australia/Eucla',
|
||||||
|
'Asia/Baku',
|
||||||
|
'America/Barbados',
|
||||||
|
'Asia/Dhaka',
|
||||||
|
'Europe/Brussels',
|
||||||
|
'Europe/Sofia',
|
||||||
|
'Atlantic/Bermuda',
|
||||||
|
'Asia/Brunei',
|
||||||
|
'America/La_Paz',
|
||||||
|
'America/Noronha',
|
||||||
|
'America/Belem',
|
||||||
|
'America/Fortaleza',
|
||||||
|
'America/Recife',
|
||||||
|
'America/Araguaina',
|
||||||
|
'America/Maceio',
|
||||||
|
'America/Bahia',
|
||||||
|
'America/Sao_Paulo',
|
||||||
|
'America/Campo_Grande',
|
||||||
|
'America/Cuiaba',
|
||||||
|
'America/Santarem',
|
||||||
|
'America/Porto_Velho',
|
||||||
|
'America/Boa_Vista',
|
||||||
|
'America/Manaus',
|
||||||
|
'America/Eirunepe',
|
||||||
|
'America/Rio_Branco',
|
||||||
|
'America/Nassau',
|
||||||
|
'Asia/Thimphu',
|
||||||
|
'Europe/Minsk',
|
||||||
|
'America/Belize',
|
||||||
|
'America/St_Johns',
|
||||||
|
'America/Halifax',
|
||||||
|
'America/Glace_Bay',
|
||||||
|
'America/Moncton',
|
||||||
|
'America/Goose_Bay',
|
||||||
|
'America/Blanc-Sablon',
|
||||||
|
'America/Toronto',
|
||||||
|
'America/Nipigon',
|
||||||
|
'America/Thunder_Bay',
|
||||||
|
'America/Iqaluit',
|
||||||
|
'America/Pangnirtung',
|
||||||
|
'America/Atikokan',
|
||||||
|
'America/Winnipeg',
|
||||||
|
'America/Rainy_River',
|
||||||
|
'America/Resolute',
|
||||||
|
'America/Rankin_Inlet',
|
||||||
|
'America/Regina',
|
||||||
|
'America/Swift_Current',
|
||||||
|
'America/Edmonton',
|
||||||
|
'America/Cambridge_Bay',
|
||||||
|
'America/Yellowknife',
|
||||||
|
'America/Inuvik',
|
||||||
|
'America/Creston',
|
||||||
|
'America/Dawson_Creek',
|
||||||
|
'America/Fort_Nelson',
|
||||||
|
'America/Vancouver',
|
||||||
|
'America/Whitehorse',
|
||||||
|
'America/Dawson',
|
||||||
|
'Indian/Cocos',
|
||||||
|
'Europe/Zurich',
|
||||||
|
'Africa/Abidjan',
|
||||||
|
'Pacific/Rarotonga',
|
||||||
|
'America/Santiago',
|
||||||
|
'America/Punta_Arenas',
|
||||||
|
'Pacific/Easter',
|
||||||
|
'Asia/Shanghai',
|
||||||
|
'Asia/Urumqi',
|
||||||
|
'America/Bogota',
|
||||||
|
'America/Costa_Rica',
|
||||||
|
'America/Havana',
|
||||||
|
'Atlantic/Cape_Verde',
|
||||||
|
'America/Curacao',
|
||||||
|
'Indian/Christmas',
|
||||||
|
'Asia/Nicosia',
|
||||||
|
'Asia/Famagusta',
|
||||||
|
'Europe/Prague',
|
||||||
|
'Europe/Berlin',
|
||||||
|
'Europe/Copenhagen',
|
||||||
|
'America/Santo_Domingo',
|
||||||
|
'Africa/Algiers',
|
||||||
|
'America/Guayaquil',
|
||||||
|
'Pacific/Galapagos',
|
||||||
|
'Europe/Tallinn',
|
||||||
|
'Africa/Cairo',
|
||||||
|
'Africa/El_Aaiun',
|
||||||
|
'Europe/Madrid',
|
||||||
|
'Africa/Ceuta',
|
||||||
|
'Atlantic/Canary',
|
||||||
|
'Europe/Helsinki',
|
||||||
|
'Pacific/Fiji',
|
||||||
|
'Atlantic/Stanley',
|
||||||
|
'Pacific/Chuuk',
|
||||||
|
'Pacific/Pohnpei',
|
||||||
|
'Pacific/Kosrae',
|
||||||
|
'Atlantic/Faroe',
|
||||||
|
'Europe/Paris',
|
||||||
|
'Europe/London',
|
||||||
|
'Asia/Tbilisi',
|
||||||
|
'America/Cayenne',
|
||||||
|
'Africa/Accra',
|
||||||
|
'Europe/Gibraltar',
|
||||||
|
'America/Godthab',
|
||||||
|
'America/Danmarkshavn',
|
||||||
|
'America/Scoresbysund',
|
||||||
|
'America/Thule',
|
||||||
|
'Europe/Athens',
|
||||||
|
'Atlantic/South_Georgia',
|
||||||
|
'America/Guatemala',
|
||||||
|
'Pacific/Guam',
|
||||||
|
'Africa/Bissau',
|
||||||
|
'America/Guyana',
|
||||||
|
'Asia/Hong_Kong',
|
||||||
|
'America/Tegucigalpa',
|
||||||
|
'America/Port-au-Prince',
|
||||||
|
'Europe/Budapest',
|
||||||
|
'Asia/Jakarta',
|
||||||
|
'Asia/Pontianak',
|
||||||
|
'Asia/Makassar',
|
||||||
|
'Asia/Jayapura',
|
||||||
|
'Europe/Dublin',
|
||||||
|
'Asia/Jerusalem',
|
||||||
|
'Asia/Kolkata',
|
||||||
|
'Indian/Chagos',
|
||||||
|
'Asia/Baghdad',
|
||||||
|
'Asia/Tehran',
|
||||||
|
'Atlantic/Reykjavik',
|
||||||
|
'Europe/Rome',
|
||||||
|
'America/Jamaica',
|
||||||
|
'Asia/Amman',
|
||||||
|
'Asia/Tokyo',
|
||||||
|
'Africa/Nairobi',
|
||||||
|
'Asia/Bishkek',
|
||||||
|
'Pacific/Tarawa',
|
||||||
|
'Pacific/Enderbury',
|
||||||
|
'Pacific/Kiritimati',
|
||||||
|
'Asia/Pyongyang',
|
||||||
|
'Asia/Seoul',
|
||||||
|
'Asia/Almaty',
|
||||||
|
'Asia/Qyzylorda',
|
||||||
|
'Asia/Qostanay', // https://bugs.chromium.org/p/chromium/issues/detail?id=928068
|
||||||
|
'Asia/Aqtobe',
|
||||||
|
'Asia/Aqtau',
|
||||||
|
'Asia/Atyrau',
|
||||||
|
'Asia/Oral',
|
||||||
|
'Asia/Beirut',
|
||||||
|
'Asia/Colombo',
|
||||||
|
'Africa/Monrovia',
|
||||||
|
'Europe/Vilnius',
|
||||||
|
'Europe/Luxembourg',
|
||||||
|
'Europe/Riga',
|
||||||
|
'Africa/Tripoli',
|
||||||
|
'Africa/Casablanca',
|
||||||
|
'Europe/Monaco',
|
||||||
|
'Europe/Chisinau',
|
||||||
|
'Pacific/Majuro',
|
||||||
|
'Pacific/Kwajalein',
|
||||||
|
'Asia/Yangon',
|
||||||
|
'Asia/Ulaanbaatar',
|
||||||
|
'Asia/Hovd',
|
||||||
|
'Asia/Choibalsan',
|
||||||
|
'Asia/Macau',
|
||||||
|
'America/Martinique',
|
||||||
|
'Europe/Malta',
|
||||||
|
'Indian/Mauritius',
|
||||||
|
'Indian/Maldives',
|
||||||
|
'America/Mexico_City',
|
||||||
|
'America/Cancun',
|
||||||
|
'America/Merida',
|
||||||
|
'America/Monterrey',
|
||||||
|
'America/Matamoros',
|
||||||
|
'America/Mazatlan',
|
||||||
|
'America/Chihuahua',
|
||||||
|
'America/Ojinaga',
|
||||||
|
'America/Hermosillo',
|
||||||
|
'America/Tijuana',
|
||||||
|
'America/Bahia_Banderas',
|
||||||
|
'Asia/Kuala_Lumpur',
|
||||||
|
'Asia/Kuching',
|
||||||
|
'Africa/Maputo',
|
||||||
|
'Africa/Windhoek',
|
||||||
|
'Pacific/Noumea',
|
||||||
|
'Pacific/Norfolk',
|
||||||
|
'Africa/Lagos',
|
||||||
|
'America/Managua',
|
||||||
|
'Europe/Amsterdam',
|
||||||
|
'Europe/Oslo',
|
||||||
|
'Asia/Kathmandu',
|
||||||
|
'Pacific/Nauru',
|
||||||
|
'Pacific/Niue',
|
||||||
|
'Pacific/Auckland',
|
||||||
|
'Pacific/Chatham',
|
||||||
|
'America/Panama',
|
||||||
|
'America/Lima',
|
||||||
|
'Pacific/Tahiti',
|
||||||
|
'Pacific/Marquesas',
|
||||||
|
'Pacific/Gambier',
|
||||||
|
'Pacific/Port_Moresby',
|
||||||
|
'Pacific/Bougainville',
|
||||||
|
'Asia/Manila',
|
||||||
|
'Asia/Karachi',
|
||||||
|
'Europe/Warsaw',
|
||||||
|
'America/Miquelon',
|
||||||
|
'Pacific/Pitcairn',
|
||||||
|
'America/Puerto_Rico',
|
||||||
|
'Asia/Gaza',
|
||||||
|
'Asia/Hebron',
|
||||||
|
'Europe/Lisbon',
|
||||||
|
'Atlantic/Madeira',
|
||||||
|
'Atlantic/Azores',
|
||||||
|
'Pacific/Palau',
|
||||||
|
'America/Asuncion',
|
||||||
|
'Asia/Qatar',
|
||||||
|
'Indian/Reunion',
|
||||||
|
'Europe/Bucharest',
|
||||||
|
'Europe/Belgrade',
|
||||||
|
'Europe/Kaliningrad',
|
||||||
|
'Europe/Moscow',
|
||||||
|
'Europe/Simferopol',
|
||||||
|
'Europe/Kirov',
|
||||||
|
'Europe/Astrakhan',
|
||||||
|
'Europe/Volgograd',
|
||||||
|
'Europe/Saratov',
|
||||||
|
'Europe/Ulyanovsk',
|
||||||
|
'Europe/Samara',
|
||||||
|
'Asia/Yekaterinburg',
|
||||||
|
'Asia/Omsk',
|
||||||
|
'Asia/Novosibirsk',
|
||||||
|
'Asia/Barnaul',
|
||||||
|
'Asia/Tomsk',
|
||||||
|
'Asia/Novokuznetsk',
|
||||||
|
'Asia/Krasnoyarsk',
|
||||||
|
'Asia/Irkutsk',
|
||||||
|
'Asia/Chita',
|
||||||
|
'Asia/Yakutsk',
|
||||||
|
'Asia/Khandyga',
|
||||||
|
'Asia/Vladivostok',
|
||||||
|
'Asia/Ust-Nera',
|
||||||
|
'Asia/Magadan',
|
||||||
|
'Asia/Sakhalin',
|
||||||
|
'Asia/Srednekolymsk',
|
||||||
|
'Asia/Kamchatka',
|
||||||
|
'Asia/Anadyr',
|
||||||
|
'Asia/Riyadh',
|
||||||
|
'Pacific/Guadalcanal',
|
||||||
|
'Indian/Mahe',
|
||||||
|
'Africa/Khartoum',
|
||||||
|
'Europe/Stockholm',
|
||||||
|
'Asia/Singapore',
|
||||||
|
'America/Paramaribo',
|
||||||
|
'Africa/Juba',
|
||||||
|
'Africa/Sao_Tome',
|
||||||
|
'America/El_Salvador',
|
||||||
|
'Asia/Damascus',
|
||||||
|
'America/Grand_Turk',
|
||||||
|
'Africa/Ndjamena',
|
||||||
|
'Indian/Kerguelen',
|
||||||
|
'Asia/Bangkok',
|
||||||
|
'Asia/Dushanbe',
|
||||||
|
'Pacific/Fakaofo',
|
||||||
|
'Asia/Dili',
|
||||||
|
'Asia/Ashgabat',
|
||||||
|
'Africa/Tunis',
|
||||||
|
'Pacific/Tongatapu',
|
||||||
|
'Europe/Istanbul',
|
||||||
|
'America/Port_of_Spain',
|
||||||
|
'Pacific/Funafuti',
|
||||||
|
'Asia/Taipei',
|
||||||
|
'Europe/Kiev',
|
||||||
|
'Europe/Uzhgorod',
|
||||||
|
'Europe/Zaporozhye',
|
||||||
|
'Pacific/Wake',
|
||||||
|
'America/New_York',
|
||||||
|
'America/Detroit',
|
||||||
|
'America/Kentucky/Louisville',
|
||||||
|
'America/Kentucky/Monticello',
|
||||||
|
'America/Indiana/Indianapolis',
|
||||||
|
'America/Indiana/Vincennes',
|
||||||
|
'America/Indiana/Winamac',
|
||||||
|
'America/Indiana/Marengo',
|
||||||
|
'America/Indiana/Petersburg',
|
||||||
|
'America/Indiana/Vevay',
|
||||||
|
'America/Chicago',
|
||||||
|
'America/Indiana/Tell_City',
|
||||||
|
'America/Indiana/Knox',
|
||||||
|
'America/Menominee',
|
||||||
|
'America/North_Dakota/Center',
|
||||||
|
'America/North_Dakota/New_Salem',
|
||||||
|
'America/North_Dakota/Beulah',
|
||||||
|
'America/Denver',
|
||||||
|
'America/Boise',
|
||||||
|
'America/Phoenix',
|
||||||
|
'America/Los_Angeles',
|
||||||
|
'America/Anchorage',
|
||||||
|
'America/Juneau',
|
||||||
|
'America/Sitka',
|
||||||
|
'America/Metlakatla',
|
||||||
|
'America/Yakutat',
|
||||||
|
'America/Nome',
|
||||||
|
'America/Adak',
|
||||||
|
'Pacific/Honolulu',
|
||||||
|
'America/Montevideo',
|
||||||
|
'Asia/Samarkand',
|
||||||
|
'Asia/Tashkent',
|
||||||
|
'America/Caracas',
|
||||||
|
'Asia/Ho_Chi_Minh',
|
||||||
|
'Pacific/Efate',
|
||||||
|
'Pacific/Wallis',
|
||||||
|
'Pacific/Apia',
|
||||||
|
'Africa/Johannesburg'
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
export function timezoneList() {
|
||||||
|
let result = [];
|
||||||
|
|
||||||
|
for (let timezone of aryIannaTimeZones) {
|
||||||
|
result.push({
|
||||||
|
name: timezone,
|
||||||
|
value: timezone,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,10 @@
|
||||||
<script>
|
<script>
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
import relativeTime from "dayjs/plugin/relativeTime"
|
import relativeTime from "dayjs/plugin/relativeTime"
|
||||||
|
import utc from 'dayjs/plugin/utc'
|
||||||
|
import timezone from 'dayjs/plugin/timezone' // dependent on utc plugin
|
||||||
|
dayjs.extend(utc)
|
||||||
|
dayjs.extend(timezone)
|
||||||
dayjs.extend(relativeTime)
|
dayjs.extend(relativeTime)
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
@ -14,6 +18,9 @@ export default {
|
||||||
|
|
||||||
computed: {
|
computed: {
|
||||||
displayText() {
|
displayText() {
|
||||||
|
|
||||||
|
console.log(dayjs.tz.guess())
|
||||||
|
|
||||||
return this.value
|
return this.value
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,9 +10,8 @@
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="timezone" class="form-label">Timezone</label>
|
<label for="timezone" class="form-label">Timezone</label>
|
||||||
<select class="form-select" aria-label="Default select example" id="timezone">
|
<select class="form-select" aria-label="Default select example" id="timezone">
|
||||||
<option value="1">One</option>
|
<option name="auto">Auto: {{ guessTimezone }}</option>
|
||||||
<option value="2">Two</option>
|
<option v-for="timezone in timezoneList" :value="timezone.value">{{ timezone.name }}</option>
|
||||||
<option value="3">Three</option>
|
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -64,7 +63,12 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import dayjs from "dayjs";
|
||||||
|
import utc from 'dayjs/plugin/utc'
|
||||||
|
import timezone from 'dayjs/plugin/timezone'
|
||||||
|
dayjs.extend(utc)
|
||||||
|
dayjs.extend(timezone)
|
||||||
|
import {timezoneList} from "../../server/util";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
|
@ -72,6 +76,8 @@ export default {
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
timezoneList: timezoneList(),
|
||||||
|
guessTimezone: dayjs.tz.guess(),
|
||||||
invalidPassword: false,
|
invalidPassword: false,
|
||||||
password: {
|
password: {
|
||||||
currentPassword: "",
|
currentPassword: "",
|
||||||
|
|
Loading…
Reference in a new issue