2023-11-07 00:46:28 -05:00
|
|
|
const mixinsVue = {
|
|
|
|
data: {
|
|
|
|
cache: [],
|
2024-08-09 09:49:45 -04:00
|
|
|
isMobile: false,
|
2023-11-07 00:46:28 -05:00
|
|
|
theme: "light",
|
2024-02-25 10:16:57 -05:00
|
|
|
isSystemTheme: false,
|
|
|
|
showGroup: false,
|
|
|
|
showGoTop: false,
|
2024-08-09 09:49:45 -04:00
|
|
|
showTools: false,
|
2024-02-25 20:31:16 -05:00
|
|
|
preferredTemplate: null,
|
2024-08-09 09:49:45 -04:00
|
|
|
semiTransparent: false,
|
ServerStatus主题优化 (#386)
* ServerStatus主题优化
1.更新世界地图基础geo文件,中国部分包含南海10段线,藏南部分划线更准
geo在大佬仓库https://github.com/Surbowl/world-geo-json-zh的基础上加工
2.世界地图可以在后台设置自定义代码切换是否包含南极洲,中国港澳台是否单独统计vps数
```<script>
localStorage.setItem('countryMapGeoFile', 'nezha.world.geo.json'); //默认
// localStorage.setItem('countryMapGeoFile', 'nezha.world.plus.geo.json'); //单独绘制香港,澳门,台湾
// localStorage.setItem('countryMapGeoFile', 'nezha.world.antarctica.geo.json'); //有南极洲
// localStorage.setItem('countryMapGeoFile', 'nezha.world.plus.antarctica.geo.json'); //有南极洲,单独绘制香港,澳门,台湾
</script>
```
3. mixin.js文件删除冗余代码
4. 首页agent下拉详情,控制网络折线图tooltip数字最多显示小数点后两位
* 修正geo文件路径
* 修复世界地图中国港澳台单独绘制时,vps数量计算逻辑
* 删除header中的无用的地图基础数据引用
* 增加温度控制cpu型号识别
2024-07-10 11:13:53 -04:00
|
|
|
staticUrl: '/static/theme-server-status',
|
2024-03-03 20:36:17 -05:00
|
|
|
adaptedTemplates: [
|
|
|
|
{ key: 'default', name: 'Default', icon: 'th large' },
|
|
|
|
{ key: 'angel-kanade', name: 'AngelKanade', icon: 'square' },
|
2024-06-16 06:04:27 -04:00
|
|
|
{ key: 'server-status', name: 'ServerStatus', icon: 'list' }
|
2024-08-10 11:19:52 -04:00
|
|
|
],
|
|
|
|
colors: [],
|
|
|
|
colorsDark: ['#4992FF', '#08C091', '#FDDD5F', '#FF6E76', '#58D9F9', '#7CFFB2', '#FF8A44', '#8D48E3', '#DD79FF', '#5470C6', '#3BA272', '#FAC758', '#EE6666', '#72C0DE', '#91CC76', '#FB8352', '#9A60B4', '#EA7BCC'],
|
|
|
|
colorsLight: ['#5470C6', '#3BA272', '#FAC758', '#EE6666', '#72C0DE', '#91CC76', '#FB8352', '#9A60B4', '#EA7BCC', '#4992FF', '#08C091', '#FDDD5F', '#FF6E76', '#58D9F9', '#7CFFB2', '#FF8A44', '#8D48E3', '#DD79FF'],
|
2023-11-07 00:46:28 -05:00
|
|
|
},
|
|
|
|
created() {
|
2024-02-25 10:16:57 -05:00
|
|
|
this.isMobile = this.checkIsMobile();
|
ServerStatus主题优化 (#386)
* ServerStatus主题优化
1.更新世界地图基础geo文件,中国部分包含南海10段线,藏南部分划线更准
geo在大佬仓库https://github.com/Surbowl/world-geo-json-zh的基础上加工
2.世界地图可以在后台设置自定义代码切换是否包含南极洲,中国港澳台是否单独统计vps数
```<script>
localStorage.setItem('countryMapGeoFile', 'nezha.world.geo.json'); //默认
// localStorage.setItem('countryMapGeoFile', 'nezha.world.plus.geo.json'); //单独绘制香港,澳门,台湾
// localStorage.setItem('countryMapGeoFile', 'nezha.world.antarctica.geo.json'); //有南极洲
// localStorage.setItem('countryMapGeoFile', 'nezha.world.plus.antarctica.geo.json'); //有南极洲,单独绘制香港,澳门,台湾
</script>
```
3. mixin.js文件删除冗余代码
4. 首页agent下拉详情,控制网络折线图tooltip数字最多显示小数点后两位
* 修正geo文件路径
* 修复世界地图中国港澳台单独绘制时,vps数量计算逻辑
* 删除header中的无用的地图基础数据引用
* 增加温度控制cpu型号识别
2024-07-10 11:13:53 -04:00
|
|
|
this.theme = this.initTheme();
|
|
|
|
this.showGroup = this.initShowGroup();
|
2024-08-09 09:49:45 -04:00
|
|
|
this.semiTransparent = this.initSemiTransparent();
|
2024-02-25 20:31:16 -05:00
|
|
|
this.preferredTemplate = this.getCookie('preferred_theme') ? this.getCookie('preferred_theme') : this.$root.defaultTemplate;
|
2024-08-10 11:19:52 -04:00
|
|
|
this.colors = this.theme == "dark" ? this.colorsDark : this.colorsLight;
|
2024-09-06 11:31:38 -04:00
|
|
|
this.setBenchmarkHeight();
|
2024-02-25 10:16:57 -05:00
|
|
|
window.addEventListener('scroll', this.handleScroll);
|
2024-09-06 11:31:38 -04:00
|
|
|
window.addEventListener('resize', this.setBenchmarkHeight());
|
2024-02-25 10:16:57 -05:00
|
|
|
},
|
|
|
|
destroyed() {
|
|
|
|
window.removeEventListener('scroll', this.handleScroll);
|
2023-11-07 00:46:28 -05:00
|
|
|
},
|
|
|
|
methods: {
|
2024-07-12 10:29:11 -04:00
|
|
|
toggleTemplate(template) {
|
|
|
|
if( template != this.preferredTemplate){
|
|
|
|
this.preferredTemplate = template;
|
|
|
|
this.updateCookie("preferred_theme", template);
|
|
|
|
window.location.reload();
|
|
|
|
}
|
|
|
|
},
|
2024-08-09 09:49:45 -04:00
|
|
|
toggleShowTools() {
|
|
|
|
this.showTools = !this.showTools;
|
|
|
|
},
|
ServerStatus主题优化 (#386)
* ServerStatus主题优化
1.更新世界地图基础geo文件,中国部分包含南海10段线,藏南部分划线更准
geo在大佬仓库https://github.com/Surbowl/world-geo-json-zh的基础上加工
2.世界地图可以在后台设置自定义代码切换是否包含南极洲,中国港澳台是否单独统计vps数
```<script>
localStorage.setItem('countryMapGeoFile', 'nezha.world.geo.json'); //默认
// localStorage.setItem('countryMapGeoFile', 'nezha.world.plus.geo.json'); //单独绘制香港,澳门,台湾
// localStorage.setItem('countryMapGeoFile', 'nezha.world.antarctica.geo.json'); //有南极洲
// localStorage.setItem('countryMapGeoFile', 'nezha.world.plus.antarctica.geo.json'); //有南极洲,单独绘制香港,澳门,台湾
</script>
```
3. mixin.js文件删除冗余代码
4. 首页agent下拉详情,控制网络折线图tooltip数字最多显示小数点后两位
* 修正geo文件路径
* 修复世界地图中国港澳台单独绘制时,vps数量计算逻辑
* 删除header中的无用的地图基础数据引用
* 增加温度控制cpu型号识别
2024-07-10 11:13:53 -04:00
|
|
|
initTheme() {
|
|
|
|
const storedTheme = localStorage.getItem("theme");
|
|
|
|
const theme = (storedTheme === 'dark' || storedTheme === 'light') ? storedTheme : (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light');
|
|
|
|
this.setTheme(theme);
|
|
|
|
return theme;
|
|
|
|
},
|
|
|
|
setTheme(theme) {
|
|
|
|
document.body.setAttribute("theme", theme);
|
|
|
|
this.theme = theme;
|
|
|
|
localStorage.setItem("theme", theme);
|
|
|
|
// 重新赋值全局调色
|
|
|
|
this.colors = this.theme == "dark" ? this.colorsDark : this.colorsLight;
|
|
|
|
|
2024-08-10 11:19:52 -04:00
|
|
|
if(this.$root.page == 'index' || this.$root.page == 'network') {
|
ServerStatus主题优化 (#386)
* ServerStatus主题优化
1.更新世界地图基础geo文件,中国部分包含南海10段线,藏南部分划线更准
geo在大佬仓库https://github.com/Surbowl/world-geo-json-zh的基础上加工
2.世界地图可以在后台设置自定义代码切换是否包含南极洲,中国港澳台是否单独统计vps数
```<script>
localStorage.setItem('countryMapGeoFile', 'nezha.world.geo.json'); //默认
// localStorage.setItem('countryMapGeoFile', 'nezha.world.plus.geo.json'); //单独绘制香港,澳门,台湾
// localStorage.setItem('countryMapGeoFile', 'nezha.world.antarctica.geo.json'); //有南极洲
// localStorage.setItem('countryMapGeoFile', 'nezha.world.plus.antarctica.geo.json'); //有南极洲,单独绘制香港,澳门,台湾
</script>
```
3. mixin.js文件删除冗余代码
4. 首页agent下拉详情,控制网络折线图tooltip数字最多显示小数点后两位
* 修正geo文件路径
* 修复世界地图中国港澳台单独绘制时,vps数量计算逻辑
* 删除header中的无用的地图基础数据引用
* 增加温度控制cpu型号识别
2024-07-10 11:13:53 -04:00
|
|
|
this.reloadCharts(); // 重新载入echarts图表
|
2024-07-02 10:11:20 -04:00
|
|
|
}
|
2024-02-25 10:16:57 -05:00
|
|
|
},
|
ServerStatus主题优化 (#386)
* ServerStatus主题优化
1.更新世界地图基础geo文件,中国部分包含南海10段线,藏南部分划线更准
geo在大佬仓库https://github.com/Surbowl/world-geo-json-zh的基础上加工
2.世界地图可以在后台设置自定义代码切换是否包含南极洲,中国港澳台是否单独统计vps数
```<script>
localStorage.setItem('countryMapGeoFile', 'nezha.world.geo.json'); //默认
// localStorage.setItem('countryMapGeoFile', 'nezha.world.plus.geo.json'); //单独绘制香港,澳门,台湾
// localStorage.setItem('countryMapGeoFile', 'nezha.world.antarctica.geo.json'); //有南极洲
// localStorage.setItem('countryMapGeoFile', 'nezha.world.plus.antarctica.geo.json'); //有南极洲,单独绘制香港,澳门,台湾
</script>
```
3. mixin.js文件删除冗余代码
4. 首页agent下拉详情,控制网络折线图tooltip数字最多显示小数点后两位
* 修正geo文件路径
* 修复世界地图中国港澳台单独绘制时,vps数量计算逻辑
* 删除header中的无用的地图基础数据引用
* 增加温度控制cpu型号识别
2024-07-10 11:13:53 -04:00
|
|
|
initShowGroup() {
|
2024-02-25 10:16:57 -05:00
|
|
|
const storedShowGroup = localStorage.getItem("showGroup");
|
ServerStatus主题优化 (#386)
* ServerStatus主题优化
1.更新世界地图基础geo文件,中国部分包含南海10段线,藏南部分划线更准
geo在大佬仓库https://github.com/Surbowl/world-geo-json-zh的基础上加工
2.世界地图可以在后台设置自定义代码切换是否包含南极洲,中国港澳台是否单独统计vps数
```<script>
localStorage.setItem('countryMapGeoFile', 'nezha.world.geo.json'); //默认
// localStorage.setItem('countryMapGeoFile', 'nezha.world.plus.geo.json'); //单独绘制香港,澳门,台湾
// localStorage.setItem('countryMapGeoFile', 'nezha.world.antarctica.geo.json'); //有南极洲
// localStorage.setItem('countryMapGeoFile', 'nezha.world.plus.antarctica.geo.json'); //有南极洲,单独绘制香港,澳门,台湾
</script>
```
3. mixin.js文件删除冗余代码
4. 首页agent下拉详情,控制网络折线图tooltip数字最多显示小数点后两位
* 修正geo文件路径
* 修复世界地图中国港澳台单独绘制时,vps数量计算逻辑
* 删除header中的无用的地图基础数据引用
* 增加温度控制cpu型号识别
2024-07-10 11:13:53 -04:00
|
|
|
const showGroup = storedShowGroup !== null ? JSON.parse(storedShowGroup) : false;
|
|
|
|
if (storedShowGroup === null) {
|
|
|
|
localStorage.setItem("showGroup", showGroup);
|
|
|
|
}
|
|
|
|
return showGroup;
|
2024-02-25 10:16:57 -05:00
|
|
|
},
|
ServerStatus主题优化 (#386)
* ServerStatus主题优化
1.更新世界地图基础geo文件,中国部分包含南海10段线,藏南部分划线更准
geo在大佬仓库https://github.com/Surbowl/world-geo-json-zh的基础上加工
2.世界地图可以在后台设置自定义代码切换是否包含南极洲,中国港澳台是否单独统计vps数
```<script>
localStorage.setItem('countryMapGeoFile', 'nezha.world.geo.json'); //默认
// localStorage.setItem('countryMapGeoFile', 'nezha.world.plus.geo.json'); //单独绘制香港,澳门,台湾
// localStorage.setItem('countryMapGeoFile', 'nezha.world.antarctica.geo.json'); //有南极洲
// localStorage.setItem('countryMapGeoFile', 'nezha.world.plus.antarctica.geo.json'); //有南极洲,单独绘制香港,澳门,台湾
</script>
```
3. mixin.js文件删除冗余代码
4. 首页agent下拉详情,控制网络折线图tooltip数字最多显示小数点后两位
* 修正geo文件路径
* 修复世界地图中国港澳台单独绘制时,vps数量计算逻辑
* 删除header中的无用的地图基础数据引用
* 增加温度控制cpu型号识别
2024-07-10 11:13:53 -04:00
|
|
|
toggleShowGroup() {
|
|
|
|
this.showGroup = !this.showGroup;
|
|
|
|
localStorage.setItem("showGroup", this.showGroup);
|
|
|
|
if (this.$root.page == 'service') {
|
|
|
|
this.$root.initTooltip();
|
2024-02-25 10:16:57 -05:00
|
|
|
}
|
|
|
|
},
|
2024-08-09 09:49:45 -04:00
|
|
|
initSemiTransparent() {
|
|
|
|
const storedSemiTransparent = localStorage.getItem("semiTransparent");
|
|
|
|
const semiTransparent = storedSemiTransparent !== null ? JSON.parse(storedSemiTransparent) : false;
|
|
|
|
if (storedSemiTransparent === null) {
|
|
|
|
localStorage.setItem("semiTransparent", semiTransparent);
|
|
|
|
}
|
|
|
|
return semiTransparent;
|
|
|
|
},
|
|
|
|
toggleSemiTransparent(){
|
|
|
|
this.semiTransparent = !this.semiTransparent;
|
|
|
|
localStorage.setItem("semiTransparent", this.semiTransparent);
|
2024-08-10 11:19:52 -04:00
|
|
|
if(this.$root.page == 'index' || this.$root.page == 'network') {
|
2024-08-09 09:49:45 -04:00
|
|
|
this.reloadCharts(); // 重新载入echarts图表
|
|
|
|
}
|
|
|
|
},
|
2024-02-25 10:16:57 -05:00
|
|
|
updateCookie(name, value) {
|
|
|
|
document.cookie = name + "=" + value +"; path=/";
|
|
|
|
},
|
|
|
|
getCookie(name) {
|
|
|
|
const cookies = document.cookie.split(';');
|
|
|
|
let cookieValue = null;
|
|
|
|
for (let i = 0; i < cookies.length; i++) {
|
|
|
|
const cookie = cookies[i].trim();
|
|
|
|
if (cookie.startsWith(name + '=')) {
|
|
|
|
cookieValue = cookie.substring(name.length + 1, cookie.length);
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return cookieValue;
|
|
|
|
},
|
2023-11-07 00:46:28 -05:00
|
|
|
toFixed2(f) {
|
|
|
|
return f.toFixed(2)
|
|
|
|
},
|
2024-02-25 10:16:57 -05:00
|
|
|
logOut(id) {
|
|
|
|
$.ajax({
|
|
|
|
type: 'POST',
|
|
|
|
url: '/api/logout',
|
|
|
|
data: JSON.stringify({ id: id }),
|
|
|
|
contentType: 'application/json',
|
|
|
|
success: function (resp) {
|
|
|
|
if (resp.code == 200) {
|
|
|
|
window.location.reload();
|
|
|
|
} else {
|
|
|
|
alert('注销失败(Error ' + resp.code + '): ' + resp.message);
|
|
|
|
}
|
|
|
|
},
|
|
|
|
error: function (err) {
|
|
|
|
alert('网络错误: ' + err.responseText);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
},
|
|
|
|
goTop() {
|
|
|
|
$('html, body').animate({ scrollTop: 0 }, 400);
|
|
|
|
return false;
|
|
|
|
},
|
|
|
|
handleScroll() {
|
|
|
|
this.showGoTop = window.scrollY >= 100;
|
2024-08-09 09:49:45 -04:00
|
|
|
if(this.showTools) this.showTools = false;
|
2024-02-25 10:16:57 -05:00
|
|
|
},
|
|
|
|
groupingData(data, field) {
|
|
|
|
let map = new Map();
|
|
|
|
let dest = [];
|
|
|
|
|
|
|
|
data.forEach(item => {
|
|
|
|
if (!map.has(item[field])) {
|
|
|
|
dest.push({
|
|
|
|
[field]: item[field],
|
|
|
|
data: [item]
|
|
|
|
});
|
|
|
|
map.set(item[field], item);
|
|
|
|
} else {
|
|
|
|
dest.find(dItem => dItem[field] === item[field]).data.push(item);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
return dest;
|
|
|
|
},
|
|
|
|
checkIsMobile() { // 检测设备类型,页面宽度小于768px认为是移动设备
|
|
|
|
return window.innerWidth <= 768;
|
2024-09-06 11:31:38 -04:00
|
|
|
},
|
2024-10-01 22:05:53 -04:00
|
|
|
isMenuActive(page){
|
|
|
|
if(page == this.$root.page) {
|
|
|
|
return this.isMobile ? 'm-active' : 'pc-active';
|
|
|
|
}
|
|
|
|
},
|
2024-09-06 11:31:38 -04:00
|
|
|
setBenchmarkHeight() {
|
|
|
|
let vh = window.innerHeight * 0.01;
|
|
|
|
document.documentElement.style.setProperty('--vh', `${vh}px`);
|
2024-02-25 10:16:57 -05:00
|
|
|
}
|
2023-11-07 00:46:28 -05:00
|
|
|
}
|
|
|
|
}
|