{{ pageTitle }}

{{ pageSubtitle }}

数据概览

实时监控您的业务数据

⚠️
加载失败
{{dashboardError}}
💰
{{Math.abs(statistics.growth.revenue_growth)}}%
¥{{statistics.today.revenue.toFixed(2)}}
今日收入
📋
{{statistics.today.orders}}
今日订单
待支付
{{statistics.order_stats.pending}}
已完成
{{statistics.order_stats.completed}}
{{statistics.today.queries}}
今日查询
📊
累计统计
历史总计
{{statistics.customer_count}}
总客户
{{statistics.order_count}}
总订单
{{statistics.query_count}}
总查询
¥{{statistics.total_revenue.toFixed(0)}}
总收入
📅
本周数据
本周统计
¥{{statistics.this_week.revenue.toFixed(0)}}
本周收入
{{statistics.this_week.orders}}
本周订单
{{statistics.this_week.queries}}
本周查询
+{{statistics.this_week.new_customers}}
新增客户
👥
客户活跃度
用户参与
{{statistics.customer_stats.active_today}}
今日
{{statistics.customer_stats.active_week}}
本周
{{statistics.customer_stats.vip_count}}
VIP
+{{statistics.customer_stats.new_today}}
今日新增
+{{statistics.customer_stats.new_week}}
本周新增
🔌
热门接口
TOP5 调用统计
接口 调用 成功率
{{index + 1}} {{api.api_path}}
{{api.count}} {{api.success_rate}}%
暂无数据
💚
系统健康
{{statistics.system_health.success_rate}}%
成功率
{{statistics.system_health.error_count_today}}
今日错误
{{statistics.system_health.blacklisted_ips}}
黑名单
📋
订单状态
待支付
{{statistics.order_stats.pending}}
已完成
{{statistics.order_stats.completed}}
已取消
{{statistics.order_stats.cancelled}}
📈
收入趋势
近7天数据
{{item.value > 0 ? '¥' + item.value.toFixed(0) : ''}}
{{item.date.slice(5).replace('-', '/')}}
暂无数据
📊
查询量趋势
近7天数据
{{item.value}}
{{item.date.slice(5).replace('-', '/')}}
暂无数据
📉
成本与收入趋势
近7天对比
收入
成本
利润
{{item.revenue.toFixed(0)}} ({{item.cost.toFixed(0)}})
{{item.date.slice(5).replace('-', '/')}}
¥{{statistics.cost_stats?.week_total_revenue?.toFixed(4) || '0.0000'}}
本周收入
¥{{statistics.cost_stats?.week_total_cost?.toFixed(4) || '0.0000'}}
本周成本
¥{{((statistics.cost_stats?.week_total_revenue || 0) - (statistics.cost_stats?.week_total_cost || 0)).toFixed(4)}}
本周利润
{{getWeekProfitRate()}}%
利润率
暂无数据
实名认证
{{statistics.realname_stats.approved}}
已通过
{{statistics.realname_stats.rejected}}
未通过
{{statistics.realname_stats.approval_rate}}%
通过率
🤝
代理商统计
{{statistics.agent_stats.total_agents}}
总代理
{{statistics.agent_stats.active_agents}}
活跃代理
{{statistics.agent_stats.agent_orders_today}}
今日订单
¥{{statistics.agent_stats.agent_commission.toFixed(0)}}
总佣金
💰
成本统计
¥{{statistics.cost_stats?.today?.total_cost?.toFixed(4) || '0.0000'}}
今日成本
¥{{((statistics.cost_stats?.week_total_revenue || 0) - (statistics.cost_stats?.week_total_cost || 0)).toFixed(4)}}
本周利润
今日
短信 ¥{{statistics.cost_stats?.today?.sms_cost?.toFixed(4) || '0.00'}} ({{getCostPercent('sms')}}%)
实名 ¥{{statistics.cost_stats?.today?.realname_cost?.toFixed(4) || '0.00'}} ({{getCostPercent('realname')}}%)
接口 ¥{{statistics.cost_stats?.today?.query_cost?.toFixed(4) || '0.00'}} ({{getCostPercent('query')}}%)
本周成本 ¥{{statistics.cost_stats?.week_total_cost?.toFixed(4) || '0.0000'}}
🕐
24小时分布
{{item.count}}
{{(i-1)*4}}h
暂无数据

凭证管理

IDBase URLApp ID激活操作
{{c.id}} {{c.base_url}} {{c.app_id}} {{c.is_active ? '✓ 是' : '否'}}
暂无数据

安信查大数据凭据管理

🌐 安信查大数据说明:提供个人风险报告、司法涉诉查询等数据服务
IDAPI地址Access ID激活操作
{{c.id}} {{c.base_url}} {{c.access_id}} {{c.is_active ? '✓ 是' : '否'}}
暂无数据

接口开关管理

ID名称路径数据服务商单次价格状态操作
{{i.id}} {{i.name}} {{i.path}} {{i.provider === 'jh' ? '聚合数据' : '安信查大数据'}} ¥{{Number(i.price).toFixed(2)}} {{i.enabled ? '✓ 启用' : '禁用'}}
暂无数据

支付配置管理

💡 支付方式说明
💲 微信支付:支持公众号内支付(JSAPI)和手机浏览器H5支付,使用同一套配置
🔵 支付宝:支持PC端扫码支付和手机支付
🔊 聚合易支付:支持微信、支付宝等多种支付方式
🏦 通联支付:支持微信、支付宝、数字人民币、云闪付等多种支付方式
⚠️ 重要提示:
  • 必须至少激活一种支付方式,否则用户无法支付
  • 同一类型只能有一个激活的配置
  • 微信支付配置会同时用于 JSAPI 支付和 H5 支付
  • 通联支付需要配置商户RSA私钥和通联公钥
  • 汇付天下需要配置商户RSA私钥和汇付公钥
  • 生产环境请确保配置正确的支付回调地址
ID类型App ID支付模式激活操作
{{p.id}} 💲 微信 🔵 支付宝 🔊 聚合易 🏦 通联 🎆 汇付 {{p.provider}} (测试) (测试) {{p.app_id}} 微信 支付宝 未设置 - {{p.is_active ? '✓ 是' : '否'}}
暂无数据

首页配置

配置用户端首页展示内容

Logo 设置

{{logoFile.name}}
Logo预览
🖼️
暂无Logo

Banner 设置

{{frontend.banner_urls?.length || 0}}
{{bannerFile.name}}
设置Banner图片自动切换的时间间隔(1-60秒)
{{idx + 1}}
🎬
暂无Banner
Banner {{idx + 1}}
🎬
暂无Banner图片

滚动留言

提示: 每行一条留言,将在首页顶部滚动显示

其他设置

设置查询记录的保存时长(1-365天),超过此时间的记录将被自动清理

文章管理

ID标题创建时间操作
{{a.id}} {{a.title}} {{a.created_at}}
📄
暂无文章

查询页面配置

配置每个查询类型的独立页面内容

Banner 图片
🖼️
暂无Banner
基本信息图片
📋
暂无基本信息图片
📝
请选择要配置的查询类型
在上方下拉框中选择一个查询类型开始配置
扫描弹窗配置
显示风险类别
在扫描完成后显示风险类别列表
风险类别HTML代码
HTML | 支持自定义样式
提示:使用 class="locked" 样式显示红色"待解锁"文字,class="lock-icon" 显示锁图标
法律文档配置
示例: https://example.com/agreement.html
示例: https://example.com/privacy.html
示例: https://example.com/authorization.html

查询服务配置

全部
个人查询
企业查询
其他

📱 布局预览 (移动端)

客户管理

ID 用户名 邮箱 手机 余额 消费金额 状态 VIP 最后登录 操作
{{c.id}} {{c.username}} {{c.email || '-'}} {{c.phone || '-'}} ¥{{c.balance}} ¥{{Number(c.total_spent || 0).toFixed(2)}} {{c.is_active ? '✓ 激活' : '禁用'}} {{c.is_vip ? '⭐ 是' : '否'}} {{formatDateTime(c.last_login)}} 从未登录
暂无数据
{{customersPage}} / {{Math.ceil(customersTotal / customersPageSize)}} 共 {{customersTotal}} 个客户

