加载中...

{{ pageTitle }}

自动获取 {{ autoFetchEnabled ? '运行中' : '已关闭' }} 上次 {{ autoFetchStatus?.last_run_time || '未运行' }} 耗时 {{ formatDurationMs(autoFetchStatus?.last_duration_ms || 0) }} 次数 {{ autoFetchStatus?.run_count || 0 }}/成{{ autoFetchStatus?.success_count || 0 }}/败{{ autoFetchStatus?.fail_count || 0 }} 结果 {{ autoFetchStatus?.last_result?.message || '-' }}
{{ currentTime }}

无权限访问

您没有该页面的访问权限

ID 酒店名称 编码 管理员账号 联系人 联系电话 状态 操作
{{ hotel.id }} {{ hotel.name }} {{ hotel.code }}
{{ admin.username }} / {{ admin.realname }} {{ admin.status == 1 ? '启用' : '停用' }}
未设置
{{ hotel.contact_person }} {{ hotel.contact_phone }} {{ (hotel.status == 1) ? '启用' : '禁用' }}
暂无数据
ID 用户名 姓名 角色 所属酒店 状态 操作
{{ u.id }} {{ u.username }} {{ u.realname }} {{ u.role?.display_name || '未知' }} {{ u.hotel?.name || '-' }} {{ u.status === 1 ? '正常' : '禁用' }}
暂无数据

角色管理

ID 角色名称 标识 等级 用户数 状态 操作
{{ r.id }} {{ r.display_name }} {{ r.name }} {{ r.level }} {{ r.users?.length || 0 }} {{ r.status === 1 ? '正常' : '禁用' }}

门店罗盘

经营态势与预警一览

天气预报

{{ compassWeatherLocation || '浏览器/IP位置' }} · 未来7天
{{ item.date }} · 周{{ item.week }}
{{ item.condition }}
{{ item.temp_low }}° ~ {{ item.temp_high }}° {{ item.wind }}
调整板块显示与顺序
{{ compassBlockLabel(key) }}

总管理门店罗盘

广西区级总览与预警

全区天气预报

{{ adminCompassWeatherLocation || '浏览器/IP位置' }} · 未来7天
{{ item.date }} · 周{{ item.week }}
{{ item.condition }}
{{ item.temp_low }}° ~ {{ item.temp_high }}° {{ item.wind }}
调整板块显示与顺序
{{ adminCompassBlockLabel(key) }}
{{ permittedHotels.length === 1 ? permittedHotels[0].name : '无权限酒店' }}
日期 酒店 携程收入 美团收入 京东收入 散客收入 总间夜 操作
{{ report.report_date }} {{ report.hotel?.name }} ¥{{ (report.report_data?.xb_revenue || 0).toLocaleString() }} ¥{{ (report.report_data?.mt_revenue || 0).toLocaleString() }} ¥{{ (report.report_data?.jd_revenue || 0).toLocaleString() }} ¥{{ (report.report_data?.walkin_revenue || 0).toLocaleString() }} {{ getDailyReportTotalRooms(report) }}
暂无数据
共 {{ dailyReportPagination.total }} 条
{{ dailyReportPage }} / {{ dailyReportPagination.total_page }}
{{ permittedHotels.length === 1 ? permittedHotels[0].name : '无权限酒店' }}
月份 酒店 营业预算 出租率 线上营收 线下营收 操作
{{ task.year }}年{{ task.month }}月 {{ task.hotel?.name }} ¥{{ (task.task_data?.revenue_budget || 0).toLocaleString() }} {{ task.task_data?.occupancy_rate_target || 0 }}% ¥{{ (task.task_data?.online_revenue_target || 0).toLocaleString() }} ¥{{ (task.task_data?.offline_revenue_target || 0).toLocaleString() }} -
暂无数据
{{ permittedHotels.length === 1 ? permittedHotels[0].name : '无权限门店' }}
支持上传“JD06 客人消费排名表(固化)”按时间段汇总导出的 xlsx/xls/csv。复购率 = 入住2次及以上客人数 / 总客人数;点击入住次数可展开客人明细。
加载中...
暂无复购率数据,请先选择门店并上传 JD06 源数据。
{{ row.hotel_name }}
营业日期:{{ row.business_start_date || '-' }} 至 {{ row.business_end_date || '-' }}; 文件:{{ row.source_file || '-' }}; 导入:{{ row.created_at || '-' }}
总房间数
{{ row.room_count || 0 }}
总客人数
{{ row.guest_count || 0 }}
复购客人数
{{ row.repeat_guest_count || 0 }}
复购率
{{ row.repurchase_rate || 0 }}%
入住次数合计
{{ row.total_stay_count || 0 }}
间夜数
{{ row.total_room_nights || 0 }}
房费
{{ row.total_room_revenue || 0 }}
消费总计
{{ row.total_consumption || 0 }}
项目 {{ b.label }}
数量
比例 {{ b.ratio || 0 }}%
入住次数明细
加载明细...
序号会员等级客人姓名证件号手机号 入住次数间夜数平均房价房费消费总计
{{ rec.rank_no || '-' }}{{ rec.member_level || '-' }}{{ rec.guest_name || '-' }}{{ rec.id_no || '-' }}{{ rec.phone || '-' }} {{ rec.stay_count || 0 }}{{ rec.room_nights || 0 }}{{ rec.avg_room_price || 0 }}{{ rec.room_revenue || 0 }}{{ rec.total_consumption || 0 }}
暂无明细
ID 类型 分类 字段名 显示名称 字段类型 单位 排序 状态 操作
{{ config.id }} {{ config.report_type === 'daily' ? '日报表' : '月任务' }} {{ config.category || '—' }} {{ config.field_name }} {{ config.display_name }} {{ getFieldTypeLabel(config.field_type) }} {{ config.unit || '-' }} {{ config.sort_order }} {{ config.status === 1 ? '启用' : '禁用' }}
暂无配置项,请添加

