diff --git a/welcome.html b/welcome.html
index b017c77..b365ffb 100644
--- a/welcome.html
+++ b/welcome.html
@@ -97,10 +97,13 @@ var API = ''; // 同源,使用相对路径
var token = localStorage.getItem('pxh_token');
async function api(method, path, body) {
- var opts = { method: method, headers: {'Content-Type': 'application/json'} };
- var t = token || localStorage.getItem('pxh_token');
- if (t) opts.headers['Authorization'] = 'Bearer ' + t;
- if (body) opts.body = JSON.stringify(body);
+ var opts = { method: method };
+ if (body) { opts.headers = {'Content-Type': 'application/json'}; opts.body = JSON.stringify(body); }
+ var t = localStorage.getItem('pxh_token');
+ if (t) {
+ if (!opts.headers) opts.headers = {};
+ opts.headers['Authorization'] = 'Bearer ' + t;
+ }
var r = await fetch(API + path, opts);
return r;
}
@@ -245,9 +248,9 @@ async function loadDevices() {
document.getElementById('sys-status').textContent = '运行中';
var names = { 'zone.home': '家庭区域', 'person.admin': '管理员' };
try {
- if (!token) token = localStorage.getItem('pxh_token');
- if (!token) { document.getElementById('sys-status').textContent = '未登录 (无token)'; return; }
- var r = await api('GET', '/api/states');
+ var t = localStorage.getItem('pxh_token');
+ if (!t) { document.getElementById('sys-status').textContent = '未登录'; return; }
+ var r = await fetch(API + '/api/states', { headers: { 'Authorization': 'Bearer ' + t } });
if (!r.ok) throw new Error('HTTP ' + r.status + ' ' + r.statusText);
var states = await r.json();