接口价格管理

ID接口名称接口路径访问路径单价描述排序状态公开操作
{{p.id}} {{p.interface_name}} {{p.interface_path}} {{p.access_path || '-'}} ¥{{Number(p.price).toFixed(2)}} {{p.description || '-'}} {{p.sort_order}} {{p.is_active ? '✓ 启用' : '禁用'}} {{p.is_public ? '✓ 公开' : '私密'}}
暂无数据

订单管理

订单号 客户ID 客户名 金额 状态 支付方式 创建时间 操作
{{o.order_no}} {{o.customer_id}} {{o.customer_username || '-'}} ¥{{o.amount}} {{getStatusText(o.status)}} {{getPaymentMethodText(o.payment_method)}} {{o.created_at}}
暂无数据
{{ordersPage}} / {{Math.ceil(ordersTotal / ordersPageSize)}} 共 {{ordersTotal}} 条记录

查询记录

ID 订单号 接口名称 响应码 查询结果 扣费次数 扣费金额 接口价格 IP地址 查询时间 操作
{{log.id}} {{log.order_no}} - {{getApiName(log.api_path || log.endpoint)}} {{log.response_code}} {{log.cost_count}} ¥{{Number(log.cost_amount || 0).toFixed(2)}} ¥{{Number(log.interface_price || 0).toFixed(2)}} {{log.ip_address || '-'}} {{log.created_at}}
暂无数据
{{logsPage}} / {{Math.ceil(logsTotal / logsPageSize)}} 共 {{logsTotal}} 条记录

短信配置管理

ID服务商Access Key签名模板代码单价本月发送本月成本激活操作
{{s.id}} 📱 短信宝 🐉 阿里云 🐧 腾讯云 ☁️ 华为云 {{s.provider}} {{s.access_key}} {{s.sign_name || '-'}} {{s.template_code || '-'}} ¥{{(s.unit_price || 0).toFixed(4)}} {{s.month_count || 0}} ¥{{(s.month_cost || 0).toFixed(4)}} {{s.is_active ? '✓ 是' : '否'}}
暂无数据

短信请求记录

ID 手机号 验证码 IP地址 状态 是否使用 发送时间 过期时间 操作
{{log.id}} {{log.phone}} {{log.code}} {{log.ip_address || '-'}} ✓ 成功 ✗ 失败 ⏳ 待发送 ✓ 已使用 未使用 {{formatDate(log.created_at)}} {{formatDate(log.expire_at)}}
暂无记录
{{smsLogsPage}} / {{Math.ceil(smsLogsTotal / smsLogsPageSize)}}

实名验证管理

配置和监控手机号三要素核验服务

{{ realnameConfig.enabled ? '服务已启用' : '服务已禁用' }}
⚙️

服务配置

实名验证服务
启用后将验证客户登录手机号与查询身份证号的一致性
验证失败处理方式
验证频率限制
每个手机号+身份证组合每天最多验证次数(默认3次)
云市场API配置
用于成本统计计算
📖 配置说明
  • 使用阿里云云市场手机三要素API服务
  • AppCode获取方式:云市场控制台 → 已购买的服务 → 查看AppCode
  • 验证姓名、身份证号、手机号三者是否一致
  • 每次验证都会记录到数据库,可在下方历史记录中查看
  • API文档:手机三要素认证API
🧪

实名认证测试

测试结果
验证状态: {{ realnameTest.result.passed ? '✅ 通过' : '❌ 未通过' }}
业务代码: {{ realnameTest.result.details?.biz_code || '-' }}
结果消息: {{ realnameTest.result.message }}
详细代码:{{ realnameTest.result.details?.sub_code || '-' }}
请求ID:{{ realnameTest.result.details?.request_id || '-' }}
❌ {{ realnameTest.error }}
📋

验证记录

🔍
{{ realnameTotal }}
总记录数
{{ realnameStats?.passed || 0 }}
验证通过
{{ realnameStats?.failed || 0 }}
验证失败
{{ realnameStats?.pass_rate || 0 }}%
通过率
ID 客户ID 手机号 姓名 身份证号 验证结果 运营商 验证时间
{{ log.id }} {{ log.customer_id }} {{ log.mobile }} {{ log.user_name }} {{ log.identify_num }} ✓ 通过 ✗ 不一致 ? 查无记录 中国移动 中国联通 中国电信 中国广电 {{ log.isp_name || '-' }} {{ log.created_at }}
📭
暂无验证记录
{{ realnamePage }} 页,共 {{ Math.ceil(realnameTotal / realnamePageSize) }} 页 (共 {{ realnameTotal }} 条记录)

🛡️ 系统防护

IP访问监控、黑名单管理、自动封禁规则

{{ securityStats.today_ips || 0 }}
今日活跃IP
🌐
{{ securityStats.today_requests || 0 }}
今日请求数
📊
{{ securityStats.blacklist_count || 0 }}
黑名单总数
🚫
{{ securityStats.today_blocked || 0 }}
今日拦截次数
🛡️

🌐 IP访问统计

IP地址 地理位置 服务商 请求次数 访问次数 关联账号 最后访问 状态 操作
{{ item.ip }} {{ item.country }} · {{ item.region }} · {{ item.city }} {{ item.isp }} {{ item.request_count }} {{ item.visit_count }} {{ item.account_count }} 个账号 {{ formatTime(item.last_seen) }} 🚫 IP已封禁 ✅ 正常
📭
暂无数据
第 {{ securityIpPage }} 页

🚫 黑名单管理

类型 目标 设备名称 封禁原因 执行者 创建时间 过期时间 操作
🌐 IP 📱 设备 {{ item.target }} {{ item.device_name || '-' }} {{ item.reason }} {{ item.banned_by }} {{ formatTime(item.created_at) }} {{ item.expires_at ? formatTime(item.expires_at) : '永久' }}
暂无黑名单

⚙️ 自动封禁规则

💡 自动封禁规则说明
高频访问: 短时间内请求次数超过阈值时自动封禁
失败请求: 短时间内失败请求超过阈值时自动封禁
敏感路径: 频繁访问敏感路径时自动封禁
攻击特征: 检测到SQL注入、XSS等攻击特征时立即封禁
境外IP自动封禁: 自动检测并封禁非中国IP(香港、澳门、台湾除外)
规则名称 规则类型 封禁时长 触发次数 状态 操作
{{ rule.rule_name }} {{ getRuleTypeName(rule.rule_type) }} {{ rule.ban_duration_hours }}小时 {{ rule.trigger_count }}次 ✅ 启用 ❌ 禁用
⚙️
暂无自动封禁规则

📝 访问日志

时间 IP地址 路径 方法 用户 类型 状态码
{{ formatTime(log.created_at) }} {{ log.ip_address }} {{ log.path }} {{ log.method }} {{ log.username || '-' }} API 页面 {{ log.response_code }} {{ log.response_code }} {{ log.response_code }}
📭
暂无访问日志
第 {{ securityLogPage }} 页

🚫 添加IP黑名单

📱 添加设备黑名单

💡 设备黑名单基于 User-Agent 封禁,会封禁所有使用相同设备(浏览器)的访问

⚙️ 添加自动封禁规则

⚙️ 检测条件
⚙️ 敏感路径配置
⚙️ 攻击特征配置

📊 IP访问详情 - {{ securityDetailData.ip }}

📍 地理位置
{{ securityDetailData.location || '未知' }}
服务商: {{ securityDetailData.isp }}
🔌 接口访问统计
接口功能 请求路径 方法 访问次数 平均耗时
{{ api.function }} {{ api.path }} {{ api.method }} {{ api.count }} {{ api.avg_duration }}ms
暂无接口访问数据
👥 关联账号 ({{ securityDetailData.accounts.length }}个)
{{ acc.username }}
手机: {{ acc.phone || '未绑定' }}
注册IP: {{ acc.register_ip || '-' }}
登录IP: {{ acc.last_login_ip || '-' }}
📝 最近访问记录 (最近20条,共{{ securityDetailData.total_logs }}条)
时间 请求 状态 耗时
{{ log.created_at }} {{ log.method }} {{ log.path }} {{ log.response_code }} {{ log.duration_ms }}ms

