{{ statusEmoji(selectedProduct.status) }}
{{ selectedProduct.name }}
{{ selectedProduct.team }}
最后更新: {{ selectedProduct.updated }}
🚨 {{ selectedProduct.alert }}
📊 实时今日
新增
{{ selectedProduct.daily_new }}
活跃
{{ selectedProduct.active }}
充值
¥{{ selectedProduct.charge }}
成功率
{{ selectedProduct.pay_rate || '—' }}
📈 累计
会员总数
{{ Number(selectedProduct.total_members).toLocaleString() }}
⚡ 快捷操作
加载详情中…
📊 后台详细数据 ({{ Object.keys(productDetail.fields).length }} 字段,按业务分组)
🔥 核心指标
{{ stripToday(k) }}
{{ v }}
📈 留存率
👥 注册 / 活跃
💰 充值 / 订单
📥 落地 / 下载
🎬 内容消费
💸 提现 / 奖金
📊 累计 / 周月
{{ group }}
{{ stripToday(k) }}
{{ v }}
📈 16 天趋势
{{ t.label }}
{{ fmtNum(productDetail.fields._trends[t.key].slice(-1)[0]) }}
📊 后台详细数据
{{ stripToday(k) }}
{{ v.value }}
{{ v.sub }}
📈 15 天趋势
{{ t.label }}
{{ fmtNum(productDetail.fields._trends[t.key].slice(-1)[0]) }}
📱 H5
{{ fmtNum(productDetail.fields._trends.device_bar[0]) }}
🤖 Android
{{ fmtNum(productDetail.fields._trends.device_bar[1]) }}
⚠️ {{ productDetail.error }}
📊 该平台详细数据待接入(留存 / 渠道 / 设备分布 / 趋势图)
{{ statusEmoji(p.status) }}
{{ p.name }}
{{ p.team }}
新增{{ fmtNum(p.daily_new) }}
活跃{{ fmtNum(p.active) }}
充值¥{{ p.charge }}
成功率{{ p.pay_rate || '—' }}
🚨 {{ p.alert }}
更新:{{ p.updated }}
{{ filterTeam === '全部' ? '今日合计' : filterTeam + ' 合计' }}
新增
{{ fmtNum(totalize('daily_new')) }}
活跃
{{ fmtNum(totalize('active')) }}
充值
¥{{ totalize('charge') }}
订单数
{{ totalize('orders_count') }}
成功订单
{{ totalize('orders_ok') }}
🚨 今日告警 ({{ alerts.length }})
{{ a.level === 'critical' ? '🚨' : '⚠️' }}
{{ a.time }}
{{ a.msg }}
✅ 已恢复
📊 数据查询
查询类型:
时间范围:
→
产品:
{{ queryType === 'user' ? '用户 UID:' : '订单号:' }}
天数:
8 家全支持: d.php 4 家 + LGBT/他他GV 走真后台实时拉 · 不撸帝/Boys 走铁蛋历史快照(T+1)
订单类型:
d.php 4 家专用
查询耗时 {{ queryDuration }}ms · 共 {{ queryResults.length }} 条
{{ queryError }}
| {{ col }} {{ daySortDir === 'asc' ? '↑' : '↓' }} |
|---|
| ✅ 通过 ❌ 拒绝 ✅ 成功 ❌ 失败 {{ r[col] }} {{ r[col] }} |
| 没有查到数据 |
每页:
共 {{ queryResults.length }} 条
第 {{ currentPage }} / {{ totalPages }} 页
📊
选择查询条件,点"查询"开始
支持充值/审核/活跃/用户/订单 五类查询
筛选:
操作:
命中 {{ filteredAuditProducts.length }} 产品 · {{ filteredAuditTimeline.length }} 条动作
✅ 通过
{{ filteredAuditTotals.pass.toLocaleString() }}
❌ 删除
{{ filteredAuditTotals.delete.toLocaleString() }}
🚫 禁言
{{ filteredAuditTotals.ban.toLocaleString() }}
⏸️ Hold
{{ filteredAuditTotals.hold.toLocaleString() }}
📊 各产品审核统计(最近一轮)
⟳ 加载中 {{ auditStats.time }}| 产品 | 通过 | 删除 | 禁言 | Hold | 分类拆分 |
|---|---|---|---|---|---|
| {{ p.product }} | {{ p.pass.toLocaleString() }} | {{ p.delete.toLocaleString() }} | {{ p.ban.toLocaleString() }} | {{ p.hold.toLocaleString() }} | {{ c.name }}({{ c.pass }}/{{ c.delete }}/{{ c.ban }}) — |
| 没有命中数据 | |||||
🕐 最近审核动作(按违规理由聚合)
从 review log 解析
{{ r['产品'] }}
{{ r['操作'] }}
{{ r['类型'] }}
{{ r['理由'] }}
没有命中的审核动作
💡 Content-Studio v1.0 · 全链路发帖工作台 · 上传视频 + 多平台分发 + 任务追踪
今日发帖
{{ content.totals.today }}
含成功+失败+进行中
已完成
{{ content.totals.success }}
成功率 {{ contentSuccessRate }}%
流水线进行中
{{ content.totals.in_progress }}
{{ content.totals.in_progress }} 个待人工确认
发布失败
{{ content.totals.failed }}
点击查看详情
覆盖平台
{{ content.totals.platforms_active }}
今日活跃 {{ content.totals.platforms_active }} 个
📜 最近流水线任务
展示最近 50 条 点 + 新建视频发布 上传你的视频| ID | 标题 | 目标平台 | 流水线进度 | 状态 | 时间 | |
|---|---|---|---|---|---|---|
| #{{ t.id }} | {{ t.post_type === 'post' ? '📝' : '📹' }} {{ t.title }} | {{ sub.platform_name }} |
{{ t.progress }}
|
{{ t.status }} | {{ t.created.split(' ')[1] || t.created }} | |
|
📭
还没有发布任务,点右上角「+ 新建视频发布」开始
|
||||||
📊 今日各平台发帖
{{ plat }}
{{ stat.total }} 单
✅ {{ stat.success }}
❌ {{ stat.failed }}
今天还没有发布
🔍 跨平台用户查询 · 输 UID/uuid/Boys Code/手机号/订单号 反查 · 充值/禁言/AFF 一站查
v0.1 仅查询
组:
产品:
关键词:
⚠️ {{ account.error }}
查询关键词
{{ account.profile.query }}
命中平台
{{ account.profile.platforms_seen.length }}
{{ account.profile.platforms_seen.join(' / ') || '—' }}
订单数
{{ account.profile.total_orders }}
成功 {{ account.profile.total_success }}
累计金额
{{ account.profile.total_amount }}
最近 30 天
活跃时段
首: {{ account.profile.first_seen.split(' ')[0] }}
末: {{ account.profile.last_seen.split(' ')[0] }}
{{ p['性别'] === '女' ? '👩' : '🧑' }}
{{ p['别名(昵称)'] || '(无昵称)' }}
{{ p['平台'] }}
👑 {{ p['VIP卡名'] || ('等级 ' + p['VIP等级']) }}
🚫 已禁言
✓ 已认证
uid: {{ p['uid'] }} · {{ p['用户名'] }}
📋 基本资料
用户名{{ p['用户名'] }}
手机{{ p['手机'] }}
权限{{ p['权限'] }}
性别{{ p['性别'] }}
UUID
{{ p['uuid'] }}
👑 会员金币
VIP 等级
{{ p['VIP等级'] || '0' }}
🎫 {{ p['VIP卡名'] }}
VIP 到期
{{ formatVipExpire(p['会员到期']) }}
⏰ 无限看
{{ formatVipExpire(p['无限看到期']) }}
金币余额
{{ p['金币余额'] }}
消费总额{{ p['消费总额'] }}
App 版本{{ p['应用版本'] }}
📍 活动轨迹
注册
{{ p['注册时间'] }}
📍 {{ p['注册IP'] }}
最后访问
{{ p['最后访问'] }}
📍 {{ p['最后IP'] }}
登录 {{ p['登录次数'] }} 次
📡 渠道推广
渠道{{ p['渠道'] }}
AFF{{ p['AFF'] }}
邀请人数
{{ p['邀请人数'] }}
⚡ 账号操作
ℹ️ {{ p['平台'] }} ops 接口待大哥抓 cURL
⚠️ 这个关键词在选定平台上没找到匹配的用户。可能:用户在别的产品 / uuid 错了 / 平台权限不到。
📊 各平台汇总
| 平台 | 订单数 | 成功 | 累计金额 | 首单 | 末单 |
|---|---|---|---|---|---|
| {{ p['平台'] }} | {{ p['订单数'] }} | {{ p['成功'] }} | {{ p['累计金额'] }} | {{ p['首单'] }} | {{ p['末单'] }} |
💰 充值明细
最近 50 条| 创建时间 | 平台 | 订单号 | 类型 | 订单金额 | 实付金额 | 支付渠道 | 产品id | 订单信息 | 状态 |
|---|---|---|---|---|---|---|---|---|---|
| {{ o['创建时间'] || o['时间'] }} | {{ o['产品'] }} | {{ o['订单号'] }} | {{ o['类型'] || '-' }} | {{ o['订单金额'] || o['金额'] }} | {{ o['实付金额'] || o['金额'] }} | {{ o['通道'] }} | {{ o['产品id'] || '-' }} | {{ o['订单信息'] || o['商品'] || '-' }} | {{ o['状态'] }} |
💰 充值明细
最近 30 天📭
该用户在所选范围内(最近 30 天)没有充值记录
不是 bug — 是用户真的没充过 / 充值在 30 天之前
🚫 命中禁言/删除/拒绝记录 ({{ account.ban_records.length }})
{{ r['平台'] }}
{{ r['操作'] }}
{{ r['内容'] }}
🔍
输入 UID / uuid / 手机号 / 订单号开始查询
系统会跨 5 个平台聚合该用户的充值、禁言、活跃记录
示例查询:
08a9731c(搜同 uuid 前 8 位)
🚫 禁言用户 · 不撸帝走 /user/save (is_disabled=1) · 5-3 实战验证
🚫 禁言用户 · d.php 系走 doBlack workflow(listAjax 拉评论 → 拿 cid → flag=ban)· 实战验证可靠
⚙️ 操作表单
⚠️ 操作不可逆 · 会禁言整个用户(不只单条评论) · 本操作会写入操作日志(谁/何时/对谁)
{{ banResult.ok ? '✅ 禁言成功' : '❌ 失败' }}
{{ banResult.msg || banResult.error }}
使用 cid: {{ banResult.cid_used }} · 评论预览: "{{ banResult.comment_preview || '—' }}"
💡 LGBT/他他GV/不撸帝/Boys/小蓝/Gili Gili 待抓后台 cURL,以后陆续接。本期先 搜同 + GTV。
✏️ 改昵称 · 走 d.php members?code=save 部分更新模式 · 仅改 nickname,其他字段不动
⚙️ 改昵称表单
⚠️ 不可逆 · 仅改 nickname 字段(其他保留)· 写操作日志
{{ renameResult.ok ? '✅ 改昵称成功' : '❌ 失败' }}
{{ renameResult.msg || renameResult.error }}
uid: {{ renameResult.before.uid }} · 之前: {{ renameResult.before.nickname_before }}
💡 当前仅 d.php 4 家(搜同/GTV/小蓝/Gili Gili)。Boys 已知接口 PUT update 17 字段(/admin/cluser/m/user/update),不撸帝/TaTa 接口未做。重置密码/改头像/改角色 后续按需加。
🎟️ 改用户会员 · 改某用户的会员等级 + 到期日(月卡/年卡/至尊卡 等)· 工单常用
ℹ️ 搜同走 productuser 卡包(11 张真卡 + 取消)
流程:dashboard 提交后,后端 list 用户当前卡 → 全部 del → save 新卡(到期日由 productuser 按卡种自动算,永久卡 ≈ 27 年,月卡 30 天)· 同时支持转移会员卡(顶部 🔄 转移会员)
⚙️ 改会员表单
后端自动算到期日(永久卡 ≈ 27 年,月卡 30 天)
⏳ 加载会员卡列表中... (没出来就刷新)
ℹ️ 后端拉当前 vipEnd → 延长 N 天(已过期则从今天起算)→ PUT update + 反查 verify。点按钮直接提交,不再点下面"改会员"
ℹ️ 搜同走 productuser:到期日由后端按卡种自动算,不需手填
⚠️ 不可逆 · 直接覆盖用户当前会员 · 写操作日志
↑ Boys 走快捷按钮提交
{{ vipResult.ok ? '✅ 改会员成功' : '❌ 失败' }}
{{ vipResult.msg || vipResult.error }}
用户: {{ vipResult.before.nickName || vipResult.before.nickname || '?' }}
之前: vip_level={{ vipResult.before.vip_level_before }} 到期 {{ vipResult.before.expired_at_before }}
之前 VIP: 开始 {{ vipResult.before.vipBegin_before || '(未充)' }} 到期 {{ vipResult.before.vipEnd_before || '(未充)' }}
· 累充 ¥{{ vipResult.before.rechargeTotal }}
💡 已支持 5 平台:d.php 4 家(搜同/GTV/小蓝/Gili Gili)+ Boys(走 page2 反查 + 全字段 PUT update,保留 nickName/city 等其他字段)。LGBT/他他GV/不撸帝 待抓后台 cURL。
🔄 转移会员卡 · 把 A 用户的会员卡转给 B 用户(仅搜同 productuser 卡包,工单常用)
⚙️ 转移会员表单
📦 当前卡包: {{ c.vip_level_str || c.product_id }}(pk={{ c.id }})
⚠️ 该用户当前没卡可转
⚠️ 不可逆 · 删 From 全部卡 + 加新卡到 To · 写操作日志
{{ transferResult.ok ? '✅ 转移成功' : '❌ 失败' }}
{{ transferResult.msg || transferResult.error }}
已删 From 卡: pk={{ d.pk }}({{ d.vip_level_str }})·{{ d.ok ? '✅' : '❌' }}
加 To 卡: {{ transferResult.added.card_name }} (pid={{ transferResult.added.product_id }}) · {{ transferResult.added.ok ? '✅' : '❌' }} {{ transferResult.added.msg }}
📜 操作日志 · 全员最近 ops.* 操作(责任到人 · 出问题可追)· 默认 admin/副总/组长可看,组员需到 🛡️ 角色管理 加 admin.audit.view 权限
操作人:
动作:
操作日志 · {{ myAuditItems.length }} 条
加载中…
还没操作记录
| 时间 | 操作人 | 动作 | 目标 | 详情 |
|---|---|---|---|---|
| {{ (it.time || '').slice(5, 19).replace('T', ' ') }} | {{ it.actor }} | {{ it.action }} | {{ it.target || '—' }} | {{ JSON.stringify(it.after).slice(0, 80) }}{{ JSON.stringify(it.after).length > 80 ? '…' : '' }} {{ it.note }} — |
⏰ 无限看(免费看金币视频) · GTV/小蓝/Gili Gili 后台 add_free · day=0=清零 · 工单常用
⚙️ 加无限看天数
⚠️ 累加模式:多次点会叠加 · 写操作日志
{{ freeViewResult.ok ? '✅ 提交成功' : '❌ 失败' }}
{{ freeViewResult.msg || freeViewResult.error }}
💡 d.php 后端无现成反查接口,提交后请去对应平台后台核对实际无限看天数 · 搜同后台没此功能(下拉无搜同选项)
💰 金币上下分 · 给用户加/扣金币(quantity 正=上分,负=下分)· 工单常用
⚙️ 上下分表单
⚠️ 不可逆 · 直接调整用户余额 · 写操作日志
{{ coinResult.ok ? '✅ 上下分成功' : '❌ 失败' }}
{{ coinResult.msg || coinResult.error }}
💡 已支持 6 平台:Boys (balance/adjust) + d.php 4 家 (chargeadmin/save) + 不撸帝 (/user/recharge,自动带 TOTP)。LGBT/他他GV 待抓 cURL。
🤖 Agent 状态总览 · {{ agents.summary.services_active }}/{{ agents.summary.services_total }} 服务 · {{ agents.summary.crons_total }} cron · {{ agents.summary.infra_ok }}/{{ agents.summary.infra_total }} 基建
{{ agents.time }}
在线服务
{{ agents.summary.services_active }}/{{ agents.summary.services_total }}
7×24 跑的 bot 和服务
失败服务
{{ agents.summary.services_failed }}
{{ agents.summary.services_failed === 0 ? '一切正常' : '需要排查' }}
Cron 任务
{{ agents.summary.crons_total }}
定时跑的脚本
基础设施
{{ agents.summary.infra_ok }}/{{ agents.summary.infra_total }}
OpenAI / Cookie / Token / SS
🤖 业务 Bot 与服务
| 服务 | 职责 | 状态 | 已运行 | 内存 | PID |
|---|---|---|---|---|---|
|
{{ s.icon }}
{{ s.display }}
{{ s.unit }}
|
{{ s.role }} | {{ s.state === 'active' ? '🟢 运行中' : s.state === 'failed' ? '🚨 失败' : '⏸️ ' + s.state }} | {{ s.uptime }} | {{ s.mem_mb }} MB | {{ s.pid }} |
🌐 远端 Agent 节点
其他组的机器人 / 独立 VPS · 暴露 /health 后纳入实时采集
{{ r.icon }}
{{ r.status === 'ok' ? '🟢 在线' : r.status === 'pending_endpoint' ? '⏳ 待接入' : '📦 已移交' }}
{{ r.name }}
{{ r.team }} · {{ r.product }}
{{ r.role }}
📍 {{ r.host }}
{{ r.note }}
⏰ 关键定时任务
从 crontab 比对,{{ agents.crons.filter(c => c.configured).length }} / {{ agents.crons.length }} 已配置| 任务 | 执行频率 | 配置 | 最近 |
|---|---|---|---|
|
{{ c.icon }}
{{ c.display }}
{{ c.fragment }}
|
{{ c.schedule }} | {{ c.configured ? '✅ 已配' : '⏸️ 未配' }} | {{ c.last_run }} |
🏗️ 基础设施
{{ i.icon }}
{{ i.name }}
{{ i.status === 'ok' ? '🟢 OK' : i.status === 'warn' ? '🟡 警告' : i.status === 'error' ? '🔴 错误' : '⏸️ ' + i.status }}
{{ i.note }}
📥 用户反馈(巡检评论 - 已去黄推)
{{ feedback.date }} · 原始 {{ feedback.total_raw }} 条 · 过滤 {{ feedback.blocked_blacklist }} 条黄推 · 命中分类 {{ feedback.classified }} 条
产品:
分类:
| 产品 | 分类 | 评论内容 | 位置 | UID | 视频/帖子 |
|---|---|---|---|---|---|
| {{ r['产品'] }} | {{ r['分类'] }} | {{ r['评论'] }} | {{ r['位置'] }} | {{ r['UID'] }} | {{ r['视频/帖子'] }} |
| 没有命中的反馈 | |||||
已显示 {{ feedbackPageSize }} / 共 {{ filteredFeedbackRows.length }} 条
⚙️ 基础
📰 跑马灯(叠播放器底部滚动)
#{{ idx+1 }}
🎯 广告位(按 ?from= 分流,各平台用户只看自家)
分组名(default/gtv/sotong/xiaolan 等)对应 URL `?from=` 参数,从 GTV 落地页跳来的 URL 加 `?from=gtv` 就只显示 gtv 那组广告。
{{ group }}{{ group==='default' ? ' (无 from 参数走这个)' : ' (?from=' + group + ')' }}
这个分组没有广告,点上面 ➕ 加一个
📊 埋点(最近 200 条)
总数: {{ zhiboEvents.length }}
页面打开: {{ zhiboEvents.filter(e=>e.event==='page_open').length }}
视频播放: {{ zhiboEvents.filter(e=>e.event==='video_play').length }}
广告点击: {{ zhiboEvents.filter(e=>e.event==='ad_click').length }}
跑马灯点击: {{ zhiboEvents.filter(e=>e.event==='marquee_click').length }}
{{ e.ts.slice(11,19) }} · {{ e.event }} · from={{ e.from }} · sid={{ e.sid.slice(0,8) }} {{ e.ad_id ? '· ad=' + e.ad_id : '' }}
还没埋点数据,等用户访问直播站后再看
⏳ 加载中...
等待加载...
📝 AV 落地页配置
▶ 预览落地页
{{ landingConfigMsg }}
📌 顶部主信息
🔝 顶栏统计
🎯 主 Banner (页面最大那块)
🖼️ Banner 轮播大图 ({{ (landingCfg.banner_slides||[]).length }} 张)
两种方式都行:① 点 📁 直接选本地图(支持多选,自动上传)② 贴公网 URL(jpg/png/webp/gif),建议 1600×900 横图
还没图,点 + 加图 加一张试试
📊 数据指标卡 ({{ landingCfg.metrics.length }} 个数字)
🌶 双榜热推 (左右两张大卡)
⬅ 左卡
➡ 右卡
📱 APP 卡片 ({{ landingCfg.apps.length }} 个)
📱 {{ a.name || '(未命名)' }} [{{ a.key }}]
🔥 精选视频 ({{ landingCfg.videos.length }} 个)
🦶 页脚
改完点保存,落地页刷新就生效
⏳ 加载中...
等待加载...
{{ menus.find(m => m.key === activeMenu).icon }}
{{ menus.find(m => m.key === activeMenu).name }}
v0.1 占位 — 待开发