首页三块 · 需求定稿
跑马灯 | 今日最新 | 新潮热门 · v12 定稿 · 本文为这三块的唯一口径
0. 三块是什么(先分清)
| 名称 | 在哪 / 长什么样 | 作用 | 放什么 | 几条 | 停留 |
|---|
| 跑马灯 | 首页底部(Tab 上方)的横向通知条 | 把现在能接的求助单推给施助者 | 只看求助单 | 每天 5 条,一条条轮播 | 每条 4–12 秒 |
| 今日最新 | 瀑布流里的固定卡片(状态 A) | 让你看到今天新发的内容 | 今天 0–24 点发布,不限类型 | 3 条 + 查看更多 | 8 秒 |
| 新潮热门 | 同一格卡片(状态 B),与 A 轮流出现 | 让你看到最近最火的内容 | 近 7 天,按热度分 | 3 条 + 查看更多 | 8 秒 |
关键区分:跑马灯是订单通知条(独立模块,在底部,会被"接单"影响);今日最新 / 新潮热门是内容推荐位(同一个格子轮流切换,不受接单影响)。
一、跑马灯
1.1 定位与形态
| 项 | 规则 |
|---|
| 位置 | 首页最底部、Tab 栏上方;通条,一屏只显示一条 |
| 每条显示 | 标题(单行省略)+【酬金 80¥】【打赏 50 豆】+「去接单」+「×」;不显示距离、区县、发布时间 |
| 条数 | 每天 5 条(当日批次),本期固定 5 条不做配置;候选不足按实际;0 条整条隐藏 |
| 播放 | 一条一条滚动轮询;每条停留 4–12 秒;一轮约 25–30 秒,播完循环 |
1.2 入池条件(全部满足才进池)
| 项 | 规则 |
|---|
| 类型 / 状态 | 仅求助单;招募中或待接单;未取消、未下架 |
| 时间 | 未过期(订单有效期 > 当前时间) |
| 地域 / 距离 | 属于采用城市;同城且 ≤20km(省级模式不做距离过滤) |
| 审核 | 审核通过、无违规标记、未命中敏感词 |
| 发布者 | 信用分 >50、未被封禁、不在黑名单 |
| 资金 | 赏金已托管成功 |
| 控屏 | 同一发布者最多进 2 条 |
1.3 排序规则(两层)
| 项 | 规则 |
|---|
| ① 距离档 | 有定位时:≤1km / 1–3km / 3–5km / 5–10km / 10–20km,先近档后远档;无定位或省级模式跳过本层 |
| ② 金额分 | min(综合金额,500) ÷ 500,降序(综合金额 = 酬金 + 打赏豆数×0.1) |
| ③ 兜底 | 金额分相同 → orderId 升序(顺序稳定、可复现) |
| 急单兜底 | 距截止 ≤3 小时的订单,在同一距离档内提到最前,并显示「即将截止」标 |
| 无定位 / 省级 | 跳过距离档,直接按 金额分 DESC 排 |
不使用时效分 / 新鲜分:① 两者方向相反会互相抵消;② 权重过低救不了急单(同档内"剩 23 小时"仍排在"剩 0.5 小时"前面);③ 时效分依赖有效期字段;④ 新鲜度问题已由"每天一批"解决。
1.4 金额构成(酬金 = 现金 / 打赏 = 吧豆)
1.4 金额构成(酬金 = 现金 / 打赏 = 吧豆)
| 项 | 规则 |
|---|
| 酬金 | 现金 / 余额|订单基础报酬;走资金托管,履约后结算给接单者,可提现 |
| 打赏 = 吧豆 | 积分(吧豆)|发布者用吧豆追加鼓励;接单者获得吧豆,不可提现,只能换权益 / 排名 |
| 展示(分开显示) | 【酬金 80¥】【打赏 50 豆】;只有酬金时显示【酬金 80¥】;只有打赏时显示【打赏 50 豆】;「看着给」显示【看着给】+ 打赏照常 |
| 排序影响 | 综合金额 = 酬金 + 打赏豆数×0.1(折算率可配);综合金额越高金额分越高 → 同一距离档内更靠前。打赏只影响排序,不参与现金结算;本期无加急、无付费置顶 |
| 结算口径 | 酬金走现金托管(履约后进余额,可提现);打赏是吧豆积分划转,接单者到账后不可提现 |
| 防刷约束 | 单条订单打赏折算部分不超过 50 元(即最多 500 豆计入排序) |
1.5 停留时长
基础(按标题字数):≤10 字 4s / 11–15 字 5s / 16–20 字 6s / 21–25 字 7s / ≥26 字 8s
加成:本轮第 1 条 +2s / 含打赏 +1s / 已曝光 2 轮 −1s → 封顶 12 秒、下限 4 秒;同一条 1 小时内最多曝光 3 轮。
1.6 内容更新机制(批次制)
| 项 | 规则 |
|---|
| 生成当日 5 条 | 每天 0 点按 1.2 / 1.3 生成当日批次 |
| 补位(唯一的内容变化) | 某条被接单 / 取消 / 过期 → 从当日候选池按排序补 1 条;≤30 秒(推送),无推送 60 秒轮询 |
| 整体重算 | 仅两种情况:① 用户切换城市(含恢复定位、定位精度变化)② 定位城市实质变化 |
| 下拉刷新 / 回前台 | 只做失效检测 + 补位,不重排已有条目;跨天则重新生成 |
| 补位方式 | 后续条目前移,不重新排序;正在播放的条目被移除时立即切下一条,不出现空白帧 |
| 新单 | 不插队;进入当日候选池等待补位,次日参与新一批评选 |
| 不采用 | 每 15 分钟重排、全天实时滚动换单、T+1 / T+3 更新 |
1.7 交互规则
| 项 | 规则 |
|---|
| 出现时机 | 进入首页后延迟 1.5 秒出现;页面下滑 >300px 隐藏,回到顶部再现 |
| 点击 | 点条目 → 该求助订单详情页;点「去接单」→ 详情页并聚焦报名区 |
| 暂停 | 长按 / 页面不可见 / 请求数据中 → 暂停并记录已用时长;恢复时从剩余时长继续 |
| 查看全部 | 右侧「查看全部 ›」→ 求助大厅列表页(承接"想看更多") |
1.8 消除规则
| 项 | 规则 |
|---|
| 第 1 步 | 点「×」→ 二次确认「今天不再显示任务单?」 |
| 第 2 步 | 确认后本地与服务端双写标记,维度 = 城市 + 日期 |
| 第 3 步 | 整条跑马灯立即隐藏 |
| 第 4 步 | 次日 0 点(服务端时间)标记失效,跑马灯恢复 |
| 第 5 步 | 换城市后按新城市判断 → 新城市重新展示;换设备仍生效 |
1.9 异常处理
| 项 | 规则 |
|---|
| 无数据 | 整条隐藏,不留白 |
| 只有 1 条 | 常显不轮播 |
| 请求失败有缓存 | 保留上一次内容继续播,不提示、不白屏 |
| 首次失败无缓存 | 显示骨架,3 秒后自动隐藏,不显示错误文案 |
| 播放中被接单 | 立即切到下一条,不出现空白帧 |
| 补位后不足 | 不足 5 条按实际;补到 0 条整条隐藏 |
1.10 埋点
曝光(某条连续可见 ≥1 秒才算,附带条序号、城市模式、定位精度、是否含打赏)|点击条目|点击「去接单」|点击「×」|手动暂停|轮播轮次。
二、今日最新(状态 A)
2.1 展示规则
| 项 | 规则 |
|---|
| 结构 | 标题行(今日最新)+ 3 个条目 + 底部「查看更多 ›」;条目 = 标题(单行省略)+ 价格 + 距离文案 |
| 距离文案 | 有定位显示公里;无定位显示「同城」;省级显示「同省」 |
| 数量 | 3 条;不足按实际;0 条则本状态不展示 |
| 状态切换 | 提供可直接切到「新潮热门」的入口 |
2.2 取数与排序
| 项 | 规则 |
|---|
| 时间范围 | 今天 00:00–24:00 发布(以服务端时间判断,跨天重置) |
| 内容类型 | 不限(技能、求助、活动都算 —— 内容位,不是订单位) |
| 排除 | 审核中、已下架、已被接单(订单类) |
| 排序 | 有定位 → 距离 ASC;无定位 → 发布时间 ASC;省级 → 全省 + 发布时间 ASC |
| 取几条 | 排序后前 3 条 |
2.3 「查看更多」列表页
| 项 | 规则 |
|---|
| 范围 / 排序 | 今天全部内容;默认与卡片同排序,顶部可切换排序 |
| 分页 | 上滑加载,每页 20 条;到底提示「没有更多了」 |
| 空态 | 「今天还没有新内容」+「去发布」按钮 |
| 返回 | 回到首页时卡片停留在进入时的那一状态 |
2.4 异常处理
0 条 → 本状态不展示,只显示新潮热门并停止轮换;不足 3 条 → 按实际显示且保留查看更多;请求失败 → 保留上次内容,首次失败显示骨架。
三、新潮热门(状态 B)
3.1 展示规则
| 项 | 规则 |
|---|
| 结构 | 与状态 A 完全一致(3 个条目 + 查看更多),保证卡片高度一致、切换不跳动 |
| 额外标识 | 仅新奇技能条目显示「新奇」标 |
| 不展示 | 热度分、浏览 / 收藏 / 成交数据(仅服务端排序用) |
3.2 取数、热度、排序
| 项 | 规则 |
|---|
| 时间范围 | 近 7 天 |
| 热度分 | 浏览 ×0.4 + 收藏 ×0.3 + 成交 ×0.3;「新奇技能」且审核通过的内容 ×1.3 |
| 排序 | 热度分 DESC;同分按发布时间 DESC |
| 取几条 | 前 3 条 |
| 去重 | 不与今日最新显示同一条;重复则顺延取下一条 |
| 重算 | 每 10 分钟;切入本状态时若距上次 >10 分钟先刷新 |
3.3 异常处理
不足 6 条 → 本状态常显 24 秒后回到状态 A,并把轮换间隔放宽到 15 秒;0 条 → 只显示状态 A 并停止轮换;两态都空 → 隐藏整个格子。
四、两态轮换规则
| 项 | 规则 |
|---|
| 轮换 | 今日最新 → 新潮热门 交替;顺序固定,不随机 |
| 停留 | 每状态 8 秒;顶部进度条同步 |
| 首次进入 | 默认「今日最新」;重新进入首页都重置为今日最新 |
| 手动切换 | 立即切换,并暂停自动轮换 24 秒 |
| 暂停条件 | 页面不可见 / 卡片滚出可视区 / 请求数据中 / 从详情返回 2 秒内 / 长按卡片 |
| 恢复 | 从剩余时长继续,不重新计时 |
| 预加载 | 切换前 1 秒预取下一状态内容;首屏两态一次性返回 |
五、三块联动
| 触发 | 联动行为 |
|---|
| 切换城市 / 定位变化 | 派发位置变更事件 → 三块同时刷新(先骨架约 0.3 秒,完成后整体替换;不展示旧城市内容) |
| 下拉刷新 | 三块同时重新请求 |
| 回到前台 | 各自检查时效:跑马灯按批次(跨天重建)、今日最新跨天重置、新潮热门 >10 分钟刷新 |
| 订单被接单 | 只影响跑马灯(移除 + 补位并前移);场景位是内容位,不受影响 |
| 统一兜底 | 任一块请求失败 → 保留上次内容;首次失败 → 骨架;都不弹错误窗 |
六、验收用例
| 编号 | 验收点 |
|---|
| 正常 1 | 跑马灯展示 5 条;按「距离档 → 金额」排序;每条停留 4–12 秒且首条 +2 秒 |
| 正常 2 | 打赏单分开显示【酬金 80¥】【打赏 50 豆】,在同距离档内排在未打赏单之前 |
| 正常 3 | 点条目进详情;点「去接单」进详情并聚焦报名区 |
| 正常 4 | 点「×」二次确认后当天不再出现;次日 0 点恢复 |
| 正常 5 | 今日最新展示 3 条 + 查看更多;点查看更多进列表页并可上滑分页 |
| 正常 6 | 有新潮热门时带「新奇」标的条目在列;两态各停 8 秒自动切换 |
| 正常 7 | 手动切换后 24 秒内不再自动切换 |
| 正常 8 | 切换城市 → 三块内容同时变更为新城市数据 |
| 异常 1 | 跑马灯池中 0 条 → 整条隐藏且不留白 |
| 异常 2 | 跑马灯只有 1 条 → 常显不轮播 |
| 异常 3 | 某条被接单 → 30 秒内消失、后续前移、其他条顺序不变 |
| 异常 4 | 正在播放的条目被接单 → 立即切下一条,无空白帧 |
| 异常 5 | 未授权定位 → 上海 + 金额排序 + 距离显示「同城」 |
| 异常 6 | 仅省级精度 → 全省 + 金额排序 + 显示「同省」+ 不做 20km 过滤 |
| 异常 7 | 选了其他城市 → 按所选城市取数、显示「恢复定位」提示 |
| 异常 8 | 今日最新 0 条 → 只显示新潮热门并停止轮换 |
| 异常 9 | 两态都空 → 隐藏整个格子,瀑布流不留白 |
| 异常 10 | 两态条数不同时卡片高度不变,瀑布流不跳动 |
| 异常 11 | 断网 → 三块保留缓存内容;恢复后刷新且不闪空 |
七、待确认(3 项)
| # | 待确认项 | 说明 |
|---|
| 1 | 急单兜底阈值 | 距截止 ≤3 小时提到同档最前(确认阈值,或改为"剩余 ≤ 有效期 20%") |
| 2 | 「查看全部 ›」是否本期做 | 建议本期做(进入求助大厅列表页),成本低、直接承接"想看更多" |
| 3 | 打赏档位与上限 | 打赏档位(+10 / +20 / +50 元)与单笔上限需与商业化一起定 |