hmoob录音数据管理
退出登录
🔍 用户信息调试面板(URL 加 ?debugUser=1 显示此面板) 🔄 重新拉取 /api/user/info
token (前10位+末尾): {{ tokenPreview }}
userInfo 反应式对象:
{{ debugUserInfoReactive }}
displayNickname: {{ JSON.stringify(displayNickname) }}   displayRole: {{ JSON.stringify(displayRole) }}
avatarUrl (原始): {{ JSON.stringify(userInfo.avatarUrl) }}
/api/user/info 原始响应 JSON:
{{ debugUserInfoRaw }}
👥 在线用户
{{ stats.total || 0 }}总录音数
{{ stats.pending || 0 }}待审核
{{ stats.pass || 0 }}合格
{{ stats.fail || 0 }}不合格
全部 待审核 合格 不合格
搜索
💡 点击选中录音行,按键盘 空格 键即可快速播放该行音频
{{ tlStats.total || 0 }}总语料数
{{ tlStats.pending || 0 }}待审核
{{ tlStats.pass || 0 }}已通过
{{ tlStats.fail || 0 }}不合格
全部 待审核 通过 驳回
搜索 📤 导出 CSV
{{ vcStats.total || 0 }}筛选后录音数
{{ vcStats.pending || 0 }}待审核
{{ vcStats.pass || 0 }}合格
{{ vcStats.fail || 0 }}不合格
用户:
苗族分类:
全部 待审核 合格 不合格
🔍 搜索
📦 训练包导出
导出录音状态:
📦 导出全部训练包 👤 按当前用户导出 🌱 按当前苗族分类导出 ⚠️ 训练推荐仅导出合格(pass)录音
在线判定窗口:{{ onlineTTL }} 秒(最后活跃时间在此窗口内视为在线) 当前在线:{{ onlineCount }} 人 上次刷新:{{ onlineRefreshedAt || '-' }} 自动刷新: (每 10s)
🔄 立即刷新

📝 「关于我们」内容编辑(富文本 HTML)

保存后,小程序「我的 → 关于我们」页面立即生效(最后更新:{{ aboutUpdatedAt || '未加载' }})
🔄 重新加载 🔨 恢复默认 💾 保存并生效

📌 下方三处正文框直接写 HTML(小程序端用 <rich-text> 渲染)。可用的安全标签:p/div/span/br/strong/em/h1~h6/ul/ol/li/a/blockquote/hr/code。

📌 想让段落样式和系统默认一致:段落包成 <p class="para">...</p>;引用块用 <blockquote>;蓝色加粗高亮用 <span class="highlight">。

📌 偷懒:点每个正文框右上角的「🧱 插入一段 / 💬 插入引用 / ✨ 插入列表 / 🔗 插入链接」按钮,现成模板直接改。

头部信息 📖 项目介绍
🧱 插入段落 💬 插入引用 ✨ 插入列表 🔗 插入链接 💎 插入高亮 🖼️ 上传图片
👥 团队
🧱 插入段落 ✨ 插入列表 🔗 插入链接 🖼️ 上传图片
📜 隐私政策
🧱 插入段落 💬 插入引用 ✨ 插入列表 🖼️ 上传图片
📱 实时预览(小程序端效果近似)
LOGO
{{ aboutForm.app_name || 'Hmoob-语音采集' }}
版本 {{ aboutForm.version || '1.0.0' }}
{{ aboutForm.intro_title || '📖 项目介绍' }}
{{ aboutForm.intro_poem }}
{{ aboutPreviewExpanded ? '收起全文 ▲' : '展开全文 ▼' }}
{{ aboutForm.intro_highlight }}
{{ aboutForm.team_title || '👥 团队' }}
{{ aboutForm.privacy_title || '📜 隐私政策' }}
{{ aboutForm.copyright || '© 2026 Hmoob-语音采集' }}
今日请求量
{{ auditSummary.today ?? 0 }}
00:00 ~ 当前
最近 24h 请求量
{{ auditSummary['24h_total'] ?? 0 }}
含所有已登录 + 未登录公开接口
最近 24h 服务器错误
{{ auditSummary['24h_5xx'] ?? 0 }}
状态码 ≥ 500 的次数
最近 24h 慢请求
{{ auditSummary['24h_slow1s'] ?? 0 }}
耗时 ≥ 1 秒的次数
🔢 状态码分布(24h)
{{ r.status }} {{ r.cnt }} 次
暂无数据
🏃 最慢接口 Top 10(24h 平均耗时)
{{ r.method }} {{ r.path || '-' }}
{{ r.avg_ms }} ms
调用 {{ r.cnt }} 次 · 峰值 {{ r.max_ms }} ms
暂无数据
🌟 最活跃用户 & 🆕 24h 新用户
{{ (r.nickname||'?').charAt(0) }}
{{ r.nickname || '未命名' }}
UID {{ r.user_id }} · {{ r.role }}
{{ r.cnt }} 次
暂无数据
{{ (r.nickname||'?').charAt(0) }}
{{ r.nickname || '未命名' }}
UID {{ r.user_id }} · {{ r.role }}
首次:{{ formatTime(r.first_at) }}
最近 24h 没有首次登录的新用户
📜 访问明细
查询 重置
共 {{ auditTotal }} 条记录