数据库已存映射关系一览(共 {{ fieldMappingListFiltered.length }} 条)

导入时按「大类|项目名」精确匹配,以下为当前已保存的映射{{ !user?.is_super_admin ? '(仅本店)' : '' }}

# 匹配键 行号 大类 项目名 → 系统字段 酒店
{{ (fieldMappingListPage - 1) * fieldMappingListPageSize + i + 1 }} {{ (m.category || '') + '|' + (m.excel_item_name || '') }} {{ m.row_num != null && m.row_num !== '' ? m.row_num : (m.row_start && m.row_end ? m.row_start+'-'+m.row_end : '-') }} {{ m.category || '-' }} {{ m.excel_item_name || '-' }} {{ m.system_field }} {{ m.hotel_name || '全局' }}
暂无映射,请在上传Excel后保存映射
每页 {{ fieldMappingListPageSize }} 条,共 {{ fieldMappingListFiltered.length }} 条
{{ fieldMappingListPage }} / {{ fieldMappingListTotalPages }}

导入Excel预览并映射

上传Excel文件,预览数据并配置字段映射
正在解析Excel文件...
{{ mappingPreviewData.parse_hint }}
共 {{ mappingPreviewFilteredData.length }} 项 已映射 {{ mappingPreviewData.matched_count }} 项 手动选择 {{ Object.keys(mappingRowMappings).filter(k => mappingRowMappings[k]).length }} 项
{{ permittedHotels[0].name }}
行号
大大类别
类别
项目名
本日发生
本月累计
映射到
{{ item.row }}
{{ item.super_category || '-' }}
{{ item.category || '-' }}
{{ item.item_name }}
{{ item.value_today }}
{{ item.value_month }}
已自动映射 已手动选择 未映射

点击上方按钮上传Excel文件预览数据

Excel字段映射配置

配置Excel导入时项目名与系统字段的对应关系
酒店 大类 项目名 行号 列号 系统字段 类型 状态 操作
{{ mapping.hotel_name }} 全局 {{ mapping.category }} - {{ mapping.excel_item_name }} {{ mapping.row_start }}-{{ mapping.row_end }} {{ mapping.row_num }} - {{ mapping.value_column || 'E' }} {{ mapping.system_field }} {{ mapping.field_type === 'number' ? '数字' : mapping.field_type === 'percent' ? '百分比' : '文本' }} {{ mapping.is_active ? '启用' : '禁用' }}
暂无映射配置,请添加
每页 {{ excelMappingListPageSize }} 条,共 {{ filteredFieldMappings.length }} 条
{{ excelMappingListPage }} / {{ excelMappingListTotalPages }}
门店ID 平台 城市 酒店名称 酒店编码 状态 操作
{{ item.store_id }} {{ item.platform }} {{ item.city }} {{ item.hotel_name }} {{ item.hotel_code || '-' }} {{ item.status ? '启用' : '禁用' }}
暂无数据
门店ID 酒店ID 平台 城市 价格 截图 设备 抓取时间
{{ item.store_id }} {{ item.hotel_id }} {{ item.platform }} {{ item.city }} ¥{{ item.price }} 预览 - {{ item.device_id || '-' }} {{ item.fetch_time }}
暂无数据
设备ID 名称 状态 最后在线
{{ item.device_id }} {{ item.name || '-' }} {{ item.is_online ? '在线' : '离线' }} {{ item.last_time || '-' }}
暂无数据
门店 名称 Webhook 状态 操作
{{ getCompetitorStoreName(item.store_id) }} {{ item.name }} {{ item.webhook }} {{ item.status ? '启用' : '禁用' }}
暂无数据
酒店 房间号 二维码 操作
{{ room.hotel_name || getHotelName(room.hotel_id) }} {{ room.room_no }}
暂无房间
共 {{ complaintRoomPagination.total }} 条记录
第 {{ complaintRoomPagination.page }} / {{ Math.ceil(complaintRoomPagination.total / complaintRoomPagination.page_size) }} 页

仅填写路径,不含域名

