AIClient-2-API/static/components/section-plugins.html
hex2077 4554a4cfd2 feat(ui): 重构前端UI组件并添加新功能
- 新增组件加载器实现动态加载HTML组件
- 重构导航功能,添加滚动到顶部功能
- 新增多个UI组件:header、sidebar、logs、usage等
- 实现移动端菜单响应式设计
- 优化DOM元素获取方式,使用延迟加载
- 新增系统监控模块和用量缓存功能
- 扩展静态文件服务支持/components路径
- 实现插件管理和系统API接口
- 添加配置上传和管理功能
- 完善认证和token管理机制
2026-01-10 15:53:04 +08:00

67 lines
No EOL
2.8 KiB
HTML

<link rel="stylesheet" href="components/section-plugins.css">
<!-- Plugins Section -->
<section id="plugins" class="section" aria-labelledby="plugins-title">
<h2 id="plugins-title" data-i18n="plugins.title">插件管理</h2>
<div class="plugins-panel">
<div class="plugins-description">
<div class="highlight-note">
<i class="fas fa-info-circle"></i>
<span data-i18n="plugins.description">插件系统允许您扩展系统功能,启用或禁用插件需要重启服务才能生效</span>
</div>
</div>
<!-- 插件统计 -->
<div class="stats-grid plugins-stats">
<div class="stat-card">
<div class="stat-icon">
<i class="fas fa-puzzle-piece"></i>
</div>
<div class="stat-info">
<h3 id="totalPlugins">0</h3>
<p data-i18n="plugins.stats.total">总插件数</p>
</div>
</div>
<div class="stat-card">
<div class="stat-icon">
<i class="fas fa-check-circle"></i>
</div>
<div class="stat-info">
<h3 id="enabledPlugins">0</h3>
<p data-i18n="plugins.stats.enabled">已启用</p>
</div>
</div>
<div class="stat-card">
<div class="stat-icon">
<i class="fas fa-times-circle"></i>
</div>
<div class="stat-info">
<h3 id="disabledPlugins">0</h3>
<p data-i18n="plugins.stats.disabled">已禁用</p>
</div>
</div>
</div>
<!-- 插件操作按钮 -->
<div class="plugins-controls">
<button class="btn btn-primary" id="refreshPluginsBtn" aria-label="Refresh Plugins" data-i18n-aria-label="plugins.refresh">
<i class="fas fa-sync-alt"></i> <span data-i18n="plugins.refresh">刷新插件列表</span>
</button>
</div>
<!-- 插件加载状态 -->
<div class="plugins-loading" id="pluginsLoading" style="display: none;">
<i class="fas fa-spinner fa-spin"></i> <span data-i18n="plugins.loading">正在加载插件列表...</span>
</div>
<!-- 插件列表 -->
<div class="plugins-list-container">
<div id="pluginsList" class="plugins-list">
<!-- 插件列表将在这里动态生成 -->
</div>
<div class="plugins-empty" id="pluginsEmpty">
<i class="fas fa-puzzle-piece"></i>
<p data-i18n="plugins.empty">暂无已安装的插件</p>
</div>
</div>
</div>
</section>