管理员管理

🔒 仅超级管理员可管理
ID用户名真实姓名角色状态最后登录创建时间操作
{{u.id}} {{u.username}} {{u.real_name || '-'}} 👑 超级管理员 👤 普通管理员 {{u.is_active ? '激活' : '禁用'}} {{u.last_login || '-'}} {{u.created_at}}
暂无数据
{{adminUsersPage}} / {{Math.ceil(adminUsersTotal / adminUsersPageSize)}} 共 {{adminUsersTotal}} 条记录

代理管理

🎯 一级直推模式
ID 用户名 代理码 等级 推荐人 累计佣金 可提现 直推客户 推荐代理 状态 操作
{{agent.id}} {{agent.username}} {{agent.agent_code}} 普通 高级 超级 {{agent.parent_agent_code || '-'}} ¥{{Number(agent.total_commission).toFixed(2)}} ¥{{Number(agent.available_commission).toFixed(2)}} {{agent.direct_customers}} {{agent.direct_agents}} 待审核 已激活 已禁用
暂无数据
{{agentsPage}} / {{Math.ceil(agentsTotal / agentsPageSize)}} 共 {{agentsTotal}} 条记录

提现审核

ID 代理商 代理码 提现金额 手续费 实际到账 提现方式 收款账号 收款人 状态 申请时间 操作
{{wd.id}} {{wd.username}} {{wd.agent_code}} ¥{{Number(wd.amount).toFixed(2)}} -¥{{Number(wd.fee).toFixed(2)}} ¥{{Number(wd.actual_amount).toFixed(2)}} {{wd.withdraw_method === 'alipay' ? '支付宝' : wd.withdraw_method === 'wechat' ? '微信' : '银行卡'}} {{wd.withdraw_account}} {{wd.withdraw_name}} 待审核 已批准 已拒绝 已完成 {{wd.created_at}}
暂无数据
{{withdrawalsPage}} / {{Math.ceil(withdrawalsTotal / withdrawalsPageSize)}} 共 {{withdrawalsTotal}} 条记录
💰

佣金比例设置(等级佣金制)

🥉
%
新注册代理的佣金
🥈
%
达标后升级获得
🥇
%
最高等级特权
⬆️ 代理升级阈值(基于直推客户数)
🥉→🥈 普通升高级:
🥈→🥇 高级升超级:
💡 佣金计算示例(100元订单)
🥉 普通代理
{{ (100 * agentConfig.normal_commission_rate / 100).toFixed(2) }} 元
🥈 高级代理
{{ (100 * agentConfig.senior_commission_rate / 100).toFixed(2) }} 元
🥇 超级代理
{{ (100 * agentConfig.super_commission_rate / 100).toFixed(2) }} 元
🏷️

代理定价区间

代理商可在该区间内自由设定其客户的查询价格。以平台价格为基准,百分比限制。
%
例如平台价 39.8 元 → 最低 {{ (39.8 * agentConfig.agent_price_min_percent / 100).toFixed(2) }} 元
%
例如平台价 39.8 元 → 最高 {{ (39.8 * agentConfig.agent_price_max_percent / 100).toFixed(2) }} 元
💸

提现规则设置

代理商申请提现的最低门槛
%
按提现金额百分比收取
元/笔
每笔提现固定收取的费用
📝 提现费用计算示例(提现 1000 元):
手续费 = 1000 × {{ agentConfig.withdraw_fee_rate }}% + {{ agentConfig.withdraw_fee_fixed }} = {{ (1000 * agentConfig.withdraw_fee_rate / 100 + agentConfig.withdraw_fee_fixed).toFixed(2) }}
💰

代理申请价格

👤
¥
用户申请普通代理需支付的金额
¥
用户申请高级代理需支付的金额
👑
¥
用户申请超级代理需支付的金额
⚙️

系统开关

🚪
开放代理注册
关闭后用户无法申请成为代理
自动审核代理
开启后代理申请自动通过

操作日志

ID 用户 类型 模块 操作 描述 IP地址 时间
{{log.id}} {{log.username}} {{log.user_type}} {{log.module}} {{log.action}} {{log.description}} {{log.ip_address}} {{log.created_at}}
暂无数据
{{operationLogsPage}} / {{Math.ceil(operationLogsTotal / operationLogsPageSize)}} 共 {{operationLogsTotal}} 条记录

系统设置

配置键配置值描述类型操作
{{s.key}} {{s.value}} {{s.description || '-'}} {{s.value_type}}
暂无数据
⚠ 网络已断开,部分操作可能失败
★ 收藏夹 {{ adsFavoriteList.length }} 个
点击管理表行的 ★ 收藏常用对象
{{ f.icon }} {{ f.name }} #{{ f.id }}
未绑定广告账户,前往设置绑定 → 余额 ¥{{ formatNum(fenToYuan((adsAccounts.find(x=>x.account_id===adsSelectedAccountId)||{}).balance)) }} · 日限额 ¥{{ formatNum(fenToYuan((adsAccounts.find(x=>x.account_id===adsSelectedAccountId)||{}).daily_budget)) }} 🕐 {{ adsDataFreshness.text }}
⬇ 导出
{{ it.label }}

腾讯广告转化归因

配置腾讯广告转化归因 API,追踪用户注册和付费转化 查看文档 →

{{ tencentAdsSaveMsg }}
⚠ 已启用但凭证不全:缺 {{ !tencentAds.access_token ? 'access_token' : '' }}{{ (!tencentAds.access_token && !tencentAds.action_set_id) ? '、' : '' }}{{ !tencentAds.action_set_id ? 'action_set_id' : '' }}。无凭证则每笔转化都会被跳过(不上报),请在下方填好并保存。
⏸ 转化上报未启用——勾选下方「启用腾讯广告转化归因」并保存后,订单支付才会触发上报。
✓ 凭证完整且已启用。转化将随订单支付自动上报({{ tencentAds.mode || 'callback' }} 模式)。
📢
启用腾讯广告转化归因
启用后,前端页面将自动捕获广告参数(qz_gdt / gdt_vid / __CALLBACK__)并上报转化数据
🔑
转化上报凭证
腾讯广告转化归因 API 凭证。转化上报优先用「设置→账户管理」里配齐 action_set_id 的账户;此处为兜底配置(无需绑定账户),填好并勾上「启用」+ 保存即可。
📊

广告效果统计

访问次数
{{ adsStats.visits || 0 }}
独立IP {{ adsStats.visit_dedup?.unique_ips || 0 }}
注册次数
{{ adsStats.registers || 0 }}
访问→注册 {{ adsStats.visit_to_register || 0 }}%
付费次数
{{ adsStats.purchases || 0 }}
注册→付费 {{ adsStats.register_to_purchase || 0 }}%
付费金额
¥{{ adsStats.revenue || 0 }}
访问→付费 {{ adsStats.visit_to_purchase || 0 }}%
转化漏斗
{{ item.label }}
{{ item.count }}
{{ idx > 0 && adsStats.visits > 0 ? (item.count / adsStats.visits * 100).toFixed(1) + '%' : '' }}
暂无数据
上报质量
总上报次数 {{ adsStats.report_stats.total }}
成功 {{ adsStats.report_stats.success }}
失败 {{ adsStats.report_stats.failed }}
成功率 {{ adsStats.report_stats.success_rate }}%
每日趋势
加载中...
转化事件明细
{{ type }}
{{ info.count }}次
¥{{ (info.value / 100).toFixed(2) }}
最近转化记录
时间 类型 页面 订单号 金额 状态 IP 错误信息
{{ r.created_at }} {{ r.action_type }} {{ r.page_url || '-' }} {{ r.outer_action_id || '-' }} {{ r.value > 0 ? '¥' + (r.value / 100).toFixed(2) : '-' }} {{ r.success ? '成功' : '失败' }} {{ r.ip || '-' }} {{ r.success ? '-' : parseErrorResponse(r.response) }}
共 {{ adsConvTotal }} 条,第 {{ adsConvPage }} / {{ adsConvTotalPages }} 页
🔗
凭证已统一管理
转化上报的 Access Token / 账户ID / 转化数据集ID 已与广告投放账户合并。请到【设置】tab:
  1. 绑定广告账户(OAuth 授权或手动绑定);
  2. 为每个账户填写转化数据集 ID(action_set_id)并开启转化上报。
