Files
xiaozhi-esp32-server/manager/static/js/common.js
T

68 lines
1.6 KiB
JavaScript
Raw Normal View History

2025-02-15 16:17:08 +08:00
function post(api, bodyData, fn) {
2025-02-15 17:49:22 +08:00
let basePath = '';
2025-02-15 16:17:08 +08:00
let token = localStorage.getItem('token');
fetch(basePath + api, {
method: "POST",
headers: {
'Content-Type': 'application/json',
'Authorization': token,
},
body: bodyData==null ? null : JSON.stringify(bodyData)
})
.then(response => response.json())
.then(data => {
if(data.code === 401){
window.location = 'login.html';
return
}
fn(data);
});
}
function get(api, fn) {
let basePath = 'http://localhost:8001';
let token = localStorage.getItem('token');
fetch(basePath + api, {
method: "GET",
headers: {
'Content-Type': 'application/json',
'Authorization': token,
},
})
.then(response => response.json())
.then(data => {
if(data.code === 401){
window.location = 'login.html';
return
}
fn(data);
});
2025-02-15 18:54:29 +08:00
}
// 注册全局组件
const AppHeader = {
template: `
<header class="app-header">
<div class="header-logo">AI</div>
<slot>xiaozhi-esp32-server</slot>
</header>
`
};
const AppFooter = {
template: `
<footer class="app-footer">
<slot>© 2025 xiaozhi-esp32-server</slot>
</footer>
`
};
// 初始化Vue应用的通用配置
function createVueApp(options) {
const app = Vue.createApp({
...options,
components: { AppHeader, AppFooter }
});
app.use(ElementPlus);
return app;
2025-02-15 16:17:08 +08:00
}