未读:{{ complaintUnreadCount }}
酒店 房间号 反馈内容 状态 时间 操作
{{ item.hotel_name || getHotelName(item.hotel_id) }} {{ item.room_no }} {{ item.content }} {{ item.status === 0 ? '未读' : item.status === 1 ? '已读' : '已解决' }} {{ item.create_time }}
暂无反馈
共 {{ complaintFeedbackPagination.total }} 条记录
第 {{ complaintFeedbackPagination.page }} / {{ Math.ceil(complaintFeedbackPagination.total / complaintFeedbackPagination.page_size) }} 页

点评获取

携程/美团商家后台点评数据,配置与获取请前往 系统配置 → 数据精灵配置

当前账号没有点评获取相关权限,请在角色管理中勾选「数据记录」或「自动运行」。
选择后自动加载已保存的凭证
⚠ Cookie或spidertoken已过期
请重新登录携程ebooking,复制最新的Cookie和spidertoken,粘贴到下方并点击「更新保存」。
使用说明:登录携程 ebooking 点评页面,F12 打开开发者工具,找到 getCommentList 请求,复制 Request Headers 中的 spidertoken、Cookie,以及 Query String 中的 _fxpcqlniredt、x-traceID。
使用说明:登录 美团ebooking点评反馈页面,F12 找到 commentsInfo 请求。
必填:partnerId、poiId、Cookie。
403/418 时:需同时复制「请求地址」和 mtgsig(同一请求内)。
请联系管理员在角色管理中勾选「点评获取-数据记录」。

点评自动获取配置请前往 系统配置 → 数据精灵配置,保存日期与 Cookie 后,可在此或由系统定时执行获取。使用数据精灵配置中门店的 Cookie。

配置完成后,点击下方「立即获取」可手动触发一次(使用数据精灵配置中该门店的 Cookie);定时任务到点会自动执行,或点击「重置今日」清除今日执行记录后修改时间可再次执行。

返回结果
{{ JSON.stringify(otaCommentsResult, null, 2) }}

广告数据获取

携程和美团商家后台广告数据,配置与获取请前往 系统配置 → 数据精灵配置

当前账号没有广告数据相关权限,请在角色管理中勾选「数据记录」或「自动运行」。
使用说明:登录 携程ebooking广告数据页面,F12 找到 getCpcDiagnosticDetailsqueryCampaignReportList 请求,复制 Cookie 即可。
使用说明:登录 ebmidas.dianping.com 广告报表,F12 找到 getBoardReport 请求,复制 Cookie。若 403/418 则需填写 mtgsig,或直接粘贴完整 Request URL。
{{ permittedHotels[0].name }}
门店 数据日期 {{ col }} 操作
{{ r.hotel_name || '-' }} {{ r.data_date || '-' }} {{ r.metrics && r.metrics[col] != null ? formatAdMetricValue(col, r.metrics[col]) : '-' }}
暂无{{ otaAdsDataPlatform === 'meituan' ? '美团' : '携程' }}广告数据
共 {{ otaAdsPagination.total }} 条
第 {{ otaAdsPagination.page }} / {{ Math.ceil(otaAdsPagination.total / otaAdsPagination.page_size) || 1 }} 页

广告数据获取配置请前往 系统配置 → 数据精灵配置,保存日期与 Cookie 后,可在此或由系统定时执行获取。使用数据精灵配置中门店的 Cookie。

配置完成后,点击下方「立即获取」可手动触发一次(使用数据精灵配置中该门店的 Cookie);定时任务到点会自动执行,或点击「重置今日」清除今日执行记录后修改时间可再次执行。

返回结果
{{ JSON.stringify(otaAdsResult, null, 2) }}

点评详情

{{ otaDetailModal.data.user_name || '匿名' }}

{{ formatOtaAddtime(otaDetailModal.data.addtime) }} · {{ otaDetailModal.data.platform === 'meituan' ? '美团' : '携程' }}

{{ otaDetailModal.data.avg_score || '-' }}分
入住日期:{{ otaDetailModal.data.checkin_time_str || '-' }}
预定房型:{{ otaDetailModal.data.room_name }}
点评内容:

{{ otaDetailModal.data.content || '-' }}

门店 {{ otaDetailModal.data.hotel_name || '-' }} · OTA酒店ID {{ otaDetailModal.data.ota_hotel_id || '-' }} · 获取于 {{ otaDetailModal.data.fetch_time }}

广告数据详情

ID 时间 用户 酒店 模块 操作 描述 IP 操作
{{ log.id }} {{ log.create_time }} {{ log.user?.realname || log.user?.username || '-' }} {{ log.hotel?.name || '-' }} {{ log.module }} {{ log.action }} {{ log.description }} {{ log.ip }}
暂无日志记录
共 {{ logPagination.total }} 条记录
第 {{ logPagination.page }} / {{ Math.ceil(logPagination.total / logPagination.page_size) }} 页

极速体验 图像生成 开启智能创作

描述您想要的海报,AI 将为您生成

本地模板
支持智谱 CogView、OpenAI DALL·E 等

在左侧输入描述,点击发送生成海报

正在生成海报...

海报预览

海报尺寸 750×1000 像素 · 点击图片可放大查看