本页仅保留总开关与效果统计。

自动上报的转化事件

👤
REGISTER
用户首次登录/注册成功
click_id / callback
💰
COMPLETE_ORDER
用户支付成功
+ 订单金额(分)
📄
VIEW_CONTENT
用户访问查询页面
click_id / callback
参数捕获机制:用户通过腾讯广告点击进入页面时,URL 会携带广告参数。前端自动捕获并存储到 localStorage(7天有效期),在关键转化节点上报到后端。
支持 URL 格式:?__CALLBACK__=xxx · ?qz_gdt=xxx · ?gdt_vid=xxx
请先选择广告账户,未绑定?前往设置 →
⚠ 概览数据加载失败,
⚡ 快捷操作
📊 投放健康总览 200轮收官
数据新鲜度:{{ adsFinalDashboard.freshnessText }}
数据不足
💰 今日消耗
¥{{ formatNum(fenToYuan(adsFinalDashboard.todayCostFen)) }}
📊 预算进度
未设限额
🔔 告警
{{ adsFinalDashboard.alertCount }} 条
💡 优化建议
{{ adsFinalDashboard.tipCount }} 条
📝 {{ adsFinalDashboard.headline }}
🩺 健康仪表盘 一眼看全 · 综合 5 项核心指标
{{ adsHealthDashboard.summary }}
健康评分
数据不足
💰 今日消耗
¥{{ formatNum(fenToYuan(adsHealthDashboard.todayCostFen)) }}
🖱 {{ formatNum(adsHealthDashboard.todayClicks) }} 点击 · 🎯 {{ formatNum(adsHealthDashboard.todayConv) }} 转化
⚡ 消耗速率
{{ adsHealthDashboard.burnPerHourYuan > 0 ? ('¥' + formatNum(adsHealthDashboard.burnPerHourYuan) + '/时') : '—' }}
⏳ 预计 {{ adsHealthDashboard.burnRunway }}
📊 预算进度
未设日限额
🔔 异常告警
{{ adsHealthDashboard.alertCount }} 条
{{ adsHealthDashboard.alertCount > 0 ? '需处理' : '一切正常' }}
📋 今日日报 一眼看全 · 实时
💰 实时消耗
¥{{ formatNum(fenToYuan(adsDailyReport.cost)) }}
👁 展示
{{ formatNum(adsDailyReport.impressions) }}
🖱 点击
{{ formatNum(adsDailyReport.clicks) }}
✅ 转化
{{ formatNum(adsDailyReport.conversions) }}
📊 CTR
{{ adsDailyReport.ctr.toFixed(2) }}%
🎯 CPA
¥{{ formatNum(fenToYuan(adsDailyReport.cpa)) }}
💵 账户余额
¥{{ formatNum(fenToYuan(adsDailyReport.balance)) }}
⚡ 消耗速率
{{ adsDailyReport.burnPerHour > 0 ? ('约 ¥' + formatNum(adsDailyReport.burnPerHour) + '/时') : '—' }}
⏳ {{ adsDailyReport.burnRunway }}
{{ adsSelectedAccount ? (adsSelectedAccount.account_name || adsSelectedAccount.account_id) : '账户' }}
⚠ 余额偏低
当日实时消耗 ¥{{ formatNum(fenToYuan(adsRealtimeCost)) }}
账户余额 ¥{{ formatNum(fenToYuan(adsEffectiveBalance)) }}
日限额 ¥{{ formatNum(fenToYuan(adsDailyBudget)) }}
⚡ 消耗速率 {{ adsBurnRate.perHourYuan > 0 ? ('约 ¥' + formatNum(adsBurnRate.perHourYuan) + '/小时') : '—' }} 预计耗尽 {{ adsBurnRate.runwayText }}
🎯 今日预算消耗进度 ⚠ 已超支
今日已用 ¥{{ formatNum(fenToYuan(adsRealtimeCost)) }} / 日限额 ¥{{ formatNum(fenToYuan(adsDailyBudget)) }} ({{ adsBudgetProgress.pct.toFixed(1) }}%)
超支 ¥{{ formatNum(fenToYuan(-adsBudgetProgress.remainFen)) }},建议提高日限额或暂停低效计划 剩余预算 ¥{{ formatNum(fenToYuan(adsBudgetProgress.remainFen)) }},临近上限请关注
{{ isAdsCardCollapsed('alerts') ? '▸' : '▾' }} 🔔 异常提醒
一切正常,当前账户无异常
{{ a.icon }} {{ a.text }}
{{ isAdsCardCollapsed('health') ? '▸' : '▾' }} 🏥 投放健康评分
🏥
投放健康评分
数据不足,今日暂无消耗数据,无法评估健康度
{{ adsHealthScore.score }}
{{ adsHealthScore.levelText }}
7天 {{ adsHealthTrendDelta.delta>0?('+'+adsHealthTrendDelta.delta):(adsHealthTrendDelta.delta<0?adsHealthTrendDelta.delta:'持平') }}
/ 100
💡 {{ adsHealthScore.summary }}
查看得分明细({{ adsHealthScore.score }}/100)
{{ b.label }}
{{ b.score }}/{{ b.max }} {{ b.desc }}
📈 健康评分趋势(近30天,{{ adsHealthHistory.length }} 条)
🔮 预测明天: ~{{ adsHealthForecast.tomorrowScore }}{{ adsHealthForecast.trend==='up' ? '↑' : (adsHealthForecast.trend==='down' ? '↓' : '→') }} (线性外推,仅供参考)
🗂 近{{ adsHealthGallery.length }}天快照(横向滚动查看)
{{ g.dateShort }}
{{ g.score }}
¥{{ formatNum(g.costYuan) }}
{{ formatNum(g.clicks) }}点击
{{ formatNum(g.conv) }}转化
暂无足够历史数据(需多日访问积累,当前 {{ adsHealthHistory.length }} 条)
{{ isAdsCardCollapsed('diagnosis') ? '▸' : '▾' }} 📋 综合诊断报告 共 {{ adsDiagnosisReport.items.length }} 条建议
投放状态良好
{{ it.level==='bad' ? '✗' : (it.level==='warn' ? '⚠' : '✓') }} {{ it.text }}
暂无数据,请先同步账户数据
💡 优化建议 基于全数据派生 · 按优先级排序 共 {{ adsOptimizationTips.length }} 条
暂无优化建议
{{ t.icon }} {{ t.tip }}
~
{{ isAdsCardCollapsed('kpi') ? '▸' : '▾' }} 核心指标 (KPI)
区间花费
¥{{ formatNum(fenToYuan(adsOverview.period && adsOverview.period.cost)) }}
今日 ¥{{ formatNum(fenToYuan(adsOverview.today && adsOverview.today.cost)) }}
区间展示
{{ formatNum((adsOverview.period && adsOverview.period.impressions) || 0) }}
今日 {{ formatNum((adsOverview.today && adsOverview.today.impressions) || 0) }}
区间点击
{{ formatNum((adsOverview.period && adsOverview.period.clicks) || 0) }}
今日 {{ formatNum((adsOverview.today && adsOverview.today.clicks) || 0) }}
区间转化
{{ formatNum((adsOverview.period && adsOverview.period.conversions) || 0) }}
CPA ¥{{ formatNum(fenToYuan(adsOverview.period && adsOverview.period.conversions ? (adsOverview.period.cost / adsOverview.period.conversions) : 0)) }}
{{ isAdsCardCollapsed('today_vs') ? '▸' : '▾' }} 📅 今日 vs 昨日 (环比)
今日花费
¥{{ formatNum(fenToYuan(adsTodayVsYesterday.cost.today)) }}
vs 昨日 ¥{{ formatNum(fenToYuan(adsTodayVsYesterday.cost.yesterday)) }} · {{ adsFormatDelta(adsTodayVsYesterday.cost.deltaPct, true).text }}
今日展示
{{ formatNum(adsTodayVsYesterday.impressions.today) }}
vs 昨日 {{ formatNum(adsTodayVsYesterday.impressions.yesterday) }} · {{ adsFormatDelta(adsTodayVsYesterday.impressions.deltaPct, false).text }}
今日点击
{{ formatNum(adsTodayVsYesterday.clicks.today) }}
vs 昨日 {{ formatNum(adsTodayVsYesterday.clicks.yesterday) }} · {{ adsFormatDelta(adsTodayVsYesterday.clicks.deltaPct, false).text }}
今日转化
{{ formatNum(adsTodayVsYesterday.conversions.today) }}
vs 昨日 {{ formatNum(adsTodayVsYesterday.conversions.yesterday) }} · {{ adsFormatDelta(adsTodayVsYesterday.conversions.deltaPct, false).text }}
今日暂无数据
{{ isAdsCardCollapsed('period_delta') ? '▸' : '▾' }} 📊 区间环比 (本期 vs 上一等长区间)
本期花费
¥{{ formatNum(fenToYuan(adsPeriodDelta.cost.cur)) }}
vs 上期 ¥{{ formatNum(fenToYuan(adsPeriodDelta.cost.prev)) }} · {{ adsFormatDelta(adsPeriodDelta.cost.deltaPct, true).text }}
本期展示
{{ formatNum(adsPeriodDelta.impressions.cur) }}
vs 上期 {{ formatNum(adsPeriodDelta.impressions.prev) }} · {{ adsFormatDelta(adsPeriodDelta.impressions.deltaPct, false).text }}
本期点击
{{ formatNum(adsPeriodDelta.clicks.cur) }}
vs 上期 {{ formatNum(adsPeriodDelta.clicks.prev) }} · {{ adsFormatDelta(adsPeriodDelta.clicks.deltaPct, false).text }}
本期转化
{{ formatNum(adsPeriodDelta.conversions.cur) }}
vs 上期 {{ formatNum(adsPeriodDelta.conversions.prev) }} · {{ adsFormatDelta(adsPeriodDelta.conversions.deltaPct, false).text }}
{{ isAdsCardCollapsed('period_compare') ? '▸' : '▾' }} 📈 区间对比 (本期 vs 上期 · 5指标)
指标 本期 上期 环比
花费 ¥{{ formatNum(fenToYuan(adsPeriodCompare.cost.cur)) }} ¥{{ formatNum(fenToYuan(adsPeriodCompare.cost.prev)) }} {{ adsDeltaText(adsPeriodCompare.cost.deltaPct) }}
点击 {{ formatNum(adsPeriodCompare.clicks.cur) }} {{ formatNum(adsPeriodCompare.clicks.prev) }} {{ adsDeltaText(adsPeriodCompare.clicks.deltaPct) }}
转化 {{ formatNum(adsPeriodCompare.conversions.cur) }} {{ formatNum(adsPeriodCompare.conversions.prev) }} {{ adsDeltaText(adsPeriodCompare.conversions.deltaPct) }}
CTR {{ adsPeriodCompare.ctr.cur.toFixed(2) }}% {{ adsPeriodCompare.ctr.prev.toFixed(2) }}% {{ adsDeltaText(adsPeriodCompare.ctr.deltaPct) }}
CPA ¥{{ formatNum(fenToYuan(adsPeriodCompare.cpa.cur)) }} ¥{{ formatNum(fenToYuan(adsPeriodCompare.cpa.prev)) }} {{ adsDeltaText(adsPeriodCompare.cpa.deltaPct) }}
CPA 单次转化成本
¥{{ (adsOverview.period && adsOverview.period.conversions > 0) ? formatNum(fenToYuan(adsOverview.period.cost / adsOverview.period.conversions)) : '0' }}
区间花费 ÷ 转化数
CTR 点击率
{{ (adsOverview.period && adsOverview.period.impressions > 0) ? ((adsOverview.period.clicks / adsOverview.period.impressions * 100).toFixed(2) + '%') : '0%' }}
点击 ÷ 展示
ROAS 投入产出比
{{ (adsOverview.period && adsOverview.period.cost > 0) ? ((adsOverview.period.purchase_amount / adsOverview.period.cost * 100).toFixed(1) + '%') : '—' }}
成交金额 ÷ 花费
📰 本周周报 {{ adsWeeklyDigest.start }} ~ {{ adsWeeklyDigest.end }}
总花费
¥{{ formatNum(fenToYuan(adsWeeklyDigest.costFen)) }}
总点击
{{ formatNum(adsWeeklyDigest.clicks) }}
总转化
{{ formatNum(adsWeeklyDigest.conv) }}
平均CTR
{{ adsWeeklyDigest.ctr.toFixed(2) }}%
平均CPA
¥{{ formatNum(fenToYuan(adsWeeklyDigest.cpaFen)) }}
ROAS
{{ adsWeeklyDigest.roas === null ? '—' : adsWeeklyDigest.roas.toFixed(1) + '%' }}
📅 月报 {{ adsMonthlyDigest.start }} ~ {{ adsMonthlyDigest.end }}({{ adsMonthlyDigest.days }}天)
总花费
¥{{ formatNum(fenToYuan(adsMonthlyDigest.costFen)) }}
日均花费
¥{{ formatNum(fenToYuan(adsMonthlyDigest.dailyAvgFen)) }}
总点击
{{ formatNum(adsMonthlyDigest.clicks) }}
总转化
{{ formatNum(adsMonthlyDigest.conv) }}
平均CTR
{{ adsMonthlyDigest.ctr.toFixed(2) }}%
平均CPA
¥{{ formatNum(fenToYuan(adsMonthlyDigest.cpaFen)) }}
ROAS
{{ adsMonthlyDigest.roas === null ? '—' : adsMonthlyDigest.roas.toFixed(1) + '%' }}
{{ isAdsCardCollapsed('trend') ? '▸' : '▾' }}
区间趋势({{ adsOverview.period_start }} ~ {{ adsOverview.period_end }})
按周几表现 平均花费(周一 ~ 周日)
数据不足(需至少 7 天趋势数据)
多维表现 5 维归一化评分(0-100,越高越好)
转化漏斗 曝光 → 点击 → 转化
{{ s.stage }}
{{ formatNum(s.value) }}
{{ s.rate }}
流失分析 各阶段流失量与流失率
{{ s.name }}
{{ formatNum(s.lost) }} 流失
流失率 {{ s.lostPct.toFixed(1) }}%
💡 {{ adsFunnelLoss.tip }}
投放对象类型分布 按计划 promoted_object_type 聚合 · 共 {{ adsCampaigns.length }} 个
暂无计划数据
{{ adsCampaignTypeLabel(item.type) }} {{ item.count }} ({{ (adsCampaigns.length > 0 ? (item.count / adsCampaigns.length * 100) : 0).toFixed(1) }}%)
{{ isAdsCardCollapsed('top5') ? '▸' : '▾' }} 消耗 Top 5 计划({{ adsRangeDates().start_date }} ~ {{ adsRangeDates().end_date }})
暂无数据
{{ idx+1 }} {{ item.entity_name || '-' }}
¥{{ formatNum(fenToYuan(item.cost)) }}
{{ isAdsCardCollapsed('hourly') ? '▸' : '▾' }}
分时段表现({{ adsRangeDates().start_date }} ~ {{ adsRangeDates().end_date }})
暂无分时段数据
💡 {{ adsHourlyInsight.suggestion }}
{{ h.hour }}:00({{ h.conversions }}转/{{ h.clicks }}击)
💡 数据不足,建议积累更多天后分析
快捷键:/ 搜索 · R 刷新 · Esc 关闭弹窗

