原型管理系统
PM Prototype Management
0
目录 /
7
文件
Home
云连锁
云连锁直播
云连锁直播功能PRD.md
Markdown 文档 · 在线预览
返回目录
# 云连锁 · 直播功能产品需求文档 **版本** V1.19 · **状态** 评审稿 · **日期** 2026-10-13 **目录** `直播2/` · **一期重点** 商城后台 · PC 直播间 · 门店端会员 · 门店端主播 总部帮门店带货:后台建场备货备券,主播 PC 开播,会员在门店端观看下单;订单、库存、收款归门店;售后期满且无进行中售后后划扣主播分红。 | 产品定位 | 底座不变 | 功能原则 | 端口节奏 | | --- | --- | --- | --- | | 总部帮门店带货的直播能力 | 会员归店 · 库存归店 · 资金归店 | 简单化:池化选品选券,角色收敛 | 后台 → PC / 门店主播 → 门店会员 | > **相对旧版(直播1)的简化结论:** > 砍掉助理/嘉宾/独立中控/录播/回放带货/邀约裂变/用户运营评论中台;商城后台改为六菜单:数据看板、<span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】直播间管理</span>、主播管理、商品管理、优惠券管理、基础设置;货与券先入「池」,创建直播时从池中选用;发券动作留在 PC 直播间。 --- ## 目录 - [修订记录](#修订记录) - [1. 概述](#1-概述) - [1.1 背景与目标](#11-背景与目标) - [1.2 范围与角色](#12-范围与角色) - [1.3 成功指标](#13-成功指标) - [2. 业务规则](#2-业务规则) - [2.1 锁定规则](#21-锁定业务规则) - [2.2 阶段行为矩阵](#22-阶段行为矩阵) - [2.3 计价与分红](#23-计价与分红逻辑) - [3. 方案与架构](#3-方案与架构) - [3.1 四端口信息架构](#31-四端口信息架构) - [3.2 场次生命周期](#32-场次生命周期) - [3.3 核心流程](#33-核心流程) - [3.4 领域模型](#34-领域模型逻辑实体) - [4. 功能需求(商城后台)](#4-功能需求商城后台) - [4.0 菜单总览](#40-商城后台菜单总览) - [4.1 数据看板](#41-数据看板) - [4.2 直播间管理](#42-直播间管理--列表) - [4.2.1 创建直播](#421-创建直播) - [4.2.2 编辑直播间](#422-编辑直播间) - [4.2.3 直播间详情](#423-直播间详情) - [4.3 主播管理](#43-主播管理) - [4.3.1 主播详情](#431-主播详情) - [4.4 商品管理](#44-商品管理直播商品池) - [4.5 优惠券管理](#45-优惠券管理直播券池) - [4.6 基础设置](#46-基础设置) - [5. PC 直播间](#5-pc-直播间) - [5.0 PC直播间菜单总预览](#50-pc直播间菜单总预览) - [5.1 端口定位与约束](#51-端口定位与约束) - [5.2 登录与入口](#52-登录与入口) - [5.3 直播中心](#53-直播中心) - [5.4 开播准备](#54-开播准备) - [5.5 直播中控](#55-直播中控) - [5.6 数据分析](#56-数据分析) - [5.7 直播订单](#57-直播订单) - [5.8 直播历史](#58-直播历史) - [5.9 状态联动](#59-状态联动与后台同步) - [6. 商城门店端 · 会员直播](#6-商城门店端--会员直播) - [6.0 端口定位与页面总览](#60-端口定位与页面总览) - [6.1 入口与直播中心](#61-入口与直播中心) - [6.1.1 我的收益](#611-我的收益) - [6.1.2 直播回放(会员观看)](#612-直播回放会员观看) - [6.2 直播预告](#62-直播预告) - [6.3 直播间观看](#63-直播间观看) - [6.4 下单与履约](#64-下单与履约) - [6.5 分享与邀约归因](#65-分享与邀约归因) - [6.6 未参与拦截](#66-未参与拦截) - [7. 商城门店端 · 主播](#7-商城门店端--主播) - [7.0 端口定位](#70-端口定位) - [7.1 入口与身份校验](#71-入口与身份校验) - [7.2 主播工作台](#72-主播工作台) - [7.3 H5 直播中控](#73-h5-直播中控) - [门店库存抽屉(门店端 H5)](#门店库存抽屉门店端-h5) - [7.4 数据分析 / 直播订单](#74-数据分析--直播订单) - [7.5 与 PC 中控对照](#75-与-pc-中控对照) - [7.6 与「我的收益」隔离](#76-与我的收益隔离) - [8. 原商城改动影响面](#8-原商城改动影响面) - [9. 非功能与验收](#9-非功能与验收) - [9.1 非功能需求](#91-非功能需求) - [9.2 验收标准](#92-验收标准节选) - [9.3 风险与待定](#93-风险与待定) - [附录 · 术语](#附录--术语表) - [附录 · 演示数据口径](#附录--演示数据口径三端联动) --- ## 修订记录 记录文档版本变更,便于评审追溯。 | 版本 | 日期 | 作者 | 变更说明 | | --- | --- | --- | --- | | V1.19 | 2026-10-13 | 产品 | **相对 V1.18 的修订。**<br>1. 商城后台商品管理「店有货」库存弹窗明确为「**店铺库存**」弹窗,展示**全部门店**(商城所有门店)库存,不受场次与参与门店限制(§4.4)<br>2. 「添加直播间 → 参与店有货」弹窗明确**仅本场参与门店**;场次为「全部门店」时即全部门店(§4.2)<br>3. 同步 §4.2 / §4.4、商城后台原型与水滴标注 | | V1.18 | 2026-10-13 | 产品 | **相对 V1.17 的修订。**<br>1. 商城后台「基础设置」新增「主播登录平台设置」(基础设置第 ① 项,置于奖励设置之前):logo(点击上传图片,支持 png / jpg / webp,可移除)+ 名称(直播系统名称,最多 10 字);**即时生效**,不随 ④「回调设置」底部【保存设置】提交;表单项样式对齐「添加直播间」,表单内不展示说明文案(hint);原「奖励设置 / 直播设置 / 回调设置」顺延为 ② ③ ④<br>2. PC 直播间**登录页**与内页**顶栏品牌**改为读取该配置:未设置时默认播放图标 + 「直播平台」,两者同源展示(顶栏不再固定「主播中心」)<br>3. 同步 §4.6.1 / §5.2、商城后台与 PC 直播间原型及水滴标注 | | V1.17 | 2026-10-09 | 产品 | **相对 V1.16 的修订。**<br>1. 优惠券由「发放中不可停止」改为「**发放完成前均可停止发放**」:点击【发放】后按钮显示【停止发放】;停止后本场发放剩余 ≠ 0 时按钮变回【发放】可续发,限量券本场剩余 = 0 为【已发完】终态<br>2. 会员侧:停止发放后未领取会员**立即不再展示、不可领取**;已领取的券**保留**并可正常使用;停止发放**不写公屏**<br>3. 同步 §5.5 / §6.4、PC 直播间与门店端主播中控原型、水滴标注<br>4. 主播中控商品列表卡片新增「<strong>库存:X</strong>」统计逻辑:云连锁=本场参与门店总库存;qimall=商城商品总库存,PC 中控与门店端 H5 中控同步;涉及 §5.5 / §7.3、验收 AC-PC-06d / AC-M-ANCHOR-08<br>5. <strong>数据口径</strong>:①「商品转化率」统一更名为「<strong>带货转化率</strong>」,口径固定为「<strong>成交人数 ÷ 观看人数 × 100%</strong>」(原「已付购买人数 ÷ 查看商品人数」口径作废);②数据看板、主播管理(列表「观看」、主播详情)、PC 直播间与门店端主播「数据分析」的<strong>访问人数 / 观看人数 / 离开人数 / 带货转化率(成交人数与观看人数)</strong>由「跨场次去重」改为<strong>跨场次不去重</strong>(同一会员在多个场次分别计数,例:会员1 观看直播1、直播2 → 访问人数=2、观看人数=2);漏斗「成交」同步跨场次不去重;单场页面(直播间列表 / 直播间详情 / 单场数据)口径不变<br>6. 同步 §4.1 / §4.3 / §4.3.1 / §5.6 / §6、AC-21 / AC-31 / AC-M-ANCHOR-05、商城后台 / PC 直播间 / 门店端原型与水滴标注;原型备注改动以蓝色标出<br>7. <strong>发券二次确认</strong>:点击【发放】先弹出二次确认弹窗(标题「提示」,文案「确认发放该优惠券吗?」,按钮【取消】/【确定】),【确定】后才执行发放;PC 直播间与门店端 H5 主播中控同步;涉及 §5.5 / §7.3、验收 AC-PC-07a / AC-M-ANCHOR-11<br>正文变更以黄色【V1.17】标出 | | V1.16 | 2026-10-06 | 产品 | **相对 V1.15 的修订。**<br>1. 直播商品详情「**不可购买态**」统一为「底部灰条提示 + 立即购买置灰不可点」;商品主图 / 价格 / 标题 / 规格 / 评价**正常显示**(不灰度、不加遮罩),仅灰条文案不同<br>2. 不可购买灰条**优先级**:① 商品售罄 > ② 直播状态(未开始 / 已结束)> ③ 非参与门店;灰条文案分别为「商品已售罄」「直播未开始,直播开始后才可购买」「直播已结束,直播结束后不可购买」「很抱歉你当前无法查看该商品」<br>3. 直播商品详情分享链:非本场参与门店会员**不再跳拦截页**,改为落地商品详情「无法查看」态(同上灰条 + 置灰样式);不可下单、亦不可进该直播间<br>4. 同步 §6.3 / §6.5.7 / §6.6、AC-M-34c / AC-M-35a、门店端原型(新增演示入口「商品链·直播中 / 未开始 / 已结束 / 无权查看」与演示商品数据)与水滴标注;正文变更以黄色【V1.16】标出 | | V1.15 | 2026-09-30 | 产品 | **相对 V1.14 的修订。**<br>1. 门店端主播工作台取消独立「直播中心」页,改为工作台内直接展示:主播资料(头像 + 昵称,昵称不再固定为「直播中心」文案)+ 数据分析 / 直播订单入口卡<br>2. 入口由「点击资料区跳转」改为工作台内直接展示<br>3. 同步 §3.1.4 页面树、§7.2 / 7.4、AC-M-ANCHOR-00、门店端原型与水滴标注;正文变更以黄色【V1.15】标出 | | V1.14 | 2026-09-30 | 产品 | **相对 V1.13 的修订。**<br>1. 门店端主播工作台场次 Tab 改为**文字型样式**:横排文字,未选中常规字重,选中项加粗 + 底部短横线指示条<br>2. 同步 §7.2、AC-M-ANCHOR-01、门店端原型与水滴标注;正文变更以黄色【V1.14】标出 | | V1.13 | 2026-09-29 | 产品 | **相对 V1.12 的修订。**<br>1. 门店端主播工作台「主播资料」改为「直播中心」入口:头像 + 固定文案「直播中心」,点击跳转新增「直播中心」页;去掉主播 ID、手机号、编辑<br>2. 工作台 Tab 由「开播列表 / 直播历史」改为「直播中 / 待开播 / 已结束」三态;直播历史独立页并入「已结束」Tab(封面点击进回放,无回放 Toast「暂无回放」)<br>3. 场次卡片:封面、标题、时间;【开播】【取消】仅直播中 / 待开播显示;取消弹窗「确认取消这场直播吗?」→ 已取消并同步后台、不进历史<br>4. 新增「直播中心」页:主播资料(头像、昵称)+ 直播数据(即原「数据分析」)+ 直播订单(即原「直播订单」);原工作台【数据分析】【直播订单】快捷入口移入本页<br>5. 同步 §3.1.4 页面树、§7.2 / 7.4、AC-M-ANCHOR-00/01/02/04/04a、门店端原型与水滴标注;正文变更以黄色【V1.13】标出 | | V1.12 | 2026-09-23 | 产品 | **相对 V1.11 的修订。**<br>1. 直播间管理列表操作「数据」改为「详情」;工作区/页面名「单场直播数据」改为「直播间详情」(§4.2.3)<br>2. 直播间详情「数据列表 → 优惠券」去掉「活动发放数量」列<br>3. 同步 AC-13 / AC-24 / AC-24b / AC-23、术语与水滴;正文变更以黄色【V1.12】标出 | | V1.11 | 2026-09-23 | 产品 | **相对 V1.10 的修订。**<br>1. 商城后台单场「数据」页:底部明细区水滴/章节标注改名为「数据列表」;原型 Tab 文案为 奖励明细 \| 邀约人列表 \| 商品 \| 优惠券(页面不单独展示「数据列表」标题)<br>2. 新增「商品」Tab:展示本场已添加商品(SKU,只读);列:商品ID、商品(图+名称)、商品规格、平台价格、主播奖励比例、邀约人奖励比例<br>3. 新增「优惠券」Tab:展示 PC 中控本场**实际发出过**的券(备券未发不展示;只读);列对齐券池(无操作列)<br>4. **仅单场数据页**;主播详情底部 Tab 不变<br>5. 同步 AC-24 / AC-24b;正文变更以黄色【V1.11】标出 | | V1.10 | 2026-09-23 | 产品 | **相对 V1.09 的修订。**<br>1. 去掉商城后台单场「邀约排名」;后台只保留「邀约人列表」回看<br>2. 基础设置去掉「默认分红%」「预告对参与店可见」<br>3. 后台奖励明细、邀约订单详情、PC 直播订单去掉「奖励时间」列(门店端「我的收益」保留)<br>4. 去掉后台「结束」动作;侧栏场次菜单统一为「直播间管理」;创建/编辑页无页顶返回链;商品池列表列名「主播奖励比」<br>5. 商城后台「单场直播数据」去掉页内「← 返回直播间列表」;回列表靠工作区 Tab 或侧栏「直播间管理」;主播详情「← 返回主播列表」保留<br>6. 直播间管理列表「编辑」仅**待开播**显示;**直播中 / 已结束 / 已取消**隐藏,不进入编辑页;R12、AC-12、AC-14 改为无编辑入口(废止非待开播只读编辑页)<br>7. 未参与拦截页【主页】进入商城首页;从拦截页进入时,首页返回回到拦截页,不进入直播间<br>8. A 店会员把直播间分享链发给未参与本场的 B 店会员,与直链无权进房统一文案「很抱歉你当前无法进入直播间」;示意场次「午间秒杀」<br>9. 正文变更以黄色【V1.10】标出 | | V1.09 | 2026-09-22 | 产品 | **相对 V1.08 的修订。**<br>1. 商城后台「编辑直播间」:场次为**直播中 / 已结束 / 已取消**时,全部字段只读,不可保存;底部【取消】【确认】隐藏<br>2. 只读态返回:靠工作区 Tab 关闭或侧栏「直播间管理」(无页顶「← 返回直播间列表」)<br>3. R12 改为「非待开播不可编辑」;废止「直播中仅允许加店」;同步 AC-12 / AC-14、列表操作与水滴标注;正文与原型紫色标记【V1.09】 | | V1.08 | 2026-09-22 | 产品 | **相对 V1.07 的修订(合并原 V1.08~V1.10)。**<br>1. 商城后台「基础设置」新增「回调设置」:回调URL(只读+【点击复制】)、鉴权token(留空不校验);页面唯一【保存设置】(回调区块底部)一次持久化推流/播放、腾讯云密钥与 token<br>2. 「直播设置」去掉「是否开启直播回放」及「功能开关」分区;各字段说明 hint 调整(部分去掉)<br>3. 门店端直播中心点击【已结束】一律 Toast「本场已结束」;一期不做会员回放入口(§6.1.2);主播端封面进回放保留<br>4. 同步 AC-30 / AC-30d / AC-30e / AC-M-02d、水滴标注;正文与原型紫色标记【V1.08】 | | V1.07 | 2026-09-17 | 产品 | **相对 V1.06 的修订。**<br>1. §6.5.5 明确同场多链只记首次:同一直播间 A、B 都把分享链接发给 C,且 C 两条都点开过,只记 1 条(C 第一次点开并成功进房的链接);后到链可进房、不新增、不覆盖<br>2. C 先经自然流量成功进房,再点 A 的分享链接进入,不记邀约人列表、不锁定;本场下单无邀约人<br>3. 「第一次进入直播间」口径:待开播(未开播)进入预告页即算第一次进入,不必等到开播后进入观看页<br>4. 同步单场/主播详情邀约人列表、邀约排名、我的收益、术语表、验收 AC-M-07 / AC-M-07k / AC-M-07l / AC-M-07m,以及后台与门店端原型水滴标注 | | V1.06 | 2026-09-14 | 产品 | **相对 V1.05 的修订。**<br>1. 商城后台新增/编辑直播间:去掉「必填;最多 50 字,超出输入无效」「样式对齐直播间管理筛选区时间控件」两处表单提示文案<br>2. 直播间名称:输入框内右侧显示字数「已输入 / 50」,最多 50 字超出不可再输<br>3. 开播时间:未设置时输入框内占位提示「请选择时间」 | | V1.05 | 2026-09-12 | 产品 | **相对 V1.04 的修订。**<br>1. 门店端三渠道分享弹窗(`shareSheet`):去掉底部灰色链路/锁定说明文案<br>2. 门店端直播间商品列表:卡片去掉销量;展示商品规格(多规格取本场已上架排序第一 SKU 规格名;仅 1 规格显示「默认」)<br>3. 门店端主播「数据分析」直播转化漏斗:洞察条文案改为「访问成交转化率为 X%」(去掉「【数据解读】」「总」前缀)<br>4. 门店端主播 H5 中控「主播商品列表」卡片:去掉「库存」合计/告急展示;增加「销售价:¥x.xx」;直播价展示改为「直播价:¥x.xx」(均为默认规格);【店库存】按钮与有货/无货门店数不变 | | V1.04 | 2026-09-09 | 产品 | **相对 V1.03 的修订。**<br>1. 门店端主播「数据分析」:去掉 GMV / 带货转化率 / 订单成交金额 / 订单成交数量 / 主播带货奖励经营趋势图<br>2. PC 直播间「数据分析」:同步去掉上述经营趋势图;概况去掉最高点赞数、最高在线数,保留累计开播次数<br>3. PC/门店端主播数据分析页面顺序统一为:概况 → 直播转化漏斗 → 实时观众人数趋势;概况 7 指标卡、漏斗与观众趋势口径保持不变 | | V1.03 | 2026-09-04 | 产品 | **相对 V1.02 的修订。**<br>1. 门店端 H5 主播中控:商品列表【店库存】打开独立底部抽屉「门店库存」(`hostStockSheet`)<br>2. 门店库存抽屉逻辑与 PC 中控「门店库存」弹窗(§5.5)一致:加粗商品名、门店名称模糊搜索、仅本场参与门店、门店信息+库存列(无库存标红)<br>3. 商品列表【店库存】按钮展示有货/无货门店数;原型水滴标注独立 key;新增验收 AC-M-ANCHOR-08b<br>4. 门店端直播间商品列表:去掉「讲解中」标识<br>5. 商城后台直播间管理列表:去掉「预约人数」列<br>6. 列表「观看」改为「观看人数」;口径=直播开始起至今,直播中进房观看的去重用户数(预告不计)<br>7. 商城后台「基础设置 → 直播设置」密钥字段去掉【修改】【取消】;改为密码框默认可聚焦编辑(已配置 placeholder 全脱敏),仅点【保存设置】提交;空值不覆盖原密钥 | | V1.02 | 2026-09-04 | 产品 | **相对 V1.01 的修订。**<br>1. 直播商品详情:去掉「直播进行中」活动卡片;价格前增加「直播价」标签,保留划线销售价<br>2. 规格弹窗:价格前增加「直播价」标签,保留划线销售价<br>3. 提交订单 / 订单详情:商品卡与原商城一致(展示销售价,不加「直播价」标签)<br>4. 金额区:在优惠券行上方增加「直播优惠」;仅直播商品;销售价=直播价时仍显示 −¥0.00<br>5. 口径:直播优惠=Σ(销售价−直播价)×数量;券门槛仍按直播价小计;实付=销售价小计−直播优惠−券优惠(等价于直播价小计−券) | | V1.01 | 2026-09-04 | 产品 | **相对 V1.00 的修订。**<br>1. 会员端:离房购物流程增加【直播中】全局浮窗<br>2. 直播中心:补充已结束场次(直播中>待开播>已结束),回放须「基础设置·开启回放」且本场有资源<br>3. 分享:定稿卡片/海报文案与进房规则(须登录、无权限拦截)<br>4. 商品详情:分享改为复制链接(带直播场次与分享人,不参与邀约归因)<br>5. 观看页:增加在线观众抽屉<br>6. 中控:商品角标改为「奖励X%」;PC 沉浸式顶栏(直播中无【返回】)<br>7. 结束页:统一观看人数(累计去重)、最高在线人数口径<br>8. 直播间列表:开播时间/累计时长口径;直播中禁用自动结束本场<br>9. 数据口径:概况 7 指标;漏斗「访问人数→观看→成交」;趋势为访问/观看/离开三折线;单场趋势横轴按时刻<br>10. 数据看板:概况 9 卡 + 全商城转化漏斗(跨场次去重);不做趋势图/排行榜<br>11. 后台单场数据页:去掉公屏评论<br>12. 门店端主播概况:与后台主播详情同构 7 卡<br>13. 基础设置:直播设置分区(功能开关 / 推流播放配置 / 腾讯云密钥);去掉「同步自动按关联商品剪辑」<br>14. 密钥字段:默认脱敏(SecretId 全脱敏);点「修改」后密码框录入;保存后不回传明文 | | V1.00 | 2026-09-01 | 产品 | **云连锁直播功能首期 PRD 发布。** 以「会员归属门店、库存与收款归门店」为不变底座,总部在商城后台建场、统一选品备券并指定参与门店;主播在 PC/门店端开播,中控讲解商品并发放优惠券;参与门店会员在门店端观看直播、领券并以直播价下单,订单/库存/收款仍走原商城履约链路。主播按成交实付获得带货佣金(售后期满且无进行中售后后划扣);会员分享邀约他人观看并下单,可获邀约奖励(与主播佣金分账隔离)。一期交付四端口:商城后台、PC 直播间、门店端会员直播、门店端主播。**同期补充:** §3.3 八张核心流程图与各章交叉引用;§2.3「结算周期与奖励状态」(订单支付/订单完成)、退款冲回与配置变更规则;§4.1/4.6 与各端奖励口径、奖励时间字段;AC-SETTLE-01~05;术语表区分待结算/已结算/预估分红。 | > 注:V2.27 及此前内部迭代记录已归档,不再作为对外版本号;以 V1.00 为正式基线,其后以 V1.xx 递增。 ### 相关文档 - 历史复杂版(对照,不再作为本方案实现依据):`直播1/云连锁商城直播产品需求文档.html` - 本方案目录:`直播2/` - 商城后台原型:`直播2/商城后台直播功能原型.html`(标注清单:`直播2/原型里水滴标注的完整清单.md`) - PC 直播间原型:`直播2/PC直播间原型.html`(标注清单:`直播2/PC直播间水滴标注清单.md`) - 商城门店端原型:`直播2/商城门店端直播原型.html`(标注清单:`直播2/门店端水滴标注清单.md`) --- ## 1. 概述 ### 1.1 背景与目标 说明为什么做、做成什么。 #### 背景 云连锁商城以「会员归属门店、库存与收款归门店」为底座。总部需要具备统一选品、讲解、发券的直播带货能力,同时不破坏门店履约与资金链路。 旧方案功能面过重(多角色中控、录播、邀约、复杂看板等)。本期做**简单直播**:底层履约与分红逻辑不变,功能与角色收敛。 #### 产品目标 - 总部运营可创建主播、维护直播商品池与券池,并创建直播场次(指定主播、参与门店、选品、备券)。 - 主播登录 PC 直播间开播、讲解、发券。 - 仅参与门店会员可在门店端观看;直播中按下单原逻辑购买(扣本店库存、门店收款)。 - 分红按实付预估;售后期满且无进行中售后,从订单所属门店货款划扣给主播。 #### 不做(一期 Out of Scope) - 助理、嘉宾等多角色中控;独立中控台产品面。 - 录播模式、回放带货计佣、多级邀约裂变玩法。 - 用户运营、评论管理中台;侧栏数据看板不做在线趋势深看板、经营趋势图与排行榜(单场数据页单独提供 2 分钟趋势;数据看板提供跨场次转化漏斗)。 - 抽奖、赠品、红包雨等非优惠券福利。 - 跨店扣库存 / 无库存预售 / 总部共享仓代扣。 - 门店直播后台独立端(二期可对账只读);观看端皮肤配置。 #### 邀约能力一期范围(保留 vs 不做) | 类别 | 一期处理 | | --- | --- | | **做** | 门店端三渠道分享(微信好友 / 生成海报 / 复制链接);分享链带 `live_id` + `inviter`;<span style="color:#6d28d9;background:#f3e8ff;font-weight:600">本场第一次成功进房且来源为有效分享链才锁定(含待开播进预告);自然进房后再点分享链不记邀约;同场同一对象只锁定第一次点开的链接</span>;邀约对象下单结算邀约人奖励;<span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】后台以单场 / 主播详情「邀约人列表」回看,不做邀约排名</span> | | **保留** | 商品/场次「邀约人奖励比例」;订单与数据页展示邀约人及金额;单场 / 主播详情「邀约人列表」及订单详情弹窗 | | **不做** | 多级裂变、朋友圈渠道、<span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】后台邀约排名、</span>C 端邀约排行榜、后台海报素材运营配置台 | > 简言之:做「分享归因 → 进房锁定 → 下单计奖 → <span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】后台邀约人列表回看</span>」;不做拉新裂变运营玩法与 C 端排行展示。 ### 1.2 范围与角色 一期覆盖端口与角色权限边界;原型按端口分批交付。 | 端口 | 优先级 | 说明 | | --- | --- | --- | | ① 商城后台 · 直播 | P0 先做 | 数据看板 / <span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】直播间管理</span> / 主播管理 / 商品管理 / 优惠券管理 / 基础设置;订单与营销有直播新增 | | ② PC 直播间 | P0 其次 | 主播登录、开播推流、中控(商品/发券/公屏/连麦)、数据分析 / 订单 / 历史 | | ③ 门店端 · 会员直播 | P0 再次 | 参与店会员:直播中心 / 预告 / 观看 / 领券 / 直播中下单 / 我的收益(邀约) | | ④ 门店端 · 主播 | P0 与 PC 并行 | 绑定且启用的主播:H5 开播中控(能力对齐 PC)、本主播分析 / 订单 / 历史 | | 原商城底座(交界) | 同步改造 | 订单标识「直播」、营销领取渠道、提交订单/支付/详情直播价等;履约仍走现网 | | 门店管理后台 | P1 | 本期可不做独立直播对账页;履约走原订单中心 | #### 角色 | 角色 | 职责 | 主要端口 | | --- | --- | --- | | 后台运营 | 创建主播;维护商品池/券池;创建与管理场次;看数据 | 商城后台 | | 主播 | 登录 PC 直播间 **或** 门店端「主播」工作台开播;两端中控能力一致(商品/发券/连麦/观众管理/实时数据等);不建场 | PC 直播间、门店端 | | 会员 | 所属门店参与时:预告/观看/领券/直播中下单;可看我的收益(邀约人) | 门店端 | | 门店(隐式) | 收款、扣本店库存、履约售后;期满后承担主播分红 | 原订单/支付/库存 | > 本期无「助理」角色。后台列表不提供「去直播」开播按钮;开播在 **PC 直播间** 或 **门店端主播工作台** 完成。 ### 1.3 成功指标 | 指标 | 口径 | 周期 | | --- | --- | --- | | 直播 GMV | 直播中支付成功订单实付汇总(本场打标) | 场次 / 月 | | 观看-支付转化率 | 成交人数 / 观看人数 × 100%(参与店),与「带货转化率」同口径 | 场次 | | 有货可售率 | 有库存门店×SKU / 参与门店×SKU | 开播前 | | 分红结算准时率 | 售后期满且无售后中后 T+1 完成划扣记账占比 | 月 | | 异常拦截有效性 | 未参与门店会员进房失败率 = 100% | 持续 | --- ## 2. 业务规则 ### 2.1 锁定业务规则 以下规则为产品红线,冲突时以本表为准。 | 编号 | 主题 | 规则说明 | | --- | --- | --- | | R1 | 未参与门店 | 该店不展示本场直播;该店会员不能进房(直链进入也拦截)。 | | R2 | 分红出账方 | 从订单所属门店结算款划扣主播分红。 | | R3 | 分红基数 | `分红 = 订单实付 × 商品分红%`;退款按比例冲回。 | | R4 | 价格 | 直播中强制按直播价;不以门店日常价为准。 | | R5 | 库存 | 扣会员所属门店库存;无库存/不足则不可下单;不跨店、不预售。 | | R6 | 已结束 | 不按本场直播价卖;不计本场直播分红;直播券不可用。本期不做回放带货。 | | R7 | 福利 | 仅支持优惠券;不做抽奖/赠品等。 | | R8 | 预告期 | 不允许下单;参与店可看预告。 | | R9 | 划扣时点 | **售后期满且无进行中售后**后再划扣(售后天数对齐现网);有售后则延期。 | | R10 | 券叠加 | **两套券、下单一张(B2)**:商品详情「领券」行与原商城该商品一致(商城券可领可用);直播间仍发放本场券。提交订单将已领可用的商城券与本场券列入同一选券列表,**按商城互斥规则只能使用 1 张**(也可不使用);不可叠加。直播已结束则本场券不可用(R6),商城券不在本场直播单上使用。 | | R11 | 资源池 | 建场选品/选券仅从「商品管理」「优惠券管理」池中选择,不直接翻全商城现搜(池本身从商城引入)。 | | R12 | 非待开播不可编辑 | <span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】列表「编辑」仅待开播显示。**直播中 / 已结束 / 已取消**不展示「编辑」,不进入编辑页,不可改店/改品/改价。待开播仍可编辑保存。</span> | > 直播价、分红% 在订单支付成功时快照;后续改价改比例不追溯历史订单。 ### 2.2 阶段行为矩阵 | 状态 | 参与店会员 | 未参与店会员 | 价格 | 下单 | 直播券 | 计分红 | | --- | --- | --- | --- | --- | --- | --- | | 待开播(预告) | 可进预告页 | 不可见/不可进 | — | **禁止** | 可配置展示(与下单无关) | 无 | | 直播中 | 可进房 | 不可进 | **直播价** | 允许(本店有货) | 商城商品券或本场券,互斥 1 张 | 预估;期满且无售后中再划扣 | | 已结束 | 不按本场直播卖 | 不可进本场 | 日常价(原商城) | 普通下单 | 不可用 | **不计** | ### 2.3 计价与分红逻辑 #### 直播中成交价 `实付 = 销售价小计 − 直播优惠 − 用户所选那 1 张券的优惠`(展示口径) 其中 `直播优惠 = Σ(销售价 − 直播价) × 数量`(仅直播商品;销售价=直播价时仍展示 −¥0.00) 等价于 `实付 = 直播价小计 − 券优惠`。券门槛按**直播价小计**(运费是否计入对齐现网商城)。 提交订单不自动匹配;商城商品券与本场直播券互斥,至多 1 张。 #### 支付成功快照(与结算周期无关) 订单支付成功后固定执行(不论当前结算周期配置): - 快照销售价、直播价、直播优惠金额、主播分红%、邀约人奖励比例(后续改价改比例不追溯)。 - 扣本店库存、门店收款、订单打「直播」标、回写中控。 - **预计算**奖励基数:`主播奖励 = 实付 × 分红%`;若有邀约人:`邀约奖励 = 实付 × 邀约人奖励比例`(R3)。 - 此时**不一定**进入「待结算」展示态,取决于下方结算周期配置。 #### 结算周期与奖励状态 后台【基础设置 → 奖励设置】配置**全局**结算周期(二选一,见 [§4.6.2](#462-奖励设置)),**同时作用于主播带货奖励与邀约人奖励**。 | 结算周期 | 计入「待结算」时点 | 说明 | | --- | --- | --- | | 订单支付 | 支付成功 | 支付成功后即在各端奖励明细展示为「待结算」 | | 订单完成 | 确认收货 | 用户确认收货(含系统自动确认收货,口径对齐现网商城)后才展示为「待结算」 | **两层状态(勿混淆):** | 状态 | 含义 | 决定因素 | | --- | --- | --- | | **待结算** | 已达结算周期计入时点,奖励已展示/汇总,但尚未从门店划扣 | 结算周期配置(本节) | | **已结算** | 售后期满且无进行中售后后,从订单所属门店结算款划扣完成(R2/R9) | 售后期 + 售后状态 | ```text 支付成功(快照价佣 + 预计算基数) ↓ {结算周期} ├─ 订单支付 → 计入「待结算」 └─ 订单完成 → 确认收货后计入「待结算」 ↓ 售后期满且无进行中售后(R9) ↓ 「已结算」+ 从门店结算款划扣 ``` **「订单完成」模式下,已支付未确认收货的订单:** - **不出现在**各端奖励明细列表(后台单场/主播详情、PC/门店端直播订单、我的收益等)。 - **不计入**待结算汇总指标(如今日奖励、累计总收益、预估分红合计、列表「主播带货奖励」等)。 - 产品**不设**第三展示态(如「未计入」「待收货」);对用户仅展示已进入待结算或已结算的订单。 **配置变更:** 切换结算周期仅对**保存后新产生/新达标**的订单生效,**不追溯**历史订单。 #### 退款与冲回 | 场景 | 订单支付模式 | 订单完成模式 | | --- | --- | --- | | 确认收货前全额退款/取消 | 若已进入待结算 → 作废或冲回待结算金额 | 通常从未进入待结算,不产生奖励 | | 已进入待结算后部分/全额退款 | 按剩余未退实付 × 比例冲回或作废待结算金额 | 同左 | | 已结算后退款 | 按现网售后规则冲回已划扣金额 | 同左 | #### 划扣与出账 - 待结算订单:售后期满且无进行中售后 → 可划扣金额 = 剩余未退实付 × 对应比例。 - 期满后仍有售后未完:延期,售后结束后再判(R9)。 - 出账:从订单所属门店结算款划扣给主播/记入邀约人收益账本(R2)。 #### 已结束后 走商城统一日常价与原优惠逻辑(非直播券),不写本场直播分红。本期不做回放带货。 --- ## 3. 方案与架构 ### 3.1 四端口信息架构 一期按四个产品端口交付,外加「原商城底座」交界改造。各端口职责互斥、状态与数据最终一致。 #### 总体关系 ```mermaid flowchart LR HQ[① 商城后台·直播] ROOM[② PC 直播间] APP[④ 门店端·主播 H5] C[③ 门店端·会员] ORDER[原订单/支付/库存/售后] LEDGER[分红账本] HQ -->|建主播/商品池/券池/场次| ROOM HQ -->|同场次可开播| APP ROOM -->|推流·发券·公屏| C APP -->|推流·发券·公屏| C C -->|直播中下单打标| ORDER ORDER -->|扣本店库存 门店收款| C ORDER -->|预估分红| LEDGER LEDGER -->|售后期满且无售后中 门店划扣| ROOM ``` | 端口 | 谁用 | 核心职责 | 不做什么 | | --- | --- | --- | --- | | ① 商城后台 · 直播 | 总部运营 | 建主播 / 商品池 / 券池 / 场次;看总览与单场数据 | 不开播 | | ② PC 直播间 | 主播(桌面) | 登录、开播推流、中控、本人数据与订单 | 不建场 | | ③ 门店端 · 会员直播 | 参与店会员 | 进直播中心、预告/观看、领券、直播价下单、邀约收益 | 不建场、不开播 | | ④ 门店端 · 主播 | 后台已绑定且启用的主播 | H5 开播(能力对齐 PC 中控)、本主播分析/订单/历史 | 不建场;奖励 ≠「我的收益」 | | 原商城底座 | 全角色 | 订单/支付/库存/售后/营销券创建与核销 | 不另开直播履约系统 | > **开播双通道:** 同一主播可在 **PC 直播间** 或 **门店端主播工作台** 开播;同时仅允许 1 场「直播中」。后台列表不提供「去直播」。 #### 3.1.1 商城后台 · 菜单树 ``` 管理中心顶栏 └── 更多 → 应用 → 我的应用 └── 企业服务 → 【直播】 (点击进入数据看板) 应用侧栏 ├── 我的应用 ├── 应用市场 └── 直播(二级,可展开/收起) ├── 数据看板 ├── <span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】直播间管理</span> (场次列表 / 创建 / 编辑 / 单场数据) ├── 主播管理 (从商城会员添加 / 启用禁用 / 主播详情) ├── 商品管理 (直播商品池:从商城引入,建场时选用) ├── 优惠券管理 (直播券池:从商城引入,场次备券,主播端发放) └── 基础设置 (结算周期、推流/播放/IM、<span style="color:#6d28d9;background:#f3e8ff;font-weight:600">回调</span>等) 原商城交界(非直播侧栏,但有直播新增) ├── 顶栏「订单」→ 订单管理(标识枚举 +「直播」) └── 顶栏「营销」→ 活动管理(领取渠道:商城 / 直播) ``` > **数据双入口:** 侧栏「数据看板」= 全部场次汇总;直播列表「详情」= 该场直播间详情(独立页,不跳转总览)。详见[第 4 章](#4-功能需求商城后台)。 #### 3.1.2 PC 直播间 · 页面树 ``` 登录(仅后台已添加且启用的主播) └── 主播中心侧栏 ├── 直播中心(左侧重点预告 + 右侧近期场次) ├── 开播准备(可选设备确认)→ 直播中控 ├── 直播中控(开始/结束、摄像麦克、商品/公屏/发券/连麦、实时数据、在线观众) ├── 数据分析(概况 → 漏斗 → 观众趋势) ├── 直播订单(本主播带货订单只读) └── 直播历史(已结束场次卡片) ``` 详见[第 5 章](#5-pc-直播间)。 #### 3.1.3 门店端 · 会员直播 · 页面树 ``` 我的 →【直播】 ├── 直播中心(本店参与 · 待开播 / 直播中 / 已结束) │ ├──【我的收益】(邀约人奖励;≠ 主播带货奖励) │ └── <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">已结束 → Toast「本场已结束」(一期不做会员回放入口)</span> ├── 直播预告(待开播:看 / 分享,不可下单) ├── 直播间观看(直播中:画面 / 公屏 / 券 / 货架) │ ├── 直播商品详情 → 规格 → 提交订单 → 支付 → 成功 │ └── 分享(邀约归因) └── 未参与拦截(直链进房失败) ``` 详见[第 6 章](#6-商城门店端--会员直播)。 #### 3.1.4 门店端 · 主播 · 页面树 ``` 我的 →【主播】(校验:未绑定 / 已禁用 Toast;启用进工作台) ├── 主播资料(头像、昵称) ├── 数据分析 / 直播订单入口(进入本主播数据分析、直播订单页) ├── 场次 Tab:直播中 / 待开播 / 已结束(直播中/待开播含【开播】【取消】;已结束封面进回放) └── H5 直播中控 ├── 待开播 / 直播中(顶栏、画面、公屏、开始直播、底栏更多…) ├── 商品 / 发券 / 连麦 / 实时数据 / 在线观众 └── 关播 → 独立结束页 → 回主播工作台 ``` 详见[第 7 章](#7-商城门店端--主播)。 #### 3.1.5 原商城交界模块一览 | 模块 | 底座(不变) | 新增(直播) | 边界 | | --- | --- | --- | --- | | 商品 | 主数据、分类、库存归店 | 引入直播商品池;场次 SKU 直播价/奖励% 快照 | 池外不可直接建场选品 | | 营销优惠券 | 活动创建/启用/核销 | 领取渠道商城/直播;直播券不进领券中心;入直播券池 | 渠道创建后不可改;一期仅主播手动发 | | 提交订单 | 地址/留言/积分/运费/选券抽屉 | 商品卡同原商城(销售价);金额区「直播优惠」;商城券与本场券互斥 1 张 | 仅直播间购链路 | | 支付 / 成功 | 倒计时、余额、成功页 | 扣本店库存、核销券、回写中控、写直播快照 | C 端不加油「直播」角标 | | 我的订单 | 列表/Tab/卡片 | 可搜直播间名;自直播间进时返回路径不同 | 列表无店名「直播」角标、无列表「直播价」 | | 订单详情 | 结构/物流/售后 | 商品卡同原商城;金额区「直播优惠」;可含场次/主播 | 普通单完全原样 | | 后台订单 | 主/子单、发货/更多 | 标识枚举+「直播」;可筛 | 非直播购不打标 | | 库存/资金/售后 | 扣本店、门店收款、现网售后 | 分红账本与期满划扣 | 不跨店、不预售、不改资金归属 | 完整三段式明细见[第 8 章](#8-原商城改动影响面)。 ### 3.2 场次生命周期 ```mermaid stateDiagram-v2 [*] --> 待开播: 保存创建成功 待开播 --> 直播中: 主播在直播间开播 直播中 --> 已结束: 主播在直播间结束直播 待开播 --> 已取消: 主播在直播中心取消 直播中 --> 已取消: 主播在直播中心取消 已结束 --> [*] 已取消 --> [*] ``` | 状态 | 定义 | | --- | --- | | 待开播 | 主播未在直播间进行开播。 | | 直播中 | 主播在直播间进行开播。 | | 已结束 | 主播在直播间结束了直播。 | | 已取消 | 主播在 PC 直播中心或门店端主播场次 Tab 对「待开播 / 直播中」场次确认取消;列表不再展示;商城后台场次状态同步为已取消;不可恢复为待开播。 | > **「已取消」** 一期不进入 PC「直播历史」;C 端预告/进房对该场次不再展示(同已结束不可下单口径)。 ### 3.3 核心流程 本节为全流程总览;各功能章节内有对应流程图与交叉引用。 #### 流程索引 | 流程 | 说明 | 功能章节 | | --- | --- | --- | | 图1 运营建场 | 池化选品选券 → 创建场次 | [§4.0](#40-商城后台菜单总览)、[§4.2.1](#421-创建直播) | | 图2 场次生命周期 | 待开播 / 直播中 / 已结束 / 已取消 | [§3.2](#32-场次生命周期)、[§5.9](#59-状态联动与后台同步) | | 图3 主播开播 | PC / H5 双通道中控 | [§5.3](#53-直播中心)、[§5.5](#55-直播中控)、[§7.3](#73-h5-直播中控) | | 图4 中控带货 | 商品讲解 + 发券 | [§5.5](#55-直播中控)、[§6.3](#63-直播间观看) | | 图5 会员观看购买 | 准入 → 领券 → 下单 | [§6.0](#60-端口定位与页面总览)、[§6.4](#64-下单与履约) | | 图6 下单分红 | 库存/收款归店 + 佣金划扣 | [§2.3](#23-计价与分红逻辑)、[§6.4](#64-下单与履约) | | 图7 邀约分享 | 带参链 → 锁定 → 奖励 | [§6.5](#65-分享与邀约归因)、[§6.1.1](#611-我的收益) | | 图8 券全链路 | 创建 → 入池 → 发放 → 核销 | [§4.5](#45-优惠券管理直播券池) | #### 图1 运营准备与建场 ```mermaid flowchart TD A[营销:创建领取渠道=直播的券活动] --> B[优惠券管理:引入直播券池] C[商品管理:从商城引入商品池] --> D[主播管理:添加并启用主播] B --> E[直播间管理:创建直播] C --> E D --> E E --> F[选主播 + 指定参与门店] F --> G[从商品池选品 / 从券池备券] G --> H{保存校验} H -->|失败| I[Toast 停留当前页] H -->|通过| J[场次状态=待开播] J --> K[主播端可见 / 参与店会员可见预告] ``` #### 图2 场次生命周期 状态机详见 [§3.2](#32-场次生命周期);多端同步规则见 [§5.9](#59-状态联动与后台同步)。 #### 图3 主播开播(PC / H5) ```mermaid flowchart TD A[后台场次=待开播] --> B{开播入口} B -->|PC| C[PC 直播中心] B -->|H5| D[门店端 我的→主播→场次 Tab] C --> E[直播中控 待开始] D --> E E --> F{同主播是否已有直播中?} F -->|是| G[拦截 不可重复开播] F -->|否| H[点击开始直播] H --> I[场次=直播中 推流+中控] I --> J[商品讲解 / 发券 / 公屏 / 连麦] J --> K{结束直播?} K -->|确认结束| L[场次=已结束 结束页] L --> M[返回直播中心 / 主播工作台] E --> N[取消场次] --> O[场次=已取消] ``` #### 图4 中控带货(商品 + 发券) ```mermaid flowchart LR subgraph HQ[后台] A1[建场选品上架] --> A2[建场备券] end subgraph CTRL[主播中控] B1[商品:置顶/上下架] --> B2[公屏发商品卡] C1[发券:手动发放] --> C2[观众抽屉可见可领] end subgraph MEM[会员端] D1[点商品卡/货架] --> D2[直播价下单] D3[领券] --> D2 end A1 --> B1 A2 --> C1 B2 --> D1 C2 --> D3 ``` #### 图5 会员观看与准入 ```mermaid flowchart TD A[会员打开直播入口或分享链] --> B{所属门店是否参与本场?} B -->|否| C[列表不展示 / 直链拦截页] B -->|是| D{场次状态} D -->|待开播| E[预告页:可看/分享 不可下单] D -->|直播中| F[进房观看] D -->|已结束| G[不按本场直播价售卖] F --> H[领券 / 看货架 / 分享] H --> I[商品详情→规格→提交订单→支付] ``` #### 图6 下单、履约与分红 ```mermaid flowchart TD A[直播中提交订单] --> B{参与店+场次直播中+本店有库存?} B -->|否| C[不可下单] B -->|是| D[直播价 - 1张券 = 实付] D --> E[支付成功] E --> F[扣本店库存 / 门店收款 / 打直播标] E --> G[快照价佣 + 预计算奖励基数] G --> H{结算周期配置} H -->|订单支付| I[计入待结算] H -->|订单完成| J{已确认收货?} J -->|否| K[暂不计入待结算 不出现在奖励明细] J -->|是| I I --> L{售后期满且无进行中售后?} L -->|是| M[已结算 从门店结算款划扣] L -->|否| N[维持待结算 延期至售后结束再判] ``` 系统交互时序(多端口): ```mermaid sequenceDiagram participant U as 会员 participant C as 门店端 participant O as 订单中心 participant S as 门店库存 participant M as 分红账本 U->>C: 直播中下单 C->>C: 校验参与门店+场次直播中 C->>O: 直播价+本场券计算实付 O->>S: 扣本店库存 alt 库存不足 S-->>U: 不可下单 else 成功 O-->>M: 快照价佣 + 预计算奖励基数 Note over M: 按结算周期计入待结算<br/>售后期满且无售后中后划扣为已结算 end ``` #### 图7 邀约分享与奖励 ```mermaid flowchart TD A[邀约人打开分享弹窗] --> B[生成带 live_id + inviter 的链接/海报] B --> C[邀约对象打开链接/扫码] C --> D{已登录?} D -->|否| E[强制登录后带回原链] D -->|是| F{门店参与?} E --> F F -->|否| G[拦截页:很抱歉你当前无法进入直播间] F -->|是| H{场次状态} H -->|待开播| I[预告页] H -->|直播中| J[观看页] H -->|已结束| K[会员直播结束页] I --> L{本场已成功进过房?} J --> L L -->|否| M[锁定 invitee→inviter] L -->|是| N[不记邀约/不覆盖] M --> O[邀约对象下单支付] O --> P[快照邀约奖励基数=实付×邀约人奖励比例] P --> Q{结算周期配置} Q -->|订单支付| R[计入待结算] Q -->|订单完成| S{已确认收货?} S -->|是| R S -->|否| T[暂不计入待结算] R --> U[我的收益 / 后台邀约人列表] ``` #### 图8 券从创建到核销 ```mermaid flowchart TD A[营销:新增活动 领取渠道=直播] --> B[活动启用] B --> C[直播券池:从商城引入] C --> D[建场:备券到本场] D --> E[主播中控:手动发放] E --> F[会员:抽屉领券] F --> G[提交订单:选1张券] G --> H[支付成功:核销] H --> I[直播券不进商城领券中心] ``` ### 3.4 领域模型(逻辑实体) | 实体 | 说明 | 关键字段 | | --- | --- | --- | | Anchor | 主播账号 | 账号、姓名、启用状态 | | LiveProductPool | 直播商品池 | skuId、默认直播价、<span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】主播奖励比例(默认 0%,无「默认分红%」配置)</span>、启用 | | LiveCouponPool | 直播券池 | 券活动ID、规则快照、启用 | | LiveSession | 直播场次 | 标题、封面、时间、状态、主播 | | LiveStoreRel | 参与门店 | sessionId、storeId | | LiveProduct | 本场商品 | 池商品引用、本场直播价、分红%、上架、讲解 | | LiveCoupon | 本场券 | 池券引用、显示开关 | | LiveOrderTag | 订单直播扩展 | 场次、主播、价/分红快照、来源=live | | LiveCommissionLedger | 分红流水 | 实付、比例、金额、状态、期满时间、划扣批次 | --- ## 4. 功能需求(商城后台) ### 4.0 商城后台菜单总览 本期原型与研发的优先交付面。资源先入池,场次再引用。 | 菜单 | 目标 | 关键页面 | | --- | --- | --- | | 应用(顶栏更多) | 进入我的应用;企业服务下挂【直播】 | 应用卡片页;点击【直播】→ 数据看板 | | 数据看板 | 所有直播汇总分析 | 总览页 | | <span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】直播间管理</span> | 场次创建与管理 | 列表、创建、详情、单场数据、订单 | | 主播管理 | 主播账号与经营数据 | 列表、添加主播、主播详情、启用/禁用 | | 商品管理 | 直播商品池 | 池列表、从商城添加、池内价佣配置 | | 优惠券管理 | 直播券池 | 池列表、从商城添加 | | 基础设置 | 直播通用配置 | 结算周期、推流/播放/IM、<span style="color:#6d28d9;background:#f3e8ff;font-weight:600">腾讯云回调</span>等 | #### 我的应用 · 直播入口 - 入口:管理中心顶栏「更多 → 应用」进入「我的应用」。 - 侧栏:我的应用 / 应用市场 / **直播**(二级可展开;子项:数据看板、直播间管理、主播管理、商品管理、优惠券管理、基础设置);点击「直播」展开,再点收起。 - 主区页签:对齐原商城多页签(首页固定不可关;进入页面自动开签并激活;可切换 / × 关闭)。 - 订单模块:顶栏「订单」进入;侧栏含订单管理 / 售后管理 / 评价管理;订单管理**底座**对齐原商城列表(主/子单结构、列、操作、筛选收起交互等不变)。**新增**:订单标识枚举增加「直播」;会员在直播间点击商品购买并支付成功的订单打「直播」标识(组底 tag + 可筛)。**边界**:仅直播间购路径打标;非直播订单标识与筛选逻辑不变。详见[第 8 章 · 原商城改动影响面](#8-原商城改动影响面)。 - **营销模块(原商城)**:顶栏「营销」进入;侧栏「优惠券」下含活动管理 / 优惠券列表(领取明细)/ 领取规则。**活动管理**对齐原商城;【+ 新增优惠券活动】→「新增活动」;【详情】→「活动详情」。**新增**:① 表单「使用范围」下「领取渠道」商城/直播(默认商城,创建后不可改);② 列表筛选/列「领取渠道」(活动管理不展示入池状态);③ 渠道=直播不进商城领券中心;④ 直播券池仅引入「渠道=直播且已开启」。核销与其他券逻辑沿用原商城。一期发放=PC 手动,无定时发。详见附录与 4.5。 - 在**企业服务**分类下新增【直播】卡片(与「七件事」并列)。 - 点击【直播】进入直播【数据看板】;侧栏「直播」展开并高亮「数据看板」。 > 推荐运营顺序:更多 → 应用 → 直播 → 主播管理添加主播 → 商品管理入池 → 优惠券管理入池 → <span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】直播间管理建场</span> → 数据看板复盘。 #### 运营主流程 > **流程说明:** 下图展示本模块在整体链路中的位置;总览见 [§3.3 图1](#33-核心流程)。 ```mermaid flowchart TD A[营销:创建领取渠道=直播的券活动] --> B[优惠券管理:引入直播券池] C[商品管理:从商城引入商品池] --> D[主播管理:添加并启用主播] B --> E[直播间管理:创建直播] C --> E D --> E E --> F[选主播 + 指定参与门店] F --> G[从商品池选品 / 从券池备券] G --> H{保存校验} H -->|失败| I[Toast 停留当前页] H -->|通过| J[场次状态=待开播] J --> K[主播端可见 / 参与店会员可见预告] ``` ### 4.1 数据看板 菜单:<span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】直播 → 数据看板</span>;亦可由「更多 → 应用 → 我的应用 → 企业服务 → 直播」进入。跨场次总览,不做旧版邀约/回放/2 分钟在线趋势、经营趋势图与排行榜。 #### 筛选 各筛选项 **AND 组合**;点击「查询」刷新概况卡片,「重置」恢复默认(时间近 30 天,其余清空)。 | 字段 | 类型 | 必填 | 说明 | | --- | --- | --- | --- | | 时间范围 | 日期区间 | 否 | 默认近 30 天;场次类指标按「开播时间」落区间(未开播=计划时间,已开播=首次实际开播时间) | | 场次 | 下拉/搜索 | 否 | 可多选;模糊匹配直播间 ID / 名称 | | 主播 | 文本/下拉 | 否 | 按主播筛选 | | 参与门店 | 下拉 | 否 | 选中后,**页面全部指标**仅统计该门店数据;空为全部门店 | **参与门店约束:** | 指标类型 | 口径 | | --- | --- | | 场次 | 仅统计参与门店列表 **包含所选门店** 的场次 | | 成交 | 仅统计 **归属该门店** 的直播订单(会员归属门店、收款归门店) | #### 概况卡片 **9 张独立指标卡**横向排列(样式与直播间详情概况卡一致:白底圆角、指标名 + `i` 口径提示、大号数值)。分两组: **场次组(数据看板特有)** | 指标 | 口径 | | --- | --- | | 场次 | 筛选范围内商城直播场次数;含 **待开播、直播中、已结束**;**不含已取消**;时间筛选口径见下 | | 直播中 | 同上范围内,当前状态为 **直播中** 的场次数 | **经营组(与 [4.3.1 主播详情](#431-主播详情)「直播概况」同构;统计范围为当前筛选条件下全部相关场次,**跨场次不去重**)** | 指标 | 口径 | | --- | --- | | GMV | 筛选范围内相关直播场次订单总销售额;含 **实付 + 未付款/取消/拒收**;各订单金额 **含运费** 之和 | | 带货转化率 | 筛选范围内**成交人数** ÷ **观看人数** × 100%(**跨场次不去重**,同一会员在多个场次分别计数) | | 主播带货奖励 | 筛选范围内主播带货提成合计 | | 访问人数 | 筛选内各场次「创建起至今」访问用户,**跨场次不去重** | | 观看人数 | 筛选内各场次「开播起至今直播中进房」用户,**跨场次不去重**(预告不计) | | 订单成交金额 | 同上范围内,**已付** 订单总金额 | | 订单成交数量 | 同上范围内,**已付** 订单总数量 | **场次时间筛选口径(与 §4.2 列表「开播时间」一致):** | 场次是否已开播 | 用于时间筛选的「开播时间」 | | --- | --- | | 从未开播(待开播) | **计划开播时间** | | 已开播(直播中 / 已结束) | **首次实际开播时间** | > GMV / 带货转化率 / 主播带货奖励 / 访问人数 / 观看人数 / 订单成交金额 / 订单成交数量 与 §4.2.3、§4.3.1 同名指标口径一致;统计范围为当前筛选条件下的多场次汇总(**跨场次不去重**——其中**访问人数 / 观看人数 / 带货转化率(成交人数与观看人数)**为跨场次不去重:同一会员在多个场次分别计数,例:会员1 观看直播1、直播2 → 访问人数=2、观看人数=2)。 #### 直播转化漏斗 紧跟概况下方。结构与口径对齐 [4.2.3 直播间详情](#423-直播间详情)「直播转化漏斗」;统计范围为**商城全部相关直播场次**(受筛选约束;**跨场次不去重**)。漏斗数值与经营组概况中访问人数 / 观看人数 / 成交(去重)**当前累计终值**对齐。 三层漏斗,自上而下: 1. **访问人数** — 筛选内各场次创建起至今进入预告/直播间相关页的用户数(跨场次不去重,同一会员在多个场次分别计数;= 概况「访问人数」) 2. **观看** — 筛选内各场次开播起至今直播中进房观看的用户数(预告不计;跨场次不去重,同一会员在多个场次分别计数;= 概况「观看人数」) 3. **成交** — 支付成功用户数(**跨场次不去重**,同一会员在多个场次分别计数;与订单成交口径一致) 展示:标题旁 `?` 提示「访问人数 → 观看 → 成交」;【数据解读】横幅总访问成交转化率;右侧区间转化率(访问→观看、观看→成交)及竖向访问成交转化率。 #### 本期不做 跨场次总览级经营趋势图、排行榜、观看/分红概况、邀约排行、回放拆分、**实时观众人数趋势折线**(含 2 分钟 / 按日)、在线人数 2 分钟趋势图。<span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】不做单场邀约排名。</span> #### 页面布局(原型) 1. 筛选卡片:时间范围(默认近 30 天)、场次、主播、参与门店 + 查询/重置。 2. 概况卡片:**9 张**指标卡(场次、直播中、GMV、带货转化率、主播带货奖励、访问人数、观看人数、订单成交金额、订单成交数量)。 3. **直播转化漏斗**(全商城跨场次汇总;无观众趋势折线)。 > **原型说明:** `商城后台直播功能原型.html` 已按本节实现可交互总览页;正式版指标口径与数据服务以本节为准。 ### 4.2 直播间管理 · 列表 菜单:<span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】直播 → 直播间管理</span>。运营日常管理入口。 #### 页面布局 1. 页标题:<span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】直播间管理</span>。 2. 筛选卡片:直播间、主播、直播间状态、创建时间 + 查询/重置。 3. 操作栏:「+ 新增直播间」;右侧展示主播开播链接 +【复制】按钮。 4. 列表卡片:表格;底部分页(共 X 条|页码|每页条数|跳至)。 #### 筛选字段 | 字段 | 类型 | 必填 | 说明 | | --- | --- | --- | --- | | 直播间 | 文本 | 否 | 模糊匹配直播间 ID / 名称 | | 主播 | 文本 | 否 | 模糊匹配主播 ID / 昵称 / 手机号 | | 直播间状态 | 枚举 | 否 | 待开播 / 直播中 / 已结束 / 已取消 | | 创建时间 | 日期范围 | 否 | 双月历范围选择器;展示格式 YYYY-MM-DD 至 YYYY-MM-DD;按创建日期区间筛选 | #### 查询与重置 | 按钮 | 交互 | 数据结果 | | --- | --- | --- | | 查询 | 读取当前筛选项,刷新列表 | 各条件 AND 组合过滤;列表按创建时间倒序;分页回到第 1 页;底部分页「共 X 条」同步更新;无匹配展示空态 | | 重置 | 清空直播间、主播、状态、创建时间 | 恢复展示全量列表;分页回到第 1 页 | #### 筛选规则明细 | 字段 | 匹配规则 | | --- | --- | | 直播间 | 关键字模糊匹配直播间 ID 或名称(部分匹配) | | 主播 | 关键字模糊匹配主播 ID、昵称或手机号(部分匹配) | | 直播间状态 | 精确匹配;空为全部 | | 创建时间 | 按创建日期区间筛选(含起止日);仅选起始则 ≥ 起始日;仅选结束则 ≤ 结束日 | #### 直播间状态定义 | 状态 | 定义 | | --- | --- | | 待开播 | 主播未在直播间进行开播。 | | 直播中 | 主播在直播间进行开播。 | | 已结束 | 主播在直播间结束了直播。 | | 已取消 | 主播在 PC 直播中心确认取消;后台列表仍可见该状态;不可恢复为待开播。 | > **「已取消」** 由 PC 直播中心「取消」触发并同步后台;一期不进 PC 直播历史;C 端不再展示该场次。 #### 操作栏 | 元素 | 说明 | | --- | --- | | + 新增直播间 | 进入添加直播间页 | | 主播端链接 | 主播开播 H5 链接(含 tenantId),只读展示 | | 复制 | 点击复制主播端链接,Toast「复制成功」 | #### 列表字段 默认按**创建时间倒序**;分页每页 10 / 20 / 50 可选。 | 列 | 说明 | | --- | --- | | 直播间 ID | 系统唯一编号,创建时自动生成 | | 直播间信息 | 封面缩略图 + 名称 + ID | | 主播 | 头像 + 主播 ID、昵称、手机号 | | 直播间状态 | 待开播(蓝)/ 直播中(红)/ 已结束(灰)/ 已取消;定义见上表 | | 启用状态 | 启用:可正常开播、会员可进房;禁用:直播间不可访问 | | 创建时间 | 后台创建记录时间 | | 开播时间 | 列表展示口径见下表「开播时间(列表)」 | | 累计时长 | 本场**实际在播**时段累计,格式 `HH:mm:ss`;不含中断空档;见下表 | | 观看人数 | 直播**开始起至今**,**直播中**进房观看的**去重用户数**(预告不计) | | 订单成交数量 | 直播期间产生的已支付订单数 | | 订单成交金额 | 直播期间订单实付金额合计 | | 带货转化率 | 成交人数 ÷ 观看人数 × 100% | | 主播带货奖励 | 当前筛选范围内,该场次主播带货奖励中状态 = **待结算** 的金额合计 | | 操作 | 见「操作列细则」 | #### 开播时间(列表)与累计时长 | 字段 | 口径 | | --- | --- | | **开播时间(列表)** | **待开播且从未开播**:展示创建/编辑表单中的**计划开播时间**;**已开播**(直播中 / 已结束):展示**第一次实际开播时间**(主播首次点「开始直播」时刻,之后不变) | | **累计时长** | 统计**当前这一场**的全部**实际在播**时段之和;**不含**中断、断流等空档时间。例:10:00–10:30 在播、11:00–11:30 在播 → 累计 **1 小时**(非 1.5 小时墙钟时间)。直播中实时递增;关播或禁用时落库。与 PC 中控本场「直播时长」一致 | #### 操作列细则 主操作固定展示;次要操作收入「更多」下拉(页面浮层,不被表格裁切,规则同 AC-28)。 | 按钮 | 显示条件 | 交互与逻辑 | | --- | --- | --- | | 详情 | 始终显示 | 进入该场 [4.2.3 直播间详情](#423-直播间详情)(非侧栏总览) | | 编辑 | <span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】仅待开播</span> | <span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】进入编辑直播间并可保存。直播中 / 已结束 / 已取消不展示,不进入编辑页</span> | | 更多 · 禁用 | 启用状态下 | 二次确认后禁用该直播间。若当前为**直播中**,**自动结束本场直播**(`直播中` → `已结束`),停推、累计时长结算至禁用时刻;禁用后会员不可进房、不可再开播 | | 更多 · 复制链接 | 始终显示 | 复制 C 端观看链接到剪贴板,Toast「链接已复制」 | > 列表**不提供「去直播」**;结束直播由主播在 PC 直播间操作,或由运营在 PC 端外渠道处理(一期列表无「结束」按钮)。 #### 启用状态与直播间状态 | 维度 | 说明 | | --- | --- | | 直播间状态 | 场次生命周期:待开播 / 直播中 / 已结束 / 已取消 | | 启用状态 | 运营开关:禁用后该场次对 C 端不可见、不可进房。**直播中禁用**时同步结束本场(见操作列「禁用」) | #### 后台运营结束直播(补充) 若主播未主动结束,运营需通过联系主播在 PC 直播间结束;或通过对**直播中**场次执行「禁用」自动结束本场。一期列表不提供独立「结束」按钮。 ### 4.2.1 创建直播 单页滚动表单。选品选券从资源池选择。 #### 页面结构 - <span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】无页顶返回链。</span>标题「添加直播间」/「编辑直播间」。待开播靠底部【取消】回列表。<span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】直播中 / 已结束 / 已取消不进入本页。</span> - 章节:基本信息 → 参与门店 → 所属主播 / 直播商品 →(可选)优惠券。 - 底部固定:取消、确认(**添加**与**待开播编辑**)。<span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】非待开播不进入本页,见 4.2.2。</span> - 无手机预览、无录播、无角色抽屉(主播单选即可)。 #### 底部按钮 | 按钮 | 交互 | 数据结果 | | --- | --- | --- | | 取消 | 关闭返回列表 | 不落库 | | 确认 | 通过校验后 Toast「保存成功」并返回列表 | 状态=待开播 | #### 保存校验(顺序) | 顺序 | 校验项 | 失败提示 | | --- | --- | --- | | 1 | 直播间名称已填 | 请输入直播间名称 | | 2 | 直播间封面已上传 | 请上传直播间封面 | | 3 | 开播时间已填 | 请选择开播时间 | | 4 | 已选择主播 | 请选择主播 | | 5 | 部分门店模式下至少 1 个参与门店(全部门店免此项) | 请选择参与门店 | > 商品、优惠券本期保存**不强校验**,可保存后在编辑页补全。封面、名称、开播时间、主播、参与门店为保存必填项。 #### 基本信息字段 | 字段 | 类型 | 必填 | 交互 / 规则 | | --- | --- | --- | --- | | 直播间名称 | 单行文本 | 是 | 占位提示「请输入直播间名称」;输入框内右侧显示字数「已输入 / 50」;最多 50 字,超出不可再输;未填保存提示「请输入直播间名称」 | | 直播间封面 | 图片 | 是 | 点击上传;JPG/PNG;建议 16:9;未上传保存提示「请上传直播间封面」 | | 开播时间 | 时间选择器 | 是 | **计划开播时间**(创建/编辑时设置);未设置时框内占位「请选择时间」;未填保存提示「请选择开播时间」。列表展示规则见 §4.2「开播时间(列表)」 | | 所属主播 | 弹窗单选 | 是 | 点击「选择主播」打开弹窗;默认空,选择后回显头像+名称;未选保存提示「请选择主播」 | #### 选择主播弹窗 - 入口:基本信息「所属主播」点击「选择主播」按钮弹出。 - 默认态:未选择时为空;选择后添加页回显主播**头像 + 名称**。 - 搜索区:支持输入**主播 ID / 昵称 / 手机号**模糊搜索。 - 主播列表:单选;默认不选;若添加页已选主播,弹窗打开时回显选中该主播。 - 列表列:ID(显示主播 ID);主播信息(显示主播头像、名称、ID)。 - 分页:列表支持换页。 - 操作:取消关闭弹窗且不生效;确定时校验是否已选主播——未选 Toast「请选择主播」,已选则关闭弹窗并回填添加页。 #### 参与门店 - 说明:选择参与的门店,其会员才能参与该直播。 - 单选:**全部门店 / 部分门店**;默认「全部门店」。 - 选择「全部门店」:商城全部门店参与本场直播;不展示「选择门店」按钮与已选列表;页面提示「商城全部门店将参与本场直播。」 - 选择「部分门店」:下方显示【选择门店】按钮与门店列表。 - 未选门店:列表为空(空态)。 - 已选门店:表格展示,支持单个删除。 - 门店列表字段:门店 ID;门店信息(logo、名称、电话);门店认证状态(未认证 / 已认证);操作(删除当前门店)。 - 未参与门店:该店及会员对本场完全不可见(R1)。 #### 选择门店弹窗 - 入口:部分门店模式下点击【选择门店】。 - 搜索:门店 ID / 名字;点击「查询」后列表展示匹配门店。 - 列表:复选框(多选);门店 ID;门店信息(logo、名称、电话);门店认证状态(未认证/已认证)。 - 分页:支持换页。 - 操作:取消—关闭弹窗,不改变添加页已选门店;确定—将勾选结果回显到添加页已选门店列表。 #### 直播商品 > 页面备注:直播中按直播价售卖;佣金=实付×佣金%;无库存门店会员不可下该 SKU。 ##### 选择商品弹窗 - 入口:点击「选择商品」;数据来源于直播「商品管理」列表。 - 搜索:商品名称;商品 ID;分类(三级分类选择组件,选定后作为筛选条件)。 - 列表按**商品维度**展示,字段: - 复选框(多选,含表头全选本页) - 商品 ID - 商品:商品图 + 商品名称 + 商品规格(单规格显示「默认」) - 直播间价格 / 直播奖励比例 / 邀约人奖励比例:读取商品管理列表配置 - 分类;商品状态(上架/下架) - 分页格式:共 X 条|上一页/页码/下一页|每页条数下拉(如 10 / 页)|跳至页码;查询或改每页条数后回到第 1 页。 - 操作:取消—关闭且不变更添加页商品列表;确定—将勾选商品回显到添加页「商品信息」列表(按规格维度,即 SKU)。 ##### 添加页商品列表(按 SKU) | 字段 | 说明 | | --- | --- | | 排序 | 默认按弹窗添加顺序;支持修改;数值小的排在前面,更改后重排 | | 商品ID | 显示商品 ID | | 商品 | 商品图 + 商品名称 + 商品规格;单规格时规格显示「默认」 | | 参与店有货 | 展示「有货门店数 / 无货门店数」;点击打开门店库存弹窗 | | 平台价格 | 商品销售价(只读) | | 直播间价格 | 默认取商品管理直播间价格,可改;仅支持大于 0 且最多两位小数,其他输入无效 | | 主播奖励比例 | 默认取商品管理设置,可改;仅支持 1~100 正整数,其他输入无效 | | 邀约人奖励比例 | 默认取商品管理设置,可改;仅支持 1~100 正整数,其他输入无效 | | 操作 | 移除当前 SKU | ##### 门店库存弹窗 - 门店范围:**仅本场参与门店**;场次为「全部门店」时即全部门店。 - 搜索:门店 ID / 名字;点击查询刷新列表。 - 列表字段:门店 ID;门店信息(logo、名称、电话);商品可售库存(当前 SKU 在该店可售数量)。 - 分页:格式同选择商品弹窗;查询或改每页条数后回到第 1 页。 #### 优惠券 - 「+ 添加优惠券」打开弹窗,数据源为**优惠券管理池**。 - 本端口仅备券;真正发券在 PC 直播间。 - 列表字段:名称、类型、规则、操作(删除)。 ### 4.2.2 编辑直播间 列表「**编辑**」进入,与 [4.2.1 创建直播](#421-创建直播) **共用同一表单页**(原型 `live-form`);标题切换为「编辑直播间」。 #### 一期原型与正式版 | 能力 | 一期原型 | 正式版目标 | | --- | --- | --- | | 基本信息 / 参与门店 / 主播 / 商品 | 单页表单内编辑 | 同左 | | 优惠券备券 | 表单内可选区(原型待补 UI) | 表单或独立 Tab | | 本场直播订单 | 经列表「详情」→ 奖励明细查看 | 可增加独立「直播订单」Tab | | 带货商品讲解/上下架 | 在 PC 直播间中控操作 | 后台详情 Tab 可只读同步 | #### 编辑规则 - 回填已有场次数据;**待开播**保存校验同 4.2.1。 - <span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】**直播中 / 已结束 / 已取消**:列表不展示「编辑」,不进入本页(R12)。</span> - <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">【V1.09】**待开播**:仍可编辑并保存;改价/改分红%仅影响后续新单(支付成功快照不追溯)。</span> #### 带货商品(表单内) | 能力 | 说明 | | --- | --- | | 添加 | 从商品池添加 SKU | | 改直播价 / 主播奖励比例 / 邀约人奖励比例 | 规则同 4.2.1 商品列表 | | 移除 | 未产生进行中订单约束时可移除;有订单时提示 | | 讲解 / 上架 / 售罄 | 一期在 **PC 直播中控** 操作;后台表单仅维护商品与价格 | #### 优惠券(正式版) - 从券池添加/删除;显示开关控制观看端是否展示。 - 后台不直接「发券到直播间」;发放在 PC 直播间。 #### 直播订单(正式版 Tab) - 仅本场直播中产生的订单;拆单逻辑对齐商城(主订单 E + 子订单 SE)。 - 筛:会员昵称、商品名称/ID、订单编号、创建时间。 - 列:序号、子订单号、商品信息、直播价/数量、商品状态、订单实付(主单合并)、订单详情。 - 【订单详情】跳转原商城订单详情。 #### 单场数据 单场经营数据分析见 [4.2.3 直播间详情](#423-直播间详情)。列表「详情」进入该页。 ### 4.2.3 直播间详情 菜单:<span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.12】直播 → 直播间管理 →「详情」</span>。针对单一场次的经营分析页,与侧栏「数据看板」(全场次汇总)独立,互不跳转混淆。 #### 页面入口与布局 - 入口:直播间列表操作列<span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.12】「详情」</span>。 - 返回:<span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】无页内「← 返回直播间列表」。回列表靠工作区 Tab 关闭,或侧栏「直播间管理」。</span> - 布局(自上而下):顶部直播信息卡(固定)→ 直播概况(7 指标卡片)→ 直播图表(趋势 + 漏斗)→ <span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.11】数据列表</span>(Tab:奖励明细 / 邀约人列表 / 商品 / 优惠券)。<span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】无「邀约排名」Tab。</span>页面不单独展示「数据列表」标题,仅水滴/PRD 标注用该名。 - 工作区 Tab / 页标题:<span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.12】「直播间详情」</span>(原「单场直播数据」)。 - 刷新:直播中概况与图表每 **2 分钟** 自动刷新一次。 #### 顶部直播信息卡 固定展示,不随 Tab 切换隐藏。 | 字段 | 说明 | | --- | --- | | 直播封面 | 展示直播间封面图 | | 直播状态 | 封面左上角角标:待开播 / 直播中 / 已结束 / 已取消 | | 直播名称 | 直播间标题 | | 直播时间 | 开播时间,如 `08-15 19:30`;有结束时间时展示区间,如 `08-15 19:30-22:00` | | 主播 | 本场关联主播名称 | #### 直播概况 汇总**当前直播场次**的数据指标,7 张指标卡横向排列。指标名称旁提供 `i` 图标:鼠标悬停展示该指标口径说明(深色气泡提示;口径见下表)。 | 指标 | 口径 | | --- | --- | | GMV | 当前直播总销售额(含实付 + 未付款/取消/拒收);各订单金额(含运费)之和 | | 带货转化率 | 当前直播**成交人数** ÷ **观看人数** × 100% | | 主播带货奖励 | 当前直播主播带货的提成 | | 访问人数 | 直播**创建起至今**,进入预告页或直播间相关页的**去重用户数** | | 观看人数 | 直播**开始起至今**,**直播中**进房观看的**去重用户数**(预告不计);即**观看人数(累计)**,与中控顶栏实时「观看人数」同名不同口径 | | 订单成交金额 | 当前直播所有已付订单总金额 | | 订单成交数量 | 当前直播所有已付订单总数量 | #### 直播图表 ##### (1)实时观众人数趋势 折线图,统计本场时段内三类人数的**累计**变化(每个数据点 = **截至该时刻**的累计去重数,非该 2 分钟段增量): | 序列 | 说明 | | --- | --- | | 访问人数 | 自直播创建起至该时刻,进入预告页或直播间相关页的**去重用户数** | | 观看人数 | 自直播开始起至该时刻,**直播中**进房观看的**去重用户数**(预告不计) | | 离开人数 | 自直播开始起至该时刻,**直播中**进房观看后**已离开**的人数(去重) | 直播中每 2 分钟一个数据点;已结束场次展示本场完整时段趋势。关系上:观看人数 ≤ 访问人数;离开人数 ≤ 观看人数。 **横轴(仅单场数据页):** 展示本场 **开播至结束**(直播中则为开播至当前)的 **具体时刻** `HH:mm`(如 `10:00`、`10:02`),**非按日**。数据点间隔 2 分钟;横轴标签过多时可间隔展示刻度,tooltip/明细仍保留完整时刻。主播详情、PC/H5 数据分析等多场次汇总页横轴仍 **按日**(见 §4.2.4、§5.6)。 ##### (2)直播转化漏斗 三层漏斗,自上而下依次为: 1. **访问人数** — 直播场次**创建起至今**,进入预告页或直播间相关页的**去重用户数**(= 概况「访问人数」)。 2. **观看** — **直播实际开始起至今**,**直播中**进房观看的**去重用户数**(预告不计;= 概况「观看人数」)。 3. **成交** — 本场直播间**支付成功**的用户数(**去重**),与概况「订单成交金额 / 订单成交数量」口径一致(已付订单对应的去重购买人数)。 漏斗数值与概况指标卡**当前累计终值**对齐。漏斗标题旁 `?` 悬停提示路径:访问人数 → 观看 → 成交。漏斗右侧展示: - 访问 → 观看 转化率 - 观看 → 成交 转化率 - 访问成交转化率(访问 → 成交总转化率) > 不做:回放拆分、C 端邀约排行榜。<span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】不做本场邀约排名。</span>侧栏「数据看板」不提供 2 分钟趋势折线(提供跨场次转化漏斗,见 §4.1)。 #### Tab:数据列表(奖励明细 / 邀约人列表 / 商品 / 优惠券) > <span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.11】</span>水滴/章节标注名为「数据列表」。原型 Tab 文案:奖励明细 | 邀约人列表 | 商品 | 优惠券。仅<span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.12】直播间详情</span>页;主播详情仍为奖励明细 / 邀约人列表。 > <span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】奖励明细与邀约订单详情不展示「奖励时间」列。</span> ##### (1)奖励明细 记录**当前直播**的订单奖励明细。 | 列 | 说明 | | --- | --- | | 订单号 | 子订单号,如 `E202608151130246383` | | 订单金额 | 订单实付金额 | | 商品信息 | 商品图片;商品规格(单规格商品显示「默认」);直播价格;数量,如「数量:2」 | | 奖励比例 | 商品在当前直播设置的奖励比例 | | 奖励金额 | 奖励金额 = 实付金额 × 奖励比例 | | 奖励状态 | 已结算 / 待结算;仅展示已达结算周期计入时点的订单(见 [§2.3](#23-计价与分红逻辑)) | | 所属直播 | 当前订单所属直播间名称 | | 所属门店 | 订单所属门店:门店 logo、门店名称、门店电话 | | 下单时间 | 如 `2026-06-23 17:36:50` | ##### (2)邀约人列表 记录**本场**邀约明细(一行 = 一对邀约人→邀约对象;归因规则见 [6.5](#65-分享与邀约归因))。<span style="color:#6d28d9;background:#f3e8ff;font-weight:600">**同一场同一邀约对象至多 1 条**:A、B 都把本场链接发给 C 且 C 都点开过,只记 C **第一次点开并成功进房** 的那条链接。C **先经自然流量进房**、再点分享链 → **不记**。**第一次进入直播间含待开播进预告**(未开播进预告即算,不必等到开播后观看页)。</span> | 列 | 说明 | | --- | --- | | 邀约人 | 分享链接的会员;展示会员头像、会员名称、会员 ID | | 邀约对象 | 通过该邀约人分享链**首次成功进房**(含待开播进预告)并锁定的会员 | | 是否下单 | 是 / 否;该邀约对象在本场是否产生直播订单 | | 奖励金额 | 该对象本场下单产生的邀约人奖励合计;邀约奖金 = 实付 × 邀约人奖励比例;未下单为 ¥0.00 | | 邀约时间 | 邀约对象首次经该分享链成功进房时间,如 `2026-06-23 17:36:11` | | 操作 | 「详情」按钮;仅邀约对象已下单时展示,未下单显示「—」 | > <span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】已删除「邀约排名」。按邀约人回看只用上方「邀约人列表」。</span> ##### (3)商品 <span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.11】</span>展示**当前直播间已添加**的商品(按 SKU 一行一条,只读;无增删改)。 | 列 | 说明 | | --- | --- | | 商品ID | 显示商品 ID | | 商品 | 商品图片、商品名称 | | 商品规格 | 商品规格;单规格显示「默认」 | | 平台价格 | 商品销售价(只读) | | 主播奖励比例 | 本场该 SKU 设置的主播奖励比例 | | 邀约人奖励比例 | 本场该 SKU 设置的邀约人奖励比例 | ##### (4)优惠券 <span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.11】</span>展示 PC 中控本场**实际发出过**的优惠券(只读)。建场备券但本场未点「发放」的券**不出现**在本 Tab。<span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.12】不展示「活动发放数量」列。</span> | 列 | 说明 | | --- | --- | | 优惠券名称 | 优惠券活动名称 | | 优惠券类型 | 满减优惠券 / 折扣优惠券 | | 优惠券规则 | 如满 100 减 10、8 折扣 | | 已领取 | 已领取数量(只读) | | 已使用 | 已使用数量(只读) | | 活动开始时间 | 如 2026-08-11 16:00:00 | | 活动状态 | 已开启 / 已关闭 | ##### 订单详情弹窗(邀约) 点击邀约人列表「详情」弹出,展示该邀约对象的下单数据。 | 列 | 说明 | | --- | --- | | 订单号 | 子订单号,如 `E202608151130246383` | | 订单金额 | 订单实付金额 | | 商品信息 | 商品图片;规格(单规格显示「默认」);直播价格;数量 | | 邀约人奖励比例 | 商品在当前直播设置的邀约人奖励比例 | | 邀约人奖励金额 | 邀约人奖励金额 = 实付金额 × 邀约人奖励比例 | | 奖励状态 | 已结算 / 待结算;仅展示已达结算周期计入时点的订单(见 [§2.3](#23-计价与分红逻辑)) | | 所属直播 | 当前订单所属直播间名称 | | 所属门店 | 门店 logo、门店名称、门店电话 | | 下单时间 | 如 `2026-06-23 17:36:50` | ### 4.3 主播管理 菜单:<span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】直播 → 主播管理</span>。从商城会员中指定主播,维护主播状态与经营数据。 #### 页面布局 1. 筛选卡片:主播、直播状态、状态 + 查询/重置。 2. 操作栏:「+ 添加主播」。 3. 列表卡片:主播数据表格 + 统一分页组件。 #### 筛选区 | 字段 | 类型 | 必填 | 说明 | | --- | --- | --- | --- | | 主播 | 输入框 | 否 | 模糊匹配主播 ID / 昵称 / 手机号;占位「请输入主播ID/昵称/手机号」 | | 直播状态 | 下拉 | 否 | 未开播 / 直播中 | | 状态 | 下拉 | 否 | 启用 / 禁用 | #### 添加主播弹窗 - 入口:操作栏点击「+ 添加主播」。 - 目的:从商城会员中单选一名会员设为主播。 | 筛选项 | 类型 | 说明 | | --- | --- | --- | | 会员 | 输入框 | 模糊匹配会员名称 / 手机号 / ID | | 所属门店 | 输入框 | 模糊匹配门店名称 | | 列表列 | 说明 | | --- | --- | | ID | 会员 ID | | 会员名称 | 头像 + 名称 + 电话 | | 所属门店 | Logo + 名称 + 电话 | - 单选:每次仅能选择一名会员。 - 分页:与全站列表分页样式一致。 - 关闭:关闭弹窗,不保存。 - 确定:校验所选会员是否已是主播——是则 Toast「请勿重复添加主播」;否则 Toast「添加成功」,关闭弹窗并在列表新增该主播(默认启用)。添加成功后该会员可用绑定账号登录 PC 直播间开播。 #### 列表字段 | 列 | 说明 | | --- | --- | | 主播 | 头像 + 名称 + 电话 | | 状态 | 启用 / 禁用;仅启用状态可开播;创建直播时仅能选择启用状态的主播 | | 历史直播次数 | 累计创建直播场次次数 | | 直播状态 | 未开播 / 直播中 | | 累计直播时长 | 历史累计直播时长 | | 观看 | 该主播所属直播间累计观看人数,**跨场次不去重**(同一会员在多个场次分别计数) | | 带货转化率 | 成交人数 ÷ 观看人数 × 100%(**跨场次不去重**,同一会员在多个场次分别计数) | | 带货奖励 | 累计带货提成奖励金额 | | 订单成交数量 | 所属直播中已付款订单总数 | | 订单成交金额 | 所属直播中已付款订单金额合计 | | 创建时间 | 添加为主播的时间 | | 操作 | 详情;启用/禁用(按钮文案与状态联动) | #### 规则 - 禁用后不可被新建直播场次选用;已绑定待开播场次需提示处理(同 AC-17)。 - 禁用后不可登录 PC 直播间;未在主播管理中添加的会员账号不可登录。 - 点击「详情」进入 [4.3.1 主播详情](#431-主播详情)。 ### 4.3.1 主播详情 入口:主播管理列表点击「详情」。顶部固定信息卡 + 直播概况 + 图表 + 明细 Tab;支持「← 返回主播列表」。 #### 页面布局 1. 顶部主播信息卡(固定展示) 2. 直播概况(7 项指标卡片) 3. 直播图表(实时观众趋势 + 转化漏斗) 4. Tab:**奖励明细**、**邀约人列表**(跨场次明细)。<span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】无邀约排名;奖励明细不展示「奖励时间」列。</span> #### 顶部主播信息卡 | 字段 | 说明 | | --- | --- | | 主播头像 | 绑定商城会员头像 | | 主播 ID | 主播唯一标识 | | 主播名称 | 绑定会员昵称 | | 主播电话 | 绑定会员手机号 | | 直播状态 | 直播中 / 未开播;头像角标同步展示 | #### 直播概况 汇总该主播名下**所有直播场次**的数据指标,7 张指标卡横向排列。指标名称旁提供 `i` 图标:鼠标悬停展示该指标口径说明(与单场数据页同一套提示交互;统计范围为该主播全部场次,**跨场次不去重**——访问人数 / 观看人数 / 离开人数 / 带货转化率(成交人数与观看人数):同一会员在多个场次分别计数)。 | 指标 | 口径 | | --- | --- | | GMV | 当前主播所有直播总销售额(含实付 + 未付款/取消/拒收);各订单金额(含运费)之和 | | 带货转化率 | 当前主播所有直播**成交人数** ÷ **观看人数** × 100%(**跨场次不去重**,同一会员在多个场次分别计数) | | 主播带货奖励 | 当前主播所有直播主播带货提成 | | 访问人数 | 该主播名下各场次「创建起至今」访问用户,**跨场次不去重** | | 观看人数 | 该主播名下各场次「开播起至今直播中进房」用户,**跨场次不去重**(预告不计) | | 订单成交金额 | 当前主播所有直播所有已付订单总金额 | | 订单成交数量 | 当前主播所有直播所有已付订单总数量 | #### 直播图表 ##### 实时观众人数趋势 折线图,按日统计三类人数的**累计**变化(每个数据点 = **截至该日**的累计数;统计范围为该主播全部场次,**跨场次不去重**): | 序列 | 说明 | | --- | --- | | 访问人数 | 该主播名下各场次访问用户,截至该日累计,跨场次不去重 | | 观看人数 | 该主播名下各场次直播中进房用户,截至该日累计,跨场次不去重(预告不计) | | 离开人数 | 该主播名下各场次直播中进房后已离开用户,截至该日累计,跨场次不去重 | - **横轴**:按日(与单场数据页 `HH:mm` 不同,见 §4.2.3)。 - **图例**:访问人数 / 观看人数 / 离开人数(与单场数据页一致)。 ##### 直播转化漏斗 三层漏斗,自上而下依次为: 1. **访问人数** — 该主播名下各场次**创建起至今**,进入预告页或直播间相关页的**用户数**(**跨场次不去重**,同一会员在多个场次分别计数;= 概况「访问人数」)。 2. **观看** — 该主播名下各场次**开播起至今**,**直播中**进房观看的**用户数**(预告不计;**跨场次不去重**,同一会员在多个场次分别计数;= 概况「观看人数」)。 3. **成交** — **支付成功**用户数(**跨场次不去重**,同一会员在多个场次分别计数),与概况「订单成交金额 / 订单成交数量」口径一致。 漏斗数值与概况指标卡**当前累计终值**对齐(跨场次不去重)。漏斗标题旁 `?` 悬停提示路径:访问人数 → 观看 → 成交。漏斗右侧展示: - 访问 → 观看 转化率 - 观看 → 成交 转化率 - 访问成交转化率(访问 → 成交总转化率) #### Tab:奖励明细 记录主播所有直播订单奖励明细。 | 列 | 说明 | | --- | --- | | 订单号 | 子订单号,如 E202608151130246383 | | 订单金额 | 订单实付金额 | | 商品信息 | 商品图、商品规格(单规格显示「默认」)、直播价格、数量(如 数量:2) | | 奖励比例 | 商品在当前直播设置的奖励比例 | | 奖励金额 | 奖励金额 = 实付金额 × 奖励比例 | | 奖励状态 | 已结算 / 待结算;仅展示已达结算周期计入时点的订单(见 [§2.3](#23-计价与分红逻辑)) | | 所属直播 | 当前订单所属直播间名称 | | 所属门店 | 门店 logo、门店名称、门店电话 | | 下单时间 | 如 2026-06-23 17:36:50 | #### Tab:邀约人列表 记录主播所有直播下的邀约人数据(跨场次明细)。<span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】无汇总排名,明细即邀约人列表。</span><span style="color:#6d28d9;background:#f3e8ff;font-weight:600">**跨场次可多条,但同一场次 + 同一邀约对象仍至多 1 条**(规则同 §6.5.5;自然进房后再点分享链不记)。</span> | 列 | 说明 | | --- | --- | | 邀约人 | 邀约其他人进入直播间的会员;展示会员头像、会员名称、会员 ID | | 邀约对象 | 通过邀约人直接分享直播链接,成功邀请到直播的会员(含待开播进预告锁定) | | 是否下单 | 是 / 否;邀约对象是否下单 | | 奖励金额 | 邀约对象下单时邀约人可获得奖励;邀约奖金 = 实付金额 × 邀约人奖励比例 | | 邀约时间 | 邀约对象首次通过邀约人分享链接进入直播间的时间,如 2026-06-23 17:36:11 | | 操作 | 「详情」按钮;仅邀约对象已下单时展示 | ##### 订单详情弹窗 点击邀约列表「详情」弹出,记录邀约对象的下单数据。 | 列 | 说明 | | --- | --- | | 订单号 | 子订单号,如 E202608151130246383 | | 订单金额 | 订单实付金额 | | 商品信息 | 商品图、规格(单规格显示「默认」)、直播价格、数量 | | 邀约人奖励比例 | 商品在当前直播设置的邀约人奖励比例 | | 邀约人奖励金额 | 邀约人奖励金额 = 实付金额 × 邀约人奖励比例 | | 奖励状态 | 已结算 / 待结算;仅展示已达结算周期计入时点的订单(见 [§2.3](#23-计价与分红逻辑)) | | 所属直播 | 当前订单所属直播间名称 | | 所属门店 | 门店 logo、门店名称、门店电话 | | 下单时间 | 如 2026-06-23 17:36:50 | ### 4.4 商品管理(直播商品池) 从商城商品库引入;建场时只从本池选用。数据按 **SKU 单规格** 展示(与原型一致)。 #### 页面目标 维护可带货的直播商品池,配置默认直播价与奖励比例,供创建/编辑直播引用。 #### 页面布局 1. 筛选卡片:商品、商品分类、商品状态 + 查询/重置。 2. 操作栏:「添加商品」。 3. 列表卡片:SKU 维度表格 + 底部分页。 #### 查询区 | 字段 | 类型 | 说明 | | --- | --- | --- | | 商品 | 输入框 | 模糊匹配商品 ID / 商品名称 | | 商品分类 | 三级分类选择 | 选定后作为筛选条件 | | 商品状态 | 下拉 | 上架 / 下架 | 操作:**查询**刷新列表并回到第 1 页;**重置**清空条件恢复全量。 #### 添加商品弹窗 - 入口:操作栏【添加商品】。 - 数据源:商城商品库(非已入池 SKU)。 - 查询:商品 ID/名称模糊搜索;三级分类;商品状态。 - 列表(商品维度):商品 ID、商品图+名称、分类、商品状态。 - 分页:共 X 条|上一页/页码/下一页|每页条数|跳至;查询或改每页条数后回到第 1 页。 - **确定**:将勾选商品按 **SKU 规格** 回显到商品列表;**取消**:关闭且不变更。 #### 商品列表(按 SKU) | 列 | 说明 | | --- | --- | | 商品 ID | 显示商品 ID | | 商品 | 商品图 + 名称 + 规格;单规格显示「默认」 | | 商品状态 | 上架 / 下架(只读,对齐商城) | | 店有货 | 有货门店数 / 无货门店数;点击打开店铺库存弹窗(全部门店) | | 平台价格 | 商品销售价(只读) | | 直播间价格 | 默认取销售价,可改;仅支持 >0 且最多两位小数 | | <span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】主播奖励比</span> | 默认 0%,可改;1~100 正整数。<span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】不从基础设置「默认分红%」预填。</span> | | 邀约人奖励比例 | 默认 0%,可改;1~100 正整数 | | 添加时间 | 添加至商品池的时间 | | 操作 | 移除当前 SKU | #### 店铺库存弹窗 入口:商品管理商品列表「店有货」;**门店范围为全部门店**(商城所有门店),不受场次与参与门店限制。 - 搜索:门店 ID / 名字;点击「查询」刷新列表。 - 列表:门店 ID;门店信息(logo、名称、电话);商品可售库存(当前 SKU 在该店可售数量)。 - 分页:格式同选择商品弹窗。 #### 规则 - 池内有货 ≠ 各参与店都能卖;仍依赖门店同步商品 + 本店库存(R5)。 - 进行中场次正在使用的 SKU:**不可移除**;可从建场选用侧停用展示。 - 直播价建议 ≤ 平台价;若高于则二次确认提示。 - 列表「更多」菜单(若有)以页面浮层展示,不被表格裁切(同 AC-28)。 ### 4.5 优惠券管理(直播券池) 将主商城**领取渠道=直播**的优惠券添加至列表,用于直播间发放配置;从商城**营销 → 优惠券 → 活动管理**引入,场次备券,**PC 直播间手动发放**(一期不做定时发)。 #### 券全链路流程 > **流程说明:** 总览见 [§3.3 图8](#33-核心流程)。 ```mermaid flowchart TD A[营销:新增活动 领取渠道=直播] --> B[活动启用] B --> C[直播券池:从商城引入] C --> D[建场:备券到本场] D --> E[主播中控:手动发放] E --> F[会员:抽屉领券] F --> G[提交订单:选1张券] G --> H[支付成功:核销] H --> I[直播券不进商城领券中心] ``` #### 闭环(一期) ``` 营销·新增活动(领取渠道:商城|直播,创建后不可改) │ ┌────┴────┐ ▼ ▼ 渠道=商城 渠道=直播 │ │ 领券中心 已开启 → 直播券池(保留)→ 建场备券 → PC【手动发放】→ 直播间领取 (过滤直播券) │ 商城下单可核销(原逻辑) ``` #### 与原商城营销的关系(底座 / 新增 / 边界) | 段 | 内容 | | --- | --- | | 底座 | 券活动在「营销 → 活动管理」创建与维护(新增活动/活动详情、启用开关、活动状态等);规则/有效期/核销沿用原商城 | | 新增 | 「领取渠道」商城/直播;本页为直播券池:仅引入「渠道=直播且已开启」;营销活动管理展示「领取渠道」(不展示入池列) | | 边界 | 渠道创建后不可改;不在营销页发券;不做定时发;关闭后不可新引入;入池发放中不可从本页删除;商城渠道券不进本池 | #### 页面目标 维护直播券池,供创建/编辑直播场次备券;后台不直接发券,主播在 PC 直播间**手动**发放。 #### 查询区 | 字段 | 类型 | 说明 | | --- | --- | --- | | 优惠券 | 输入框 | 按优惠券名称模糊搜索 | | 类型 | 下拉 | 满减优惠券 / 折扣优惠券 | 操作:**查询**按条件过滤券池列表并回到第 1 页;**重置**清空条件并恢复全量列表。 #### 操作栏 【**添加优惠券**】:点击弹出「添加优惠券」弹窗,从主商城营销中心引入优惠券至券池。 #### 添加优惠券弹窗 ##### (1)查询 - 优惠券:输入框,按优惠券名称模糊搜索。 ##### (2)列表 | 列 | 说明 | | --- | --- | | 复选框 | 多选,含表头全选本页 | | 优惠券 ID | 营销中心券活动 ID | | 优惠券名称 | 活动名称 | | 优惠券类型 | 满减优惠券 / 折扣优惠券 | | 优惠券规则 | 如满 100 减 10、满 1000 减 500、8 折扣、5 折扣 | | 活动发放数量 | 活动配置发放总量 | | 已领取 | 已领取数量(只读) | | 已使用 | 已使用数量(只读) | | 活动开始时间 | 如 2026-08-11 16:00:00 | | 活动状态 | 已开启(弹窗仅展示已开启) | | 创建时间 | 券活动在营销中心创建时间 | ##### (3)分页 格式同「选择商品」弹窗;查询或修改每页条数后回到第 1 页。 ##### (4)操作 - **取消**:关闭弹窗,不变更券池列表。 - **确定**:将勾选结果回显至券池列表;已在池中的券不重复添加。 > 弹窗数据源:主商城营销中心 **领取渠道=「直播」** 且活动状态为「已开启」的优惠券;已在券池中的券不在弹窗列表展示;渠道=「商城」的券不可选。 #### 优惠券列表(券池) | 列 | 说明 | | --- | --- | | 优惠券名称 | 优惠券活动名称 | | 优惠券类型 | 满减优惠券 / 折扣优惠券 | | 优惠券规则 | 如满 100 减 10、满 1000 减 500、8 折扣、5 折扣 | | 活动发放数量 | 对应活动发放数量 | | 已领取 | 已领取数量(只读) | | 已使用 | 已使用数量(只读) | | 活动开始时间 | 如 2026-08-11 16:00:00 | | 活动状态 | 已开启 / 已关闭 | | 操作 | 删除;若含「更多」入口,下拉同样以页面浮层展示,不被表格滚动裁切 | ##### 删除 - 点击「删除」弹出二次确认「确认删除」。 - 点击「取消」:关闭弹窗,不删除。 - 点击「确认」:校验优惠券是否在直播间中发放中——是则提示「直播间发放中,提示不能删除」;否则从券池列表移除。 分页:格式同「选择商品」弹窗;查询或修改每页条数后回到第 1 页。 #### 规则 - 遵循 R7/R10:本场券由中控发放;直播确认订单还可选用该商品商城详情中的券,与本场券互斥只选 1 张。 - 后台不发放到直播间;主播在 PC 直播间**手动**发券(一期无定时发)。 - 源活动须为「领取渠道=直播」且「已开启」方可从商城引入;券池移除不影响已结束场次订单快照。 - 用户在直播间领取后,商城下单核销逻辑与原商城优惠券一致。 ### 4.6 基础设置 直播通用配置。主播账号维护见 [4.3 主播管理](#43-主播管理)。 #### 4.6.1 主播登录平台设置 与「奖励设置」「直播设置」「回调设置」同级的独立区块(基础设置第 ① 项),用于配置 PC 直播间登录页的品牌。 | 配置项 | 类型 | 录入方式 | 规则 | | --- | --- | --- | --- | | logo | 图片 | 点击上传 | 支持 png / jpg / webp;上传后展示缩略图,可点 × 移除;不设置时 PC 登录页展示默认播放图标 | | 名称 | 文本 | 单行输入 | 直播系统名称,**最多 10 字**(超出不可再输,框内右侧显示「已输入 / 10」);不设置时 PC 登录页默认「**直播平台**」 | **表单样式:** 对齐「添加直播间」表单项(标签右对齐 + 控件区):logo 为虚线框【+】上传框(104×104),名称输入框宽 320px、框内右侧显示「已输入 / 10」;两项均**不展示说明文案(hint)**。 **交互口径:** 1. 上传 logo 或修改名称后**即时生效**,不随 ④「回调设置」底部的页面唯一【保存设置】提交。 2. 生效范围:PC 直播间**登录页**与内页**顶栏品牌**(同源);未配置时两者均回退默认播放图标 + 「直播平台」(顶栏不再固定「主播中心」)。 3. 原型用 localStorage(`yunLiveLoginBrand`)模拟跨标签同步;正式版由服务端下发该租户的品牌配置。 #### 4.6.2 奖励设置 | 配置项 | 类型 | 说明 | | --- | --- | --- | | 结算周期 · 订单支付 | 单选 | 用户支付成功后即计入待结算奖励 | | 结算周期 · 订单完成 | 单选 | 用户确认收货后才计入待结算奖励 | <span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】奖励设置只有「结算周期」,不做「默认分红%」。商品池「主播奖励比」默认 0%,在池内填写。</span> **结算周期规则(与 [§2.3](#23-计价与分红逻辑) 一致):** - 全局配置,**主播带货奖励与邀约人奖励共用**同一结算周期。 - 切换配置仅对保存后新达标订单生效,不追溯历史。 - 「订单完成」模式下,已支付未收货订单不出现在各端奖励明细,不设第三展示态。 - 「待结算」与「已结算」两层状态:前者由结算周期决定计入时点,后者由 R9 售后期满划扣决定。 #### 4.6.3 直播设置 页面分区:**推流 / 播放配置** → **腾讯云密钥**(敏感区顶部提示:密钥仅用于服务端调用,默认脱敏,勿对外分享)。 | 分区 | 配置项 | 类型 | 展示规则 | 说明 hint | | --- | --- | --- | --- | --- | | 推流 / 播放 | 推流地址域名 | 文本 | 明文可编辑 | <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">无</span> | | 推流 / 播放 | 推流鉴权 Key | 敏感文本 | 密码框;已配置 placeholder 全脱敏;点击直接录入 | <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">用于生成带鉴权的推流地址</span> | | 推流 / 播放 | 播放地址域名 | 文本 | 明文可编辑 | <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">用于观众观看直播</span> | | 腾讯云密钥 | SDKAppID | 文本 | 明文可编辑 | <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">无</span> | | 腾讯云密钥 | IM secret_key | 敏感文本 | 同推流鉴权 Key | <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">无</span> | | 腾讯云密钥 | 腾讯云 API SecretId | 敏感文本 | 同推流鉴权 Key | <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">请在腾讯云控制台「访问管理 → 访问密钥 → API 密钥管理」获取</span> | | 腾讯云密钥 | 腾讯云 API SecretKey | 敏感文本 | 同推流鉴权 Key | <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">用于调用腾讯云直播 API;请在腾讯云控制台「访问管理 > 访问密钥 > API密钥管理」中获取</span> | | — | 非待开播编辑场次 | 固定规则 | — | 直播中 / 已结束 / 已取消不可编辑(同 R12);待开播可编辑 | <span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】直播设置不做「预告对参与店可见」开关。预告对参与店可见、不可下单仍按 R1 / R8。</span> **敏感字段交互口径:** 1. **已配置**:输入框 value 为空,placeholder 展示全脱敏占位(如 `••••••••••••••••••••`);不把完整密钥写入 DOM。 2. **编辑**:点击输入框直接录入新值,`type=password`,可切换临时「显示/隐藏」;无需【修改】【取消】。 3. **保存**:见下方「保存」;输入框为空 → 保留原密钥;有新值 → 覆盖写入并清空输入、恢复脱敏 placeholder。接口读回时 SecretId / SecretKey / 鉴权 Key / IM secret_key **均不回传明文**。 4. **原型 / 文档**:禁止写入疑似真实密钥示例;统一用脱敏占位。 #### <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">【V1.08】4.6.4 回调设置</span> <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">【V1.08】与「奖励设置」「直播设置」同级的独立区块,用于对接腾讯云直播事件回调。</span> | 配置项 | 类型 | 展示规则 | 说明 hint | | --- | --- | --- | --- | | <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">回调URL</span> | <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">系统生成</span> | <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">只读 +【点击复制】</span> | <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">请在腾讯云控制台配置此地址;路径中的标识示意租户/商城维度</span> | | <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">鉴权token</span> | <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">文本</span> | <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">明文可编辑</span> | <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">校验回调请求签名,防止伪造;**留空不校验**</span> | **交互口径:** 1. <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">【V1.08】**回调URL**:页面只读展示,不可手改;点击【点击复制】写入剪贴板,Toast「复制成功」。</span> 2. <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">【V1.08】**鉴权token**:可编辑;随页面唯一【保存设置】一并持久化。</span> 3. <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">【V1.08】**验签**:已配置 token 时,服务端校验腾讯回调签名;未配置(空)时跳过验签(便于联调,正式环境建议配置)。</span> #### 保存 <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">【V1.08】页面仅保留一个【保存设置】(位于「回调设置」区块底部)。点击后持久化推流/播放配置、腾讯云密钥与鉴权 token;**密钥输入框为空则保留原值,有新值则覆盖并恢复脱敏占位**;Toast「设置已保存」。回调 URL 为系统生成,无需保存。</span> > 美颜、观看页皮肤等不放本菜单;属 [第 6 章门店端](#6-商城门店端) 或二期。 --- ## 5. PC 直播间 ### 5.0 PC直播间菜单总预览 主播开播端口。视觉对齐 pencil-designer / 商城后台原型(主色 `#1976d2`、浅色后台、Material 圆角卡片);交互模式一致(Toast、二次确认、筛选/分页);**水滴标注说明**与商城后台原型同套(右侧标注面板 + 水滴锚点;**含中控弹窗**:商品列表、门店库存、发券、连麦,打开弹窗时标注面板自动切换)。可交互原型:`直播2/PC直播间原型.html`;标注清单:`直播2/PC直播间水滴标注清单.md`(不出 Pencil `.pen` 文件)。 顶栏菜单信息架构: | 页面 | 一句话说明 | | --- | --- | | 登录页 | 后台已添加且启用的主播登录;校验账号密码后进入主播中心 | | 直播中心 | 主播开播工作台:选择场次并进入直播中控 | | 数据分析 | 汇总查看本主播的直播经营数据与趋势 | | 直播订单 | 记录并查询本主播直播期间产生的订单 | | 直播历史 | 展示本主播已结束场次及关键指标 | ```text 主播中心(PC 开播端) ├── 直播中心 ← 开播工作台 ├── 数据分析 ← 经营数据 ├── 直播订单 ← 订单记录 └── 直播历史 ← 历史场次 ``` ### 5.1 端口定位与约束 | 项 | 说明 | | --- | --- | | 谁用 | 主播管理中绑定且状态=启用的商城会员账号 | | 做什么 | 登录、选场、WebRTC 采集推流开播、讲解商品、发券、结束;查看本主播数据/订单/历史 | | 不做什么 | 不建场、不改参与门店、不改分红规则、无助理/嘉宾协作、无 OBS 独立开播入口(一期) | | 开播方式 | **浏览器内 WebRTC** 采集摄像头/麦克风并推流至直播 CDN(正式对接腾讯云等) | ### 5.2 登录与入口 **页面目标:** 主播使用绑定账号登录,进入 PC 开播端(主播中心)。 #### 入口 - 商城后台「直播间管理」操作栏展示的主播端链接(含 tenantId),主播浏览器打开。 - 原型演示路径:直接打开 `PC直播间原型.html`。 #### 登录页 前置:仅「主播管理」中已添加且状态=启用的会员可登录 PC 直播间开播。 布局:左氛围图(约 55%)+ 右浅底登录卡片(约 45%),对齐参考截图。 **品牌:** 登录卡片的 logo 与名称读取商城后台【基础设置 → 主播登录平台设置】(见 [§4.6.1](#461-主播登录平台设置));**未设置时默认播放图标 + 「直播平台」**;同样作用于内页顶栏品牌(两者同源,未配置时默认播放图标 + 「直播平台」)。 | 字段 | 类型 | 规则 | | --- | --- | --- | | 账号 | 文本 | 占位「请输入账号」。支持绑定会员手机号 / 昵称 / ID。仅允许数字、字母、中文昵称及常用符号 `._@-`;输入时过滤特殊字符(如 `<>"'`;\/ 等)。为空点登录 → Toast「请输入账号」。 | | 密码 | 密码 | 占位「请输入密码」。提供显示/隐藏切换。为空点登录 → Toast「请输入密码」。 | | 记住账号和密码 | 勾选 | 勾选后在本地浏览器缓存账号与密码;下次打开自动带入;取消勾选则清除缓存。 | ##### 登录提交 校验顺序:空账号 → 空密码 → 账号是否存在 → 密码是否正确 → 是否已绑定主播 → 主播是否启用。 | 结果 | 提示 / 行为 | | --- | --- | | 账号不存在 | Toast「账号不存在」 | | 密码错误 | Toast「密码错误」(账号存在时不提示「账号不存在」) | | 未绑定主播 | Toast「该账号未绑定主播,无法登录」 | | 主播已禁用 | Toast「主播已禁用,无法登录」 | | 校验通过 | 进入「直播中心」;顶栏展示主播头像、昵称,支持退出 | ##### 登录留意点 - 账号与密码分开校验,便于运营与主播理解失败原因;正式环境接口仍应对密码做哈希存储,传输 HTTPS。 - 勾选「记住账号和密码」后本地同时缓存账号与密码,便于个人设备快速登录;公共电脑慎用;正式环境可按安全策略改为仅记账号。 - 特殊字符过滤降低 XSS / 注入风险;粘贴时同样过滤。 - 后台新增主播后即可登录;禁用即时生效,已登录会话正式版应踢出或禁止再开播(一期原型:下次登录拦截)。 - 连续输错锁定、验证码、统一登录打通见风险表。 原型演示:`b` / `123456`(午间秒杀 id=30 三端联动主播);或 `qi` / `123456`。禁用示例:`B` 或 `13900001111`。未绑定示例:`13600136001`。 ### 5.3 直播中心 **页面目标:** 主播开播工作台——左侧展示重点预告场次并一键进入开播流程;右侧管理本主播近期场次。 #### 主播开播流程 > **流程说明:** PC 与 H5 同源;总览见 [§3.3 图3](#33-核心流程)。H5 入口见 [§7.3](#73-h5-直播中控)。 ```mermaid flowchart TD A[后台场次=待开播] --> B{开播入口} B -->|PC| C[PC 直播中心] B -->|H5| D[门店端 我的→主播→场次 Tab] C --> E[直播中控 待开始] D --> E E --> F{同主播是否已有直播中?} F -->|是| G[拦截 不可重复开播] F -->|否| H[点击开始直播] H --> I[场次=直播中 推流+中控] I --> J[商品讲解 / 发券 / 公屏 / 连麦] J --> K{结束直播?} K -->|确认结束| L[场次=已结束 结束页] L --> M[返回直播中心 / 主播工作台] E --> N[取消场次] --> O[场次=已取消] ``` #### 布局 | 区域 | 内容 | | --- | --- | | 左侧直播预告 | 按规则展示一场场次(封面、名称、开播时间、状态角标);主按钮【立即开始】;底部主播头像 / 昵称 / ID(可复制) | | 右侧场次列表 | 本主播「直播中 / 待开播 / 已结束」卡片;「已取消」不展示;超出可视高度时区域内纵向滚动,标题与底「已加载全部」固定 | #### 左侧预告显示规则 1. 候选:本主播「直播中」「待开播」场次。 2. 有「直播中」时优先展示该场;否则展示开播时间最近的「待开播」。 3. 无候选时展示空态(暂无待开播场次)。 4. 【立即开始】:待开播 / 直播中 → **直播中控**(待开播进入时中控状态为「待开始」,可直接点【开始直播】)。 #### 右侧列表排序 | 优先级 | 规则 | | --- | --- | | 1 | 状态:直播中 > 待开播 > 已结束 | | 2 | 开播时间升序(靠前的在前) | | 3 | 创建时间降序(最新创建的在前) | #### 直播卡片 | 元素 | 说明 | | --- | --- | | 封面 | 直播封面 | | 名称 / 开播时间 | 均展示;开播时间格式如「8月17日 19:30」 | | 即将开播 | 仅待开播额外标注,蓝色强调 | | 操作 | 直播中、待开播显示【开播】【取消】;已结束纯展示、无操作 | | 操作 | 行为 | | --- | --- | | 开播 | 待开播 / 直播中 → 直播中控(待开播时状态「待开始」) | | 取消 | 二次确认「确认要取消这场直播吗?」→ 确定后状态=已取消;本列表不再显示;不进「直播历史」;商城后台场次同步「已取消」 | ### 5.4 开播准备 **一期定位:** 辅助设备确认页;**默认开播路径为直播中心 → 直播中控**(原型主流程不经过本页)。保留本页供正式版可选「先检设备再开播」。 从待开播场次进入(正式版路由,一期原型未挂入口)。确认设备与本场信息后开播。 #### 画面预览(WebRTC) | 能力 | 说明 | | --- | --- | | 开启预览 | 调用 `getUserMedia` 采集摄像头+麦克风,本地 video 预览 | | 设备选择 | 下拉选择摄像头 / 麦克风(enumerateDevices) | | 关闭预览 | 停止 tracks | | 授权失败 | 预览区占位 + 明确提示;正式版禁止开播;原型可继续演示业务流程 | #### 本场信息(只读) 直播名称、场次状态、计划开播时间、本场商品数、本场优惠券数、开播方式(浏览器 WebRTC)。 #### 开始直播 校验(正式版): 1. 场次状态=待开播 2. 主播启用且为本场所属主播 3. 同主播无其他「直播中」场次 4. 设备授权成功且推流建连成功 成功后:场次 → **直播中**;进入直播中控;后台列表状态同步。 ### 5.5 直播中控 主播开播主操作台。支持在本页完成 **待开始 → 直播中 → 已结束**;**不展示 KPI、不展示推流状态**。 #### 中控带货流程 > **流程说明:** 总览见 [§3.3 图4](#33-核心流程)。 ```mermaid flowchart LR subgraph HQ[后台] A1[建场选品上架] --> A2[建场备券] end subgraph CTRL[主播中控] B1[商品:置顶/上下架] --> B2[公屏发商品卡] C1[发券:手动发放] --> C2[观众抽屉可见可领] end subgraph MEM[会员端] D1[点商品卡/货架] --> D2[直播价下单] D3[领券] --> D2 end A1 --> B1 A2 --> C1 B2 --> D1 C2 --> D3 ``` 中控状态文案与后台场次状态对应:后台「待开播」在中控展示为 **待开始**;「直播中」「已结束」文案一致。 #### 布局 视觉对齐直播伴侣参考截图:**左侧设备栏 + 大预览 + 右侧工具栏**;**顶部状态栏字段与交互规则保持原定**;中控页 **左右铺满**,状态栏与画面区 **贴合为同一深色整体**(无独立卡片边距/圆角缝隙)。**进入直播中控后隐藏主播中心全局顶栏**(直播中心 / 数据分析等 Tab 及用户区),中控占满可视区域;离开中控恢复顶栏。 | 区域 | 名称 | 内容 | | --- | --- | --- | | 顶部 | 状态栏(置顶) | 【返回】(待开始/已结束)、【×】、操作按钮、直播状态、直播间名称、主播头像 + 账号名称 | | 左侧 | 设备操作条 | 摄像头、麦克风(圆形图标 + 名称,竖向排列;关闭态图标带禁用斜线) | | 中左 | 画面预览 | 当前推出画面(一期仅摄像头),占主视觉区 | | 右侧上 | 直播工具 | 商品、互动消息、发券、连麦(圆形图标 + 名称,一行 4 个) | | 右侧下 | 互动消息面板 | 工具开关整块;显示时标题栏常驻,【展开/收起】控制评论区 + 输入区 | #### 状态栏(置顶) | 元素 | 规则 | | --- | --- | | 全局顶栏 | 进入中控后**不展示**主播中心顶栏;离开中控(回直播中心)恢复 | | 【返回】 | **仅待开始 / 已结束**展示。点击直接返回直播中心(已结束亦可结束页【确定】) | | 右上角【×】 | **待开始 / 已结束**:直接返回直播中心。**直播中**:弹出确认「确定要结束直播吗?结束后观众将无法继续观看。」→【取消】关弹窗;【确认结束】结束本场 | | 操作按钮 | **待开始**:仅【开始直播】;**直播中**:仅【结束直播】(确认文案同【×】);**已结束**:**不展示**开始/结束按钮 | | 直播状态 | **待开始** / **直播中** / **已结束** | | 直播间名称 | 本场直播名称 | | 账号身份 | 当前登录主播头像、账号名称 | ##### 开始直播(中控「待开始」可直接点) - 校验同开播准备:场次待开播、主播启用且为本场主播、无并行「直播中」、设备与推流成功(正式版)。 - 成功:场次 → **直播中**;后台状态同步直播中。 - **待开始**期间:摄像头、麦克风**默认开启**,画面显示对应预览;主播可手动开关。 ##### 结束直播 - 触发:顶栏【×】,或【结束直播】(**直播中不展示【返回】**)。 - 二次确认:「确定要结束直播吗?结束后观众将无法继续观看。」按钮【取消】/【确认结束】。 - 确定:停推、停采集;场次 → **已结束**;写实际结束时间;**留在中控本页展示结束页**(对齐截图);后台同步已结束。 - 结束页内容: - 标题「直播已结束」 - **直播时长** `HH:MM:SS` - 数据卡(两项指标,口径如下表) - 底部【确定】→ 返回直播中心 **结束页数据卡口径(PC 中控结束页与门店端主播结束页一致):** | 指标 | 口径 | | --- | --- | | 观看人数 | 本场**开播起至今**,**直播中**进房观看的**去重用户数**(累计;预告不计) | | 最高在线人数 | 本场**最高同时进房观看**人数(直播中瞬时峰值,非累计去重) | > 原型演示默认:观看人数 100 人、最高在线人数 80 人。 - 已结束后:无开始/结束按钮;画面区由结束页覆盖;**商品 / 发券 / 连麦 / 评论输入全部禁用**;**摄像头、麦克风锁定关闭**;顶栏【返回】/【×】亦可回直播中心。 #### 画面预览与设备操作条 展示当前推出画面;一期仅摄像头源。摄像头关闭时显示占位;已结束后由本场数据页覆盖预览区。 **原型门店端联动:** 仅**直播中**将预览帧(约 3~4fps、缩略 JPEG)经 `BroadcastChannel` + `localStorage` key `live2_preview_bus_v1` 同步至门店端观看页;正式版改为 CDN 拉流播放。 左侧设备操作条(竖向): | 控件 | 规则 | | --- | --- | | 摄像头 | 圆形图标 + 名称;关闭 / 开启。关闭态图标带禁用斜线。进入中控(待开始)默认开,可开关。已结束:锁定关。 | | 麦克风 | 圆形图标 + 名称;关闭 / 开启。关闭态图标带禁用斜线。进入中控(待开始)默认开,可开关。已结束:锁定关。 | #### 实时数据弹窗 入口:状态栏右侧【实时数据】。待开始 / 直播中 / 已结束均可打开(只读)。**深色弹窗**;右上角 **×** 关闭。布局对齐截图:顶行左「直播时长」、右「今日奖励」;底行三列「本月获得奖励 / 已发放奖励 / 待发放奖励」。 | 字段 | 口径 | | --- | --- | | 直播时长 | 格式 `HH:MM:SS`;本场开播起实时递增;待开始为 `00:00:00`;已结束为本场总时长 | | 今日奖励 | **今日**计入待结算或变为已结算的主播奖励合计(按 [§2.3](#23-计价与分红逻辑) 奖励时间统计),如 ¥100.00 | | 本月获得奖励 | **本月**计入待结算或变为已结算的主播奖励合计,如 ¥400.00 | | 已发放奖励 | **本月已结算**奖励,如 ¥400.00 | | 待发放奖励 | **本月待结算**奖励,如 ¥400.00 | > **不含**「带货奖励(本场)」字段名;口径与门店端 H5 中控实时数据一致。未达结算周期计入时点的订单(如「订单完成」模式下未确认收货)**不计入**上述指标。 #### 在线观众弹窗 入口:状态栏【在线 N】(顶栏**观看人数(实时)**区域)。点击打开弹窗。口径与门店端 H5 中控「在线观众」一致。 > 顶栏展示名仍为「观看人数」,口径为**当前在房在线数**(观看人数实时),与数据页「观看人数(累计)」同名不同义,以所在页面区分(见术语表)。 | 项 | 说明 | | --- | --- | | 搜索 | 支持观众**昵称模糊**搜索;占位「请输入观众昵称」;**失焦**后过滤列表 | | 列表 | 仅展示**头像**、**观众昵称** | | Tab | **不展示**「普通观众」「邀约观众」 | | 标题 | `在线观众(N)` 为当前在线总数 | #### 直播工具 入口:**商品、互动消息、发券、连麦**。每个入口为 **圆形图标按钮 + 工具名称**,**一行 4 个**横向排列。已结束时商品/发券/连麦入口禁用(互动消息面板可只读查看历史评论,输入禁用)。 **原型水滴标注:** 中控页四个工具入口各挂独立水滴(④商品 / ⑤互动消息 / ⑥发券 / ⑦连麦),右侧标注分别写清字段、可用性、交互与状态扭转;弹窗打开后切换至对应弹窗标注。 ##### 商品 → 商品列表弹窗 | 模块 | 规则 | | --- | --- | | 标题 | **商品列表**(原「商品管理」);右上角 **×** 关闭弹窗 | | 布局 | 商品坑列表超出面板高度时**可上下滑动**(滚动条可见);底部【关闭】按钮**固定**在弹窗底部 | | 搜索 | 商品名称模糊搜索;占位「请输入商品名称」;点击「搜索」按钮后刷新列表 | | 列表 | **按 SPU 一行**(本场已添加的规格收在该行);默认按后台顺序;**支持 ↑ / ↓ 调整 SPU 顺序**(同步会员端货架;有搜索关键字时不可排序) | | 商品卡 | 商品图片、**名称左侧排序号(1、2、3…,按全量列表位次,搜索不重编)**、商品名称、**销售价**、**直播价=该 SPU 默认规格的直播价**、<span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.17】**库存:X**</span>、**主播奖励比例**(图左上展示为「奖励X%」,如「奖励8%」)。默认规格:优先商城默认 SKU;若未加入本场,则取本场已添加规格中排序最前的一个;单规格即为「默认」 | | 置顶 | 点击【置顶】将该 SPU 移到列表第 1 位;Toast「置顶成功」;同步会员端货架顺序;搜索过滤时禁用;已结束场次禁用 | | 上架 / 下架 | **整 SPU** 上下架,控制会员端货架是否展示该商品。不可单独下架某一规格。原型经 `live2_goods_bus_v1` 同步门店端 | | 店库存 | 展示「有货门店数 / 无货门店数」(**仅本场参与门店**,按该 SPU 已添加 SKU 合计);点击打开**门店库存弹窗** | | 门店库存弹窗 | 右上角 **×** 关闭;**商品名称**加粗;门店名称模糊搜索;仅本场参与门店;字段:门店信息、库存(有/无,无库存标红)。点开展示 **门店 × SKU** 可售 | > **说明:** 中控商品列表**不再提供【讲解】入口**;观众端**不再展示讲解浮窗**。公屏「主播发商品」历史消息类型保留,一期中控无新触发入口。 > <span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.17】库存口径:</span> 卡片「库存:X」统计逻辑 → **云连锁:本场参与门店总库存**(Σ 本场参与门店各 SKU 可售);**qimall:商城商品总库存**。 不可:改直播价、改主播奖励比例、增删本场 SKU(建场在后台完成,仍按 SKU 设直播价与奖励比例)。中控不提供「售罄」操作(库存不足由门店端下单校验拦截)。 ##### 互动消息 主播在中控实时查看会员评论,并以主播身份回复;同步展示讲解商品、发券等业务消息。**连麦不在公屏展示。** **会员端公屏**(见 [第 6 章 门店端·会员直播](#6-商城门店端--会员直播))与中控、后台单场数据页列表采用同一套胶囊气泡样式。 | 模块 | 规则 | | --- | --- | | 默认 | 互动消息模块**隐藏**,右侧仅展示「直播工具」 | | 工具入口 | 直播工具【互动消息】控制**整块面板**显示/隐藏;展开时工具高亮,再次点击隐藏整块(含标题栏) | | 标题栏 | 模块显示时**常驻**;「互动消息」+ 条数;右侧【展开】/【收起】 | | 标题栏收起/展开 | **仅**控制标题下方的**评论列表**与**底部输入区**;标题栏不随收起隐藏 | | 首次展开模块 | 通过工具打开模块时,内容区默认展开并聚焦输入框 | | 布局 | 内容区展开时占右侧工具列剩余高度;评论列表在上可滚动;输入区固定贴底 | ###### 消息类型 | 类型 | 身份标签 | 头像 | 昵称 | 正文示例 | 触发来源 | | --- | --- | --- | --- | --- | --- | | 主播评论 | 主播 | 有(首字圆形头像) | 主播账号昵称 + 冒号 | 文字 / 表情,如「欢迎大家!」 | 主播在输入区点击【发送】或回车 | | 粉丝评论 | 粉丝 | 有 | 会员昵称 + 冒号 | 文字 / 表情 | 会员在门店端公屏发送;**直播中**实时推入中控 | | 主播发商品 | 主播 | 有 | 主播昵称 + 冒号 | 「发送了一个商品」+ 商品卡片(缩略图 / 名称 / 直播价) | 历史口径;一期中控已取消【讲解】入口,暂无新触发 | | 主播发券 | 主播 | 有 | 主播昵称 + 冒号 | 「主播发送了优惠券【券名】」 | 发券弹窗点击【发放】时推入 | > 上述四类消息均进入公屏;粉丝端、后台单场数据页与中控展示规则一致。**连麦**仅在连麦弹窗 / 小窗处理,**不进入**公屏。 ###### 评论气泡(单条 UI) 深色胶囊圆角气泡,视觉对齐直播伴侣互动区参考截图;元素横向排列,内容过长自动换行。 | 元素 | 规则 | | --- | --- | | 用户头像 | 圆形;展示昵称**首字**大写;背景色按昵称固定映射色板 | | 身份标签 | 圆角小标签:**主播**(浅红底字)、**粉丝**(浅灰底字) | | 用户昵称 | 发送者昵称 + 英文冒号 `:` | | 评论正文 | 支持 Unicode 表情;纯文本展示(服务端需 XSS 过滤);列表内完整展示并换行 | | 商品卡片 | 仅「主播发商品」消息内;行内展示商品缩略图、名称、直播价 | ###### 评论列表 | 规则 | 说明 | | --- | --- | | 高度 | 占满面板剩余高度,保证输入区始终贴底可见 | | 滚动 | 超出可视高度纵向滚动;深色细滚动条(对齐中控深色主题) | | 自动滚底 | 新消息到达且列表已在底部附近(距底约 48px 内)时自动滚至最新;用户上滑查看历史时不强制打断 | | 空态 | 无评论时列表区展示「暂无评论」 | | 排序 | 按发送时间正序,最新消息在底部 | | 本地缓存 | 中控可仅保留最近若干条(如 200 条)以控制渲染性能;**全量落库与历史回放口径技术方案另定** | ###### 输入区与表情 圆角深色一体化输入条;占位「添加评论…」。 | 元素 | 规则 | | --- | --- | | 输入框 | 最多 **200** 字(含表情);支持 **回车发送**(`Enter` 发送,不换行) | | 表情按钮 | 位于【发送】左侧,笑脸图标;点击展开 / 收起表情面板 | | 表情面板 | 浮于输入区上方;网格展示常用表情;点选插入当前光标处;点击面板外区域关闭 | | 【发送】 | 位于输入条最右侧,与输入区以竖线分隔;trim 后为空 Toast「请输入评论」 | | 超限 | 插入表情后总字数超 200 Toast「评论最多 200 字」,拒绝写入 | ###### 数据同步 | 方向 | 规则 | | --- | --- | | 主播 → 公屏 | 主播发送的评论**同步至会员端公屏**及后台单场数据页 | | 会员 → 中控 | **直播中**会员评论**实时推入**中控列表及后台单场数据页 | | 业务消息 | 讲解商品、发券由中控写入并同步公屏;**连麦不同步公屏** | | 三端联动 | 正式版 WebSocket;原型 `localStorage` key `live2_chat_bus_v1` 跨标签演示 | ###### 各直播状态可用性 | 状态 | 显示整块 | 展开内容区 | 查看列表 | 主播发送 | 会员推入 | 输入 / 表情 | | --- | --- | --- | --- | --- | --- | --- | | 待开始 | 可 | 可 | 可 | 可 | 否(未开播) | 可用 | | 直播中 | 可 | 可 | 可 | 可 | 实时推入 | 可用 | | 已结束 | 可 | 可 | 可滚动 | **禁用** | 否 | **禁用** | 不可:评论审核、删除、禁言、置顶、私信(一期不做评论管理中台;违规内容依赖平台通用风控,细则另定)。 ##### 发券 → 优惠券弹窗 入口:直播工具【发券】→ 打开弹窗,标题 **「优惠券」**;右上角 **×** 关闭;底部【关闭】。 **数据来源:** 本场已在商城后台「创建/编辑直播 → 优惠券备券」配置的券(源自「优惠券管理」券池;池内券均来自营销「领取渠道=直播」)。一期仅支持主播**手动【发放】**,不做定时发。 **列表规则:** - 数据源:本场备券(创建/编辑直播时从「优惠券管理」券池勾选)。 - **展示范围**:活动状态为「已开启」,且满足以下任一: - 不限量; - 全局库存 > 0(`活动发放数量 − 已领取`); - 本场已进入「发放中」或「已发完」。 - **不展示**:活动「已结束」或「已关闭」的备券;本场未发放且全局库存 = 0(已被其他直播间领完)的备券。 - 排序建议:可发放(含已停止可续发)→ 发放中 → 已发完 → 不可发放。 **库存口径(沿用原商城):** | 层级 | 计算 | 说明 | | --- | --- | --- | | 全局库存 | `活动发放数量 − 已领取` | 全渠道共享;不限量时恒视为有库存 | | 本场发放剩余 | 点击【发放】时快照全局剩余;会员领取时扣减 | 仅用于判断本场「发放中 / 已发完」 | **活动开始时间(沿用原商城营销中心):** - 券活动配置「活动开始时间」;`当前时间 < 活动开始时间` 时不可发放,按钮显示「不可发放」置灰。 - `当前时间 ≥ 活动开始时间` 且活动「已开启」、全局有库存,方满足发放前置条件。 **优惠券卡片字段:** | 区域 | 字段 | 说明 | 示例 | | --- | --- | --- | --- | | 左侧 | 优惠券面值 | 满减:`¥50`;折扣:`5折` | `¥50`、`5折` | | | 消费规则 | 使用门槛 | `满200元可用` | | 中间 | 名称 | 优惠券活动名称 | `优惠券¥50` | | | 有效期 | 按券配置展示其一 | `领取后30天过期` / `领取10天后10天过期` / `有效期2025-10-11至2025-10-15` | | 右侧 | 操作按钮 | 见下表 | — | **操作按钮状态(判定优先级从高到低):** | 状态 | 显示条件 | 交互 | | --- | --- | --- | | **发放中** | 本场已点击【发放】;且(不限量 **或** 本场发放剩余 > 0) | 显示【停止发放】,**可点击**(发放完成前均可停止) | | **已发完** | **仅限量券**;本场曾进入「发放中」且本场发放剩余 = 0 | 置灰不可点(终态,不可再停止) | | **不可发放** | 本场未发放;且(`当前时间 < 活动开始时间` **或** 限量券且全局库存 = 0) | 置灰不可点 | | **发放** | 本场未发放(含已停止待续发);`当前时间 ≥ 活动开始时间`;全局有库存(不限量或全局库存 > 0);活动「已开启」;本场 **直播中** | 可点击 | > **不限量券**:恒视为有库存;发放后显示【停止发放】且**不出现「已发完」**,可随时停止或再次发放。 **点击【发放】后:** 0. <span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.17】先弹出二次确认弹窗:标题「提示」,文案「确认发放该优惠券吗?」,按钮【取消】/【确定】;点【取消】关闭弹窗、不发放,点【确定】后执行下列 1~5 步。</span> 1. 右侧按钮变为 **【停止发放】**(发放完成前均可点击停止)。 2. 将当前全局剩余写入本场「发放剩余可领」(不限量券不写上限;停止后再次发放沿用本场剩余,不覆盖已领取部分)。 3. 向直播间会员推送领券;用户端优惠券列表展示该券;互动消息写入「主播发送了优惠券【券名】」。 4. 会员领取时同时扣减:本场发放剩余 + 全局已领取;限量券领完后按钮变为 **「已发完」**(终态,不可再停止)。 5. 券池侧标记该券「直播间发放中」;发放中不可从券池删除(同 AC-26)。 **点击【停止发放】后:** 1. 立即停止向会员发放:未领取的会员**立即不再展示、不可领取**该券;已领取的券**保留**,仍可正常使用。 2. 若本场发放剩余 ≠ 0:按钮变回 **【发放】**,可再次点击继续发放;仅限量券且本场发放剩余 = 0 时为 **【已发完】** 置灰。 3. 停止发放**不写入公屏**消息。 **各直播状态可用性:** | 直播状态 | 打开发券弹窗 | 点击【发放】 | | --- | --- | --- | | 待开始 | 可(查看备券) | **不可**(按钮置灰或不可用) | | 直播中 | 可 | 可(满足活动开始时间且有库存) | | 已结束 | **不可**(工具入口禁用) | 不可 | **边界:** - 无备券:空态「暂无备券」。 - 点击【发放】时全局库存已为 0(限量券):Toast「券库存不足」。 - 本场「已发完」且全局库存为 0 的限量券仍保留在列表中。 - 停止发放后若本场发放剩余 ≠ 0,显示【发放】可继续发放;不限量券无「已发完」。 - 不可从券池临时加券(须后台备券)。 ##### 连麦(完整流程) | 项 | 规则 | | --- | --- | | 对象 | **门店端正在观看本场直播的观众**发起申请;主播在 **PC 中控或门店端主播中控**处理(状态同源) | | 开启连麦 | 中控面板内 **【开启连麦】**开关:开 → 观众底栏显示【连麦】;关 → 观众端**隐藏**【连麦】,并清空 pending / connected | | 形态 | 支持 **语音 + 视频**;接通默认 **语音**(`videoOn=false`);观众在连麦中弹层手动开摄像头;无 PK | | 画面分屏 | 连麦成功后 **画面区**左右分屏:左=主播画面,右=连麦观众(语音:头像+昵称;视频:观众摄像头);**评论公屏气泡区不变**,连麦事件仍不进公屏 | | 观众自控 | 连麦中可 **闭麦/开麦、开/关摄像头**;结束需二次确认【结束连麦】【取消】 | | 主播侧 | 当前连麦仅 **【结束】**;不可静音/关观众摄像头 | | 人数 | **同时仅 1 人**;已有连麦中时他人**禁止申请** | | PC 入口 | 直播工具【连麦】**开关整块面板**(点开/再点关,高亮=开);红点=已申请人数;连麦中工具文案「连麦中」;面板标题栏【展开/收起】 | | 面板内容 | **开启连麦**开关;**当前连麦**(头像/昵称/【结束】);**已申请观众**(头像/昵称/【接通】【拒绝】) | | 观众感知 | 申请→「已发起连麦申请」;拒绝→「主播已拒绝连麦」;接通→「连麦已接通」;主播结束→「主播已结束连麦」;自己结束/取消同前 | | 公屏 | 连麦事件**不进公屏** | | 联动 | `live2_mic_bus_v1`(含 `enabled`、`connected.muted`、`connected.videoOn`、`self_state` 事件) | #### 与开播准备关系 - 开播准备页仍可作为设备确认入口;【开始直播】成功后进中控(直播中)。 - 亦可从直播中心直接进入中控(待开始),在中控点【开始直播】,无需经过准备页。 ### 5.6 数据分析 **页面目标:** 汇总查看本主播的直播经营数据与趋势(主播个人维度;区别于商城后台「数据看板」的全场次运营总览)。 > **口径统一:** PC 数据分析、门店端主播「数据分析」、商城后台「主播详情 / 直播间详情」中同名指标公式一致;同主播、同时间窗数值应对齐可对账。 #### 时间筛选 全部 / 今日 / 本周 / 本月(单选);切换后刷新**概况**、**实时观众人数趋势**与**直播转化漏斗**。时间窗按场次**开播时间**落入区间;订单类指标取这些场次产生的订单。 #### 概况 | 指标 | 说明 | | --- | --- | | GMV | 当前主播统计周期内所有直播总销售额(含实付 + 未付款/取消/拒收);各订单金额(含运费)之和 | | 带货转化率 | 当前主播所有直播**成交人数** ÷ **观看人数** × 100%(**跨场次不去重**,同一会员在多个场次分别计数) | | 订单成交金额 | 当前主播所有直播所有已付订单总金额 | | 订单成交数量 | 当前主播所有直播所有已付订单总数量 | | 主播带货奖励 | 当前主播所有直播主播带货提成 | | 访问人数 | 时间筛选内各场次「创建起至今」访问用户,**跨场次不去重** | | 观看人数 | 时间筛选内各场次「开播起至今直播中进房」用户,**跨场次不去重**(预告不计) | | 累计开播次数 | 当前主播已开播场次数(含已结束;直播中计 1;待开播/已取消不计) | #### 直播转化漏斗 结构与口径对齐商城后台 [4.2.3 直播间详情](#423-直播间详情)「直播转化漏斗」;统计范围为**当前主播 + 时间筛选内场次汇总**(非单场;**跨场次不去重**——访问人数 / 观看人数 / 带货转化率(成交人数与观看人数):同一会员在多个场次分别计数)。紧跟「概况」下方。漏斗数值与概况当前累计终值对齐。 三层漏斗,自上而下: 1. **访问人数** — 创建起至今进预告/直播间相关页的用户数(跨场次不去重,同一会员在多个场次分别计数;= 概况「访问人数」) 2. **观看** — 开播起至今直播中进房观看的用户数(预告不计;跨场次不去重,同一会员在多个场次分别计数) 3. **成交** — 支付成功用户数(**跨场次不去重**,同一会员在多个场次分别计数;与已付订单口径一致) 展示: - 标题旁 `?`:路径 tip「访问人数 → 观看 → 成交」 - 洞察条:访问成交转化率(文案「访问成交转化率为 X%」;不含「【数据解读】」「总」前缀) - 右侧区间转化率:访问 → 观看、观看 → 成交 - 竖向标注:访问成交转化率 = 成交人数 ÷ 访问人数 × 100% | 转化率 | 公式 | | --- | --- | | 访问 → 观看 | 观看人数 ÷ 访问人数 × 100% | | 观看 → 成交 | 成交人数 ÷ 观看人数 × 100% | | 访问成交转化率 | 成交人数 ÷ 访问人数 × 100% | > 概况「带货转化率」= **跨场次不去重**的成交人数 ÷ 观看人数 × 100%(同一会员在多个场次分别计数),与漏斗「观看 → 成交」同口径。门店端主播数据分析强制同构同口径。 #### 实时观众人数趋势 结构与口径对齐商城后台 [4.2.3 直播间详情](#423-直播间详情)「实时观众人数趋势」;统计范围为**当前主播 + 时间筛选内场次汇总**(非单场 2 分钟点;横轴按日或筛选区间;**跨场次不去重**)。紧跟「直播转化漏斗」下方。 折线图,三类人数的**累计**变化(每个数据点 = **截至该日**的累计数): | 序列 | 说明 | | --- | --- | | 访问人数 | 筛选范围内各场次访问用户,截至该日累计,跨场次不去重 | | 观看人数 | 筛选范围内各场次直播中进房用户,截至该日累计,跨场次不去重(预告不计) | | 离开人数 | 筛选范围内各场次直播中进房后已离开用户,截至该日累计,跨场次不去重 | **页面顺序:** 概况 → 直播转化漏斗 → 实时观众人数趋势。 **不做** GMV / 带货转化率 / 订单成交金额 / 订单成交数量 / 主播带货奖励经营趋势图。 ### 5.7 直播订单 **页面目标:** 记录并查询本主播直播期间产生的订单(只读;售后走商城原订单中心)。 #### 组合查询 | 字段 | 说明 | | --- | --- | | 下单会员 | 占位「请输入会员ID、昵称、手机号」;支持会员 ID、昵称、手机号模糊搜索 | | 奖励状态 | 占位「请选择奖励状态」;枚举:待结算、已结算;空值显示全部 | | 下单时间 | 按时间段筛选订单。选择器:起止「选择日期 / 选择时间」、双月历(周一起始)、快捷「今天 / 昨天 / 最近一周 / 最近一个月」、清除 / 确认 | 【搜索】过滤并回第 1 页;【重置】清空条件恢复全量。 #### 订单列表 | 字段 | 说明 | | --- | --- | | 下单会员 | 会员头像、名称、ID(如 ID:29286328) | | 订单编号 | 子订单订单号(如 E202608151130246383) | | 订单金额 | 订单实付金额 | | 商品信息 | 商品图片、商品规格(单规格显示「默认」)、直播价格、数量 | | 主播奖励比例 | 商品在当前直播设置的奖励比例 | | 主播奖励金额 | 实付金额 × 主播奖励比例 | | 邀约人奖励金额 | 实付金额 × 邀约人奖励比例 | | 邀约人 | 会员头像、名称、ID;无则「-」 | | 奖励状态 | 已结算 / 待结算;仅展示已达结算周期计入时点的订单(见 [§2.3](#23-计价与分红逻辑)) | | 所属直播 | 订单所属直播间名称 | | 所属门店 | 门店 logo、门店名称、门店电话 | | 下单时间 | 如 2026-06-23 17:36:50 | 列表列较多时支持左右滑动查看。 分页:格式同「选择商品」弹窗(共 X 条|上一页 / 页码 / 下一页|每页条数下拉|跳至);查询或改每页条数后回到第 1 页。 > 不提供改价、发货、退款;售后走商城原订单中心。 ### 5.8 直播历史 **页面目标:** 展示本主播已结束场次数据,卡片形式展示。本期不做回放带货。 | 展示项 | 说明 | | --- | --- | | 封面 | 直播封面 | | 直播标题 | 显示直播标题 | | 直播时长 | 本场直播时长,示例:1.05h | | 观看人数 | 本场开播起至今直播中进房观看的**去重用户数**(观看人数累计) | | GMV | 本场总销售额(含实付 + 未付款 / 取消 / 拒收);GMV = 订单数量 × 订单金额(含运费) | | 带货奖励 | 本场主播带货奖励合计(待结算 + 已结算);未达结算周期计入时点的订单不计入 | | 开播时间 | 底部展示,格式「2026 :07 :19开播」 | 分页:格式同「选择商品」弹窗(共 X 条|上一页 / 页码 / 下一页|每页条数下拉|跳至);查询或改每页条数后回到第 1 页。 ### 5.9 状态联动与后台同步 > **流程说明:** 场次状态机见 [§3.2](#32-场次生命周期);下图汇总多端动作与后台状态同步。 ```mermaid stateDiagram-v2 [*] --> 待开播: 后台保存创建成功 待开播 --> 直播中: 主播开始直播 直播中 --> 已结束: 主播结束直播 待开播 --> 已取消: 主播取消 直播中 --> 已取消: 主播取消 已结束 --> [*] 已取消 --> [*] ``` | 动作 | PC 直播间 | 商城后台场次状态 | | --- | --- | --- | | 后台创建保存 | — | 待开播 | | 主播点「开始直播」且推流成功 | 进入/停留直播中控(直播中) | 待开播 → 直播中 | | 主播确认「结束直播」 | **留在直播中控**(已结束;本页结束页:时长 / 观看人数(累计)/ 最高在线人数(同时进房观看峰值);【确定】回中心) | 直播中 → 已结束 | | 主播在直播中心点「取消」并确认 | 列表隐藏该场;不进直播历史 | 待开播 / 直播中 → 已取消 | | <span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】后台不提供「结束」</span> | 结束由主播在 PC / 门店端操作;或对直播中场次「禁用」自动结束(见 §4.2) | 不因后台「结束」按钮改状态 | 规则: - 后台列表**不提供「去直播」**;开播在 **PC 直播间** 或 **门店端主播工作台** 完成。 - 同一主播同时仅允许 1 场「直播中」(PC / H5 任一端开播均计入)。 - 主播禁用后不可登录 PC、不可进门店端主播工作台;已直播中场次由运营结束后处理(同 AC-17 精神)。 --- ## 6. 商城门店端 · 会员直播 会员观看与下单端口(不含主播开播,主播见[第 7 章](#7-商城门店端--主播))。与第 4 章(后台建场)、第 5 / 7 章(主播开播)串联:后台创建 → 主播开播 → 会员观看下单。可交互原型:`直播2/商城门店端直播原型.html`;标注清单:`直播2/门店端水滴标注清单.md`。 ### 6.0 端口定位与页面总览 | 项 | 说明 | | --- | --- | | 谁用 | 所属门店参与本场的商城会员 | | 做什么 | 从「我的 → 直播」进直播中心;预告 / 观看;领券;直播中下单;分享邀约;查看我的收益(邀约人) | | 不做什么 | 不建场、不开播、不改参与门店/分红规则;一期不做回放带货、多级裂变、C 端邀约排行榜 | | 履约底座 | 扣本店库存、门店收款、售后走现网订单中心 | **端到端链路:** 商城后台创建直播 → 主播在 PC **或** 门店端主播工作台开播 → 会员在「我的 → 直播」观看 / 下单;订单、库存、收款归门店。主播开播能力见[第 7 章](#7-商城门店端--主播)。 #### 会员侧主流程 > **流程说明:** 总览见 [§3.3 图5](#33-核心流程);未参与拦截见 [§6.6](#66-未参与拦截)。 ```mermaid flowchart TD A[会员打开直播入口或分享链] --> B{所属门店是否参与本场?} B -->|否| C[列表不展示 / 直链拦截页] B -->|是| D{场次状态} D -->|待开播| E[预告页:可看/分享 不可下单] D -->|直播中| F[进房观看] D -->|已结束| G[不按本场直播价售卖] F --> H[领券 / 看货架 / 分享] H --> I[商品详情→规格→提交订单→支付] ``` | 页面 | 说明 | | --- | --- | | 我的(个人中心) | 功能宫格「直播」(右侧「主播」属第 7 章);「全部订单」等进入我的订单 | | 直播中心 | 深色双列宫格展示本店参与的待开播 / 直播中 / 已结束场次;【我的收益】;列表无分享 | | <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">直播回放(会员)</span> | <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">**一期不做**;直播中心点击已结束 → Toast「本场已结束」</span> | | 我的收益 | 当前会员作为**邀约人**的邀约列表 + 奖励明细;与第 7 章主播带货奖励隔离;**无** C 端邀约排名 | | 直播预告 | 待开播:封面、名称、开播时间、主播;【分享】打开三渠道分享弹窗;不可下单(R8) | | 直播间(观看) | 直播中:画面、公屏、商品 / 券;底栏购物车右侧【连麦】;更多仅分享 → **打开同一分享弹窗**;无讲解浮窗;离开观看页后全局显示【直播中】浮窗(见 §6.3) | | 商品详情 | 仅从直播间进入;沿用原商城详情结构,见 6.3 | | 商城首页(占位) | 详情底栏【首页】进入,返回回到直播间;<span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】无权进房拦截页【主页】进入,返回回到拦截页,不进入直播间</span> | | 我的订单 | 沿用原商城;列表不展示店名旁「直播」角标 | | 订单详情 | 沿用原商城;直播购金额区「直播优惠」;商品卡无「直播价」标签;可含所属直播/主播快照 | | 提交订单 | 商品卡同原商城(销售价);金额区「直播优惠」;商城券/本场券互斥一张;【去支付】进支付 | | 订单支付 / 支付成功 | 沿用原商城;成功后履约见 6.4 | | 分享面板 | 预告页 / 观众直播间更多 / 主播 H5 更多 共用;三渠道:微信好友(卡片=名称+优惠文案+封面)、生成海报(封面/标题/码/优惠文案)、复制链接(不含朋友圈);链接带 `live_id`+`inviter` | | 未参与拦截 | 未参与店会员直链 / 分享链进房失败(R1);文案「很抱歉你当前无法进入直播间」。<span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】A 店分享给未参与本场的 B 店会员同一文案;【主页】进商城首页</span> | ### 6.1 入口与直播中心 **入口:**「我的」功能宫格「直播」(与门店首页、领券中心等并列)→ 页名「直播中心」。同宫格「直播」右侧为「主播」入口(见[第 7 章](#7-商城门店端--主播))。 **列表规则:** | 规则 | 说明 | | --- | --- | | 过滤 | 仅参与门店含本店的场次;已取消不展示 | | 状态 | 待开播、直播中、**已结束** | | 排序 | 直播中 > 待开播 > **已结束**,再按开播时间升序 | | 布局 | 深色双列宫格;列表纵向滚动、隐藏滚动条 | | 直播中卡片 | 封面;左上「正在直播中…」;右上**在点人数**;底栏主播头像 / 名称 / ID(可复制);**无【分享】** | | 待开播卡片 | 纯色底;左上「待开播…」;中部主播头像、直播名称、开播时间 | | 已结束卡片 | 封面;左上「已结束」;底栏主播头像、直播名称、开播时间;**无【分享】** | | 点击卡片 | 待开播 → 预告页;直播中 → 观看页;**已结束** → 见下表 | | <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">点击已结束</span> | <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">Toast「**本场已结束**」;一期**不做**会员回放入口、不做只读结束说明页;**不可下单**</span> | | 我的收益 | 顶区按钮进入「我的收益」(见 6.1.1) | | 分享入口 | 列表不再提供分享;**预告页【分享】**、**观众直播间「更多·分享」**均打开三渠道分享弹窗(见 6.5) | | 空态 | 「暂无本店可参与的直播」 | ### 6.1.1 我的收益 记录**当前登录会员作为邀约人**的邀约记录与奖励明细;字段口径与商城后台「邀约人列表 / 奖励明细」一致(C 端仅看本人数据)。<span style="color:#6d28d9;background:#f3e8ff;font-weight:600">同一场被多人分享的对象,只出现在其**第一次点开并成功进房**的那条链接对应的邀约人名下。对象先自然进房再点分享链的,**不出现在任何邀约人的列表中**。</span> #### 邀约列表 | 字段 | 口径 | | --- | --- | | 头像 / 名称 / ID | 邀约对象(被邀请进房的会员) | | 下单数量 | 该对象在本邀约归因下的订单数;0 显示「未下单」 | | 邀约时间 | 对象首次经该会员分享链进房时间 | #### 奖励明细 | 字段 | 口径 | | --- | --- | | Tab | 已结算 / 待结算(同后台奖励状态) | | 累计总收益 | 当前 Tab 下邀约人奖励金额合计;切换已结算/待结算时总额跟着变 | | 头像 / 名称 / ID | 下单的邀约对象 | | 奖励金额 | 邀约人奖励 = 实付 × 邀约人奖励比例 | | 订单编号 / 订单金额 | 同后台 | | 奖励比例 | 邀约人奖励比例 | | 奖励时间 | 待结算:计入待结算的时间;已结算:划扣完成时间(R9);口径同 [§2.3](#23-计价与分红逻辑) | 邀约列表、奖励明细均支持纵向滚动,滚动条隐藏。 ### 6.1.2 直播回放(会员观看) > <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">**【V1.08】起一期不做会员回放入口。** 直播中心点击**已结束**场次卡片 → Toast「**本场已结束**」;不进入回放页;不做只读结束说明页;不可下单、不可领本场券(R6)。</span> <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">主播端「已结束 Tab → 封面进回放」见 [§7.x 数据分析 / 直播订单 / 回放](#7-商城门店端--主播),不受本条影响。</span> <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">~~原进房条件(已废止):后台「是否开启直播回放」= 开 且 本场有回放资源。~~</span> ### 6.2 直播预告 待开播场次进入预告页。 | 能力 | 说明 | | --- | --- | | 展示 | 封面、直播名称、开播时间、主播 | | 分享 | 打开三渠道分享弹窗(见 6.5) | | 下单 | **禁止**(R8) | ### 6.3 直播间观看 直播中进房观看。 #### 阶段行为(门店端) | 阶段 | 行为 | | --- | --- | | 未参与店 | 列表不展示;直链 / 分享链拦截(见 6.6) | | 待开播 | 预告页,不可下单 | | 直播中 | 直播价 + 本场券下单,校验本店库存;公屏互动 | | 已结束 | 不按本场直播价 / 券 / 分红成交;公屏不再接收新评论;本期不做回放带货 | #### 画面与工具 | 模块 | 说明 | | --- | --- | | 顶部 | 见下表「顶部栏」 | | 直播画面 | 展示主播 PC 中控摄像头画面;原型跨标签帧同步(`live2_preview_bus_v1`);正式版 CDN 拉流;关摄像头显示「主播已关闭摄像头」 | | 优惠券图标 | 左侧红橙渐变「券」票券图标(对齐参考截图);点击打开「优惠券」抽屉 | | 公屏 | 贴在画面**左下角并横向铺满**(底栏上方);胶囊气泡:身份标签 + 昵称 + 正文;与中控、后台单场数据页样式一致;会员评论实时同步;最新消息贴底;**不展示滚动条**;内容超出时可**手动上下滑动**(拖拽或滚轮)查看历史;上滑离开底部时新消息不强制打断,回到底部后继续自动滚底 | | 底部栏 | 「说点什么」输入、表情(展开面板点选插入)、**紫色购物车**(商品列表)、**【连麦】**(购物车右侧)、**更多 ⋯**(仅分享) | > **说明:** 观众端**不再展示商品讲解浮窗**;购买入口为购物车商品列表 / 公屏商品卡等。 #### 顶部栏 | 元素 | 说明 | | --- | --- | | 返回 | 点击 **‹** 返回直播中心;**不结束**在房会话,直播中心仍显示【直播中】浮窗(见下) | | 主播 | 展示主播**头像**、**名称**;名称超过 **6 字**后以 `...` 截断显示 | | 观众头像 | 展示当前观看直播间的在线用户**前 3 人**头像;不足 3 人按实际人数展示 | | 观看人数 | 直播间**当前在房在线数**(**观看人数实时**),与观众头像组同区展示;与数据页「观看人数(累计)」同名不同口径 | | 点击观看区 | 点击**头像组 + 观看人数** → 打开「在线观众」抽屉(见下) | #### 在线观众抽屉(会员观看页) 入口:观看页顶栏头像组 + 在线人数。口径与门店端 H5 中控 / PC「在线观众」一致;会员端**只读**(无踢人等操作)。 | 项 | 说明 | | --- | --- | | 搜索 | 支持观众**昵称模糊**搜索;占位「请输入观众昵称」;**失焦**后过滤列表(回车等同失焦) | | 列表 | 仅展示**头像**、**观众昵称** | | Tab | **不展示**「普通观众」「邀约观众」 | | 标题 | `在线观众(N)` 为当前在线总数 | | 关闭 | 右上 **×** 或点击遮罩关闭 | #### 直播间浮窗 会员进入本场**观看页**且场次 **直播中** 后,离开观看页即在**全局页面**展示悬浮 **【直播中】** 浮窗,便于随时回房。**本期不做**视频缩放小窗 / 画中画(PiP);浮窗**不含**直播画面预览。 | 项 | 规则 | | --- | --- | | 展示条件 | 已通过观看页进房、在房会话有效、本场 **直播中**;当前不在直播间观看页 | | 全局展示 | 直播中心、我的、我的收益、商品详情、下单 / 支付、订单等**除下列例外外的所有页面**均展示 | | 不展示 | 仍在直播间观看页;场次已结束 / 已取消;**主播工作台**任意页(见下) | | 位置 | 屏幕**右侧垂直居中**;距右缘约 **10px** | | 样式 | **白色正圆 FAB**(约 46px),对齐商城首页浮钮风格;轻阴影 | | 结构 | 上:**直播 icon**(带呼吸红点);下:圆内小字 **「直播中」**;**右上关闭 ×**(白色圆钮,约 20px) | | 点击浮钮 | 回到 **直播间观看页**;**不**自动打开商品列表 / 券抽屉等二级面板 | | 点击关闭 × | **结束在房会话**;全局隐藏浮窗;记为离开该直播间 | | 层级 | 悬浮于普通页面内容之上;低于全屏弹窗(发券弹窗、分享面板、支付页遮罩等) | **主播工作台例外(整区):** 从「我的 → 主播」进入后,含主播资料与入口、场次 Tab、数据分析、直播订单、H5 直播中控、直播回放等**全部主播页**:**不展示**浮窗,且**自动结束**在房会话(等同关闭浮窗退房)。 **在房会话:** | 动作 | 在房会话 | 在线人数 | | --- | --- | --- | | 观看页顶栏 **‹** → 直播中心 | **保持**;直播中心仍显示浮窗 | 仍算在房 | | 离开观看页跳转其他页面 | **保持**;显示浮窗 | 仍算在房 | | 浮窗点击 | **保持**;仅回观看页 | 仍算在房 | | 浮窗点击关闭 × | **结束**;隐藏浮窗 | 记离开 | | 进入主播工作台任意页 | **结束**;隐藏浮窗 | 记离开 | > 各页顶栏 **‹** 等既有返回路径保留;浮窗为**全局快捷入口**,不替代页面内返回。商品详情 **‹** 回房仍可打开商品列表(既有逻辑);浮窗回房**不**打开商品列表。 #### 公屏消息类型 与 PC 中控、商城后台单场数据页采用同一套胶囊气泡;**连麦不进公屏**。 | 类型 | 身份标签 | 展示内容 | 触发来源 | | --- | --- | --- | --- | | 粉丝评论 | 粉丝 | 昵称 + 冒号 + 正文 / 表情 | 会员在本端输入区发送 | | 主播评论 | 主播 | 昵称 + 冒号 + 正文 / 表情 | 主播在 **PC 中控或门店端主播中控**发送 | | 主播发商品 | 主播 | 「发送了一个商品」+ 商品卡片 | 历史口径;一期中控已取消【讲解】入口,暂无新触发 | | 主播发券 | 主播 | 「主播发送了优惠券【券名】」 | PC 中控【发放】 | **三端联动:** 正式版 WebSocket;原型 `live2_chat_bus_v1` 跨标签演示(liveId=30「午间秒杀」)。 #### 优惠券抽屉 **入口:** 直播间左侧**优惠券图标** → 底部弹出「优惠券」抽屉。 **布局:** 与商品列表面板高度一致,固定占直播间可视高度 **75%**(内容少时不收缩);券列表超出时**不显示滚动条**,可手动上下滑动,不左右滑。 **列表范围:** 仅展示主播在 PC 中控已点击【发放】的券(`发放中` / `已发完`);本场备券但未发放的**不展示**。主播新发券后向在房会员推送 `COUPON_ISSUED`(正式版 WebSocket;原型 localStorage 跨标签演示)。 #### 发券推送弹窗(待领取) **触发:** 主播在中控点击【发放】后,向当前在房且未领该券的会员弹出。 | 项 | 规则 | | --- | --- | | 标题 | **直播惊喜券**(居中;无顶部红包/装饰图) | | 展示 | 居中弹窗:券卡 + **立即领取** + 关闭 × | | 立即领取 | 领取成功 → 关闭本弹窗 → 打开「领券成功弹窗」 | | 关闭 | 同场次同券对同一用户**仅强弹 1 次**;关闭后仍可从券图标抽屉领取 | | 停止发放 | 主播在中控点击【停止发放】后:未领取会员**不再展示、不可领取**该券(已弹出的待领取弹窗关闭);已领取的券**保留**并可使用 | | 公屏 | 同步写入主播发券消息:「主播发送了优惠券【券名】」(与弹窗推送独立;原型发券弹窗仍走 `live2_coupon_bus_v1`;停止发放不写公屏) | #### 领券成功弹窗 **触发:** 用户在**发券推送弹窗**内点击【立即领取】且领取成功(抽屉内领取不触发本弹窗)。 | 项 | 规则 | | --- | --- | | 标题 | **优惠券领取成功**(居中;无顶部红包/装饰图) | | 券卡 | 左金额/折扣 + 右名称与有效期(对齐参考截图) | | 去使用 | 关闭弹窗 → 打开**商品列表面板** | | 关闭 | 底部 ×;券仍有效,可从抽屉【去使用】再次进入 | #### 优惠券抽屉 · 卡片与按钮 **优惠券卡片字段(对齐展开截图):** | 区域 | 字段 | 说明 | 示例 | | --- | --- | --- | --- | | 左栏 | 优惠力度 | 满减:`¥10`;折扣:`5折` | `¥998` | | | 使用规则 | 有门槛:`满100可用` / `满100可`;无门槛:`无门槛` | `无门槛` | | 中间 | 撕口分隔 | 虚线 + 上下半圆缺口 | — | | 右栏 | 优惠券名称 | 活动名称 | `满100减10`、`满100打5折` | | | 使用时间 | 按券配置展示其一 | `领取后30天过期` / `领取10天后10天过期` / `2026-08-01至2026-08-07` | | | 操作按钮 | 右侧胶囊按钮,见下表 | 【立即领取】 | **操作按钮:** | 按钮 | 显示条件 | 交互 | | --- | --- | --- | | **立即领取** | 主播已发放且**未停止** + 用户未领 + 发放剩余可领 > 0 + 未过期 | **抽屉内**:Toast「领券成功」,按钮变为【去使用】;**发券推送弹窗内**:关闭推送弹窗 → 打开领券成功弹窗;扣减中控发放剩余可领量 | | **去使用** | 用户已领取 + 未使用 + 券在有效期内 + **本场直播中** | 关闭抽屉 → 打开**商品列表面板**;下单时在提交订单页**手动选择**是否用券(不自动匹配) | | **已使用** | 用户已领取且该券已在订单支付成功时核销 | 整卡置灰 +「已使用」角标;按钮置灰不可点 | | **已过期** | 已过使用有效期,或直播已结束且券未使用(R6) | 整卡置灰 + 左上角「已过期」角标;按钮不可点 | **与中控 / 后台闭环:** 1. 后台券池(4.5)→ 建场备券(4.2.1)→ 中控【发放】→ 推送弹窗 + 会员抽屉可见可领。 2. 会员领取扣减中控「发放剩余可领」;领完中控侧该券变为【已发完】。 3. 每人每券每场次限领 **1 次**;未领且发放库存为 0 的券不在会员列表展示。 4. 发放中券池不可删除(AC-26);已领券在订单快照中留存,不受后续券池变更影响。 5. 中控【停止发放】后:未领取会员**立即不再展示、不可领取**;已领取的券**保留**,仍可正常使用;本场剩余 ≠ 0 时中控可再次【发放】续发。 **空态:** 暂无已发放优惠券时展示「暂无优惠券」。 #### 商品面板(购物车) 深色底栏面板,对齐观看端参考稿;高度与优惠券抽屉一致,固定占可视高度 **75%**(内容少时不收缩);商品列表超出时**不显示滚动条**,可手动上下滑动,不左右滑。 **数据范围:** 仅展示当前主播在 PC 中控 **已上架的 SPU**;一张卡一个 SPU;排序与中控 SPU 列表一致。库存读取会员所属门店可售库存(R5)。原型经 `live2_goods_bus_v1` 与中控上下架/排序/讲解/分店库存运行时互通。 | 项 | 说明 | | --- | --- | | 搜索 | 占位「请输入商品名称」;点「搜索」或回车按名称模糊过滤 | | 序号 | 按已上架中控 **SPU** 顺序编号(1、2、3…);**搜索过滤不重编** | | 订单 | 跳转本店「我的订单」(原商城列表;返回回直播间并打开商品列表) | | 商品卡片 | 点击进入该 SPU 直播商品详情。商品图、序号(图左上)、名称、**商品规格**(多规格取本场已上架排序第一 SKU 规格名;仅 1 规格显示「默认」)、**默认规格直播价**(划线销售价可展示);**不展示销量**、**不展示「讲解中」标识** | | 抢购 | 点击进入该 SPU **商品详情**(不再直达确认订单) | | 售罄 | 该 SPU 在本店 **可买规格**(已上架且库存>0)为 0:整卡置灰,按钮「售罄」;仍可进详情 | 出卡条件:该 SPU 在本场至少 1 个已添加规格,且中控该 SPU 已上架。 #### 商品详情(直播商品) **身份:** 下列入口落地 = **直播商品详情**(直播价):① 本场直播间(货架卡片 /【抢购】/ 公屏主播发商品卡);② **本场直播商品详情分享链**(见 [6.5.7](#657-直播商品详情分享仅复制链接不计邀约)),且当前会员有观看本场权限。商城首页、分类、搜索、店铺、订单再买,以及**非直播商品分享链** = **普通商品详情**(原逻辑,不带直播价)。 沿用原商城商品详情结构,差异如下。 | 项 | 规则 | | --- | --- | | 价格 | 「直播价」**标签** + 当前选中规格直播价金额;划线价 = **销售价**(平台价)。切规格同步变价、变库存 | | 默认规格 | 从浮窗/公屏进入默认该 SPU;规格默认:商城默认 SKU(须已加入本场),否则本场已添加排序最前。单规格显示「默认」,不可切换 | | 活动卡片 | **不展示**(去掉「直播进行中 / 直播已结束」活动卡片) | | 领券行 | **与原商城该商品一致**(样式+数据);可领取商城券(B2) | | 规格行 | 点击打开规格弹窗;仅本场已添加 SKU;未添加不展示 | | 下架 / 售罄 | 中控下架整 SPU,或当前规格本店库存为 0:底部灰条「商品已售罄」+ 立即购买置灰**不可点**;商品主图 / 价格 / 标题等**正常显示**(不灰度)。底栏仍无购物车。灰条跟 **当前选中规格** 走 | | 直播未开始 | 待开播场次经商品分享链进入:底部灰条「**直播未开始,直播开始后才可购买**」+ 立即购买置灰**不可点**;商品信息正常显示 | | 直播已结束 | 已结束场次经商品分享链进入:底部灰条「**直播已结束,直播结束后不可购买**」+ 立即购买置灰**不可点**;商品信息正常显示 | | 非参与门店(分享链) | 非本场参与门店会员经商品分享链进入:底部灰条「**很抱歉你当前无法查看该商品**」+ 立即购买置灰**不可点**;商品信息正常显示;不可下单 | | 不可购买优先级 | **① 商品售罄 > ② 直播状态(未开始 / 已结束)> ③ 非参与门店**;四者均为「底部灰条 + 立即购买置灰不可点」,仅灰条文案不同 | | 底栏 | 仅【首页】【立即购买】;无购物车、无加入购物车 | | 首页 | 进入 **商城首页原型占位**;占位页返回 → **直播间** | | 返回 ‹ | 回直播间(可打开商品列表);**与右上角分享一并固定在详情顶栏,不随页面滚动** | | 分享 | 顶栏【分享】打开 **仅「复制链接」** 弹层(`goodsShareSheet`,见 6.5.7);复制本场直播商品链(含 `live_id` + `sharer`);**不参与邀约归因**;按钮固定不随滚动 | | 限购 | **本期不限购**;数量器最大 = 当前 SKU **本店可售库存** | | 场次结束 | 停留详情时结束直播:**立即购买立刻不可用**;已打开规格弹窗不可提交;已进入提交订单未支付不可按直播价成交(R6) | **立即购买 → 规格弹窗:** 1. 样式沿用商城规格弹窗:商品图、数量选择器、库存、规格展示;**弹窗高度固定为可视区 60%**。 2. 价格:「直播价」**标签** + 直播价金额 + 划线销售价。 3. 无「加入购物车」,仅【立即购买】。 4. 多规格可切换(仅本场已添加规格);单规格「默认」不可切。 5. 弹窗内再点立即购买 → 提交订单(见 6.4)。 #### 商城首页占位 详情【首页】进入。非正式商城首页,无分类/搜索商品;从占位返回直播间。占位内不可按直播价下单。 <span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】无权进房拦截页【主页】也可进入本占位。此路径返回回到拦截页,不进入直播间,不建立在房会话。</span> #### 连麦入口(观众) 底栏顺序:评论输入 → 表情 → 购物车 → **连麦** → 更多 ⋯。 **仅当本场「开启连麦」= 开时**显示【连麦】按钮;关闭时整钮隐藏。 | 观众态 | 【连麦】表现 | 点击 | | --- | --- | --- | | 空闲且无人连麦 | 「连麦」 | 发起申请 → Toast「已发起连麦申请」→ **等待接通** | | 空闲且他人连麦中 | 可点 | Toast「当前有人连麦中,请稍后再试」 | | 等待接通 | 「等待接通」 | 底部抽屉:【取消申请】【取消】;取消申请后回空闲 | | 本人连麦中 | 「连麦中」 | 连麦工具条:闭麦/开麦、开/关摄像头、结束(二次确认) | | 非直播中 / 未开启 | 隐藏或 Toast | 「仅直播中可连麦」/「主播未开启连麦」 | 主播拒绝 → Toast「主播已拒绝连麦」;事件**不进公屏**。 #### 分享入口 底部「更多 ⋯」打开**更多面板**,**仅含【分享】**: | 按钮 | 说明 | | --- | --- | | 分享 | 关闭更多面板,打开与预告页相同的**三渠道分享弹窗**(微信好友 / 生成海报 / 复制链接;见 6.5) | > 废除原「点击右上角进行分享」Toast;观众端与预告页、主播 H5 更多·分享共用同一套链接生成与归因规则。 ### 6.4 下单与履约 直播中下单走**原商城购买流程**;页面级「底座 / 新增 / 边界」总表见[第 8 章 · 原商城改动影响面](#8-原商城改动影响面)。下文按同一结构展开。 #### 下单履约与分红流程 > **流程说明:** 计价与分红规则见 [§2.3](#23-计价与分红逻辑);总览见 [§3.3 图6](#33-核心流程)。 ```mermaid flowchart TD A[直播中提交订单] --> B{参与店+场次直播中+本店有库存?} B -->|否| C[不可下单] B -->|是| D[直播价 - 1张券 = 实付] D --> E[支付成功] E --> F[扣本店库存 / 门店收款 / 打直播标] E --> G[快照价佣 + 预计算奖励基数] G --> H{结算周期配置} H -->|订单支付| I[计入待结算] H -->|订单完成| J{已确认收货?} J -->|否| K[暂不计入待结算 不出现在奖励明细] J -->|是| I I --> L{售后期满且无进行中售后?} L -->|是| M[已结算 从门店结算款划扣] L -->|否| N[维持待结算 延期至售后结束再判] ``` #### 提交订单 | 段 | 内容 | | --- | --- | | 底座 | 地址、店铺/商品卡、留言、优惠券、积分抵扣、运费/会员折扣、底栏合计 +【去支付】;流程:详情【立即购买】→ 规格弹窗 → 提交订单 → 支付 | | 新增 | **仅直播商品**:商品卡与原商城一致(单价展示**销售价**,**不加**「直播价」标签);金额区在「优惠券立减」**上方**增加「直播优惠」行:`直播优惠 = Σ(销售价 − 直播价) × 数量`(销售价=直播价时仍显示 −¥0.00);商品总价=销售价×数量;可选已领商城券或本场券,**不自动匹配**,互斥至多 1 张(R10);门槛按**直播价小计**;合计=商品总价−直播优惠−券等(等价于直播价小计−券) | | 边界 | 仅直播间购链路出现「直播优惠」;普通商品订单计价与选券与原商城一致 | #### 订单支付 / 支付成功 | 段 | 内容 | | --- | --- | | 底座 | 订单支付:超时倒计时、应付、余额支付、【确认付款】;支付成功页按钮与原商城一致 | | 新增 | 【确认付款】成功后:扣本店库存、核销所选券、回写中控、写场次/主播/价格快照;后台订单标识打「直播」;按 [§2.3](#23-计价与分红逻辑) 结算周期决定是否计入待结算 | | 边界 | UI 不新增「直播」角标;履约资金仍归门店;超时回提交订单 | #### 我的订单(C 端) 入口:「我的 → 全部订单 / 待付款等状态」或直播间商品面板【订单】。不另建直播订单中心。 | 段 | 内容 | | --- | --- | | 底座 | 搜索、状态 Tab、订单卡片、状态操作按钮、点卡片进详情;履约走现网订单中心 | | 新增 | 搜索可按直播间名称;自直播间【订单】进入时返回→回直播间并打开商品列表 | | 边界 | **列表不展示**店名旁「直播」角标、**不展示**「直播价」标签;普通订单交互不变 | | 项 | 规则 | | --- | --- | | 搜索 | 订单号 / 商品名 / 店铺 / 直播间名称模糊过滤 | | Tab | 全部 / 待付款 / 待发货 / 待收货 / 待评价 | | 卡片 | 店铺头像与名称、订单状态、商品图/名/规格/单价/数量、配送方式、件数与合计、状态操作按钮(无直播角标) | | 点击卡片 | 进入订单详情(按钮区不触发跳转) | | 操作按钮 | 随状态变化,逻辑与现网一致;原型可 Toast | | 返回 | 自「我的」进入 → 回「我的」;自直播间【订单】进入 → 回直播间并打开商品列表 | #### 订单详情(C 端) | 段 | 内容 | | --- | --- | | 底座 | 状态头、地址、商品卡、金额明细、订单信息、底栏操作;售后/物流走现网(与原商城订单详情一致) | | 新增 | **仅直播商品**:商品卡与原商城一致(单价展示**销售价**,**不加**「直播价」标签);金额区在「优惠券」**上方**增加「直播优惠」(口径同提交订单);订单信息可含所属直播、主播快照 | | 边界 | 普通订单无「直播优惠」与直播字段;不做回放进房、再按直播价购买;「再买一单」落地普通商品详情 | | 模块 | 说明 | | --- | --- | | 状态头 | 红/蓝底状态文案 + 提示语(随状态变化) | | 地址 | 收货地址 / 收货人 / 电话 | | 商品卡 | 店铺 + 状态;商品行展示销售价(无「直播价」标签) | | 金额 | 订单金额=销售价×数量;直播单含「直播优惠」;另含运费 / 优惠券等 / 实付 | | 订单信息 | 订单编号(可复制)/ 下单时间 / 支付状态 / 支付方式;可含所属直播、主播 | | 返回 | 回「我的订单」,保留 Tab / 搜索态 | 售后、物流、退款冲减分红均沿用现网订单中心;门店管理后台一期可不做独立直播页(P1)。 ### 6.5 分享与邀约归因 与 [1.1 邀约能力一期范围](#邀约能力一期范围保留-vs-不做) 一致:做三渠道分享归因、进房锁定、下单计奖与<span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】后台邀约人列表</span>;不做多级裂变、后台邀约排名与 C 端排行榜。 #### 邀约分享流程 > **流程说明:** 总览见 [§3.3 图7](#33-核心流程);邀约人收益见 [§6.1.1](#611-我的收益)。 ```mermaid flowchart TD A[邀约人打开分享弹窗] --> B[生成带 live_id + inviter 的链接/海报] B --> C[邀约对象打开链接/扫码] C --> D{已登录?} D -->|否| E[强制登录后带回原链] D -->|是| F{门店参与?} E --> F F -->|否| G[拦截页:很抱歉你当前无法进入直播间] F -->|是| H{场次状态} H -->|待开播| I[预告页] H -->|直播中| J[观看页] H -->|已结束| K[会员直播结束页] I --> L{本场已成功进过房?} J --> L L -->|否| M[锁定 invitee→inviter] L -->|是| N[不记邀约/不覆盖] M --> O[邀约对象下单支付] O --> P[邀约奖励=实付×邀约人奖励比例] P --> Q[我的收益 / 后台邀约人列表] ``` #### 6.5.1 按页面的分享入口 | 页面 | 入口 | 行为 | | --- | --- | --- | | 直播预告(`preview`) | 底部【分享】 | 直接打开分享弹窗,绑定本场 `live_id` | | 观众直播间(`room`) | 底栏「更多」→【分享】 | 关更多面板 → 打开同一分享弹窗 | | 主播 H5 中控(`anchorLive`) | 「更多」→【分享】 | 关更多面板 → 打开同一分享弹窗(邀约人=当前登录会员) | | 直播中心列表 | — | **无**列表分享按钮(V1.97 起) | | 直播商品详情 | 顶栏【分享】 | 打开 **仅「复制链接」** 弹层(`goodsShareSheet`,见 6.5.7);**不走**三渠道 `shareSheet`;**不参与**本场邀约归因 | #### 6.5.2 分享弹窗(`shareSheet`) 底部 Sheet;标题「分享」;渠道**不含朋友圈**。 | 渠道 | 交互 | Toast / 结果 | | --- | --- | --- | | 微信好友 | 调起微信分享给好友(小程序卡片或 H5,按现网能力);卡片内容见下表 | 分享成功/取消由微信回调;失败可 Toast | | 生成海报 | 打开海报预览(字段见下表);用户可保存/转发 | 海报页或预览;二维码内容 = 带参直播链 | | 复制链接 | 将带参 URL 写入剪贴板 | Toast「链接已复制」 | | 取消 | 关闭弹窗 | 不产生分享行为记录(可选) | **不做展示:** 弹窗底部灰色说明文案(如链路参数、首次进房锁定邀约规则);归因规则仍见 6.5.3~6.5.5。 三渠道共用同一套链接拼装;可选附加 `channel=wechat|poster|copy` 仅供统计,**不参与归因唯一键**。 ##### 微信好友分享卡片 布局参考微信会话内横向链接卡片(左文右图):左侧两行文案、右侧方形缩略图。 | 字段 | 取值 | 说明 | | --- | --- | --- | | 标题(上) | 本场**直播名称** | 加粗;过长省略 | | 描述(下) | 固定文案「**直播间有更多优惠等你**」 | 小于标题字号 | | 缩略图(右) | 本场**直播封面** | 方形;无封面用默认图 | | 跳转 | 带参直播链(见 6.5.3) | 与复制链接 / 海报二维码同参 | ##### 生成海报(`sharePoster`) | 字段 | 取值 | 说明 | | --- | --- | --- | | 直播封面 | 本场封面 | 海报主视觉 | | 直播标题 | 本场直播名称 | — | | 二维码 | 带参直播链 | 与「复制链接」`live_id`、`inviter` 一致 | | 优惠文案 | 固定「**直播间有更多优惠等你**」 | 展示在二维码下方 | **不做展示:** 「邀约人 ID · 扫码进房锁定归因」、主播信息(头像/昵称/ID)。邀约参数仍写入二维码链接,仅不在海报上明文展示。 #### 6.5.3 链接规范 ```text https://{商城域名}/live/{live_id}?inviter={member_id}&from=share ``` | 参数 | 必填 | 说明 | | --- | --- | --- | | `live_id` | 是 | 本场直播 ID(路径段;全站统一) | | `inviter` | 是 | 当前登录分享人的会员 ID(邀约人) | | `from` | 建议 | 固定 `share` | 生成时机:打开弹窗或点击渠道时,用**当前登录会员** + **当前场次**即时生成。未登录须先登录再分享。海报二维码解码结果须与「复制链接」参数一致。 **观看登录:** 所有用户观看直播(含预告页 / 观看页 / 从分享或扫码进入)均须先登录;未登录打开分享链/扫码 → 跳转登录 → 登录成功后带回原链参数并继续进房校验。 #### 6.5.4 角色与术语 | 角色 | 定义 | | --- | --- | | 邀约人(inviter) | 点击分享、链接上挂载的会员 | | 邀约对象(invitee) | 经该分享链**首次成功进房并锁定**的会员 | | 成功进房 / 第一次进入直播间 | <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">所属门店参与本场,且进入**预告页或观看页**。**待开播(未开播)进入预告页即算第一次进入**,不必等到开播后进入观看页。拦截页、已结束会员结束页不算</span> | 示例:会员2 分享 → 会员1 打开链接进房 → 会员1 下单 → 会员2 获邀约奖励。此时邀约人=会员2,邀约对象=会员1。 #### 6.5.5 进房归因与锁定流程 ```text 邀约人打开分享弹窗 → 选渠道生成带参链/海报 → 邀约对象打开链或扫码 → 未登录则强制登录,成功后带回原链参数 → 校验参与门店范围:无权限 → 拦截页(6.6)文案「很抱歉你当前无法进入直播间」,不记邀约 → 有权限按场次状态分流: 待开播 → 直播预告页 直播中 → 观众直播间 已结束 → 会员直播结束页(本场已结束;可返回;与直播中心列表点已结束的回放规则独立,见 6.1.2) → 成功进预告/观看且满足锁定条件 → 写邀约记录并锁定 (live_id, invitee_id)→inviter_id → 本场下单 → 订单写 inviter_id → 邀约奖励=实付×邀约人奖励比例 → 后台单场「邀约人列表」与门店端「我的收益」回看 ``` | 分享/扫码进房状态 | 落地页 | | --- | --- | | 待开播 | 直播预告页(可分享,不可下单) | | 直播中(已开播) | 观众直播间 | | 已结束 | **会员直播结束页**(提示本场已结束;可返回「我的」/直播中心;一期不在此页直接播回放) | **写入邀约记录并锁定**须同时满足: 1. 来源带有效 `inviter`(分享链 / 海报扫码); 2. `inviter` ≠ 当前会员(自分享不记); 3. 邀约人会员存在且有效; 4. 当前会员所属门店参与本场,且进房成功(预告或观看); 5. <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">本场该会员**尚未成功进过房**(含自然进房),且**当前这次**来源为有效分享链。</span> | 规则 | 说明 | | --- | --- | | 第一次进入直播间 | <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">**待开播(未开播)进入预告页即算**,与开播后进入观看页等价;本场只认这一次。开播后再进观看页不构成新的第一次</span> | | 锁定粒度 | `(live_id, invitee_id)` 固定一个 `inviter_id`(<span style="color:#6d28d9;background:#f3e8ff;font-weight:600">也可为空:自然进房后本场永不补锁</span>) | | 同场多链 | <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">同一直播间,A 与 B 分别把分享链接发给 C,且 C 两条都点开过,**只记 1 条**。邀约人 = C **第一次点开并成功进房**的那条链接上的人;邀约时间 = 该次进房时间</span> | | 后到其他分享链 | 可进房,**不新增记录、不覆盖**已锁定邀约人 | | 自然进房后再点分享 | <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">C 先经自然流量(直播中心、无 `inviter` 直链、商品详情分享链等)成功进预告/观看,再点 A 的分享链:**不写邀约人列表、不锁定**;本场下单无邀约人</span> | | 无分享直进 | 本场无邀约人;下单邀约奖励为 0 | | 跨场次 | 每场独立;不自动带到其他场 | | 邀约时间 | 首次经有效分享链成功进房的时间(预告或观看) | | 下单 | 本场订单均挂该首次锁定邀约人(可空) | #### 6.5.6 下单计奖与数据去向 | 能力 | 说明 | | --- | --- | | 订单 | 直播单写入本场锁定的 `inviter_id`(可空) | | 邀约奖励 | 实付 × 本场该 SKU「邀约人奖励比例」;计入待结算/已结算时点与主播奖励相同(见 §2.3) | | 我的收益(门店端) | 当前会员=邀约人;见 6.1.1;**无排名** | | 后台邀约人列表 | 单场数据 / 主播详情;见 4.2.3 | | <span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】不做后台邀约排名</span> | 后台只保留邀约人列表(4.2.3 / 4.3.1);门店端无排行榜 | **不做:** 多级裂变、朋友圈渠道、C 端邀约排行榜、后台海报素材运营配置台。 #### 6.5.7 直播商品详情分享(仅复制链接,不计邀约) 与 6.5.2 三渠道邀约分享**隔离**:商品详情分享只传播直播商品落地页,**不写邀约记录、不锁定邀约人、下单不计邀约奖**。 ##### 分享弹层(`goodsShareSheet`) | 项 | 规则 | | --- | --- | | 入口 | 直播商品详情顶栏【分享】 | | UI | 底部白底 Sheet;右上角 × 关闭;**仅一个渠道「复制链接」**(橙色圆形链图标 + 文案);**无**微信好友 / 生成海报 / 取消条 | | 复制链接 | 将本场直播商品带参 URL 写入剪贴板;Toast「链接已复制」 | | 未登录 | 须先登录再分享(与直播间分享一致) | ##### 链接规范 ```text https://{商城域名}/live/{live_id}/goods/{spu_id}?sharer={member_id}&from=goods_share ``` | 参数 | 必填 | 说明 | | --- | --- | --- | | `live_id` | 是 | 当前直播场次 ID | | `spu_id`(或路径商品标识) | 是 | 当前直播商品 SPU | | `sharer` | 是 | 当前登录分享人会员 ID(**仅标识分享者,不作邀约人**) | | `from` | 建议 | 固定 `goods_share`,便于与邀约链区分 | **禁止**在本链上使用 `inviter` 或写入邀约归因逻辑。 ##### 从分享进入直播商品详情 ```text 打开直播商品分享链 → 未登录 → 强制登录 → 带回原链参数 → 校验所属门店是否参与本场 否 → 落地「直播商品详情 · 无法查看」态:底部灰条「很抱歉你当前无法查看该商品」(复用已售罄视觉);不可下单;亦不可进该直播间;不记邀约 是 → 落地本场该 SPU「直播商品详情」(直播价等规则同 6.3;直播未开始 / 已结束的处理见 6.3) ``` | 规则 | 说明 | | --- | --- | | 落地身份 | 有权限 = **直播商品详情**(非普通商城详情) | | 无权限落地 | **不跳 `block` 拦截页**;落地商品详情「无法查看」态(灰条「很抱歉你当前无法查看该商品」,复用已售罄视觉);不可下单;亦不可进该直播间(同一参与门店校验失败) | | 与直播间分享文案 | 商品侧:「很抱歉你当前无法查看该商品」;直播间直链/邀约链侧:仍用「很抱歉你当前无法进入直播间」(见 6.6) | | 归因 | `sharer` 不触发锁定;订单不因本链写入邀约人 | ### 6.6 未参与拦截 | 场景 | 期望 | | --- | --- | | 列表 | 未参与本场的门店会员看不到该场次 | | 直链 / 直播间分享链 | 展示拦截页;文案固定「**很抱歉你当前无法进入直播间**」;不可进房(R1,失败率 100%) | | <span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】跨店分享</span> | <span style="color:#854d0e;background:#fef9c3;font-weight:600">A 店会员把直播间分享链发给 B 店会员:B 店不在本场参与门店内时,与 B 店会员自己打开直链同一拦截页、同一句「很抱歉你当前无法进入直播间」;不记邀约。B 店在参与范围内则仍可进房</span> | | 直播商品详情分享链 | **不跳拦截页**;落地商品详情「无法查看」态,文案固定「**很抱歉你当前无法查看该商品**」(复用已售罄视觉,仅文案不同);不可下单,亦不可进该直播间;不记邀约 | | 操作 | <span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】【主页】进入商城首页。从拦截页进入时,首页返回回到拦截页,不进入直播间</span> | **口径:** 无权限 = 当前登录会员所属门店不在本场「参与门店」范围内(含未登录先登录后再校验仍无权限)。拦截页不写邀约记录。 <span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】示意场次「午间秒杀」:参与门店含旗舰店、南山店、宝安店,不含福田店。旗舰店会员分享给福田店会员 → 拦截页 →【主页】。同场南山店会员点开分享链仍可进房。</span> <span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.16】示意(商品分享链):同一「午间秒杀」,旗舰店会员把**商品链**发给福田店会员 → 落地**直播商品详情「无法查看」态**(灰条「很抱歉你当前无法查看该商品」,复用已售罄视觉),**不跳拦截页**;同场南山店会员点开同链则正常进直播商品详情。原型演示:顶栏「商品链·无权查看」。</span> ## 7. 商城门店端 · 主播 已被商城后台添加且**启用**的主播,在门店端「我的 → 主播」进入工作台:开播 / 取消场次、查看本主播数据与带货奖励订单。功能逻辑与数据统计与 **PC 直播间**一致(概况 / 历史 / 订单奖励口径同第 5.6~5.8 章)。 可交互原型:`直播2/商城门店端直播原型.html`(页面 key:`anchor` / `anchorAnalytics` / `anchorOrders` / `anchorLive`);标注清单:`直播2/门店端水滴标注清单.md`。 ### 7.0 端口定位 | 项 | 说明 | | --- | --- | | 谁用 | 后台已绑定且启用的主播(同一商城会员账号) | | 做什么 | H5 开播中控、场次 Tab(直播中/待开播/已结束)、主播资料与数据分析/直播订单入口、本主播数据分析与带货奖励订单 | | 不做什么 | 不建场、不改参与门店/价佣;不做商品「录像」 | | 与会员端关系 | 「我的 → 直播」= 第 6 章会员能力;「我的 → 主播」= 本章 | ### 7.1 入口与身份校验 入口位置:「我的」功能宫格,**「直播」右侧**「主播」。入口对所有会员可见;点击时校验: | 情况 | 行为 | | --- | --- | | 当前账号未在后台绑定为主播 | Toast「该账号未绑定主播」 | | 已绑定但主播状态=禁用 | Toast「主播已禁用」 | | 已绑定且启用 | 进入主播工作台 | ### 7.2 主播工作台 #### 主播资料与入口 | 区块 | 说明 | | --- | --- | | 头像 | 显示当前主播头像 | | 昵称 | 显示当前主播昵称(**不再**固定显示「直播中心」文案) | | 移除 | 去掉主播 ID、手机号、编辑入口 | | 数据分析 | 资料区下方入口;进入本主播数据分析页(见 7.4) | | 直播订单 | 资料区下方入口;进入本主播直播订单页(见 7.4) | #### 场次 Tab(直播中 / 待开播 / 已结束) Tab:**直播中**(默认)/ **待开播** / **已结束** 三个,按状态过滤当前主播场次。Tab 采用**文字型样式**:横排文字,未选中常规字重,选中项**加粗 + 底部短横线指示条**。资料区 / Tab 固定,**列表区可上下滑动**(隐藏滚动条)。不含已取消;不展示审核「未通过」等额外状态。 **排序(三级):** 1. 优先级 1:直播中 > 待开播 2. 优先级 2:开播时间升序(靠前的在前) 3. 优先级 3:创建时间降序(最新创建在前) **直播卡片:** | 项 | 说明 | | --- | --- | | 直播封面 | 直播封面 | | 直播标题 | 显示直播标题 | | 直播时间 | 直接展示开播时间(如 `2026-07-22 12:00:00`),**无**「开播时间」前缀 | | 【开播】 | 直播中 / 待开播显示;跳转【直播中控】;待开播进中控为「待开播态」;直播中进中控为直播中态 | | 【取消】 | 直播中 / 待开播显示;弹窗提示「确认取消这场直播吗?」→ 确认后状态=已取消,同步后台,**不进直播历史** | | 已结束卡片 | **无**【开播】【取消】;时间轴「直播动态」(时长 / 观看人数 / GMV / 带货奖励);封面点击进入「直播回放」页 | ### 7.3 H5 直播中控 **定位:App 可交互开播中控**(非空占位页)。入口:场次 Tab【开播】→ 中控。状态机:待开播 →【开始直播】→ 直播中 → 顶栏返回/× 确认 → 已结束(独立结束页)。同一主播同时仅 1 场直播中(PC/App 互斥)。 #### H5 开播流程 > **流程说明:** 与 PC 同源,入口不同;总览见 [§3.3 图3](#33-核心流程)、[§5.3](#53-直播中心)。 ```mermaid flowchart TD A[后台场次=待开播] --> B[门店端 我的→主播→场次 Tab] B --> C[点击开播] C --> D[H5 直播中控 待开始] D --> E{同主播是否已有直播中?} E -->|是| F[拦截 不可重复开播] E -->|否| G[开始直播] G --> H[场次=直播中] H --> I[商品 / 发券 / 连麦 / 关播] I --> J[结束页 → 回主播工作台] ``` #### 顶栏(待开播 / 直播中) | 项 | 说明 | | --- | --- | | 【返回】‹ / 【×】 | **待开播**:直接回主播工作台**场次 Tab**。**直播中**:弹窗「确认关闭直播吗」→【取消】关弹窗;【确认】结束本场并进入结束页。**无独立【结束直播】按钮** | | 主播 | 头像、名称;名称超过 6 字以 `...` 截断 | | 观看人数 | **待开播不展示**;**直播中**展示前 3 观众头像 + **观看人数(实时,当前在房在线数)**;点击打开「在线观众」抽屉 | | 直播主题 | **不展示**(中控画面区不显示场次名称/主题文案) | #### 在线观众抽屉(门店端 H5) 入口:直播中顶栏观看人数区域。 | 项 | 说明 | | --- | --- | | 搜索 | 支持观众**昵称模糊**搜索;占位「请输入观众昵称」;**失焦**后过滤列表 | | 列表 | 仅展示**头像**、**观众昵称** | | Tab | **不展示**「普通观众」「邀约观众」 | | 标题 | `在线观众(N)` 为当前在线总数 | #### 待开播态 | 项 | 说明 | | --- | --- | | 画面 / 设备 | 进中控即默认**开启摄像头与麦克风**,预览区显示对应画面;可在「更多」内切换 | | 实时数据 | **不展示** | | 「待开始」文案 | **不展示** | | 【开始直播】 | 置于底栏上方并居中;点击后状态→直播中,Toast「直播已开始」 | | 评论 | 可唤起输入与表情;**发送无效**(Toast 提示) | #### 直播中态 | 项 | 说明 | | --- | --- | | 实时数据 | 展示入口;弹窗字段见下表 | | 公屏 | 与 **PC 中控、门店观众端**同套胶囊气泡;消息类型见下表;正式版 WebSocket,原型 `live2_chat_bus_v1` | | 画面 | 可开关摄像/麦克;权限失败 Toast 后仍可继续;原型可将预览帧推会员端(`live2_preview_bus_v1`);**连麦成功后画面区左右分屏**(左主播 / 右观众;语音=头像+昵称,视频=观众摄像头) | **公屏消息类型(三端统一:门店主播中控 / PC 主播中控 / 门店观众端):** | 类型 | 展示 | | --- | --- | | 粉丝 / 主播评论 | 头像 + 身份标签(粉丝/主播)+ 昵称 + 内容(文字/表情) | | 主播发商品 | 主播标签 +「发送了一个商品」+ 商品图 / 名称 / 直播价 | | 主播发券 | 主播标签 +「主播发送了优惠券【券名】」 | > 连麦不进公屏。主播评论、发券由门店中控或 PC 中控写入并同步观众端;粉丝评论由观众端写入并同步两端中控。 **实时数据弹窗字段(不含带货奖励):** | 字段 | 口径 | | --- | --- | | 直播时长 | 当前本场时长,格式 `HH:MM:SS`,动态刷新 | | 今日奖励 | **今日**计入待结算或变为已结算的主播奖励合计(口径同 PC §5.5) | | 本月获得奖励 | **本月**计入待结算或变为已结算的主播奖励合计 | | 已发放奖励 | **本月已结算**奖励 | | 待发放奖励 | **本月待结算**奖励 | > 未达结算周期计入时点的订单不计入上述指标。 #### 底栏与「更多」(待开播 / 直播中) | 项 | 说明 | | --- | --- | | 评论输入 | 左侧标签图标;支持表情 | | 购物车 | 底部抽屉「主播商品列表」(搜索、置顶、上下架、店库存;商品图左上「奖励X%」=本场商品主播奖励比例;卡片展示「销售价:¥x.xx」「直播价:¥x.xx」=默认规格价、<span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.17】「库存:X」(统计逻辑:云连锁=本场参与门店总库存;qimall=商城商品总库存)</span>;不做录像;联动 `live2_goods_bus_v1`) | | 连麦 | 购物车右侧;红点=已申请人数;连麦中文案「连麦中」;抽屉含**开启连麦**开关、当前连麦(头像/昵称/【结束】)、已申请观众(接通/拒绝);支持语音+视频(接通默认语音);画面分屏;禁排队;与 PC 同源 `live2_mic_bus_v1` | | 更多 | **分享**、**商品**、**优惠券**、**关闭/开启摄像头**、**关闭/开启麦克风**(不含连麦) | | 分享 | 关闭更多面板,打开三渠道分享弹窗(见 6.5;邀约人=当前登录会员) | | 商品 | 同购物车,打开主播商品列表 | | 优惠券 | 底部「优惠券」抽屉;待开播可看不可发;直播中可发<span style="color:#854d0e;background:#fef9c3;font-weight:600">(点击【发放】先二次确认,确定后执行;发放中可【停止发放】,停止后库存≠0 可续发;状态机同 PC)</span> | | 摄像头 | 默认开,文案「关闭摄像头」;关闭后文案切「开启摄像头」,反之亦然 | | 麦克风 | 默认开,文案「关闭麦克风」/「开启麦克风」切换同上 | #### 门店库存抽屉(门店端 H5) **定位:** H5 主播中控内,查看当前 SPU 在各参与门店的可售库存。 **容器:** 底部抽屉(原型 `hostStockSheet`);**业务逻辑与 PC 中控「门店库存」弹窗(§5.5)一致**,仅 UI 容器不同。 **入口:** 我的 → 主播 → 场次 Tab【开播】→ H5 直播中控 → 底栏购物车 / 更多【商品】→ 主播商品列表 → 商品卡【店库存】。 **叠层:** 自商品列表(`hostGoodsSheet`)之上打开;关闭后回到商品列表。 | 模块 | 规则 | | --- | --- | | 标题 | **门店库存**;右上角 **×** 关闭(无底部关闭按钮) | | 商品名 | 当前 SPU 名称,**加粗**(取默认规格 SKU 名称) | | 列表按钮角标 | 商品列表【店库存】展示「有货门店数 / 无货门店数」;**仅本场参与门店**;按该 SPU 已添加 SKU 在各店 `stockByStore` 合计 | | 门店搜索 | 占位「请输入门店名称」;名称**模糊**匹配;点【查询】刷新列表 | | 数据范围 | **仅本场参与门店** | | 列表字段 | **白卡片**(一店一张):门店 logo、门店名称、库存状态标签(有库存绿 / 无库存红)、门店电话 | | 库存展示 | 该店该 SPU 已添加 SKU 可售合计 ≠ 0 →「有库存」;= 0 →「无库存」且**标红** | | 滚动 | 列表可纵向滑动,**隐藏滚动条** | | 空态 | 无匹配门店 →「暂无门店数据」 | | 场次状态 | 已结束:置顶/上下架禁用;**仍可查看店库存** | | 联动 | `live2_goods_bus_v1`;会员端本店下单扣库存后,有货/无货数与列表同步(AC-M-30) | > **与 PC 差异:** 仅 UI 容器(H5 底部抽屉 vs PC 居中弹窗);库存统计、门店范围、搜索与列表字段同 §5.5「门店库存弹窗」。 #### 已结束页 关播确认后进入**独立结束页**(不留在中控锁定态)。 | 项 | 说明 | | --- | --- | | 【×】 | 右上角;点击回主播工作台场次 Tab | | 标题 | 居中「直播已结束」 | | 直播时长 | 其下展示「直播时长 HH:MM:SS」 | | 观看人数 | 本场开播起至今直播中进房观看的**去重用户数**(累计;预告不计) | | 最高在线人数 | 本场**最高同时进房观看**人数 | | 其他 | 不做点赞/评论/分享/关注等 | > 统计口径与 PC 中控结束页(§5.5)一致。原型演示默认:观看人数 100 人、最高在线人数 80 人。 ### 7.4 数据分析 / 直播订单 入口:主播工作台(§7.2)资料区下方「数据分析」「直播订单」入口卡。 #### 已结束卡片展示项 「已结束」Tab 卡片时间轴「直播动态」;列表区可上下滑动(隐藏滚动条);口径同 PC 5.8。 | 展示项 | 说明 | | --- | --- | | 节点时间 | 格式如 `2026-08-29开播` | | 直播时长 | 本场时长,以小时统计;展示如 `直播时长:1.84h` | | 观看人数 | 本场开播起至今直播中进房观看的**去重用户数**(观看人数累计);展示如 `观看人数:100` | | GMV | 本场总销售额(含实付 + 未付款 / 取消 / 拒收);各订单金额(含运费)之和;展示如 `GMV:¥100.00` | | 带货奖励 | 本场主播带货奖励合计(待结算 + 已结算);未达结算周期计入时点的订单不计入;展示如 `带货奖励:¥20.00` | | 封面 | 本场封面(指标下方);点击进入「直播回放」页 | #### 直播回放 入口:「已结束」Tab 卡片封面。竖屏全屏播放本场回放;标题「直播回放」;右上角 × 返回主播工作台「已结束」Tab。底栏:播放/暂停、当前时长、进度条、总时长、全屏。**仅观看**,不做回放带货计佣(R6)。 #### 数据分析 时间筛选:全部 / 今日 / 本周 / 本月(单选);切换后刷新**概况**、**实时观众人数趋势**与**直播转化漏斗**。时间窗按场次**开播时间**落入区间。 **直播概况**与商城后台 [4.3.1 主播详情](#431-主播详情)「直播概况」**严格同构**:**7 张指标卡**,同名同口径(统计范围为当前主播 + 时间筛选内场次汇总,**跨场次不去重**——访问人数 / 观看人数 / 带货转化率(成交人数与观看人数):同一会员在多个场次分别计数): | 指标 | 口径 | | --- | --- | | GMV | 统计周期内直播总销售额(含实付 + 未付款/取消/拒收);各订单金额(含运费)之和 | | 带货转化率 | **成交人数** ÷ **观看人数** × 100%(**跨场次不去重**,同一会员在多个场次分别计数) | | 主播带货奖励 | 主播带货提成合计 | | 访问人数 | 筛选内各场次「创建起至今」访问用户,**跨场次不去重** | | 观看人数 | 筛选内各场次「开播起至今直播中进房」用户,**跨场次不去重**(预告不计) | | 订单成交金额 | 已付订单总金额 | | 订单成交数量 | 已付订单总数量 | **页面顺序:** 概况 → 直播转化漏斗 → 实时观众人数趋势。 **直播转化漏斗**、**实时观众人数趋势**口径对齐后台 §4.2.3 / §4.3.1(跨场次不去重;漏斗为访问人数 → 观看 → 成交;观众趋势为访问/观看/离开,截至该日累计)。**不做** GMV / 带货转化率 / 订单成交金额 / 订单成交数量 / 主播带货奖励经营趋势图。 > 与 PC 5.6 差异:PC 数据分析概况另含**累计开播次数**;门店端不做此项。 #### 直播订单 本主播直播期间订单的**主播带货奖励**明细(非邀约人奖励)。列表覆盖**当前主播全部直播间**的订单数据。 ##### 收益统计 统计对象:**主播带货奖励**(与「我的收益」邀约人奖励隔离)。 | 指标 | 口径 | | --- | --- | | 累计总收益 | 当前主播的带货奖励合计;**累计总收益 = 已结算 + 待结算**(仅含已达结算周期计入时点的订单);与「已结算收益」左右并排展示 | | 已结算收益 | 当前主播的带货奖励中,**仅含已结算**的合计 | ##### Tab | Tab | 说明 | | --- | --- | | 已结算 | 展示已结算状态的订单数据;选中态紫粉渐变 | | 待结算 | 展示待结算状态的订单数据 | ##### 订单列表 / 卡片 展示当前主播在**所有直播间**产生的订单(按当前 Tab 过滤)。卡片自上而下: | 字段 | 说明 | | --- | --- | | 订单编号 | **子订单编号**,如 `SE20260829100759950101` | | 商品信息 | 商品图片、商品名称、下单商品数量(左图右文,数量在标题下方) | | 订单金额 | 当前订单**实付金额**,如 `100.00` | | 奖励比例 | 该商品的主播奖励比例,如 `10%` | | 奖励金额 | 当前订单奖励给主播的金额,高亮展示,如 `+ 10.00`(= 实付 × 奖励比例) | 点商品卡 → 商品信息弹窗(图、标题、单价、数量)。 ### 7.5 与 PC 中控对照 | 能力 | PC 直播间(第 5 章) | 门店端 · 主播(本章) | | --- | --- | --- | | 开播状态机 | 待开始 → 直播中 → 已结束 | 同;两端互斥仅 1 场直播中 | | 商品置顶 / 上下架 / 店库存 | 有 | 有(无录像) | | 发券状态机 | 有(点击【发放】先二次确认) | 同 | | 连麦 | 有(语音+视频;接通默认语音;画面分屏;禁排队) | 有(购物车右侧;规则同 PC) | | 公屏 | 有 | 同套气泡 + `live2_chat_bus_v1` | | 关播后 UI | **留在中控锁定** | **进独立结束页** | | 在线观众 | 仅头像+昵称搜索(无普通/邀约 Tab) | 仅头像+昵称搜索(无普通/邀约 Tab) | | 实时数据 | 有 | 有;**不含「带货奖励」字段名**;含今日/本月奖励口径 | | 中控主题文案 | 状态栏展示直播间名称 | **不展示直播主题** | | 登录入口 | 独立 PC 登录页 | 「我的 → 主播」身份校验 | ### 7.6 与「我的收益」隔离 | 入口 | 视角 | 奖励口径 | | --- | --- | --- | | 直播中心 → 我的收益(第 6 章) | 当前会员 = 邀约人 | 邀约人奖励 = 实付 × 邀约人奖励比例 | | 主播 → 分析 / 订单(本章) | 当前会员 = 主播 | 主播带货奖励 = 实付 × 主播奖励比例 | 两套列表、合计、口径禁止混用。 --- ## 8. 原商城改动影响面 > **写法约定(底座 / 新增 / 边界)** > - **底座**:完全沿用原商城的页面结构、交互、字段与履约链路。 > - **新增**(蓝色高亮,见 HTML 版):相对原商城,直播场景额外增加的 UI、字段、规则或打标。 > - **边界**:何时触发新增;哪些路径/订单**不受影响**。 > 历史修订记录若与本附录冲突,**以本附录当前结论为准**(例如:C 端列表不去店名「直播」角标;提交订单/订单详情商品卡不加「直播价」标签、金额区展示「直播优惠」;后台订单标识增加「直播」)。 ### A. 总览矩阵 | 端 | 页面 | 底座(沿用) | 新增(直播) | 边界(触发 / 不影响) | | --- | --- | --- | --- | --- | | 门店端 | 我的订单 | 搜索 / Tab / 卡片 / 状态按钮 / 进详情 | 可搜直播间名;自直播间进时返回路径不同 | **无**店名「直播」角标、**无**列表「直播价」;普通单不变 | | 门店端 | 订单详情 | 状态头 / 地址 / 商品卡 / 金额 / 订单信息 | 金额区「直播优惠」;可含场次/主播快照 | 仅直播购订单;商品卡无「直播价」标签;普通单=原商城 | | 门店端 | 提交订单 | 地址 / 留言 / 券 / 积分 / 运费 / 底栏 | 金额区「直播优惠」;本场券可选手动互斥 | 仅直播间购链路;商品卡无「直播价」标签;普通商城购不变 | | 门店端 | 订单支付 | 倒计时 / 余额 / 确认付款 | 成功后扣本店库存、核销券、回写中控、写直播快照 | UI 无新增角标 | | 门店端 | 支付成功 | 原商城成功页与按钮 | 【查看订单】进本单详情(待发货) | 无 C 端「直播」角标 | | 商城后台 | 订单管理 | 列表结构 / 操作 / 筛选收起 | 订单标识枚举+「直播」;直播购订单打标可筛 | 仅直播间点商品购买;非直播单标识不变 | | 商城后台 | 营销·活动管理 | 筛选/列表/启用;新增/详情表单 | 「领取渠道」筛选+列 | 渠道创建后不可改;仅渠道=直播且已开启可入池;活动管理不展示入池列;无定时发 | ### B. 门店端 · 页面明细 #### B1 我的订单 | 段 | 内容 | | --- | --- | | 底座 | 原商城「我的订单」:搜索、状态 Tab、订单卡片、状态操作、点卡片进详情 | | 新增 | 搜索支持直播间名称;入口可来自直播间商品面板【订单】(返回回房并打开商品列表) | | 边界 | 列表**不**展示店名旁「直播」、**不**展示「直播价」;非直播订单与原商城一致 | #### B2 订单详情 | 段 | 内容 | | --- | --- | | 底座 | 原商城订单详情结构与售后/物流入口 | | 新增 | 直播购订单:金额区在「优惠券」上方增加「直播优惠」=`Σ(销售价−直播价)×数量`(销售价=直播价时仍 −¥0.00);可展示所属直播、主播;商品卡展示销售价、**不加**「直播价」标签 | | 边界 | 普通订单无直播优惠与直播字段;不做回放再购直播价 | #### B3 提交订单 | 段 | 内容 | | --- | --- | | 底座 | 原商城提交订单(地址/留言/券/积分/运费/会员折扣/去支付);点优惠券出「可用优惠券」抽屉(票券卡+单选+确认) | | 新增 | 直播购:商品卡同原商城(销售价、无「直播价」标签);金额区在「优惠券立减」上方增加「直播优惠」;商城券与本场券互斥选 1;门槛按直播价小计 | | 边界 | 仅直播间购;非直播商品行与原商城一致 | #### B4 订单支付 / 支付成功 | 段 | 内容 | | --- | --- | | 底座 | 支付页与成功页 UI/按钮沿用原商城 | | 新增 | 确认付款成功:扣本店库存、核销券、回写中控、写快照;后台打「直播」标识 | | 边界 | C 端支付/成功页不新增「直播」角标;超时回提交订单 | ### C. 商城后台 · 订单管理 | 段 | 内容 | | --- | --- | | 底座 | 原商城订单管理:筛选(默认收起扩展项)、状态 Tab、主/子单列表、发货/更多操作、分页 | | 新增 | 订单标识枚举增加「直播」;直播间购订单组底展示 `tag-live`「直播」,可按标识筛选 | | 边界 | 打标条件=会员在直播间点击商品购买并支付成功;其他来源订单标识与筛选不变 | ### C2. 商城后台 · 营销 · 活动管理 | 段 | 内容 | | --- | --- | | 底座 | 顶栏「营销」→ 活动管理/优惠券列表(领取明细)/领取规则;筛选、列表、启用开关;新增活动/活动详情表单 | | 新增 | 「领取渠道」商城/直播(表单在使用范围下,默认商城,创建后不可改);筛选与列「领取渠道」;券池仅引入渠道=直播且已开启(活动管理不展示入池状态) | | 边界 | 渠道=商城不进直播链路;核销沿用原商城;发放=PC 手动;无定时发;入池操作仅在「直播 → 优惠券管理」 | ### D. 研发对照速记 | 结论 | 要做 | 不要做 | | --- | --- | --- | | C 端列表 | 保持原商城卡片 | 店名旁「直播」角标 | | C 端提交/详情 | 直播商品「直播价」+ 总价按直播价 | 普通订单也打直播价 | | 后台订单 | 标识枚举+打标+筛选 | 另建独立「直播订单」菜单(一期) | | 营销优惠券 | 领取渠道+券池策展;入池仅直播渠道;PC 手动发 | 定时发;在营销页发券;改核销逻辑 | | 履约 | 现网订单中心 + 直播快照 | 改资金归属门店规则 | ## 9. 非功能与验收 ### 9.1 非功能需求 | 类别 | 要求 | | --- | --- | | 性能 | 后台列表查询 P95 < 1s;进房准入校验 < 300ms(不含推流);PC 开播建连体验目标 < 3s(视 CDN)。 | | 一致性 | 价格、分红%、参与门店以订单快照为准,可审计;PC 与后台场次状态最终一致。 | | 安全权限 | 按角色隔离;门店仅触达本店订单资金;操作留日志;主播仅能操作本人场次。 | | 可用性 | 关键操作有明确 Toast;结束/删除等破坏性操作二次确认;门店端水滴标注不遮挡可操作控件。 | | 兼容 | 管理后台与 PC 直播间支持主流桌面浏览器(Chrome / Edge 近两个大版本);需 HTTPS 方可 WebRTC;门店端适配手机 Web / 小程序容器(以现网商城为准)。 | ### 9.2 验收标准(节选) | 编号 | 场景 | 期望 | | --- | --- | --- | | AC-01 | 创建页点取消 | 返回列表,无新增场次 | | AC-02 | 名称/封面/时间/主播/参与门店齐全后保存 | 成功,状态=待开播 | | AC-03 | 缺少参与门店(部分门店模式)保存 | 提示「请选择参与门店」,不落库 | | AC-03a | 缺少封面保存 | 提示「请上传直播间封面」,不落库 | | AC-04 | 创建时添加商品 | 弹窗仅展示商品池启用商品 | | AC-05 | 创建时添加优惠券 | 弹窗仅展示券池数据 | | AC-06 | 未参与门店会员进房/直链 | 不可见或拦截,失败率 100% | | AC-07 | 直播中下单 | 直播价+所选 1 张券(商城或本场);扣本店库存;写预估分红快照 | | AC-08 | 本店无库存 | 不可下单;不跨店扣 | | AC-09 | 售后期满且无售后中 | 可划扣分红从所属门店货款出 | | AC-10 | 售后期满仍有售后中 | 延期划扣 | | AC-11 | 已结束后购买 | 不计本场分红;直播券不可用 | | <span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】AC-12</span> | <span style="color:#854d0e;background:#fef9c3;font-weight:600">非待开播改场次</span> | <span style="color:#854d0e;background:#fef9c3;font-weight:600">直播中 / 已结束 / 已取消列表无「编辑」,不可改店/改品/改价</span> | | AC-13 | 列表操作 | 无「去直播」;固定展示<span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.12】「详情」</span>、「编辑」;「更多」含禁用/复制链接且浮层不被裁切 | | AC-LIVE-01 | 列表开播时间 | 待开播且从未开播:展示计划开播时间;已开播(直播中/已结束):展示首次实际开播时间 | | AC-LIVE-02 | 累计时长 | 本场实际在播各时段累加,不含中断空档;格式 HH:mm:ss;与 PC 中控本场直播时长一致 | | AC-LIVE-03 | 直播中禁用 | 二次确认后启用→禁用;若直播中则自动已结束、停推、时长结算;C 端不可继续观看 | | <span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】AC-14</span> | <span style="color:#854d0e;background:#fef9c3;font-weight:600">编辑直播间</span> | <span style="color:#854d0e;background:#fef9c3;font-weight:600">「编辑」仅待开播显示并可保存;直播中 / 已结束 / 已取消隐藏;见 R12</span> | | AC-15 | (废止)讲解商品 | V1.73 起中控已取消【讲解】;保留编号避免验收表断号 | | AC-16 | 商品池移除 | 进行中场次占用时不可移除 | | AC-17 | 禁用主播 | 不可被新建场次选用;已绑定待开播场次需提示处理 | | AC-18 | 添加主播时选择已是主播的会员 | Toast「请勿重复添加主播」 | | AC-19 | 创建直播选择主播 | 弹窗仅展示启用状态主播 | | AC-20 | 主播详情入口 | 主播列表「详情」进入主播详情;展示信息卡、7 指标概况、趋势与漏斗、奖励/邀约 Tab | | AC-21 | 主播详情转化漏斗 | 展示访问→观看→成交三层漏斗;概况含访问人数+观看人数;趋势为访问/观看/离开(按日累计、跨场次不去重);口径同 §4.2.3 | | AC-22 | 邀约人列表详情 | 邀约对象已下单时展示「详情」;弹窗展示邀约对象订单及邀约人奖励明细 | | AC-27 | 概况指标 i 悬停 | 直播间详情 / 主播详情:悬停指标旁 i 显示口径气泡;漏斗标题 ? 显示路径说明 | | AC-28 | 列表更多菜单 | 直播间/商品/优惠券等列表点击「更多」,菜单完整浮于表格之上,不被行或滚动容器遮挡 | | AC-25 | 券池添加优惠券 | 弹窗仅展示主商城已开启且未入池的券;多选确定后回显至券池列表 | | AC-26 | 券池删除优惠券 | 二次确认;直播间发放中提示「直播间发放中,提示不能删除」且不可移除 | | AC-24 | <span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.12】直播间详情页</span> | 列表<span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.12】「详情」</span>进入;展示信息卡、**7 指标**(含访问人数+观看人数)、趋势(访问/观看/离开,截至该时刻累计)与漏斗;**实时观众趋势横轴为 HH:mm(本场时段,非按日)**;数据列表 Tab:奖励明细 / 邀约人列表 / 商品 / 优惠券;奖励明细仅本场;邀约列表为该主播全场次;已下单邀约可查看订单详情弹窗 | | <span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.12】AC-24b</span> | <span style="color:#854d0e;background:#fef9c3;font-weight:600">直播间详情·商品/优惠券</span> | 「商品」展示本场已添加 SKU(列:商品ID、商品图+名称、规格、平台价格、主播/邀约人奖励比例);「优惠券」仅展示 PC 中控本场实际发出过的券(备券未发不展示;<span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.12】无「活动发放数量」列</span>);两 Tab 只读;主播详情无此二 Tab | | AC-METRIC-01 | 观看人数双口径 | 中控/会员顶栏「观看人数」=实时在房数;数据页/历史/结束页「观看人数」=累计去重;同场直播中实时数 ≤ 累计数 | | AC-24a | 后台公屏联动 | 直播中 PC/门店端公屏消息实时同步至直播间详情公屏面板;样式与中控一致;连麦不进公屏 | | AC-23 | 数据看板 vs 直播间详情 | 侧栏为总览;列表「详情」进直播间详情,互不跳转混淆 | | AC-31 | 数据看板总览 | 侧栏进入;含筛选、概况 **9 卡**(场次 2 + 经营 7)、全商城**直播转化漏斗**(对齐 §4.2.3、跨场次不去重);查询/重置联动刷新;无观众趋势折线/经营趋势/排行榜 | | AC-32 | 我的应用·直播入口 | 顶栏「更多 → 应用」进入我的应用;侧栏含我的应用/应用市场/直播二级菜单;企业服务【直播】进数据看板并展开高亮 | | AC-PC-01 | 已添加且启用的主播,账号密码正确 | 进入直播中心 | | AC-PC-02 | 账号不存在 / 密码错误 / 未绑定 / 已禁用 | 分别 Toast 对应文案,不进入 | | AC-PC-02a | 账号或密码为空点登录 | Toast「请输入账号」或「请输入密码」 | | AC-PC-02b | 账号输入特殊字符 | 实时过滤,不写入输入框 | | AC-PC-02c | 勾选记住账号和密码后退出再打开 | 回填账号与密码 | | AC-29 | 商品池列表 | 按 SKU 展示;含店有货/平台价/直播间价格/双奖励比例;库存弹窗按门店×SKU | | <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">【V1.08】AC-30</span> | <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">基础设置保存</span> | <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">页面唯一【保存设置】持久化直播设置与鉴权 token;密钥空值保留原值,有新值则覆盖并恢复脱敏;Toast「设置已保存」</span> | | AC-30a | 密钥默认脱敏 | 进入「直播设置」时,推流鉴权 Key / IM secret_key / API SecretId / SecretKey 均全脱敏展示,无完整明文或前缀 | | AC-30b | 密钥直接编辑 | 密钥字段为密码框,点击即可输入;不回显旧明文;未保存离开页面不生效 | | AC-30c | 密钥保存回传 | 保存后读配置:SecretId / SecretKey 等均不回传明文;未提交新值的字段保持原密钥 | | <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">【V1.08】AC-30d</span> | <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">回调URL复制</span> | <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">「回调设置」回调URL只读;点【点击复制】写入剪贴板并 Toast「复制成功」</span> | | <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">【V1.08】AC-30e</span> | <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">鉴权token</span> | <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">可编辑;随【保存设置】持久化;有值时服务端验签;留空不校验</span> | | AC-SETTLE-01 | 结算周期=订单支付 | 支付成功后订单进入各端奖励明细「待结算」;计入今日/本月奖励与预估分红合计 | | AC-SETTLE-02 | 结算周期=订单完成 | 支付成功未确认收货:不出现在奖励明细、不计入待结算汇总;确认收货后进入「待结算」 | | AC-SETTLE-03 | 待结算→已结算 | 两种结算周期下,已结算均须售后期满且无进行中售后(R9)后从门店划扣 | | AC-SETTLE-04 | 切换结算周期 | 保存后仅对新达标订单生效;历史订单奖励状态不追溯变更 | | AC-SETTLE-05 | 退款冲回 | 确认收货前全额退款(订单完成模式)不产生奖励;已进入待结算后退款按比例冲回;已结算后按现网售后冲回 | | AC-PC-03 | 待开播场次进入中控 | 中控状态「待开始」;隐藏主播中心全局顶栏;摄像/麦克默认开并显示预览;可点开始直播(默认不经开播准备页) | | AC-PC-03a | 待开始点【返回】或【×】 | 直接返回直播中心并恢复顶栏,不弹关播确认 | | AC-PC-04 | WebRTC 授权成功后开播 | 场次变直播中;后台同步;设备保持可开关 | | AC-PC-05 | 已有直播中再开另一场 | 拦截提示 | | AC-PC-06 | 商品置顶 | 点击【置顶】将该商品移到列表第 1 位;Toast「置顶成功」;同步会员端;搜索时不可置顶 | | AC-PC-06a | 商品列表搜索 | 名称模糊搜索;点搜索刷新;占位「请输入商品名称」 | | AC-PC-06b | 店库存弹窗 | 加粗商品名;门店名称模糊搜索;仅本场参与门店;列表滚动条可见;门店信息+库存列(无库存标红);门店 ID 为 1001 体系 | | AC-PC-06c | 商品列表布局与排序 | 右上角 × 关闭;列表可上下滑动(滚动条可见)且【关闭】固定底;名称左侧排序号;↑ / ↓ 可调顺序;搜索时不可排序 | | AC-PC-06d | <span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.17】商品卡库存</span> | <span style="color:#854d0e;background:#fef9c3;font-weight:600">中控商品卡展示「库存:X」统计逻辑:云连锁=本场参与门店总库存;qimall=商城商品总库存</span> | | AC-PC-07 | 优惠券弹窗 | 标题「优惠券」;列表仅展示活动已开启且有库存(或不限量/本场已发放)的备券;已结束/已关闭不展示;卡片含面值/门槛/名称/有效期 | | AC-PC-07a | 发放 | 仅直播中 + 当前时间≥活动开始时间 + 全局有库存可点【发放】;<span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.17】点击先弹二次确认(标题「提示」,确认发放该优惠券吗?),【确定】后</span>显示【停止发放】;推送门店端发券弹窗 + 公屏「主播发送了优惠券【券名】」 | | AC-PC-07f | 发放推送 | 点击【发放】后在房会员收到 COUPON_ISSUED 并弹待领取弹窗 | | AC-PC-07b | 发放中持续 | <span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.17】发放中显示【停止发放】,发放完成前可点击停止;停止后本场剩余≠0 时按钮变回【发放】可续发</span>;限量券持续至本场发放剩余为 0;不限量券不出现「已发完」 | | AC-PC-07b2 | <span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.17】停止发放</span> | <span style="color:#854d0e;background:#fef9c3;font-weight:600">发放中点击【停止发放】:停止向会员发放、不写公屏;未领取会员立即不再展示/可领,已领取券保留;本场剩余≠0 时显示【发放】可续发,本场剩余=0(仅限量券)显示【已发完】</span> | | AC-PC-07c | 已发完 | **仅限量券**;发放中且本场发放剩余为 0 时显示「已发完」置灰<span style="color:#854d0e;background:#fef9c3;font-weight:600">(终态,不可再停止)</span>;本场已发完且全局库存为 0 仍展示 | | AC-PC-07d | 不可发放 | 未发放 +(当前时间<活动开始时间 **或** 限量券全局库存=0)显示「不可发放」置灰;待开始时「发放」不可点 | | AC-PC-07e | 库存不足 | 限量券全局库存为 0 时点击发放 Toast「券库存不足」 | | AC-PC-07g | 列表过滤 | 活动已结束/已关闭不进入列表;本场未发放且全局库存=0(被其他直播间领完)不进入列表 | | AC-PC-07h | 不限量券 | 恒有库存;发放后<span style="color:#854d0e;background:#fef9c3;font-weight:600">显示【停止发放】,可随时停止或续发,</span>不出现「已发完」 | | AC-PC-08 | 结束直播二次确认 | 直播中【返回】隐藏;【×】或【结束直播】弹出「确定要结束直播吗?结束后观众将无法继续观看。」;【确认结束】后变已结束;停推;本页结束页展示时长 HH:MM:SS、观看人数(开播起至今直播中进房去重累计)、最高在线人数(最高同时进房观看);可在历史看到 | | AC-PC-08e | 已结束后返回 | 结束页【确定】或顶栏【返回】/【×】回直播中心并恢复顶栏 | | AC-PC-08a | 直播中心点取消并确认 | 场次→已取消;右侧列表隐藏;不进直播历史;后台同步已取消 | | AC-PC-08b | 左侧预告选场 | 有直播中优先;否则最近待开播;【立即开始】进中控(待开始或直播中) | | AC-PC-08c | 连麦 | 工具开关面板;红点=申请数;开启连麦开关控观众入口;当前连麦仅【结束】;已申请接通/拒绝;语音+视频(接通默认语音);画面分屏;禁排队;不进公屏;同源总线 | | AC-M-ANCHOR-12 | H5 连麦 | 购物车右侧;红点=申请数;开启连麦开关;当前连麦【结束】;已申请接通/拒绝;与 PC 同源 | | AC-PC-08d | 互动消息显隐 | 【互动消息】工具开关整块面板;首次点击显示整块,再次点击整块隐藏;工具高亮 | | AC-PC-08d1 | 标题栏展收 | 模块显示时标题栏常驻;【展开/收起】仅控制评论区+输入区;通过工具打开时内容区默认展开并聚焦 | | AC-PC-08d2 | 评论气泡展示 | 胶囊气泡含头像(首字圆形)、标签(主播/粉丝)、昵称冒号、正文(含表情);主播发商品含商品卡片;主播发券文案「主播发送了优惠券【券名】」 | | AC-PC-08d3 | 输入与表情 | 圆角输入条;表情按钮在发送左侧;点选表情插入光标;回车发送;空内容 Toast「请输入评论」;超 200 字 Toast「评论最多 200 字」 | | AC-PC-08d4 | 列表滚动 | 列表占满剩余高度可滚动;贴近底部时新消息自动滚底;上滑历史不强制打断 | | AC-PC-08d5 | 评论同步 | 主播/粉丝评论、讲解商品、发券消息同步公屏与后台单场数据页;直播中会员评论实时推入中控 | | AC-PC-09 | 数据分析筛选 | 切换全部/今日/本周/本月,概况、观众趋势与转化漏斗刷新;口径与后台主播详情/单场一致;概况不含最高点赞数/最高在线数;不含 GMV/转化率/订单/奖励经营趋势图 | | AC-PC-10 | 直播订单查询重置 | 会员/奖励状态/时间段过滤正确;空奖励状态显示全部;列表可左右滑动;分页同选择商品弹窗;查询或改每页条数回第 1 页;重置恢复全量 | | AC-M-01 | 我的页直播入口 | 功能宫格展示「直播」;点击进入「直播中心」 | | AC-M-01a | 我的页主播入口 | 「直播」右侧展示「主播」;未绑定 Toast「该账号未绑定主播」;已禁用 Toast「主播已禁用」;启用进入主播工作台 | | AC-M-ANCHOR-00 | 主播资料与入口 | 工作台顶部显示主播头像与昵称(不再固定显示「直播中心」文案);资料区下方显示「数据分析」「直播订单」入口卡;去掉主播 ID / 手机号 / 编辑 | | AC-M-ANCHOR-01 | 场次 Tab 范围与排序 | 三态 Tab(直播中 / 待开播 / 已结束)过滤本主播场次;文字型样式(未选中常规字重,选中加粗 + 底部短横线指示条);不含已取消;无「未通过」态;排序=状态(直播中>待开播)>开播时间升序>创建时间降序 | | AC-M-ANCHOR-02 | 开播与取消 | 直播中 / 待开播卡片显示【开播】【取消】;【开播】进 H5 中控(待开播为待开播态);【取消】文案「确认取消这场直播吗?」→ 已取消并同步后台、不进历史 | | AC-M-ANCHOR-03 | H5 开始/关播 | 【开始直播】→直播中 Toast「直播已开始」;关播仅顶栏返回/× 二次确认→结束页;无独立结束按钮;同时仅 1 场直播中(与 PC 互斥) | | AC-M-ANCHOR-04 | 已结束 Tab(直播历史) | 「已结束」Tab 展示时间轴「直播动态」;节点 `YYYY-MM-DD开播`;时长/观看人数(累计)/GMV/带货奖励展示格式含单位与 ¥;封面在指标下方 | | AC-M-ANCHOR-04a | 直播回放 | 「已结束」卡片封面点击进入竖屏回放页;播放/暂停/进度/时长/全屏;× 回主播工作台「已结束」Tab;仅观看不做回放带货 | | AC-M-ANCHOR-05 | 数据分析概况与图表 | 概况 **7 指标**与后台 §4.3.1 主播详情严格同构(GMV/带货转化率/主播带货奖励/访问人数/观看人数/订单成交金额/订单成交数量);时间筛选全部/今日/本周/本月;漏斗与观众趋势对齐 §4.2.3(跨场次不去重);**不含** GMV/转化率/订单/奖励经营趋势图 | | AC-M-ANCHOR-06 | 直播订单奖励 | 统计主播带货奖励;累计=已结算+待结算;Tab 切换已结算/待结算订单;列表=本主播全部直播间订单;子订单号+商品图/名/数量+实付+比例+奖励金额;点商品出弹窗 | | AC-M-ANCHOR-07 | 与我的收益隔离 | 主播订单/分析不含邀约人奖励;我的收益不含主播带货奖励 | | AC-M-ANCHOR-08 | H5 商品列表 | 置顶/上下架;【店库存】打开门店库存抽屉;图左上「奖励X%」(本场商品主播奖励比例);卡片展示「销售价:¥x.xx」「直播价:¥x.xx」(默认规格),<span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.17】「库存:X」统计逻辑:云连锁=本场参与门店总库存;qimall=商城商品总库存</span>;无录像;搜索可用;入口含购物车与更多【商品】 | | AC-M-ANCHOR-08b | H5 门店库存抽屉 | 商品列表【店库存】打开底部抽屉「门店库存」;加粗商品名;门店名称模糊搜索;仅本场参与门店;白卡片含 logo/名称/库存标签/电话;仅顶栏 × 关闭;列表滑动且隐藏滚动条;有货/无货门店数与列表一致;已结束可查看;联动 `live2_goods_bus_v1` | | AC-M-ANCHOR-09 | H5 实时数据 | 仅直播中展示;弹窗含时长 HH:MM:SS、今日奖励(今日已结算+待结算)、本月获得/已发放/待发放;**不含带货奖励** | | AC-M-ANCHOR-10 | 在线观众 | 门店端:无普通/邀约 Tab;昵称模糊搜索(占位「请输入观众昵称」、失焦过滤);列表仅头像+昵称;待开播不展示观看人数入口 | | AC-M-ANCHOR-11 | H5 发券 | 仅直播中可发<span style="color:#854d0e;background:#fef9c3;font-weight:600">(点击【发放】先二次确认,确定后执行;发放中显示【停止发放】,发放完成前可停止;停止后库存≠0 显示【发放】可续发)</span>;状态机同 PC;推送会员端 | | AC-M-ANCHOR-13 | H5 画面可交互 | 待开播进中控即摄像/麦克默认开并预览;可关开切换;**不展示直播主题**;公屏直播中有粉丝评论推入 | | AC-M-ANCHOR-14 | H5 待开播评论 | 可输入/表情,发送无效 | | AC-M-ANCHOR-15 | H5 更多与分享 | 更多含分享/商品/券/摄像/麦克(不含连麦);分享打开三渠道弹窗(同 6.5) | | AC-M-ANCHOR-16 | H5 结束页 | 展示直播已结束、时长、观看人数(开播起至今直播中进房去重累计)、最高在线人数(最高同时进房观看);× 回主播工作台 | | AC-M-ANCHOR-17 | H5 公屏统一 | 中控公屏与观众端/PC 同套:头像+身份标签+昵称+内容;发商品/发券样式一致;`live2_chat_bus_v1` 联动 | | AC-PC-11 | PC 实时数据 | 中控【实时数据】打开深色弹窗;顶行时长 HH:MM:SS + 今日奖励(今日已结算+待结算);底行本月获得/已发放/待发放;直播中时长每秒递增;不含「带货奖励(本场)」;口径同 App | | AC-PC-12 | PC 在线观众 | 中控【在线】打开弹窗;无普通/邀约 Tab;昵称模糊搜索(占位「请输入观众昵称」、失焦过滤);列表仅头像+昵称;标题在线观众(N) | | AC-M-02 | 直播中心过滤 | 仅本店参与且待开播 / 直播中 / **已结束**;已取消不展示;双列宫格;无列表分享;排序=直播中>待开播>已结束>开播时间升序 | | AC-M-02a | 在点人数 | 直播中卡片右上展示在点人数 | | AC-M-02b | 我的收益·邀约列表 | 展示当前会员邀约对象:头像/名称/ID、下单数量(或未下单)、邀约时间;可滚无滚动条 | | AC-M-02c | 我的收益·奖励明细 | 已结算/待结算;累计总收益=当前 Tab 合计且切 Tab 跟着变;奖励时间口径同 §2.3;金额=实付×邀约人奖励比例;未达结算周期计入时点不出现在列表 | | <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">【V1.08】AC-M-02d</span> | <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">已结束场次点击</span> | <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">直播中心点击已结束 → Toast「本场已结束」;一期不做会员回放入口、不做只读结束说明页</span> | | AC-M-03 | 待开播进预告 | 可看预告、可分享(三渠道弹窗);不可下单;<span style="color:#6d28d9;background:#f3e8ff;font-weight:600">进入预告页即算本场第一次进入直播间</span> | | AC-M-04 | 直播中进房 | 可看公屏、商品、领券;直播价下单 | | AC-M-05 | 本店无库存下单 | 整卡置灰,按钮「售罄」不可买;不跨店扣库存;仍可进详情 | | AC-M-06 | 下单履约 | 扣本店库存、门店收款、订单打直播标 | | AC-M-07 | 分享邀约归因 | 分享链含 live_id+inviter;<span style="color:#6d28d9;background:#f3e8ff;font-weight:600">本场第一次成功进房且来源为有效分享链才记一条并锁定(含待开播预告);同场同对象不重复、后到链不覆盖;自然进房后再点分享不记</span> | | AC-M-07k | 同场多链只记首次 | <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">同一直播间 A、B 都把链接发给 C,C 两条都点开过:列表只 1 条,邀约人=第一次点开并成功进房的链接;后点不新增、不改邀约人;下单与排名只计该首次邀约人</span> | | AC-M-07l | 自然进房不补锁 | <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">C 先经自然流量成功进预告/观看,再点 A 的分享链进房:不写邀约人列表、不锁定;C 本场下单无邀约人、A 的邀约人数不含 C</span> | | AC-M-07m | 待开播即第一次进入 | <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">场次待开播(未开播)时 C 进入预告页即算本场第一次进入直播间;此后开播再进观看页不另算第一次;若该次为有效分享链则锁定,若为自然进房则本场不再补锁</span> | | AC-M-07a | 分享弹窗三渠道 | 弹窗含微信好友/生成海报/复制链接;**不含朋友圈**;取消关弹窗 | | AC-M-07b | 海报与复制同参 | 海报含封面、直播标题、二维码、「直播间有更多优惠等你」;**无**「邀约人 ID · 扫码进房锁定归因」、无主播信息明文;二维码与复制链接的 live_id、inviter 一致 | | AC-M-07c | 复制链接 | 点击复制链接成功 Toast「链接已复制」 | | AC-M-07d | 下单挂邀约人 | 本场已锁定则订单写 inviter;奖励=实付×邀约人比例;进「我的收益」 | | AC-M-07e | 未参与不记邀约 | 分享链进未参与店拦截页,不写邀约记录 | | AC-M-07f | 自分享不计 | inviter=本人时不记邀约、订单无邀约人 | | <span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】AC-M-07g 废止</span> | 不做后台邀约排名 | 单场数据与主播详情均无「邀约排名」Tab | | AC-M-07h | 微信好友卡片 | 卡片标题=直播名称;描述=「直播间有更多优惠等你」;缩略图=直播封面;左文右图横向卡片 | | AC-M-07i | 观看须登录 | 未登录打开分享链/扫码须先登录;登录后带回原链参数再进房校验 | | AC-M-07j | 分享进房状态分流 | 待开播→预告页;直播中→观看页;已结束→会员直播结束页 | | AC-M-08 | 未参与店直链 | 展示拦截页,文案「很抱歉你当前无法进入直播间」,进房失败率 100%;<span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】【主页】进商城首页,返回回拦截页、不进直播间</span> | | <span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】AC-M-08a</span> | <span style="color:#854d0e;background:#fef9c3;font-weight:600">跨店分享无权</span> | <span style="color:#854d0e;background:#fef9c3;font-weight:600">A 店会员分享直播链接给未参与本场的 B 店会员:同一拦截文案,不记邀约。示意「午间秒杀」:旗舰店 → 福田店拦截;旗舰店 → 南山店可进房</span> | | AC-M-09 | 券抽屉列表范围 | 主播未发放时抽屉为空态;已发放券可见 | | AC-M-10 | 立即领取 | 已发放未领且有库存可点;成功 Toast「领券成功」;按钮变【去使用】 | | AC-M-11 | 去使用 | 已领未用且直播中有效;打开商品列表;下单需手动选券 | | AC-M-12 | 已过期 | 过使用期或直播结束未用;整卡置灰且按钮为【已过期】 | | AC-M-13 | 领取扣库存 | 领取成功扣减中控发放剩余可领;领完中控【已发完】 | | AC-M-14 | 下单用券 | 提交订单不自动匹配;列表含已领商城券与本场券;手动只选 1 张或不使用(R10) | | AC-M-15 | 发券推送弹窗 | 中控发放后,在房未领用户弹出待领取弹窗(标题「直播惊喜券」) | | AC-M-16 | 领券成功弹窗 | 仅发券推送弹窗内领取成功后弹出「优惠券领取成功」;含【去使用】 | | AC-M-17 | 去使用 | 成功弹窗点【去使用】打开商品列表 | | AC-M-18 | 关闭推送弹窗 | 关闭后不再强弹;仍可从抽屉领取 | | AC-M-19 | 抽屉领取 | 抽屉内领取成功 Toast「领券成功」;按钮变【去使用】;不弹领券成功弹窗 | | AC-M-20 | 晚进房 | 不补弹历史发券;抽屉可见已发放未领券 | | AC-M-21 | 已使用 | 支付成功核销后按钮变【已使用】;置灰不可再选 | | AC-M-22 | 公屏消息类型 | 粉丝/主播评论(头像+身份标签+昵称+内容)、主播发商品、主播发券四类胶囊气泡;门店主播中控 / PC / 观众端样式一致 | | AC-M-23 | 公屏联动 | 观众评论同步 PC 与门店主播中控;两端中控评论/发券同步观众端公屏;原型 `live2_chat_bus_v1` | | AC-M-24 | 连麦不进公屏 | 连麦申请/接通/挂断不在公屏展示 | | AC-M-25 | 直播画面联动 | 门店端观看页显示 PC 中控摄像头画面;关摄像头显示「主播已关闭摄像头」;原型帧广播,正式版 CDN | | AC-M-26 | 门店端表情面板 | 点击☺展开表情网格;点选插入输入框光标处;超 200 字 Toast「评论最多 200 字」;点外部关闭 | | AC-M-27 | 商品序号 | 按已上架中控顺序编号;搜索过滤后序号不重编 | | AC-M-28 | 点卡片进详情 | 打开直播商品详情(「直播价」标签+划线销售价;无活动卡片;规格过滤);立即购买出规格弹窗 | | AC-M-29 | 商品状态联动 | 中控上下架/排序/置顶后,门店端购物车列表与序号同步变化(原型 `live2_goods_bus_v1`) | | AC-M-32 | (废止)讲解浮窗显隐 | V1.73 起观众端已去掉讲解浮窗 | | AC-M-33 | (废止)讲解浮窗交互 | V1.73 起观众端已去掉讲解浮窗 | | AC-M-30 | 下单回写库存 | 本店抢购成功后,中控店库存/有货门店数按本店扣减同步 | | AC-PC-09 | 门店 ID 与店库存范围 | 演示门店 1001–1006 与后台一致;店库存弹窗与有货/无货数仅含本场参与门店 | | AC-M-31 | 公屏手动滑动 | 门店端公屏超出可视区可上下滑动查看历史;无滚动条;贴底时新消息自动滚底,上滑后不强制打断 | | AC-M-34 | 直播详情身份 | 直播间入口 **或** 本场直播商品分享链(有权限)→ 直播详情;商城列表 / 非直播商品链 → 普通详情 | | AC-M-34a | 商品详情分享弹层 | 顶栏【分享】打开 `goodsShareSheet`:仅「复制链接」+ × 关闭;无微信好友/海报/取消条 | | AC-M-34b | 商品分享链参数 | 复制链含 `live_id` + `sharer` + 商品标识;`from=goods_share`;**无** `inviter`、不计邀约 | | AC-M-34c | 商品分享进详情 | 未登录先登录;有权限落地直播商品详情;无权限落地商品详情「无法查看」态(复用已售罄视觉,灰条文案「很抱歉你当前无法查看该商品」),不可下单且不可进直播间 | | AC-M-35a | 直播商品详情 · 不可购买态 | 不可购买统一为「底部灰条 + 立即购买置灰不可点」(商品信息正常显示);优先级 ① 商品售罄 > ② 直播状态(未开始 / 已结束)> ③ 非参与门店;灰条文案分别为「商品已售罄」「直播未开始,直播开始后才可购买」「直播已结束,直播结束后不可购买」「很抱歉你当前无法查看该商品」 | | AC-M-35 | 规格过滤 | 未加入本场的规格不展示;规格行/弹窗内可切换;单规格显示默认不可切 | | AC-M-36 | 不可加购 | 直播详情与规格弹窗无购物车、无加入购物车;底栏仅首页+立即购买 | | AC-M-37 | 首页占位 | 详情【首页】进商城首页占位;占位返回回直播间 | | AC-M-38 | 场次结束禁买 | 停留详情时结束直播,立即购买立刻不可用 | | AC-M-39 | 货架 SPU | 货架按 SPU 出卡;直播价=默认规格价;【抢购】进详情 | | AC-M-40 | 提交订单页 | 商品卡同原商城(销售价、无「直播价」标签);金额区「直播优惠」在优惠券立减上方;合计=销售价小计−直播优惠−券;【去支付】进订单支付页 | | AC-M-41 | 观众直播间更多·分享 | 底栏更多**仅分享**;点分享打开三渠道弹窗(废除右上角 Toast);连麦在购物车右侧(见 AC-MIC) | | AC-M-42 | 离房浮窗展示 | 直播中离开观看页后(含回直播中心、进商品详情等)→ 全局显示【直播中】浮窗 | | AC-M-43 | 浮窗回房 | 点击直播中浮钮(白圆 FAB)仅回观看页;不自动打开商品列表 / 券抽屉 | | AC-M-44 | 关闭浮窗退房 | 点击浮窗关闭 × → 结束在房会话;全局隐藏浮窗 | | AC-M-45 | 结束隐藏浮窗 | 场次已结束 / 已取消时浮窗不显示 | | AC-M-46 | 无视频小窗 | 浮窗不含直播画面预览;本期不做 PiP / 视频缩放小窗 | | AC-M-47 | 主播工作台退房 | 进入主播工作台任意页 → 自动结束在房会话;不展示浮窗 | | AC-M-48 | 会员在线观众抽屉 | 观看页点击顶栏头像组+在线人数 → 底部抽屉;标题在线观众(N);昵称模糊搜索(占位「请输入观众昵称」、失焦过滤);列表仅头像+昵称;无普通/邀约 Tab | | AC-MIC-01 | 观众连麦入口 | 【连麦】在购物车右侧;受「开启连麦」控制显隐;更多不含连麦 | | AC-MIC-01a | 等待接通 | 申请后文案「等待接通」;点开抽屉【取消申请】【取消】 | | AC-MIC-02 | 申请 | 直播中且无人连麦时可申请;中控 pending 出现;不进公屏 | | AC-MIC-03 | 拒绝感知 | 主播拒绝后该观众 Toast「主播已拒绝连麦」,按钮回空闲 | | AC-MIC-04 | 接通 | 画面左右分屏;默认语音(右侧头像+昵称);观众可手动开摄像头 | | AC-MIC-05 | 禁排队 | 已有人连麦中时他人点连麦 Toast「当前有人连麦中,请稍后再试」,不进 pending | | AC-MIC-06 | 挂断 | 主播或观众挂断后双方空闲 + 对应 Toast | | AC-MIC-07 | 非直播中 | 申请不可用,Toast「仅直播中可连麦」 | | AC-MIC-08 | 关播清场 | 关播清空 pending/connected;PC↔门店主播↔观众状态同源 | | AC-MIC-09 | 开启连麦开关 | 关闭后观众端隐藏连麦并清空 pending/connected | | AC-MIC-10 | 画面分屏 | 连麦成功后主播中控与观众端画面区左右分屏 | | AC-MIC-11 | 视频态 | 观众开摄像头后右侧显示视频;关闭回退头像+昵称 | | AC-MIC-12 | 观众自控 | 连麦中工具条:闭麦/开麦、开/关摄像头 | | AC-MIC-13 | 结束确认 | 点结束弹出【结束连麦】【取消】;取消不关连麦 | | AC-MIC-14 | 主播仅结束 | 主播/PC 当前连麦仅【结束】;不可静音观众 | | AC-M-PAY-01 | 去支付跳转 | 提交订单【去支付】进入订单支付(倒计时/余额/确认付款) | | AC-M-PAY-02 | 确认付款成功 | 进入支付成功页;扣本店库存、核销券、回写中控、订单带直播标且状态待发货 | | AC-M-PAY-03 | 查看订单 | 支付成功【查看订单】进入本单订单详情 | | AC-M-PAY-04 | 支付超时 | 倒计时结束 Toast 取消并回提交订单 | | AC-M-ORD-01 | 我的→全部订单 | 进入我的订单,Tab=全部 | | AC-M-ORD-02 | 订单列表 UI | 搜索、状态 Tab、卡片结构对齐原商城 | | AC-M-ORD-03 | 点订单卡片 | 进入订单详情,结构对齐原商城 | | AC-M-ORD-04 | 直播下单支付成功 | 详情商品卡无「直播价」标签(展示销售价);金额区有「直播优惠」;可有所属直播/主播;后台订单标识=直播 | | AC-M-ORD-05 | 非直播单 | 无所属直播/主播行 | | AC-M-ORD-06 | 直播间【订单】返回 | 回直播间并打开商品列表 | | AC-M-ORD-07 | 履约操作 | 取消/支付/物流/售后与现网一致,不另开直播履约 | | AC-PC-06d | 中控 SPU | 中控商品列表按 SPU 上下架/置顶;卡面直播价=默认规格价;图左上「奖励X%」=本场商品主播奖励比例;无讲解按钮 | ### 9.3 风险与待定 | 项 | 说明 | 建议 | | --- | --- | --- | | 封面强校验 | V1.40 已明确保存必填 | 创建/编辑保存时校验封面 | | 预告领券 | 预告期能否领券 | 默认允许领取、直播中才可用;可配置 | | 推流服务商 | 依赖第三方 WebRTC→CDN | PC 直播间出技术方案:建连、断线重连、失败兜底 | | 主播密码策略 | 与商城账号体系是否打通 | 一期可独立账号;二期对接统一登录 | | 门店对账页 | 门店是否需要看划扣明细 | P1;一期财务可在总部侧导出 | | 无摄像头开播 | 部分主播仅桌面采集 | 一期要求摄像头;二期可扩展屏幕分享 | --- ## 附录 · 术语表 | 术语 | 定义 | | --- | --- | | 参与门店 | 被勾选可展示、可进房、其会员可直播中下单的门店集合 | | 直播商品池 | 从商城引入、供建场选用的带货商品集合 | | 直播券池 | 从商城营销中「领取渠道=直播」且已开启的活动引入、供场次备券的优惠券集合 | | 领取渠道 | 优惠券属性:商城(仅领券中心可领)/ 直播(仅直播间可领);创建后不可改;核销仍沿用原商城 | | 直播价 | 直播中该 SKU 的成交基准价 | | 直播优惠 | 提交订单/订单详情金额区减免行:`Σ(销售价 − 直播价) × 数量`;仅直播商品;销售价=直播价时仍展示 −¥0.00 | | 日常价 | 商城商品原售价;非直播中场景使用 | | 实付 | 用户实际支付金额(直播中展示口径=销售价小计−直播优惠−所选 1 张券;等价于直播价小计−券) | | 结算周期 | 后台基础设置中的全局配置:订单支付 / 订单完成;决定奖励何时计入「待结算」 | | 待结算 | 已达结算周期计入时点、尚未划扣的奖励状态 | | 已结算 | 售后期满且无进行中售后后,从门店结算款划扣完成的奖励状态(R9) | | 预估分红 | 已进入奖励账本(待结算+已结算)的奖励金额合计(各端奖励明细/主播详情等汇总指标) | | 同场多链锁定 | <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">同一直播间多人把分享链接发给同一对象时,只锁定该对象第一次点开并成功进房的链接;后到链不新增、不覆盖</span> | | 自然进房 | <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">非有效邀约分享链的成功进房(直播中心、无 inviter 直链、商品详情分享等);本场已自然进房后再点分享链不记邀约</span> | | 第一次进入直播间 | <span style="color:#6d28d9;background:#f3e8ff;font-weight:600">本场第一次成功进入预告页或观看页。**待开播(未开播)进入预告页即算**,不必等到开播后进入观看页</span> | | 已划扣分红 | 其中状态=已结算的金额合计 | | 待开播 | 主播未在直播间进行开播。 | | 直播中 | 主播在直播间进行开播。 | | 已结束 | 主播在直播间结束了直播。 | | 已取消 | 主播在 PC 直播中心取消场次;不进直播历史;后台同步已取消;不可恢复 | | 启用状态 | 直播间运营开关;禁用后 C 端不可见、不可进房 | | 编辑直播间 | 列表「编辑」进入的场次维护页;与创建共用表单(`live-form`)。<span style="color:#854d0e;background:#fef9c3;font-weight:600">【V1.10】仅待开播可进入;直播中 / 已结束 / 已取消无此入口</span> | | 讲解中 | 当前正在讲解的 **SPU**;全场同时仅允许 1 个 | | 互动消息 | PC 直播中控右侧评论面板;工具开关整块显隐;标题栏【展开/收起】控制评论区与输入区 | | 公屏 | 三端(PC 中控、门店端、后台单场数据页)统一的评论展示区域;胶囊气泡样式;连麦不进公屏 | | 连麦 | 观众与主播音视频连线;接通默认语音;同时 1 人、禁排队;画面分屏;事件不进公屏;状态总线 `live2_mic_bus_v1` | | 主播详情 | 主播维度经营数据与奖励明细页;由主播管理列表「详情」进入 | | 访问人数 | 直播创建起至今进入预告页或直播间相关页的去重用户数;用于数据页概况、趋势与漏斗 | | 观看人数(实时) | 直播间当前在房观众数;展示于 PC/H5 中控、会员观看页顶栏;点击可打开「在线观众」列表 | | 观看人数(累计) | 直播开始起至今直播中进房观看的去重用户数(预告不计);用于数据页、历史、结束页 | | 最高在线人数(结束页) | 本场直播中最高同时进房观看人数(瞬时峰值,非累计去重) | | 访问成交转化率 | 成交人数 ÷ 访问人数 × 100% | | 区间转化率 | 漏斗相邻两层之间的转化比例,如访问→观看、观看→成交 | | 直播间详情 | 针对某场次的经营分析页;由列表「详情」进入;含信息卡、概况、趋势漏斗与数据列表(奖励/邀约/商品/优惠券) | | 数据看板 | 侧栏入口的全场次汇总看板 | | 直播订单 | 本场直播中下单数据;拆单对齐商城 | | PC 直播间 | 主播浏览器端开播端口(主播中心);WebRTC 采集推流 | | 主播中心 | PC 开播端产品名;含登录后的直播中心 / 数据分析 / 直播订单 / 直播历史 | | WebRTC 开播 | 浏览器内采集音视频并推流至直播 CDN 的开播方式 | ## 附录 · 演示数据口径(三端联动) 原型验收时,**唯一全量联动演示场次**如下(三端须同开同浏览器多标签): | 项 | 口径 | | --- | --- | | liveId | `30` | | 名称 | 午间秒杀 | | 状态 | 直播中 | | 主播 | `b` / id `190595` / 手机 `13535304826` / 密码 `123456` | | 封面 | `linear-gradient(135deg,#ef5350,#c62828)` | | 参与门店 | 1001 七件事旗舰店、1002 南山店、1004 宝安店(福田 1003 不参与本场,用于拦截演示) | | 门店 ID 口径 | 后台 / 门店端 / PC 中控统一 `1001` 起,禁止再用 `10001` | | 联动 key | `live2_chat_bus_v1`(公屏)、`live2_coupon_bus_v1`(发券弹窗)、`live2_preview_bus_v1`(画面帧)、`live2_goods_bus_v1`(商品上下架/顺序/讲解/分店库存)、`live2_mic_bus_v1`(连麦状态) | **商品场景覆盖(名称/直播价三端一致):** | 场景 | 示例商品 | | --- | --- | | 上架 + 讲解中 | 智利车厘子 2斤(JJ级/J级,默认 JJ级 ¥99) | | 上架 + 有货 | 有机生菜礼盒(单规格默认)、牛油果 6粒/3粒、青提 2斤/1斤、苹果 3斤/5斤、草莓 1斤/2斤 | | 上架 + 多规格 | 500ml 保温杯(红/白,灰未加入不展示);500ml 水杯(红/白,灰未加入);鲜酪酸奶(原味/草莓味) | | 上架 + 本店缺货 | 泰国金枕榴莲、海南贵妃芒(门店 stock=0,会员端整卡置灰「售罄」) | | 下架(会员端不展示) | 下架演示·蓝莓礼盒 | **券场景覆盖:** | 端 | 场景 | | --- | --- | | PC 中控 | 可发放、发放中<span style="color:#854d0e;background:#fef9c3;font-weight:600">(可停止发放)</span>、已发完(限量)、<span style="color:#854d0e;background:#fef9c3;font-weight:600">已停止(库存≠0 可再发放)</span>、不可发放(未到开始时间)、不限量发放中、被其他直播间领完(列表不展示)、已结束/已关闭(列表不展示) | | 门店端 | 未发放不进抽屉;发放中可领;已领去使用;已使用;已过期;已发完;<span style="color:#854d0e;background:#fef9c3;font-weight:600">主播停止发放后未领取不展示、已领取保留可用</span> | | 商城后台 | 券池含同名备券;单场数据含公屏只读、奖励明细与邀约(挂车厘子订单) | **订单/奖励:** 午间秒杀奖励明细与 PC「直播订单」、后台邀约订单统一为水果商品与订单号 `E20260722120…` 系列,不再使用洗发水挂本场。 > 本文为简单直播方案 V1.12,存放于 `直播2/云连锁直播功能PRD.md`(HTML 版:`直播2/云连锁直播功能PRD.html`)。一期交付四端口:商城后台(第 4 章)、PC 直播间(第 5 章)、门店端·会员直播(第 6 章)、门店端·主播(第 7 章);原商城交界见第 8 章。旧版 `直播1/` 文档仅作历史对照,**不作为本方案实现依据**。
© 2026 Qimall OS · Prototype Management System
PHP 8.3+
Tailwind CSS