📢 首页 bar(寄语 + 公告)统一配置

顶部 sub-tab:💭 寄语(全局保底,无公告时显示)/ 📣 公告(可推送全部用户 / 指定用户,达到阶段/奖励制度等场景)

寄语:当没有任何公告命中当前用户时,首页就会展示这一条(建议写温暖、激励的句子,支持 emoji)。
🔄 重新加载 💾 保存寄语
📱 效果预览(无公告时用户看到的样子)
“ {{ bulletinPreviewQuote || '您的每一句发音,都是给下一代做的回响' }} ”
🔄 刷新
➕ 新建公告
📱 首页 bar 预览(手机端)
hmoob 语音采集
苗语发音,汇聚每一个回响
📣
{{ bulletinPreviewItems[bulletinPreviewIndex]?.content || bulletinPreviewQuote }}
NEW
“
{{ bulletinPreviewItems[bulletinPreviewIndex]?.content || bulletinPreviewQuote || '您的每一句发音,都是给下一代做的回响' }}
”
💭 寄语
‹ {{ bulletinPreviewIndex + 1 }} / {{ bulletinPreviewItems.length }} ›
💡 展示优先级规则:
① 指定给我的公告 → ② 全局公告(按优先级倒序)
③ 若上面都没有 → 显示「💭 寄语」
🎯 奖励制度 / 达到阶段提示:用「📣 新建公告」选类型就能推。

🧑‍🤝‍🧑 苗族支系分类

小程序「完善资料」页「请问您是哪种苗族?」的下拉框就来自这里。排序号小的靠前;停用的分类不会给新用户选,但已选过的用户仍保留。

🔄 刷新 ➕ 新增分类
💡 提示:如果已有用户选择了某个分类,删除按钮会被拒绝(提示引用人数),改为「停用」即可。
💡 重命名分类:直接点编辑改名称 → 保存时系统会自动把所有用户的旧分类名同步改成新名称。
📱 小程序「完善资料」页效果预览
📝 完善资料
请设置您的头像、昵称和苗族支系
👤
点击选择微信头像
请输入昵称
请问您是哪种苗族? *必填
{{ c.name }}
点击查看下一个选中样式 ➡️
{{ formatTime(auditDetailRow.created_at) }} UID {{ auditDetailRow.user_id }} · {{ auditDetailRow.nickname || '未命名' }} · {{ auditDetailRow.role || '-' }} 未登录 {{ auditDetailRow.ip || '-' }} {{ auditDetailRow.method }}   {{ auditDetailRow.status }}   耗时 {{ auditDetailRow.cost_ms }} ms {{ auditDetailRow.path || '-' }} {{ auditDetailRow.raw_path || '-' }}
{{ formatJSON(auditDetailRow.params) }}
-
{{ auditDetailRow.user_agent }} -
🌏 全部用户 👤 指定用户
提示:👥 在线用户 或 📊 采集用户列表里就能看到用户 ID。比如奖励"达到 X 阶段"就填他的 ID。
数字越大越靠前展示
两个都不填 = 立即生效且永不失效;填起止=仅在该时间段内展示。
✅ 启用 ⏸ 停用
小的靠前;默认会自动建议在现有最大排序号+1
启用 停用 提示:修改分类名会自动同步所有已选择「{{ ethnicForm.name || '该分类' }}」的用户记录,无需手动迁移。
{{ bulletinPreviewModalMeta }}
{{ bulletinPreviewModalContent }}
保存编辑后,如果之前是「驳回」状态会自动重置为「待审核」重新走审核流程。
CSV 列:hm_std, hm_hh, chinese(CINO 三语平行训练格式)