广告计划 投放中 {{ adsCampaignsActive }} · 暂停 {{ adsCampaignsPaused }}

⚠ 已加载 {{ adsCampaigns.length }} 条,结果较多,仅渲染前 {{ adsMaxRenderRows }} 条,建议缩小搜索范围或翻页以提升性能
🗂 视图预设 (保存当前筛选+排序+密度,一键切换)
暂无保存的视图预设
{{ p.name }} · {{ {comfortable:'舒适',compact:'紧凑',ultra:'超紧凑'}[p.density] || '舒适' }} · {{ p.sortKey || '默认排序' }}{{ p.sortKey ? (p.sortDesc ? '↓' : '↑') : '' }} · 筛「{{ p.statusFilter || '全部' }}」 {{ p.savedAt }}
已选 {{ adsCampaignSel.length }} 个计划
⚠ 广告计划加载失败,
计划ID计划名称类型日限额 {{ adsSortDesc ? '▼' : '▲' }}状态更新时间 {{ adsSortDesc ? '▼' : '▲' }}操作
尚未同步该账户数据,前往数据同步 → 该账户暂无广告计划数据
未匹配到「{{ adsCampaignsKeyword }}」相关数据,清除搜索
{{ adsCampaignsPage }} / {{ Math.ceil(adsCampaignsTotal / adsCampaignsPageSize) }} 共 {{ adsCampaignsTotal }} 条

