| 项 | 规则 |
|---|---|
| 一屏展示 | 一条:标题 + 金额 + 「去接单」+ 「×」;一条一条轮播 |
| 标题 | 单行展示,超出部分截断(不换行、不在条内滚动) |
| 金额 | 【80¥】形式;整数元,≥1000 加千分位,≥10000 用「万」;为「看着给」时显示【看着给】 |
| 打赏标 | 含打赏时显示「打赏 50 豆」(打赏即以吧豆支付) |
| 进度提示 | 显示本条剩余停留时间,让用户知道何时切换 |
| 不展示 | 区县、距离、发布时间、发布者信息(信息进详情页看) |
| 隐藏规则 | 无数据时整条隐藏;只有 1 条时常显不轮播 |
| 项 | 规则 |
|---|---|
| 类型 | 仅求助订单(技能、组队、活动、闲置、企业需求一律不进) |
| 状态 | 招募中 / 待接单;已接单、已取消、已下架不进 |
| 时间 | 未过期(订单有效期 > 当前时间) |
| 地域 | 属于采用城市:手动选城 > 精确定位 > 城市级定位 > 省级(全省)> 默认上海 |
| 距离 | 同城且 ≤ 20 公里(可配 5–50);省级模式不做距离过滤 |
| 发布者 | 信用分 > 50、未被封禁、不在黑名单 |
| 资金 | 赏金已托管成功(冻结失败的不展示) |
| 内容 | 审核通过、无敏感词、无违规标记 |
| 控屏 | 同一发布者最多占 2 条 |
| 顺序 | 规则 |
|---|---|
| ① 距离档 | 有定位时:≤1km / 1–3km / 3–5 / 5–10 / 10–20km,先近档后远档;无定位或省级模式跳过本层 |
| ② 金额分 | 金额分 = min(综合金额, 500) ÷ 500,降序(综合金额 = 酬金(现金)+ 打赏豆数×0.1) |
| ③ 兜底 | 金额分相同 → orderId 升序(顺序稳定、可复现) |
| 急单兜底 | 距截止 ≤3 小时的订单,在同一距离档内提到最前,并显示「即将截止」标 |
| 无定位 / 省级 | 跳过距离档,直接按 金额分 DESC 排 |
不使用时效分 / 新鲜分(原设想的 1−已过÷总时长 与 1−发布小时÷72)。四条例由:① 两者方向相反会互相抵消;② 权重过低救不了急单(同档内"剩 23 小时"仍排在"剩 0.5 小时"前面);③ 时效分依赖订单有效期字段;④ 新鲜度问题已由"每天一批 5 条"的批次制解决。
| 项 | 规则 |
|---|---|
| 条数 | 默认 5 条(本期固定 5 条);不足按实际;0 条整条隐藏 |
| 一轮时长 | 控制在 25–30 秒(超出则用户不会等第二轮) |
| 每条停留 | 基础(按标题字数)+ 加成:≤10 字 4 秒 / 11–15 字 5 秒 / 16–20 字 6 秒 / 21–25 字 7 秒 / ≥26 字 8 秒 |
| 停留加成 | 本轮第 1 条 +2 秒;含打赏 +1 秒;综合金额 ≥500 元 +1 秒;已曝光 2 轮 −1 秒;封顶 12 秒、下限 4 秒 |
| 轮播顺序 | 按排序结果顺序循环;每轮顺序固定(不随机) |
| 疲劳控制 | 同一条订单 1 小时内最多曝光 3 轮,超出顺延下一条 |
| 环节 | 逻辑 |
|---|---|
| ① 触发时机 | 首页加载完成 → 延迟 1.5 秒发起请求(避开首屏) |
| ② 请求入参 | 采用城市、定位精度(精确 / 城市级 / 省级 / 无)、经纬度(有则传) |
| ③ 服务端处理 | 按 1.2 筛选 → 按 1.3 排序 → 返回最多 5 条 |
| ④ 客户端加工 | 按 1.4 计算每条停留时长 |
| ⑤ 播放状态机 | 播放 → 暂停 → 继续 → 循环;当前条计时结束切下一条,全部播完回到第 1 条 |
| ⑥ 暂停与恢复 | 长按 / 页面不可见 / 请求中 → 暂停并记录已用时长;恢复时从剩余时长继续 |
| ⑦ 顺序刷新 | 每 15 分钟、下拉刷新、切换城市、回到前台时重新请求;首条变化则从新一轮开始,否则保持当前条继续 |
| ⑧ 实时补位 | 收到「订单被接单」推送 → 移除该条、后续前移;若正在播放的正是被移除的,立即切到下一条 |
| ⑨ 防抖 | 连续快速点「×」或反复切城 → 防抖 300ms,以最后一次为准 |
| ⑩ 时间基准 | 一律以服务端时间为准(消除、刷新周期、跨天判断) |
| 环节 | 逻辑 |
|---|---|
| 第 1 步 | 弹二次确认:「今天不再显示任务单?」,操作:取消 / 不再显示 |
| 第 2 步 | 确认后本地与服务端双写标记,标记维度 = 城市 + 日期 |
| 第 3 步 | 整条跑马灯立即隐藏 |
| 第 4 步 | 次日 0 点(服务端时间)标记失效,跑马灯恢复 |
| 第 5 步 | 用户换城市后按新城市判断 → 新城市会重新展示 |
| 第 6 步 | 换设备 / 清缓存后依然生效 |
| 项 | 规则 |
|---|---|
| 请求失败·有缓存 | 继续播上一次的内容,不提示、不白屏 |
| 请求失败·无缓存 | 显示骨架,3 秒后自动隐藏;不显示错误文案 |
| 无数据 | 整条隐藏,不留白 |
| 只有 1 条 | 常显不轮播,不显示进度 |
| 播放中该条被接单 | 立即切到下一条,不出现空白帧 |
| 弱网 / 断连 | 保留当前播放;恢复后按 1.5⑦ 重新请求 |
曝光(某条连续可见 ≥1 秒才算,附带条序号、城市模式、定位精度、是否付费位)|点击条目|点击「去接单」|点击「×」消除|手动暂停|轮播轮次。
| 项 | 规则 |
|---|---|
| 一屏展示 | 3 个条目 + 底部「查看更多 ›」;条目顺序=服务端返回顺序(前端不二次排序) |
| 每条展示 | 标题(超出截断)+ 价格 / 金额 + 距离文案 |
| 距离文案 | 有定位显示具体距离;无定位显示「同城」;省级显示「同省」(不编造公里数) |
| 价格文案 | 固定价显示金额;「看着给」显示【看着给】 |
| 状态提示 | 显示当前是本状态还是另一状态,并提供可直接切换的入口 |
| 隐藏规则 | 0 条则本状态不展示;池中不足 3 条按实际条数展示 |
| 项 | 规则 |
|---|---|
| 时间范围 | 今天 00:00–24:00 发布的内容(以服务端时间判断,跨天自动重置) |
| 内容类型 | 不限(技能、求助、活动等都算 —— 这是内容位,不是订单位) |
| 排除 | 审核中、已下架、已被接单(订单类) |
| 排序 | 有定位 → 距离升序;无定位 → 发布时间升序(今天最早发的在前);省级 → 全省范围 + 发布时间升序 |
| 取几条 | 取排序后前 3 条 |
| 环节 | 逻辑 |
|---|---|
| 刷新时机 | 进入首页、下拉刷新、切换城市、回到前台(且已跨天或超过刷新周期) |
| 点击条目 | 进入对应内容 / 服务详情页 |
| 点击查看更多 | 进入列表页,携带来源参数(来源 = 今日最新) |
| 与状态 B 的关系 | 两态不显示同一条;重复时由状态 B 顺延 |
| 联动 | 切换城市 / 定位变化时与跑马灯、新潮热门同时刷新 |
| 项 | 规则 |
|---|---|
| 内容范围 | 今天 0–24 点发布的全部内容 |
| 排序 | 默认与卡片一致;顶部可切换排序方式 |
| 加载 | 上滑分页,每页 20 条;到底提示「没有更多了」 |
| 空态 | 「今天还没有新内容」+ 去发布 入口(不是空白页) |
| 返回 | 回到首页时卡片停留在进入时的那一状态(不重置) |
| 项 | 规则 |
|---|---|
| 一屏展示 | 与状态 A 保持一致:3 个条目 + 「查看更多 ›」(保证两态高度一致,切换不跳动) |
| 每条展示 | 与状态 A 相同(标题 + 价格 + 距离文案) |
| 新奇标 | 仅新奇技能内容显示「新奇」标 |
| 不展示 | 热度分、浏览 / 收藏 / 成交数据(仅服务端用于排序) |
| 项 | 规则 |
|---|---|
| 时间范围 | 近 7 天的内容 |
| 热度分 | 浏览 ×0.4 + 收藏 ×0.3 + 成交 ×0.3;勾选「新奇技能」且审核通过的内容 ×1.3 |
| 排序 | 热度分降序;同分时发布时间倒序(新的在前) |
| 取几条 | 取前 3 条 |
| 与状态 A 去重 | 不与状态 A 显示同一条;重复则顺延取下一条 |
| 重算频率 | 每 10 分钟重算;用户切到本状态时若距上次计算 >10 分钟,先刷新再展示 |
| 数据不足 | 不足 6 条时:本状态常显 24 秒后回到状态 A,并把轮换间隔放宽到 15 秒 |
| 项 | 规则 |
|---|---|
| 轮换方式 | 今日最新 → 新潮热门 → 今日最新 交替;顺序固定,不随机 |
| 停留时长 | 每状态 8 秒(可配 5–15) |
| 首次进入 | 默认显示今日最新;重新进入首页都重置为今日最新 |
| 手动切换 | 立即切换,并暂停自动轮换 24 秒(之后恢复交替) |
| 暂停条件 | 页面不可见、卡片滚出可视区、请求数据中、从详情页返回 2 秒内、长按卡片 |
| 恢复 | 从剩余时长继续,不重新计时 |
| 预加载 | 切换前 1 秒预取下一状态内容;首屏两态一次性返回 |
| 单侧为空 | 今日最新为空 → 只显示新潮热门且停止轮换;反之同理;两态都空 → 隐藏整个格子 |
| 触发 | 联动行为 |
|---|---|
| 切换城市 / 定位变化 | 派发一次位置变更事件 → 跑马灯、今日最新、新潮热门同时刷新;刷新中显示骨架,完成后一次性替换;不展示旧城市内容 |
| 下拉刷新 | 三块同时重新请求 |
| 回到前台 | 三块各自检查时效:跑马灯 >15 分钟、今日最新跨天、新潮热门 >10 分钟 → 触发刷新 |
| 订单被接单 | 只影响跑马灯(移除并补位);两态是内容位,不受影响 |
| 统一兜底 | 任一块请求失败 → 保留上一次内容;首次失败 → 骨架;都不弹错误窗 |