diff --git a/README.md b/README.md index 636803c..4ead183 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,8 @@ ## 功能 - 只需要在 `config.json` 配置多个 SimAdmin 地址。 -- 深色专业 Dashboard:实例舰队列表、状态筛选、搜索、当前设备摘要。 +- Animal Island / 动森风格 Dashboard:暖米色背景、棕色文字、Ribbon 飘带标题、NookPhone 应用格、胶囊按钮与波点卡片。 +- 实例舰队列表、状态筛选、搜索、当前设备摘要。 - 支持无密码实例状态读取;有密码实例可通过本地服务代登录并保持会话。 - 统一代理 SimAdmin API,内置 API 工作台,便于读取/调试设备、SIM、网络、短信、eSIM、OTA 等接口。 - 保留原始 SimAdmin 页面 iframe 嵌入;若目标站禁止 iframe,可一键在原站打开。 diff --git a/public/app.js b/public/app.js index 13fd4e0..0b7edef 100644 --- a/public/app.js +++ b/public/app.js @@ -227,7 +227,7 @@ function renderEndpointList() { } function switchView(view) { - $$('.rail-btn[data-view]').forEach(btn => btn.classList.toggle('active', btn.dataset.view === view)) + $$('.phone-app[data-view]').forEach(btn => btn.classList.toggle('active', btn.dataset.view === view)) $$('.view').forEach(panel => panel.classList.toggle('active', panel.id === `${view}View`)) localStorage.setItem('multi-simadmin-view', view) } @@ -347,10 +347,10 @@ function bindEvents() { document.body.classList.toggle('compact') localStorage.setItem('multi-simadmin-density', document.body.classList.contains('compact') ? 'compact' : 'normal') }) - $$('.rail-btn[data-view]').forEach(btn => btn.addEventListener('click', () => switchView(btn.dataset.view))) - $$('#statusFilters .chip').forEach(btn => btn.addEventListener('click', () => { + $$('.phone-app[data-view]').forEach(btn => btn.addEventListener('click', () => switchView(btn.dataset.view))) + $$('#statusFilters .tab-leaf').forEach(btn => btn.addEventListener('click', () => { activeFilter = btn.dataset.filter - $$('#statusFilters .chip').forEach(x => x.classList.toggle('active', x === btn)) + $$('#statusFilters .tab-leaf').forEach(x => x.classList.toggle('active', x === btn)) renderInstances() })) $('loginForm').addEventListener('submit', async (event) => { diff --git a/public/index.html b/public/index.html index a51471b..2f28228 100644 --- a/public/index.html +++ b/public/index.html @@ -3,106 +3,107 @@
-