广告组 投放中 {{ adsAdgroupsActive }} · 暂停 {{ adsAdgroupsPaused }}

⚠ 已加载 {{ adsAdgroups.length }} 条,结果较多,仅渲染前 {{ adsMaxRenderRows }} 条,建议缩小搜索范围或翻页以提升性能
已选 {{ adsAdgroupSel.length }} 个广告组
⚠ 广告组加载失败,
广告组ID名称计划ID出价 {{ adsSortDesc ? '▼' : '▲' }}目标CPA {{ adsSortDesc ? '▼' : '▲' }}日限额 {{ adsSortDesc ? '▼' : '▲' }}状态更新时间 {{ adsSortDesc ? '▼' : '▲' }}操作
尚未同步该账户数据,前往数据同步 → 该账户暂无广告组数据
未匹配到「{{ adsAdgroupsKeyword }}」相关数据,清除搜索
{{ adsAdgroupsPage }} / {{ Math.ceil(adsAdgroupsTotal / adsAdgroupsPageSize) }} 共 {{ adsAdgroupsTotal }} 条

广告(仅支持状态修改) 投放中 {{ adsAdsActive }} · 暂停 {{ adsAdsPaused }}

⚠ 已加载 {{ adsAds.length }} 条,结果较多,仅渲染前 {{ adsMaxRenderRows }} 条,建议缩小搜索范围或翻页以提升性能
已选 {{ adsAdSel.length }} 个广告
⚠ 广告列表加载失败,
广告ID名称计划ID广告组ID创意ID状态更新时间 {{ adsSortDesc ? '▼' : '▲' }}操作
尚未同步该账户数据,前往数据同步 → 该账户暂无广告数据
未匹配到「{{ adsAdsKeyword }}」相关数据,清除搜索
{{ adsAdsPage }} / {{ Math.ceil(adsAdsTotal / adsAdsPageSize) }} 共 {{ adsAdsTotal }} 条

关键词

🚫 「屏蔽词」(否定词)在广告计划广告组详情行的「否定词」按钮里集中管理(查看/搜索/复制/添加);关键词行可点 +否定 把该词快速加入所属广告组否定词。
已选 {{ adsBidwordSel.length }} 个关键词
🔍 关键词拓词
请先在广告组 tab 同步数据
拓词中...
推荐词(共 {{ adsKwRecommendList.length }} 个,点击 +加入 复制到剪贴板)
{{ w.word || w.keyword || w.name || (typeof w === 'string' ? w : JSON.stringify(w)) }}
关键词ID标签出价匹配方式广告组ID展示点击花费CTR质量 {{ adsSortDesc ? '▼' : '▲' }}操作
{{ b.bidword_id }} {{ b.word || '-' }} {{ getAdsBidwordTag(b.bidword_id) }} + 标签 {{ b.bid_amount ? ('¥' + formatNum(fenToYuan(b.bid_amount))) : '-' }} {{ b.match_type || '-' }} {{ b.adgroup_id || '-' }} {{ formatNum(b.impressions || 0) }} {{ formatNum(b.clicks || 0) }} ¥{{ formatNum(fenToYuan(b.cost)) }} {{ b.ctr || 0 }}% -
尚未同步该账户数据,前往数据同步 → 该账户暂无关键词数据
未匹配到「{{ adsBidwordsKeyword }}」相关数据,清除搜索
{{ adsBidwordsPage }} / {{ Math.ceil(adsBidwordsTotal / adsBidwordsPageSize) }} 共 {{ adsBidwordsTotal }} 条

创意

