- 完全重构前端管理界面,采用模块化架构 - 新增独立的 CSS 和 JS 模块(utils, auth, channels, tokens, pricing, api-test, database) - 实现统一的 loading 遮罩效果,所有 API 请求自动显示加载状态 - 添加现代化多选下拉框组件用于频道选择 - 实现模型部署映射的可视化表格编辑 - 修复页面高度自适应问题,管理页面占满全屏 - 优化侧边栏布局,添加 GitHub 链接和版本号 - 令牌管理页面隐藏敏感 key,添加复制功能 - 管理页面切换时自动重置为列表视图并重新加载数据 - 新增 Claude Proxy 提供商支持 - 统一所有 API 调用的错误处理和 loading 状态管理 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
28 lines
972 B
JavaScript
28 lines
972 B
JavaScript
// ===== Database Management Module =====
|
|
import { showNotification, showLoading, hideLoading } from './utils.js';
|
|
|
|
export async function initDatabase() {
|
|
const adminToken = localStorage.getItem('adminToken');
|
|
showLoading('初始化数据库...');
|
|
try {
|
|
const response = await fetch('/api/admin/db_initialize', {
|
|
method: 'POST',
|
|
headers: { 'x-admin-token': adminToken }
|
|
});
|
|
|
|
const data = await response.json();
|
|
document.getElementById('dbResult').classList.remove('hidden');
|
|
document.getElementById('dbResultContent').textContent = JSON.stringify(data, null, 2);
|
|
|
|
if (response.ok) {
|
|
showNotification('数据库初始化成功', 'success');
|
|
} else {
|
|
showNotification('数据库初始化失败', 'error');
|
|
}
|
|
} catch (error) {
|
|
showNotification('初始化失败:' + error.message, 'error');
|
|
} finally {
|
|
hideLoading();
|
|
}
|
|
}
|