mirror of
https://github.com/nezhahq/nezha.git
synced 2025-01-23 13:18:13 -05:00
72 lines
2.5 KiB
JavaScript
Vendored
72 lines
2.5 KiB
JavaScript
Vendored
const mixinsVue = {
|
|
delimiters: ['@#', '#@'],
|
|
data: {
|
|
preferredTemplate: null,
|
|
isMobile: false,
|
|
adaptedTemplates: [
|
|
{ key: 'default', name: 'Default', icon: 'th large' },
|
|
{ key: 'angel-kanade', name: 'AngelKanade', icon: 'square' },
|
|
{ key: 'server-status', name: 'ServerStatus', icon: 'list' }
|
|
]
|
|
},
|
|
created() {
|
|
this.isMobile = this.checkIsMobile();
|
|
this.preferredTemplate = this.getCookie('preferred_theme') ? this.getCookie('preferred_theme') : this.$root.defaultTemplate;
|
|
},
|
|
mounted() {
|
|
this.initDropdown();
|
|
},
|
|
methods: {
|
|
initDropdown() {
|
|
if(this.isMobile) $('.ui.dropdown').dropdown({
|
|
action: 'hide',
|
|
on: 'click',
|
|
duration: 100,
|
|
direction: 'direction'
|
|
});
|
|
},
|
|
toggleTemplate(template) {
|
|
if( template != this.preferredTemplate){
|
|
this.preferredTemplate = template;
|
|
this.updateCookie("preferred_theme", template);
|
|
window.location.reload();
|
|
}
|
|
},
|
|
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;
|
|
},
|
|
checkIsMobile() { // 检测设备类型,页面宽度小于768px认为是移动设备
|
|
return window.innerWidth <= 768;
|
|
},
|
|
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);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
} |