已选 {{ adsCreativeSel.length }} 个创意
预览创意ID标题描述落地页标题数图片数计划ID创意形式状态审核修改时间操作
无预览 {{ cr.creative_id }} {{ (cr.titles||[])[0] || '-' }} {{ (cr.descriptions||[])[0] || '-' }} 查看 - {{ cr.title_count }} {{ cr.image_count }} {{ cr.campaign_id }} {{ cr.template_name || cr.template_id || '-' }} 已删除 {{ adsCreativeAudit(cr).text }} {{ formatRelTime(cr.last_modified_time) }}
尚未同步该账户数据,前往数据同步 → 该账户暂无创意数据
未匹配到「{{ adsCreativesKeyword }}」相关数据,清除搜索
无预览
{{ (cr.titles||[])[0] || ('创意 #'+cr.creative_id) }}
已删除 {{ adsStatusText(cr.configured_status) }} {{ adsCreativeAudit(cr).text }} {{ cr.template_name || cr.template_id || '-' }}
尚未同步该账户数据,前往数据同步 → 该账户暂无创意数据
未匹配到「{{ adsCreativesKeyword }}」相关数据,清除搜索
{{ adsCreativesPage }} / {{ Math.ceil(adsCreativesTotal / adsCreativesPageSize) }} 共 {{ adsCreativesTotal }} 条
请先选择广告账户,未绑定?前往设置 →
自定义对比: ~ 自定义对比 {{ adsReportCustomCompareStart }} ~ {{ adsReportCustomCompareEnd }} 上期数据为空或加载中 已加载上期 {{ adsReportDailyPrev.length }} 天数据(图中虚线)
总花费
¥{{ formatNum(fenToYuan(adsReportDailySummary.cost)) }}
总展示
{{ formatNum(adsReportDailySummary.impressions) }}
总点击
{{ formatNum(adsReportDailySummary.clicks) }}
总转化
{{ formatNum(adsReportDailySummary.conversions) }}
整体CTR
{{ adsReportDailySummary.ctr.toFixed(2) }}%
整体CPA
¥{{ formatNum(fenToYuan(adsReportDailySummary.cpa)) }}
{{ m.label }}
{{ m.value }}{{ m.unit }}
{{ m.rate.text }}
{{ m.goodHint }}
💰 花费最高日
{{ adsReportBestWorstDays.bestCost.date }}
¥{{ formatNum(fenToYuan(adsReportBestWorstDays.bestCost.cost)) }}
📉 花费最低日
{{ adsReportBestWorstDays.worstCost.date }}
¥{{ formatNum(fenToYuan(adsReportBestWorstDays.worstCost.cost)) }}
🎯 转化最高日
{{ adsReportBestWorstDays.bestConv.date }}
{{ formatNum(adsReportBestWorstDays.bestConv.conversions) }}
⚠ 花费异常日检测均值±2σ 统计 · 共 {{ adsReportAnomalies.length }} 个异常日
{{ a.direction === 'high' ? '↑' : '↓' }} {{ a.date }} ¥{{ formatNum(fenToYuan(a.cost)) }} {{ a.reason }}
🩺 数据完整性
{{ adsReportIntegrity.integrityPct }}% {{ adsReportIntegrity.totalDays }} 天数据 ✓ 数据完整
⚠ 缺失日期({{ adsReportIntegrity.missingDates.length }} 天): {{ adsReportIntegrity.missingDates.join('、') }}
⚠ 异常零值日(cost=0 但有 clicks,{{ adsReportIntegrity.anomalyDays.length }} 天): {{ adsReportIntegrity.anomalyDays.join('、') }}
环比(本期 vs 上期): 花费 {{ adsDeltaText(adsReportDelta.cost) }} 点击 {{ adsDeltaText(adsReportDelta.clicks) }} 转化 {{ adsDeltaText(adsReportDelta.conversions) }} CPA {{ adsDeltaText(adsReportDelta.cpa) }}
每日趋势
📊 多指标对比表 环比=与次日(更早一天)对比 · ↑/↓ 同比方向
日期 花费 点击 CTR CVR CPA
{{ r.date }} ¥{{ formatNum(fenToYuan(r.cost)) }} {{ r.costArr }} {{ formatNum(r.clicks) }} {{ r.clicksArr }} {{ r.ctr.toFixed(2) }}% {{ r.ctrArr }} {{ r.cvr.toFixed(2) }}% {{ r.cvrArr }} ¥{{ formatNum(fenToYuan(r.cpa)) }} {{ r.cpaArr }}
日报表明细
日期 {{ adsSortDesc ? '▼' : '▲' }} 实体 展示 {{ adsSortDesc ? '▼' : '▲' }} 点击 {{ adsSortDesc ? '▼' : '▲' }} 花费 {{ adsSortDesc ? '▼' : '▲' }} CTR 转化 {{ adsSortDesc ? '▼' : '▲' }} CVR CPA {{ adsSortDesc ? '▼' : '▲' }} CPC CPM ROAS 成交数 成交金额
{{ r.date }} {{ r.entity_name || r.entity_id }} {{ formatNum(r.impressions || 0) }} {{ formatNum(r.clicks || 0) }} ¥{{ formatNum(fenToYuan(r.cost)) }} {{ fmtAdsReportCell(r, 'ctr') }} {{ formatNum(r.conversions || 0) }} {{ fmtAdsReportCell(r, 'cvr') }} ¥{{ formatNum(fenToYuan(r.cpa)) }} {{ fmtAdsReportCell(r, 'cpc') }} {{ fmtAdsReportCell(r, 'cpm') }} {{ fmtAdsReportCell(r, 'roas') }} {{ formatNum(r.purchase_count || 0) }} ¥{{ formatNum(fenToYuan(r.purchase_amount || 0)) }}
暂无数据
总花费
¥{{ formatNum(fenToYuan(adsReportHourlySummary.cost)) }}
总展示
{{ formatNum(adsReportHourlySummary.impressions) }}
总点击
{{ formatNum(adsReportHourlySummary.clicks) }}
总转化
{{ formatNum(adsReportHourlySummary.conversions) }}
整体CTR
{{ adsReportHourlySummary.ctr.toFixed(2) }}%
整体CPA
¥{{ formatNum(fenToYuan(adsReportHourlySummary.cpa)) }}
小时报表({{ adsReportDate }})
暂无小时数据,请选择日期或稍后同步
🏆 Top5 时段 (按 {{ {cost:'花费',clicks:'点击',conversions:'转化'}[adsReportHourlyMetric] }} 排序,含占比与完整明细)
排名时段{{ {cost:'花费',clicks:'点击',conversions:'转化'}[adsReportHourlyMetric] }}占比花费点击转化CTR
#{{ i+1 }} {{ r.hour }}:00 {{ adsReportHourlyMetric==='cost' ? ('¥'+formatNum(fenToYuan(r.value))) : formatNum(r.value) }} {{ r.share.toFixed(1) }}% ¥{{ formatNum(fenToYuan(r.cost)) }} {{ formatNum(r.clicks) }} {{ formatNum(r.conversions) }} {{ r.ctr.toFixed(2) }}%
小时展示点击花费转化CTR
{{ r.hour }}:00 {{ formatNum(r.impressions || 0) }} {{ formatNum(r.clicks || 0) }} ¥{{ formatNum(fenToYuan(r.cost)) }} {{ formatNum(r.conversions || 0) }} {{ r.ctr || 0 }}%
暂无数据

数据同步

同步说明
· 广告数据:计划/广告组/广告/创意结构。建议每日1次或新建计划后手动触发。
· 日报表:每日花费/点击/展示/转化。建议每日1次(次日凌晨后同步前日数据)。
· 小时报表:分时段消耗/点击。建议每日1次,供分时段分析与AI调价使用。
已连接账户数:{{ adsSyncStatus.connected_accounts || 0 }}
广告数据 上次:{{ adsLastSyncRelTime }}
日报表 上次:{{ adsLastSyncRelTime }}
小时报表 上次:{{ adsLastSyncRelTime }}
⏳ 同步进行中({{ adsSyncingKind || '全部' }}),可能耗时数十秒至数分钟,请勿离开本页…
账户ID账户名上次同步Token状态
{{ a.account_id }} {{ a.account_name || '-' }} 上次同步:{{ a.last_synced_at ? formatRelTime(a.last_synced_at) : '未同步' }} {{ a.has_token ? '已授权' : '未授权' }}
暂无账户

AI 调价策略 共 {{ adsStrategyStats.total }} 个 · 启用 {{ adsStrategyStats.enabled }} · 暂停 {{ adsStrategyStats.paused }}

策略类型分布(CPC / oCPC / oCPM 占比)
📊 策略对比(按最后执行时间倒序,点击行编辑) 共 {{ adsStrategyCompare.length }} 个
策略名 类型 状态 目标CPA 最后执行
{{ c.name }} {{ c.type }} {{ c.isActive ? '启用' : '暂停' }} {{ c.targetCpa }} {{ c.lastExecRel }}
加载中...
已选 {{ adsStrategySel.length }} 个策略
名称类型目标CPA出价区间AI启用范围时间操作
{{ s.name }} {{ billingEventText(s.strategy_type) }} ¥{{ formatNum(fenToYuan(s.target_cpa)) }} ¥{{ formatNum(fenToYuan(s.bid_min)) }} ~ ¥{{ formatNum(fenToYuan(s.bid_max)) }} {{ s.ai_enabled ? '开' : '关' }} {{ s.is_active ? '启用' : '暂停' }} {{ scopeText(s) }}
建 {{ formatRelTime(s.created_at) }}
改 {{ formatRelTime(s.updated_at) }}
执 {{ formatRelTime(s.last_executed_at) }}
暂无策略,点击「新建策略」创建
|

账户分析 · {{ adsAnalysisRange }}

¥{{ formatNum(adsAnalysisResult.recent_7d.cost_yuan) }}
{{ formatNum(adsAnalysisResult.recent_7d.conversions || 0) }}
¥{{ formatNum(adsAnalysisResult.recent_7d.cpa_yuan) }}
{{ ((adsAnalysisResult.recent_7d.roas || 0)/100).toFixed(2) }}x
花费环比 {{ (adsAnalysisResult.changes.cost||0).toFixed(1) }}% 转化环比 {{ (adsAnalysisResult.changes.conversions||0).toFixed(1) }}% CPA环比 {{ (adsAnalysisResult.changes.cpa||0).toFixed(1) }}%
优化建议
  • {{ sg }}

深度分析(大模型){{ adsDeepAnalysis.model }}

