diff options
Diffstat (limited to 'web')
| -rw-r--r-- | web/assets/css/custom.css | 20 | ||||
| -rw-r--r-- | web/assets/js/axios-init.js | 4 | ||||
| -rw-r--r-- | web/assets/js/langs.js | 84 | ||||
| -rw-r--r-- | web/assets/js/util/common.js | 41 | ||||
| -rw-r--r-- | web/assets/js/util/date-util.js | 5 | ||||
| -rw-r--r-- | web/assets/js/util/utils.js | 15 |
6 files changed, 89 insertions, 80 deletions
diff --git a/web/assets/css/custom.css b/web/assets/css/custom.css index 718e87f8..728619e0 100644 --- a/web/assets/css/custom.css +++ b/web/assets/css/custom.css @@ -1,5 +1,23 @@ -#app { +html, +body { height: 100vh; + width: 100vw; + margin: 0; + padding: 0; + overflow: hidden; +} + +#app { + height: 100%; + min-height: 100vh; + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + margin: 0; + padding: 0; + overflow: auto; } .ant-space { diff --git a/web/assets/js/axios-init.js b/web/assets/js/axios-init.js index bd55c3cf..b864b714 100644 --- a/web/assets/js/axios-init.js +++ b/web/assets/js/axios-init.js @@ -2,7 +2,7 @@ axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; axios.interceptors.request.use( - config => { + (config) => { if (config.data instanceof FormData) { config.headers['Content-Type'] = 'multipart/form-data'; } else { @@ -12,5 +12,5 @@ axios.interceptors.request.use( } return config; }, - error => Promise.reject(error) + (error) => Promise.reject(error), ); diff --git a/web/assets/js/langs.js b/web/assets/js/langs.js index e83b05f3..9e1f0911 100644 --- a/web/assets/js/langs.js +++ b/web/assets/js/langs.js @@ -1,41 +1,41 @@ const supportLangs = [ { - name : "English", - value : "en-US", - icon : "🇺🇸" + name: 'English', + value: 'en-US', + icon: '🇺🇸', }, { - name : "Farsi", - value : "fa_IR", - icon : "🇮🇷" + name: 'Farsi', + value: 'fa_IR', + icon: '🇮🇷', }, { - name : "汉è¯", - value : "zh-Hans", - icon : "🇨🇳" + name: '汉è¯', + value: 'zh-Hans', + icon: '🇨🇳', }, { - name : "Russian", - value : "ru_RU", - icon : "🇷🇺" + name: 'Russian', + value: 'ru_RU', + icon: '🇷🇺', }, -] +]; -function getLang(){ - let lang = getCookie('lang') +function getLang() { + let lang = getCookie('lang'); - if (! lang){ - if (window.navigator){ + if (!lang) { + if (window.navigator) { lang = window.navigator.language || window.navigator.userLanguage; - if (isSupportLang(lang)){ - setCookie('lang' , lang , 150) - }else{ - setCookie('lang' , 'en-US' , 150) + if (isSupportLang(lang)) { + setCookie('lang', lang, 150); + } else { + setCookie('lang', 'en-US', 150); window.location.reload(); } - }else{ - setCookie('lang' , 'en-US' , 150) + } else { + setCookie('lang', 'en-US', 150); window.location.reload(); } } @@ -43,47 +43,21 @@ function getLang(){ return lang; } -function setLang(lang){ - - if (!isSupportLang(lang)){ +function setLang(lang) { + if (!isSupportLang(lang)) { lang = 'en-US'; } - setCookie('lang' , lang , 150) + setCookie('lang', lang, 150); window.location.reload(); } -function isSupportLang(lang){ - for (l of supportLangs){ - if (l.value === lang){ +function isSupportLang(lang) { + for (l of supportLangs) { + if (l.value === lang) { return true; } } return false; } - - - -function getCookie(cname) { - let name = cname + "="; - let decodedCookie = decodeURIComponent(document.cookie); - let ca = decodedCookie.split(';'); - for(let i = 0; i <ca.length; i++) { - let c = ca[i]; - while (c.charAt(0) == ' ') { - c = c.substring(1); - } - if (c.indexOf(name) == 0) { - return c.substring(name.length, c.length); - } - } - return ""; -} - -function setCookie(cname, cvalue, exdays) { - const d = new Date(); - d.setTime(d.getTime() + (exdays*24*60*60*1000)); - let expires = "expires="+ d.toUTCString(); - document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/"; -}
\ No newline at end of file diff --git a/web/assets/js/util/common.js b/web/assets/js/util/common.js index b3ebc0bd..808b1ba9 100644 --- a/web/assets/js/util/common.js +++ b/web/assets/js/util/common.js @@ -56,14 +56,37 @@ function toFixed(num, n) { return Math.round(num * n) / n; } -function debounce (fn, delay) { - var timeoutID = null +function debounce(fn, delay) { + var timeoutID = null; return function () { - clearTimeout(timeoutID) - var args = arguments - var that = this - timeoutID = setTimeout(function () { - fn.apply(that, args) - }, delay) + clearTimeout(timeoutID); + var args = arguments; + var that = this; + timeoutID = setTimeout(function () { + fn.apply(that, args); + }, delay); + }; +} + +function getCookie(cname) { + let name = cname + '='; + let decodedCookie = decodeURIComponent(document.cookie); + let ca = decodedCookie.split(';'); + for (let i = 0; i < ca.length; i++) { + let c = ca[i]; + while (c.charAt(0) == ' ') { + c = c.substring(1); + } + if (c.indexOf(name) == 0) { + return c.substring(name.length, c.length); + } } - }
\ No newline at end of file + return ''; +} + +function setCookie(cname, cvalue, exdays) { + const d = new Date(); + d.setTime(d.getTime() + exdays * 24 * 60 * 60 * 1000); + let expires = 'expires=' + d.toUTCString(); + document.cookie = cname + '=' + cvalue + ';' + expires + ';path=/'; +} diff --git a/web/assets/js/util/date-util.js b/web/assets/js/util/date-util.js index 24e08879..651101d8 100644 --- a/web/assets/js/util/date-util.js +++ b/web/assets/js/util/date-util.js @@ -128,14 +128,13 @@ Date.prototype.formatDateTime = function (split = ' ') { }; class DateUtil { - // å—符串转 Date 对象 static parseDate(str) { return new Date(str.replace(/-/g, '/')); } static formatMillis(millis) { - return moment(millis).format('YYYY-M-D H:m:s') + return moment(millis).format('YYYY-M-D H:m:s'); } static firstDayOfMonth() { @@ -144,4 +143,4 @@ class DateUtil { date.setMinTime(); return date; } -}
\ No newline at end of file +} diff --git a/web/assets/js/util/utils.js b/web/assets/js/util/utils.js index 9c441537..28891cd4 100644 --- a/web/assets/js/util/utils.js +++ b/web/assets/js/util/utils.js @@ -68,13 +68,11 @@ class HttpUtil { } class PromiseUtil { - static async sleep(timeout) { await new Promise(resolve => { setTimeout(resolve, timeout) }); } - } const seq = [ @@ -95,7 +93,6 @@ const shortIdSeq = [ ]; class RandomUtil { - static randomIntRange(min, max) { return parseInt(Math.random() * (max - min) + min, 10); } @@ -153,8 +150,8 @@ class RandomUtil { static randomText() { var chars = 'abcdefghijklmnopqrstuvwxyz1234567890'; var string = ''; - var len = 6 + Math.floor(Math.random() * 5) - for(var ii=0; ii<len; ii++){ + var len = 6 + Math.floor(Math.random() * 5); + for (var ii = 0; ii < len; ii++) { string += chars[Math.floor(Math.random() * chars.length)]; } return string; @@ -162,11 +159,11 @@ class RandomUtil { static randowShortId() { let str = ''; - str += this.randomShortIdSeq(8) + str += this.randomShortIdSeq(8); return str; } - - static randomShadowsocksPassword(){ + + static randomShadowsocksPassword() { let array = new Uint8Array(32); window.crypto.getRandomValues(array); return btoa(String.fromCharCode.apply(null, array)); @@ -174,7 +171,6 @@ class RandomUtil { } class ObjectUtil { - static getPropIgnoreCase(obj, prop) { for (const name in obj) { if (!obj.hasOwnProperty(name)) { @@ -322,5 +318,4 @@ class ObjectUtil { } return true; } - } |