视频生成

{{ hotelVideoConfig.ffmpeg_available ? 'FFmpeg 可用' : 'FFmpeg 未检测到' }}
{{ hotelVideoForm.duration_seconds }} 秒 · 输出 {{ hotelVideoConfig.output?.resolution || '1280x720' }} · {{ hotelVideoConfig.output?.ratio || '16:9' }} · MP4 · {{ hotelVideoConfig.output?.quality || '高质量' }}
素材顺序建议
外观、大堂、客房、餐饮/设施、品牌收尾。素材之间会自动做平滑过渡。
房间全景、床品、卫浴、窗景/细节、房型收尾。素材之间会自动做平滑过渡。
图片:{{ hotelVideoConfig.asset_rules?.image?.formats || 'jpg/jpeg/png/webp' }},建议 {{ hotelVideoConfig.asset_rules?.image?.recommended_size || '1920x1080 或更高' }},最低 {{ hotelVideoConfig.asset_rules?.image?.min_size || '1280x720' }},比例 {{ hotelVideoConfig.asset_rules?.image?.recommended_ratio || '16:9' }},不超过 {{ hotelVideoConfig.image_max_file_mb || 5 }}MB
视频:{{ hotelVideoConfig.asset_rules?.video?.formats || 'mp4/mov/m4v/webm' }},建议 {{ hotelVideoConfig.asset_rules?.video?.recommended_size || '1920x1080' }},比例 {{ hotelVideoConfig.asset_rules?.video?.recommended_ratio || '16:9' }},不超过 {{ hotelVideoConfig.video_max_file_mb || 20 }}MB
数量:一次最多 {{ hotelVideoConfig.max_assets || 12 }} 个素材

素材

建议上传 16:9 横图/横视频;生成视频固定为 {{ hotelVideoConfig.output?.resolution || '1280x720' }},{{ hotelVideoConfig.output?.ratio || '16:9' }}

正在上传素材...
上传图片或短视频素材后生成酒店视频
图片建议 1920x1080,不超过 {{ hotelVideoConfig.image_max_file_mb || 5 }}MB;视频建议 16:9,不超过 {{ hotelVideoConfig.video_max_file_mb || 20 }}MB
{{ asset.original_name }}

生成记录

门店 类型 标题 素材 状态 时间 操作
{{ item.hotel_name || '-' }} {{ getHotelVideoTypeLabel(item.video_type) }} {{ item.title || item.room_name || '-' }} {{ item.asset_count }} {{ getHotelVideoStatusLabel(item.status) }} {{ item.create_time }}
暂无生成记录

系统设置

基本信息

系统名称:{{ systemConfig.system_name }}

Logo: 未设置

菜单名称

酒店管理:{{ systemConfig.menu_hotel_name }}

用户管理:{{ systemConfig.menu_users_name }}

日报表管理:{{ systemConfig.menu_daily_report_name }}

月任务管理:{{ systemConfig.menu_monthly_task_name }}

报表配置:{{ systemConfig.menu_report_config_name }}

版本更新日志

加载中...
暂无更新日志(可先触发一次 webhook 更新)
时间: {{ item.time || '-' }} {{ item.success ? '推送处理成功' : '推送处理失败' }} 状态: {{ item.changed ? '已拉取新代码' : '已检查,无新代码' }}
最新提交: {{ item.latest_commit.subject }} {{ item.latest_commit.hash ? item.latest_commit.hash.slice(0, 8) : '' }}
更新文件:
{{ item.latest_commit.files.join(',') }}

{{ systemConfig.menu_daily_report_api_name || '日报 API 接口' }}

外部系统 HTTPS 推送日报;业务日期仅允许昨天及以前(禁止今天、未来,以服务端日期为准)。

请求头须携带 X-Api-KeyAuthorization: Bearer <密钥>;body 中 hotel_id 必须与密钥所属酒店一致。

「全部生成」会为每家启用中门店各写一条互不相同的 64 位十六进制密钥;不会自动保存,改完请点绿色「保存配置」。推送接口每次请求只传一家门店的 hotel_id 及对应该店的密钥即可。

键为系统酒店 ID,值为仅双方知晓的密钥。留空 {} 表示未启用外部推送。

按门店列出(与上方 JSON 同步,方便复制给对接方)
门店名称 酒店ID API 密钥 操作
{{ row.hotel_name }} {{ row.hotel_id }} {{ row.api_key }}

「复制本行」为按门店整理好的三段文字;「复制全部」为每行一条,仍须保存配置后服务端才生效。

填写有效 JSON 后,将在此处按门店展示列表。

重复推送时覆盖同一条日报;每成功合并一次计一次。0 表示不限制;默认 5(即最多允许 5 次合并覆盖)。

推送 POST {{ externalDailyReportApiUrl }}
字段列表 GET {{ externalDailyReportFieldsUrl }}?hotel_id=酒店ID(需同上密钥)
服务端「今天」:{{ dailyReportApiDoc.server_today }}

文档含地址、鉴权、请求参数说明、参数名与中文含义对照表、状态码及 JSON 示例;内容随当前「报表配置」动态生成。