综合评价 {{ adsDeepAnalysis.analysis.score }} 分
{{ line.replace(/^#+\s*/, '') }}
(无综合评价内容)
问题诊断
  • {{ t }}
优化建议
  • {{ t }}
风险提示
  • {{ t }}
行动计划
  • {{ t }}

AI 逐组分析 · {{ adsAiGroupAnalysis.strategy_name }}{{ adsAiGroupAnalysis.model }}

广告组花费CPAROASAI建议置信度
{{ a.adgroup_name }} ¥{{ formatNum(fenToYuan(a.metrics.cost)) }} ¥{{ formatNum(fenToYuan(a.metrics.cpa)) }} {{ ((a.metrics.roas||0)/100).toFixed(2) }}x {{ a.ai.ai_action || '-' }} {{ a.ai.ai_suggested_pct ? ('('+a.ai.ai_suggested_pct+'%)') : '' }}
{{ a.ai.ai_reason }}
{{ a.ai.ai_confidence || 0 }}%
暂无可分析广告组

⇆ 对比上次 vs {{ adsAnalysisDiff.prevTime }}

两次分析内容一致,无差异
▲ 本次新增 ({{ adsAnalysisDiff.added.length }})
  • {{ t }}
▼ 本次移除 ({{ adsAnalysisDiff.removed.length }})
  • {{ t }}

🕘 历史快照(最近 5 条)

暂无历史快照(执行分析后自动留存,仅存于本浏览器)
{{ snap.time }} {{ snap.type==='deep' ? '深度' : (snap.type==='aigroup' ? 'AI逐组' : '账户') }} {{ (snap.overall || '').slice(0, 200) }} {{ adsAnalysisExpandedIdx === i ? '收起 ▲' : '展开 ▼' }}
{{ snap.overall }}
分析中…(大模型可能需要数十秒,请耐心等待) 选择日期范围后点击上方按钮开始分析

AI 操作日志

~
操作类型分布(按 action_type 聚合)
操作时间趋势(每日操作数 · 共 {{ adsActionTimeTrend.length }} 天)
加载中...
类型层级对象原值新值原因状态时间操作
{{ actionTypeText(a.action_type) }} {{ levelText(a.level) }}
{{ a.strategy_name }}
¥{{ formatNum(fenToYuan(a.old_value)) }} ¥{{ formatNum(fenToYuan(a.new_value)) }} {{ a.status }} {{ formatRelTime(a.created_at) }}
暂无操作记录
未匹配到相关数据,清除所有筛选
{{ adsActionsPage }} / {{ Math.ceil(adsActionsTotal / adsActionsPageSize) }} 共 {{ adsActionsTotal }} 条

{{ adsAttrTitle() }}

归因链:广告账户 → ads_click_logs.click_id → 转化/订单(账户级,按日期范围聚合)

~
维度:
请先在「计划」tab 同步数据 请先在「广告组」tab 同步数据
加载中...
请选择账户并点击「查询」
⚠ 暂无归因数据。可能:①该账户在此期间无广告花费(未投放或数据未同步,前往同步);②转化上报未启用或 action_set_id 未配(前往设置)。
💡 有广告花费但无转化:检查广告创意/落地页及转化上报配置(action_set_id)。
💡 有转化但无付费订单:用户完成注册/浏览但未付款,可优化付费引导。

ℹ 关于腾讯广告管理

📦 {{ adsSystemVersion }}
🧩 功能模块
概览仪表盘 · 计划/广告组/广告/关键词/创意 · 报表分析 · 数据同步 · AI 调价 · 归因 ROI · 转化上报 · 配置中心
⌨ 快捷入口
概览快捷操作栏 · 子tab 直达各模块 · 设置页配置体检 · 偏好中心个性化
📊 数据来源
腾讯营销 API · 异步同步 · 本地缓存 · AI 模型预测(可选)
本系统历经 200 轮迭代优化,集成投放管理、数据分析与 AI 智能调价能力。

⚙ 偏好设置中心

集中管理个性化偏好,修改即时生效并记忆。各偏好与对应功能页同步。

📐 表格密度
🎨 强调色 ({{ (adsAccentOptions.find(o=>o.key===adsAccentColor)||{}).label || '经典蓝' }})
🔔 通知偏好
🔄 自动刷新
⚠ 确认提示记忆

配置体检

✓ 配置完整,可正常使用 有 {{ adsConfigHealth.filter(i=>!i.ok).length }} 项待完善
{{ it.ok ? '✓' : '✗' }} {{ it.label }} 去配置

提示:{{ adsConfigHealth.filter(i=>!i.ok)[0].hint }}

确认提示记忆

对勾选过「不再提醒」的破坏性操作,下次将直接执行不再弹窗。可在此清空记忆,让所有操作重新弹出确认。

🎨 强调色主题

切换腾讯广告页主交互元素(子tab高亮 / 主按钮 / 周期切换)的强调色,选择后即时生效并记忆。

当前:{{ (adsAccentOptions.find(o => o.key === adsAccentColor) || {}).label || '经典蓝' }}

🔔 通知偏好

控制操作反馈(如保存成功、加载失败)的提醒方式。声音默认关闭以免打扰;桌面通知需浏览器授权后生效,仅对错误/警告类消息弹窗。

OAuth 授权

应用凭证(Client ID / Secret / 回调地址)需先在腾讯营销 API 开放平台申请并配置;点击「前往腾讯授权」完成登录授权后,系统自动获取并定期刷新 Access Token。

已绑定账户

账户ID账户名Token 状态余额日限额转化上报配置(action_set_id)操作
{{ a.account_id }} {{ a.account_name || '-' }}
已授权 Token过期 未授权 到期:{{ formatRelTime(a.token_expires_at) }}
¥{{ formatNum(fenToYuan(a.balance)) }} ¥{{ formatNum(fenToYuan(a.daily_budget)) }}
暂无账户

手动绑定账户

AI 模型配置

配置大模型凭证,用于 AI 调价与分析。保存后立即生效。

大模型标识,须与 Base URL 服务商对应(如 deepseek-chat / gpt-4o-mini / abab6.5s-chat)

兼容 OpenAI 协议,如 https://api.minimaxi.com/v1 、https://api.deepseek.com

测试当前配置是否能正常调用大模型

数据同步设置

三类后台同步任务:启用后调度器按设定间隔自动拉取数据。间隔单位为分钟,建议 ≥30 分钟;过短会消耗 API 配额并可能触发腾讯频控。

广告数据同步 {{ adsSyncConfig.sync_campaign_enabled ? '启用' : '暂停' }}

同步计划、广告组、广告、关键词等结构化数据。

日报表同步 {{ adsSyncConfig.sync_daily_enabled ? '启用' : '暂停' }}

按日聚合消耗/展示/点击/转化等报表指标。

小时报表同步 {{ adsSyncConfig.sync_hourly_enabled ? '启用' : '暂停' }}

按小时聚合数据,用于分时段表现图表与精细化调价。

策略默认值

金额字段以「元」输入,保存时自动转换为分;调整百分比以 % 输入。

计划单价映射

兜底单价与列表单价均以「元」输入,保存时自动 ×100 转分。

当前 ¥{{ formatNum(Number(adsCampaignDefaultPrice || 0)) }} / 单位(合 {{ Math.round(Number(adsCampaignDefaultPrice || 0) * 100) }} 分)
暂无计划单价,点击下方「+ 添加」。
¥{{ formatNum(Number(row.price_yuan || 0)) }} · {{ Math.round(Number(row.price_yuan || 0) * 100) }}分

AI 提示词

{{ (adsPrompts[key]||'').length }} 字
{{ adsPromptMeta[key].desc }}

告警

级别标题内容时间状态操作
{{ al.level || '-' }} {{ al.title }} {{ al.content }} {{ formatRelTime(al.created_at) }} {{ al.is_read ? '已读' : '未读' }}
暂无告警

公司信息管理

提示:只有启用状态的公司信息会在前端显示
公司名称简称ICP备案公安备案状态操作
{{info.company_name}} {{info.company_short_name || '-'}} {{info.icp_license || '-'}} {{info.police_record || '-'}} {{info.is_active ? '已启用' : '已禁用'}}
暂无数据