数据看板
实时监控系统运营状况 · 自动刷新
{{ dashboardUpdatedAt }}
{{ animatedStats.users }}
总用户数
今日 +{{ stats.users?.today || 0 }}
{{ animatedStats.tasks }}
总任务数
今日 +{{ stats.tasks?.today || 0 }}
{{ animatedStats.entries }}
总记录数
今日 +{{ stats.entries?.today || 0 }}
{{ animatedStats.paid }}
付费用户
{{ formatBytes(stats.storage?.user_total) }} 已用
存储状态
查看详情 →{{ storageOverview.accounts_count || 0 }}
存储账号
{{ storageOverview.sync_status?.synced || 0 }}
已同步
{{ (storageOverview.task_queue?.pending || 0) + (storageOverview.task_queue?.running || 0) }}
待同步
{{ storageOverview.task_queue?.failed || 0 }}
失败
用户增长趋势
快捷操作
用户管理
查看和管理所有注册用户
会员体系
配置会员等级与套餐
存储配置
管理云存储账号
用户管理
管理平台所有注册用户
| 用户信息 | 会员等级 | 存储用量 | 状态 | 最后登录 | 操作 |
|---|---|---|---|---|---|
|
{{ (user.nickname || 'U').charAt(0).toUpperCase() }}
{{ user.nickname || '未设置昵称' }}
ID: {{ user.id }}
· {{ user.phone }}
|
{{ user.member_level.icon }} {{ user.member_level.name }}
免费用户
|
{{ formatBytes(user.storage_used) }} | {{ user.status === 1 ? '正常' : '已禁用' }} |
{{ formatDateTime(user.last_login_at) }}
{{ user.last_login_ip }}
|
暂无用户数据
等待用户注册中...
会员体系
管理会员等级与付费套餐
默认
{{ level.name }}
图片限制{{ formatBytes(level.max_image_size) }}
音频限制{{ formatBytes(level.max_audio_size) }}
视频限制{{ formatBytes(level.max_video_size) }}
总存储{{ formatBytes(level.max_storage) }}
会员套餐
| 套餐名称 | 对应等级 | 有效期 | 价格 | 状态 | 操作 |
|---|---|---|---|---|---|
| {{ plan.name }} | {{ plan.level?.icon }} {{ plan.level?.name }} | {{ plan.duration_days }} 天 | ¥{{ (plan.price_cent / 100).toFixed(2) }} ¥{{ (plan.original_price_cent / 100).toFixed(2) }} | {{ plan.is_active ? '已上架' : '已下架' }} |
暂无套餐
点击上方按钮添加会员套餐
存储管理
企业级云存储 · 每30秒自动刷新
{{ storageUpdatedAt }}
实际存储量
{{ formatBytes(storageOverview.capacity?.used_bytes || 0) }}
配额 {{ formatBytes(storageOverview.capacity?.total_bytes) }}
总文件数
{{ storageOverview.files?.total || 0 }}
今日 +{{ storageOverview.files?.today_uploads || 0 }}
同步完成
{{ storageOverview.sync_status?.synced || 0 }}
{{ Math.round((storageOverview.sync_status?.synced || 0) / Math.max(1, storageOverview.files?.total || 1) * 100) }}%
待同步队列
{{ (storageOverview.task_queue?.pending || 0) + (storageOverview.task_queue?.running || 0) }}
❌ {{ storageOverview.task_queue?.failed }} 失败
运行中 {{ storageOverview.task_queue?.running || 0 }}
📊 文件同步状态分布
{{ storageOverview.sync_status?.local_only || 0 }}
仅本地
{{ storageOverview.sync_status?.syncing || 0 }}
同步中
{{ storageOverview.sync_status?.partial || 0 }}
部分同步
{{ storageOverview.sync_status?.synced || 0 }}
完全同步
{{ storageOverview.sync_status?.degraded || 0 }}
降级
☁️ 存储账号 ({{ storageAccounts.length }})
| 账号信息 | 角色 | 容量使用 | 健康状态 | 今日统计 | 操作 |
|---|---|---|---|---|---|
|
{{ acc.name }}
{{ acc.provider === 'sharepoint' ? 'SharePoint' : acc.provider === 'gdrive' ? 'Google Drive' : '本地' }}
· QPS: {{ acc.rate_limit_qps }}
|
{{ {primary:'主存储', backup:'热备份', cold:'冷备份'}[acc.role] || acc.role }} |
{{ formatBytes(acc.used_bytes) }}
{{ formatBytes(acc.total_bytes) }}
{{ acc.file_count?.toLocaleString() }} 个文件
|
{{ {active:'健康', degraded:'降级', offline:'离线', maintenance:'维护'}[acc.status] || acc.status }}
{{ acc.health_score }}分
⚠️ 限流中
🔑 {{ new Date(acc.token_expires_at) < new Date() ? 'Token 已过期' : 'Token 至 ' + formatDateTime(acc.token_expires_at) }}
|
↑{{ acc.today_uploads || 0 }}
/
↓{{ acc.today_downloads || 0 }}
❌{{ acc.today_errors }}
|
暂未添加存储账号
添加 SharePoint 或 Google Drive 账号以启用云存储
🔄 同步任务队列
| 任务ID | 类型 | 目标账号 | 状态 | 进度 | 创建时间 |
|---|---|---|---|---|---|
| #{{ task.id }} | {{ task.task_type }} | {{ getAccountName(task.target_account_id) }} | {{ {pending:'等待', running:'执行中', completed:'完成', failed:'失败', cancelled:'取消'}[task.status] || task.status }} | {{ task.error_message?.substring(0, 30) }}... - | {{ formatDateTime(task.created_at) }} |
管理员管理
管理后台管理员账号
| 账号信息 | 角色 | 状态 | 最后登录 | 创建时间 | 操作 |
|---|---|---|---|---|---|
|
{{ adm.nickname?.charAt(0) || adm.username?.charAt(0) || 'A' }}
{{ adm.nickname || adm.username }}
@{{ adm.username }}
|
{{ adm.role === 'super' ? '超级管理员' : '管理员' }} | {{ adm.status === 1 ? '正常' : '禁用' }} | {{ adm.last_login_at ? formatDateTime(adm.last_login_at) : '从未' }} | {{ formatDate(adm.created_at) }} |
暂无管理员
登录日志
查看用户和管理员的登录记录
| 用户/管理员 | 类型 | IP地址 | 设备 | 结果 | 时间 |
|---|---|---|---|---|---|
|
{{ log.name }}
{{ log.username }}
|
{{ log.login_type === 'admin' ? '管理员' : '用户' }} |
{{ log.ip || '-' }}
{{ log.location }}
|
{{ log.device || '-' }} |
{{ log.result === 'success' ? '成功' : '失败' }}
{{ log.fail_reason }}
|
{{ formatDateTime(log.created_at) }} |
暂无登录记录
{{ selectedUser?.nickname || '用户' }}
ID: {{ selectedUser?.id }} · 注册于 {{ formatDate(selectedUser?.created_at) }}
{{ userDataStats.tasks || 0 }}
任务
{{ userDataStats.done || 0 }}
完成
{{ userDataStats.entries || 0 }}
记录
{{ userDataStats.files || 0 }}
文件
{{ userDataStats.locations || 0 }}
位置
任务列表
| 任务 | 状态 | 记录数 | 创建时间 | 操作 |
|---|---|---|---|---|
{{ task.title }} |
{{ task.status === 'done' ? '完成' : '进行中' }} | {{ task.entries_count || 0 }} | {{ formatDateTime(task.created_at) }} |
暂无任务
共 {{ userTasksTotal }} 条
{{ userTasksPage }} / {{ Math.max(1, Math.ceil(userTasksTotal / 20)) || 1 }}
{{ viewingTask ? viewingTask.title + ' 的记录' : '所有记录' }}
| 类型 | 内容 | 所属任务 | 时间 |
|---|---|---|---|
| {{ {note:'📝备注', audio:'🎙录音', image:'🖼图片', video:'🎬视频', file:'📎文件'}[entry.type] || entry.type }} | {{ entry.task_title || '独立手记' }} | {{ formatDateTime(entry.created_at) }} |
暂无记录
共 {{ userEntriesTotal }} 条
{{ userEntriesPage }} / {{ Math.max(1, Math.ceil(userEntriesTotal / 20)) || 1 }}
上传文件
| 文件名 | 类型 | 大小 | 上传时间 |
|---|---|---|---|
| {{ file.filename || 'unnamed' }} | {{ file.mime_type?.split('/')[1] || '-' }} | {{ formatBytes(file.size) }} | {{ formatDateTime(file.created_at) }} |
暂无文件
位置历史
| 地址 | 经纬度 | 记录时间 |
|---|---|---|
| {{ loc.latitude }}, {{ loc.longitude }} | {{ loc.created_at }} |
暂无位置记录
共 {{ userLocationsTotal }} 条
{{ userLocationsPage }} / {{ Math.max(1, Math.ceil(userLocationsTotal / 50)) }}
系统监控
实时服务器状态 · 每5秒自动刷新
{{ sysStats.updated_at }}
{{ sysStats.cpu }}%
CPU
{{ sysStats.cpu_count }} 核心
{{ sysStats.memory }}%
内存
{{ sysStats.used_memory }} / {{ sysStats.total_memory }}
{{ sysStats.disk }}%
磁盘
{{ sysStats.used_disk }} / {{ sysStats.total_disk }}
运行时长
{{ sysStats.uptime }}
网络流量
上传
{{ sysStats.net_up }}
下载
{{ sysStats.net_down }}
累计上传 {{ sysStats.net_sent }}
累计下载 {{ sysStats.net_recv }}
系统信息
系统
{{ sysStats.os }}
Python
{{ sysStats.python }}
MySQL
{{ sysStats.db_status === 'online' ? '在线' : '离线' }}{{ sysStats.db_size }}
数据库大小
{{ sysStats.db_connections }}
当前连接
{{ sysStats.db_version || '-' }}
版本
{{ sysStats.db_qps || '-' }}
平均 QPS
Redis
{{ sysStats.redis_status === 'online' ? '在线' : '离线' }}{{ sysStats.redis_keys }}
Keys 数量
{{ sysStats.redis_memory }}
内存占用
API 进程
{{ sysStats.api_memory || '-' }}
内存
{{ sysStats.api_threads || '-' }}
线程
{{ sysStats.api_fds || '-' }}
文件描述符
系统负载
{{ sysStats.load_1m || '-' }}
1 分钟
{{ sysStats.load_5m || '-' }}
5 分钟
{{ sysStats.load_15m || '-' }}
15 分钟
作业日志
后台任务执行记录
24h 任务
{{ jobStats.last_24h?.total || 0 }}
成功
{{ jobStats.last_24h?.success || 0 }}
失败
{{ jobStats.last_24h?.failed || 0 }}
总数
{{ jobStats.total_logs || 0 }}
| 任务名称 | 类型 | 状态 | 处理统计 | 耗时 | 执行时间 | 操作 |
|---|---|---|---|---|---|---|
|
{{ log.job_name }}
|
{{ log.job_type }} | {{ {completed:'成功', failed:'失败', running:'运行中'}[log.status] || log.status }} | {{ log.items_processed }} / {{ log.items_success }} / {{ log.items_failed }} | {{ log.duration_ms ? (log.duration_ms >= 1000 ? (log.duration_ms/1000).toFixed(1)+'s' : log.duration_ms+'ms') : '-' }} | {{ formatDateTime(log.started_at) }} |
暂无作业日志
文件流转
文件上传、同步、清理、恢复的详细记录
{{ transferStats.uploads || 0 }}
上传
{{ transferStats.sync_hot || 0 }}
热备份
{{ transferStats.sync_cold || 0 }}
冷备份
{{ transferStats.cleanups || 0 }}
清理
{{ transferStats.recovers || 0 }}
恢复
{{ transferStats.failed || 0 }}
失败
| 文件 | 操作 | 来源 | 目标 | 状态 | 大小 | 耗时 | 时间 |
|---|---|---|---|---|---|---|---|
|
ID: {{ t.attachment_id }}
|
{{ {upload:'上传', sync_hot:'热备份', sync_cold:'冷备份', cleanup:'清理', recover:'恢复'}[t.action] || t.action }} | {{ t.source_name || '-' }} | {{ t.target_name || '-' }} | {{ t.status === 'success' ? '成功' : '失败' }} | {{ t.file_size ? formatBytes(t.file_size) : '-' }} | {{ t.duration_ms ? t.duration_ms + 'ms' : '-' }} | {{ formatDateTime(t.created_at) }} |
暂无文件流转记录
定时任务
后台调度器任务管理
运行中
| 任务ID | 任务名称 | 触发规则 | 下次执行 | 状态 | 操作 | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
{{ job.id }} |
{{ job.name }} |
{{ formatTrigger(job.trigger) }}
{{ job.trigger }}
|
{{ job.next_run || '-' }} | 活跃暂停 | ||||||||||
|
最近执行记录
暂无执行记录
|
||||||||||||||
暂无定时任务
系统设置
管理系统配置与安全选项
API 密钥配置
此地址用于生成 OAuth 回调链接,请确保外网可访问
邮箱配置 (用于发送验证码、通知)
修改密码
系统信息
API 版本v3.0.0
API 地址{{ apiBase }}
当前账号{{ admin.username }}
最后登录{{ formatDateTime(admin.last_login_at) }}