加载中…
请点击「重新加载」生成文档。

使用与真实调用相同的 X-Api-Key 请求外放地址(不加登录 Token)。业务日期请选择 昨天或更早

HTTP:{{ dailyReportApiTest.last_status }}
{{ dailyReportApiTest.last_response_text }}

记录每次调用 POST /api/external/daily-report 的请求体与接口返回(密钥在请求头中已脱敏)。

加载中…
时间 门店 业务日 结果 HTTP 说明 操作
{{ row.create_time }} {{ row.hotel_name || '—' }} #{{ row.hotel_id }} {{ row.report_date || '—' }} {{ row.success ? '成功' : '失败' }} {{ row.http_code }} / {{ row.api_code }} {{ row.message || '—' }}
暂无推送记录
共 {{ dailyReportPushLogPagination.total }} 条
{{ dailyReportPushLogPage }} / {{ dailyReportPushLogPagination.total_page }}

数据精灵 API 接口

给数据精灵 OTA 数据推送使用,按门店独立 API Key 写入携程/美团数据。

请求头携带 X-Api-KeyAuthorization: Bearer <密钥>,Body 里的 hotel_id 必须与密钥所属门店一致。

推送 POST:{{ externalDataSpiritApiUrl }}
字段说明 GET:{{ externalDataSpiritFieldsUrl }}?hotel_id=门店ID
按门店列出
门店名称 门店ID API 密钥 操作
{{ row.hotel_name }} {{ row.hotel_id }} {{ row.api_key }}
请求 JSON 示例
{
  "hotel_id": 1,
  "source": "ctrip",
  "data_date": "2026-05-25",
  "replace": true,
  "rows": [
    {
      "hotelId": "988280",
      "hotelName": "示例竞对酒店",
      "amount": 1234.56,
      "quantity": 12,
      "bookOrderNum": 8,
      "commentScore": 4.7,
      "qunarCommentScore": 4.9
    }
  ]
}
对接文档预览(包含携程/美团竞对获取逻辑)
{{ dataSpiritApiDocMarkdown }}

数据精灵配置

配置各渠道的开始/结束日期与 Cookie,保存后可用于手动获取和自动运行。

当前账号没有数据精灵配置相关权限,请在角色管理中勾选相应板块权限(携程竞对数据、美团竞对数据、点评、广告等)。
{{ JSON.stringify(dataSpiritCollectTest.result, null, 2) }}

暂无可用门店,请检查权限或联系管理员

填写/更新携程 OTA 酒店 ID 与 spidertoken(Cookie 仍由数据精灵入口统一)

partnerId、poiId 已配置,日常只需填 Cookie;需要时可修改下方配置并保存

{{ (otaConfigForm.meituan_comments.partner_id && otaConfigForm.meituan_comments.poi_id) ? '修改配置:' : '首次配置:' }}limit/offset/platform 等已固定,只需填写以下并保存

403/418 时需填写 mtgsig 和请求地址(同一请求内复制)

已复制到剪贴板
{{ meituanCommentsUrlPreview }}

已固定系统参数(time_unit=hour、默认 tabIds),仅需按门店填写 Cookie,必要时补充 mtgsig 和请求地址。

测试返回

{{ typeof otaConfigTestResult === 'object' ? JSON.stringify(otaConfigTestResult, null, 2) : otaConfigTestResult }}

获取说明

携程点评页面

ebooking.ctrip.com/comment/commentList

操作步骤:

  1. 登录携程商家后台
  2. F12 打开开发者工具 → Network
  3. 刷新页面,找到 getCommentList 请求
  4. Request Headers 复制 spidertokenCookie
  5. Payload 中查看 hotelId(OTA酒店ID)

美团点评页面

me.meituan.com 点评反馈

操作步骤:

  1. 登录美团商家后台
  2. F12 打开开发者工具 → Network
  3. 在点评反馈页操作,找到 commentsInfo 请求
  4. Request Headers 复制 Cookie
  5. Query String 复制 partnerIdpoiId

携程广告数据页面

ebooking.ctrip.com/toolcenter/cpc/dataReport

操作步骤:

  1. 登录携程商家后台
  2. F12 → Network,找到 getCpcDiagnosticDetailsqueryCampaignReportList
  3. Request Headers 复制 Cookie

美团广告数据页面

me.meituan.com 广告推广

与美团点评共用 Cookie 和 partnerId、poiId。

美团流量接口与参数已固定,poiId/partnerId 取自门店美团配置,只需填写 Cookie。

测试返回数据

共 {{ dataSpiritTestResult.itemCount || 0 }} 条 · 维度: {{ (dataSpiritTestResult.dimNames || []).join('、') }}

日期 维度 酒店 数值 金额
{{ r.data_date }} {{ r.dimName }} {{ r.poiName || r.poiId }} {{ r.dataValue }} {{ formatMoney(r.amount ?? r.salesAmount ?? r.totalAmount ?? r.total_amount ?? 0) }}
{{ typeof dataSpiritTestResult === 'object' ? JSON.stringify(dataSpiritTestResult, null, 2) : dataSpiritTestResult }}

线上数据获取

获取数据需在 系统配置 → 数据精灵配置 中填写开始/结束日期与 Cookie。

累计入住间夜
{{ toFixedSafe(meituanDash.summary?.total_nights, 0, '0') }}
累计销售额
¥{{ formatMoney(meituanDash.summary?.total_amount || 0) }}
累计曝光
{{ formatNumber(meituanDash.summary?.total_exposure || 0) }}
累计浏览
{{ formatNumber(meituanDash.summary?.total_views || 0) }}
竞对数量
{{ (meituanDash.ranking || []).length }}
竞对数据列表
按日期倒序 · 同日期同竞对合并
酒店名称 日期 入住榜 销售榜 流量榜 转化榜
入住间夜 房费收入 平均房价 销售间夜 销售额 平均销售房价 曝光 浏览 订单量 浏览转化 支付转化
{{ item.hotel_name }} {{ item.data_date || '-' }} {{ formatMeituanCombinedCell(item['入住间夜']) }} {{ formatMeituanCombinedCell(item['房费收入'], 'money') }} {{ formatMeituanCombinedCell(item['平均房价'], 'money') }} {{ formatMeituanCombinedCell(item['销售间夜']) }} {{ formatMeituanCombinedCell(item['销售额'], 'money') }} {{ formatMeituanCombinedCell(item['平均销售房价'], 'money') }} {{ formatMeituanCombinedCell(item['曝光']) }} {{ formatMeituanCombinedCell(item['浏览']) }} {{ formatMeituanCombinedCell(item['订单量']) }} {{ formatMeituanCombinedCell(item['浏览转化'], 'pct') }} {{ formatMeituanCombinedCell(item['支付转化'], 'pct') }}
暂无美团数据
共 {{ meituanDashPagination.total }} 条
第 {{ meituanDashPage }} / {{ Math.ceil((meituanDashPagination.total || 0) / (meituanDashPagination.page_size || 16)) || 1 }} 页
TOP10(累计入住间夜)
{{ r.hotel_name || r.hotel_id }}
{{ toFixedSafe(r.total_nights, 0, '0') }}
¥{{ formatMoney(r.total_amount || 0) }}
暂无数据
数据累计排名
去重:日期 + 竞对唯一
竞对酒店 入住间夜 销售额
{{ r.hotel_name || r.hotel_id }} {{ toFixedSafe(r.total_nights, 0, '0') }} ¥{{ formatMoney(r.total_amount || 0) }}
暂无数据
累计离店间夜
{{ toFixedSafe(ctripDash.summary?.total_nights, 0, '0') }}
累计销售额
¥{{ formatMoney(ctripDash.summary?.total_amount || 0) }}
累计订单
{{ formatNumber(ctripDash.summary?.total_orders || 0) }}
平均评分
{{ toFixedSafe(ctripDash.summary?.avg_score, 2, '0') }}
竞对数量
{{ (ctripDash.ranking || []).length }}
竞对数据列表
按日期倒序
日期 酒店 营业额 离店间夜 订单数 携程点评分 去那儿点评分
{{ item.data_date }} {{ item.hotel_name || item.hotel_id }} ¥{{ formatMoney(item.amount || 0) }} {{ formatNumber(item.quantity || 0) }} {{ formatNumber(item.book_order_num || 0) }} {{ toFixedSafe(item.comment_score, 1, '-') }} {{ toFixedSafe(item.qunar_comment_score, 1, '-') }}
暂无携程数据
共 {{ ctripDashPagination.total }} 条
第 {{ ctripDashPage }} / {{ Math.ceil((ctripDashPagination.total || 0) / (ctripDashPagination.page_size || 16)) || 1 }} 页
TOP10(累计离店间夜)
{{ r.hotel_name || r.hotel_id }}
{{ toFixedSafe(r.total_nights, 0, '0') }}
¥{{ formatMoney(r.total_amount || 0) }} / {{ formatNumber(r.total_orders || 0) }}单
暂无数据
数据累计排名
去重:日期 + 竞对唯一
竞对酒店 离店间夜 销售额 订单
{{ r.hotel_name || r.hotel_id }} {{ toFixedSafe(r.total_nights, 0, '0') }} ¥{{ formatMoney(r.total_amount || 0) }} {{ formatNumber(r.total_orders || 0) }}
暂无数据
当前账号没有“配置线上API与参数”权限,无法使用该功能。

方法一:控制台一键复制(推荐)

在已登录的携程页面按F12,粘贴以下代码到Console控制台,回车即可自动复制正确的Cookie。

(() => { // 方法1: 从performance API获取请求头中的Cookie const entries = performance.getEntriesByType('resource'); for (let e of entries) { if (e.initiatorType === 'fetch' || e.initiatorType === 'xmlhttprequest') { // 尝试从请求中获取 } } // 方法2: 从页面Cookie获取(去除干扰项) let cookies = document.cookie; // 检查是否只有x-shark-cookie if (cookies && !cookies.includes('JSESSIONID') && !cookies.includes('cookie=')) { console.warn('document.cookie可能被篡改,请使用方法三'); } // 复制到剪贴板 copy(cookies); console.log('已复制Cookie:', cookies.substring(0, 100) + '...'); alert('Cookie已复制! 如果登录失败请使用方法三'); })()
步骤:
  1. 点击上方按钮打开携程,登录账号
  2. F12 打开开发者工具
  3. 点击 Console(控制台) 标签
  4. 粘贴脚本并回车
  5. Cookies已复制到剪贴板,直接粘贴到下方保存
⚠️ 注意:如果复制后登录失败,说明Cookie被页面篡改,请使用方法三从Network请求头复制。

方法二:Application面板查看

在开发者工具的Application面板直接查看和复制Cookies。

  1. 在携程页面按 F12
  2. 点击顶部 Application 标签(如没有,点击 >> 查找)
  3. 左侧展开 Cookies → 点击 https://ebooking.ctrip.com
  4. 在右侧表格中选中所有行(Ctrl+A)
  5. 右键 → 复制,或手动复制 Value 列的值
💡 提示:如果只需要关键cookie,找 JSESSIONIDcookie 这两项的Value值拼接即可。

方法三:Network请求头复制

从任意网络请求的请求头中复制Cookie。

  1. 在携程页面按 F12
  2. 点击 Network(网络) 标签
  3. 刷新页面或点击页面任意按钮
  4. 点击列表中任意一个请求
  5. 右侧找到 Request HeadersCookie:
  6. 复制Cookie后面的整个值

方法四:书签一键获取(最推荐⭐)

拖拽下方按钮到浏览器书签栏,登录携程后点击书签即可自动保存Cookie!

使用步骤:
  1. 拖拽上方按钮到浏览器书签栏(按Ctrl+Shift+B显示书签栏)
  2. 打开携程ebooking并登录账号
  3. 点击书签栏中的"保存Cookie书签"
  4. 输入配置名称,Cookie将自动保存到系统!
✅ 优点:无需手动复制粘贴,一键完成!书签可重复使用,每次登录后点一下即可更新Cookie。
💾 保存 Cookies
当前账号没有“配置线上API与参数”权限,无法使用该功能。
当前账号没有“配置线上API与参数”权限,无法使用该功能。

携程流量获取

请输入携程流量接口地址与Cookies,可选填写额外参数(JSON)。

当前账号没有“配置线上API与参数”权限,无法使用该功能。

美团竞对数据获取

选择日期并粘贴 Cookie 即可获取入住间夜榜单数据。

当前账号没有“配置线上API与参数”权限,无法使用该功能。

美团流量获取

接口与参数已固定,只需选择门店并粘贴 Cookie 即可获取流量数据。poiId/partnerId 取自门店的美团配置。

当前账号没有“配置线上API与参数”权限,无法使用该功能。
当前账号没有"查看线上数据"权限,无法查看数据记录与统计。
酒店总数
{{ meituanKpi.hotelCount }}
总入住间夜
{{ meituanKpi.totalCheckin }}
总销售额
¥{{ formatNumber(meituanKpi.totalAmount) }}
总曝光量
{{ formatNumber(meituanKpi.totalExposure) }}
酒店名称 日期 入住榜 销售榜 流量榜 转化榜
入住间夜 房费收入 平均房价 销售间夜 销售额 平均销售房价 曝光 浏览 订单量 浏览转化 支付转化
{{ item.hotel_name }} {{ item.data_date || '-' }} {{ formatMeituanCombinedCell(item['入住间夜']) }} {{ formatMeituanCombinedCell(item['房费收入'], 'money') }} {{ formatMeituanCombinedCell(item['平均房价'], 'money') }} {{ formatMeituanCombinedCell(item['销售间夜']) }} {{ formatMeituanCombinedCell(item['销售额'], 'money') }} {{ formatMeituanCombinedCell(item['平均销售房价'], 'money') }} {{ formatMeituanCombinedCell(item['曝光']) }} {{ formatMeituanCombinedCell(item['浏览']) }} {{ formatMeituanCombinedCell(item['订单量']) }} {{ formatMeituanCombinedCell(item['浏览转化'], 'pct') }} {{ formatMeituanCombinedCell(item['支付转化'], 'pct') }}
暂无美团数据,请先获取 P_RZ/P_XS/P_ZH/P_LL 四榜数据
共 {{ onlineDataPaginationMeituan.total }} 条
第 {{ onlineDataPageMeituan }} / {{ Math.ceil(onlineDataPaginationMeituan.total / (onlineDataPaginationMeituan.page_size || 20)) || 1 }} 页
各维度原始 item 结构(用于排查订单量/绝对转化字段)
dimension: {{ s.dimension }}
item_keys: {{ s.item_keys?.join(', ') }}
已存 order_count: {{ s.saved_order_count }}, absolute_conversion: {{ s.saved_absolute_conversion }}
{{ JSON.stringify(s.item_sample, null, 2) }}
酒店总数
{{ ctripKpi.hotelCount }}
总金额
¥{{ formatNumber(ctripKpi.totalAmount) }}
总离店间夜
{{ formatNumber(ctripKpi.totalQuantity) }}
总订单数
{{ ctripKpi.totalOrders }}
日期 酒店 营业额 离店间夜 订单数 携程点评分 去哪儿点评分
{{ item.data_date }} {{ item.hotel_name }} ¥{{ formatNumber(item.amount) }} {{ item.quantity || 0 }} {{ item.book_order_num || 0 }} {{ item.comment_score || '-' }} {{ item.qunar_comment_score || '-' }}
暂无携程数据
共 {{ onlineDataPaginationCtrip.total }} 条
第 {{ onlineDataPageCtrip }} / {{ Math.ceil(onlineDataPaginationCtrip.total / (onlineDataPaginationCtrip.page_size || 10)) || 1 }} 页

数据分析

{{ analysisDimension==='day'?'日均':analysisDimension==='week'?'周均':'月均' }}销售额
¥{{ formatNumber(analysisData.summary.avg_amount) }}
总计 ¥{{ formatNumber(analysisData.summary.total_amount) }}
{{ analysisDimension==='day'?'日均':analysisDimension==='week'?'周均':'月均' }}房晚数
{{ toFixedSafe(analysisData.summary.avg_quantity, 0, '0') }}
总计 {{ analysisData.summary.total_quantity }} 晚
{{ analysisDimension==='day'?'日均':analysisDimension==='week'?'周均':'月均' }}{{ onlineDataSourceTab === 'meituan' ? '入住间夜' : '离店间夜' }}
{{ toFixedSafe(analysisData.summary.avg_data_value, onlineDataSourceTab === 'meituan' ? 0 : 1, '-') }}
总计 {{ toFixedSafe(analysisData.summary.total_data_value, 0, '0') }}
{{ analysisDimension==='day'?'日均':analysisDimension==='week'?'周均':'月均' }}订单数
{{ toFixedSafe(safeDivide(analysisData.summary.total_orders, analysisData.summary.period_count, 0), 0, '0') }}
评分 {{ toFixedSafe(analysisData.summary.avg_score, 1, '0') }}
{{ analysisDimension==='day'?'天数':analysisDimension==='week'?'周数':'月数' }}
{{ analysisData.summary.period_count }}
{{ analysisData.summary.hotel_count }} 家酒店
{{ onlineDataSourceTab === 'meituan' ? '酒店入住间夜' : '酒店离店间夜' }} TOP 16
{{ hotel.hotel_name }} ({{ hotel.period }})
{{ hotel.quantity }} {{ onlineDataSourceTab === 'meituan' ? '间夜' : '晚' }} ¥{{ formatNumber(hotel.amount) }} / {{ hotel.book_order_num }} 单
当前账号没有「管理线上定时任务」权限。
到点自动执行: 「重置今日」清除今日已执行标记,修改时间后可今天再次到点执行。24/7 自动运行请配置系统 Cron。
暂无可用门店
{{ currentAutoScheduleHotel.hotel_name }} 配置自动获取

携程

每日获取昨日经营数据

上次 {{ currentAutoScheduleHotel.ctrip.last_run_time || '从未' }} · 下次 {{ currentAutoScheduleHotel.ctrip.next_run_time || '-' }}
{{ currentAutoScheduleHotel.ctrip.last_result.message }}

美团

每日获取入住间夜榜

上次 {{ currentAutoScheduleHotel.meituan.last_run_time || '从未' }} · 下次 {{ currentAutoScheduleHotel.meituan.next_run_time || '-' }}
{{ currentAutoScheduleHotel.meituan.last_result.message }}
当前账号没有“管理Cookies”权限,无法查看与保存Cookies配置。

选择门店后显示该门店的 Cookies(含全局)

添加新Cookies

{{ user?.hotel?.name || '当前酒店' }}

超级管理员可选择酒店关联Cookies

名称 Cookies 渠道 关联酒店 更新时间 操作
{{ item.name }} {{ item.cookies.substring(0, 50) }}... {{ item.channel === 'meituan' ? '美团' : '携程' }} {{ hotels.find(h => h.id == item.hotel_id)?.name || '未知酒店' }} 全局 {{ item.update_time }}
{{ user?.is_super_admin && !cookiesHotelFilter ? '请选择门店查看' : '暂无保存的Cookies' }}

响应结果

共 {{ onlineDataResult.itemCount || 0 }} 条 · 维度: {{ (onlineDataResult.dimNames || []).join('、') }}

日期 维度 酒店 数值 金额
{{ r.data_date }} {{ r.dimName }} {{ r.poiName || r.poiId }} {{ r.dataValue }} {{ r.amount }}
{{ JSON.stringify(onlineDataResult, null, 2) }}
定时任务运行错误
发生时间:{{ scheduledFetchErrorModal.time }}
错误信息:{{ scheduledFetchErrorModal.message }}
详细日志:
{{ scheduledFetchErrorModal.detail }}
{{ toast.message }}