IM/原生功能改造/Android+iOS

【IM】看H片:从内嵌 H5 改为原生

将「看H片」从「我的小程序」入口移除,改为聊天列表内的原生 Banner 入口。Banner 显示今日榜单 Top 1 封面,固定 4:3 比例;点击 Banner 进入原生看H片菜单页,返回后回到原聊天列表。

入口替换移除「我的小程序」中的 H片,避免与其他小程序混在同一区。
Top 1 封面Banner 使用今日榜单第一名内容的封面,图片比例固定 4:3。
原生菜单由 IM 原生页承接,不再跳转或载入内嵌 H5。
返回保留返回聊天列表时保留原列表滚动位置、Tab 与未读状态。

1. 需求说明

本次只处理入口与承接页,不延伸影片播放或内容管理规则。

版本 v1.0

背景与问题

  • 现况:聊天页「我的小程序」点击 H片后前往内嵌 H5。
  • 问题:H片与其他小程序入口混排,入口辨识度低;内嵌 H5 造成页面承接与返回体验不一致。
  • 机会:利用聊天列表高频曝光区,以今日榜单 Top 1 封面建立更直觉的内容入口。

需求范围

  • Android、iOS 聊天列表新增原生 Banner。
  • 从「我的小程序」中移除 H片图示与 H片跳转。
  • 新增原生看H片菜单页,支持返回聊天列表。
  • 建立加载、空状态、图片失败与两种默认图状态。

非本期范围

  • 不重做底部 5 TAB 的信息架构。
  • 不改动聊天消息、群组、联系人与红包功能。
  • 不延伸与本次入口和菜单页无关的其他页面功能。

完成标准

  • Banner 加载成功时展示今日榜单 Top 1 封面。
  • Top 1 封面未返回、读取失败或内容不可用时展示聊天列表 Banner 入口默认图,Banner 仍可点击进入菜单页。
  • 聊天列表入口与看H片页 Banner 获取失败时,分别展示对应默认图。
  • 原生页返回后回到进入前的聊天列表状态。
产品决策:Banner 整体可点击,不增加右下角悬浮入口;这样可以避免与现有红包/钱包浮层竞争视线,也不增加底部 TAB。

2. 使用流程

入口、承接与返回均在 IM 原生容器内完成。

01 聊天列表使用者停留在 Android/iOS 聊天列表。
02 看见 BannerBanner 显示「今日榜单 Top 1」与 4:3 封面。
03 点击整区点击 Banner 任一位置,进入原生看H片菜单。
04 原生菜单菜单页载入分类与影片卡片。
05 返回聊天返回按钮或 Android 系统返回,回到原列表状态。

3. 原型

3.1—3.3 展示用户提供的页面原型;3.4 补充可读的其他状态示意原型。每段原型后紧接字段表,加载、空状态、失败与默认图规则写入对应页面。

原型+对应 PRD
聊天列表 → 原生看H片菜单

Banner 只使用今日榜单 Top 1 封面;封面比例固定为 4:3。

点击任一 Banner
Android维持现有底部 5 TAB 与聊天列表结构
16:32▴ ◉ ▮ 51%
消息•••
我的小程序查看全部 ›
说球帝
UED体育
吉祥体育
¥
活动红包
红包商城
红包收米群桔子宝贝:以后再也不碰阿三比赛了17:29
说球帝主播粉丝群IM 游客:都是后期阵容17:29
麻豆糖心UED 探花:[视频小程序]...17:01
欧美系列UED 探花:[视频小程序]反击17:00
比赛
••聊天
TV频道
资料库
我的
iOS保留「讯息/联络/群组」顶部结构与 5 TAB
16:32⌁ ◉ ▮ 51%
讯息 (4602)
讯息联络群组
我的小程序查看全部 ›
说球帝直播
UED体育官网
吉祥体育
¥
活动红包
红包商城
红包收米群桔子宝贝:以后再也不碰阿三比赛了17:29PM
说球帝主播粉丝群IM 游客:都是后期阵容17:29PM
麻豆糖心UED 探花:[视频小程序]...17:01PM
欧美系列UED 探花:[视频小程序]反击17:00PM
本场
••聊天
吉祥体育
资料库
我的

3.1 看片列表页|页面本身

使用用户提供的最新入口与列表页截图,说明原生看片列表页面本身的结构、影片卡片与页面状态;点击后的菜单、picker 与搜索操作统一放在 3.2。

用户提供的 3.1 看片列表页最新截图

对应 PRD(字段级)

呈现名称位置交互说明格式范例
原「我的小程序」H片入口聊天列表/我的小程序区上线后不再呈现或响应点击移除原有小程序区中的 H片 icon、H片名称与原 H5 跳转;不新增底部 TAB 或悬浮入口。Component state:removedH片入口=hidden
Banner 入口聊天列表,「我的小程序」左侧点击整块进入 3.1 看片列表页替代已移除的原 H片小程序入口,整块 Banner 均可点击。组件/可点击区域今日榜单 Top 1
Banner 封面Banner 左侧封面容器加载中显示默认图;成功后替换为 Top 1 封面1 秒内未返回、读取失败或内容不可用时,使用聊天列表 Banner 入口默认图;入口仍可点击。图片 URL;4:3coverUrl;bannerDefault
Banner 更新Banner 数据层按周期重新取得最新数据每 15 分钟更新一次;更新失败保留当前 Banner 或入口默认图,不阻塞聊天列表。Interval:15 minrank=1;available=true
页面标题页面顶部导航栏中间静态展示显示当前原生页面名称,保持 Android/iOS 原生导航样式。String看H片
返回按钮页面顶部左侧点击返回聊天列表回到进入前的聊天列表,并保留聊天 Tab、滚动位置与未读状态。Navigation action‹;back()
榜单 TAB页面标题下方第一层筛选栏静态展示当前选中状态展示「今日榜/周榜单/月榜/全部/推荐」;首次进入默认选中「今日榜」,当前列表结果与默认榜单一致。Enum;selected:Booleantoday=true
影片分类榜单 TAB 下方第二层分类栏静态展示当前分类状态展示「全部/我的收藏/欧美/国产/自拍/日韩/动漫」等分类;首次进入默认显示「全部」。Enum/String;selected:Booleanall=true
影片列表筛选与搜索结果内容区上下滚动浏览;分页载入展示当前条件返回的影片结果;采用两栏网格按资料顺序「左、右、左、右」逐项填入,后续项目向下延伸;每次载入 10 部影片,结果为空时显示空状态,不影响返回聊天列表。Array<Object>;pageSize=10;order:row-major第1项左/第2项右;items=10
影片卡片页面内容区 2 栏卡片网格点击进入 3.3 看片详情页列表可同时呈现手机影片竖版与非手机影片横版卡片;依各卡片 orientation 使用对应版型向下延伸排列,单张卡片失败不影响其他卡片。Object:contentId、title、coverUrl、duration、tags、completionRate、viewCount、author、favoriteCount、orientation、availableorientation=portrait/landscape
手机影片竖版卡片影片列表 2 栏网格中的手机影片点击进入 3.3 看片详情页手机影片使用竖版封面比例展示;卡片下方显示影片名称、时长、标签、完播率、观看人数、作者与收藏数,不强制裁切为横版。orientation:portrait;Image URL手机影片;portrait
非手机影片横版卡片影片列表 2 栏网格中的非手机影片点击进入 3.3 看片详情页非手机影片使用横版封面比例展示;可与竖版卡片并存于同一列表,卡片下方显示影片名称、时长、标签、完播率、观看人数、作者与收藏数。orientation:landscape;Image URL非手机影片;landscape
影片缩图影片卡片顶部加载成功展示图片;失败展示影片默认图手机影片使用竖版缩图比例,非手机影片使用横版缩图比例;不强制统一裁切为 4:3,缩图失败不阻塞列表。Image URL;portrait/landscapecoverUrl;orientation
影片时长影片缩图及卡片资讯区静态展示展示影片总时长,并与详情页播放器及影片资讯保持一致。Duration:MM:SS19:26
影片名称影片缩图下方卡片资讯区静态展示;过长时截断或换行展示影片标题;文字过长时依卡片宽度换行或截断,不影响其他字段。String今日榜单热门影片
影片标签影片名称下方卡片资讯区静态展示展示影片标签;标签内容由影片资料返回,卡片内不新增未返回的标签。Array<String>制服;丝袜;御姐
完播率影片卡片资讯区静态展示展示影片完播率;无资料时显示「--」。Percent12%
观看人数影片卡片资讯区静态展示展示影片累计观看人数;依接口返回值格式化显示。Integer/String2450 人观看
作者影片卡片资讯区静态展示展示影片作者名称;无资料时不显示空白占位文案。StringUED探花
收藏数影片卡片资讯区静态展示展示影片累计收藏数;依接口返回值格式化显示。Integer/String44 收藏
加载状态列表内容区请求期间显示影片骨架;资料返回后替换为卡片列表请求期间显示 2×2 影片骨架,不显示 Banner 区;影片封面读取失败时改用影片默认图。State:loading;Skeleton;Image URLmovieSkeleton;movieDefault
空状态列表页面中部点击「重新加载」再次请求无内容时居中展示「暂无视频」与重新加载操作;收藏条件无资料时展示「暂无收藏视频」。State:empty;String暂无视频;暂无收藏视频
网络失败列表内容区展示失败状态并支持重新加载网络异常时不影响返回聊天列表;单张封面失败仅影响对应卡片。State:error网络异常,请稍后重试

3.2 看片列表页|点击操作与查询面板

以下为用户提供的列表页操作截图;仅说明点击后的 pickup 菜单、榜单/分类切换、日期 picker、热门搜索与关键词搜索等交互,页面本身字段归入 3.1。

对应 PRD(字段级)

呈现名称位置交互说明格式范例
三点菜单页面顶部右侧点击展开 pickup 功能选单展开当前列表页的功能选单;选单展开时不改变当前榜单、分类、选日、搜索与列表状态。Action menu:Array<Action>•••;pickup menu
重新整理三点 pickup 选单点击后重新请求当前列表按当前榜单、分类、选日与搜索条件重新取得影片;保留当前页面条件,载入期间显示对应默认图。Action:refreshrefresh()
复制连结三点 pickup 选单点击后复制当前页面连结复制当前看H片列表的连结;完成后显示复制成功提示,不离开列表页。Action:copyLink;URLcopyLink(listUrl)
以浏览器开启三点 pickup 选单点击后调用系统浏览器开启将当前看H片列表连结交由系统浏览器开启;原生列表页状态保留。Action:openInBrowser;URLopenExternal(listUrl)
关闭三点 pickup 选单点击后关闭选单关闭 pickup 选单并回到当前列表;不刷新、不改变当前榜单与列表位置。Action:closecloseMenu()
取消三点 pickup 选单点击后取消当前选单操作取消后关闭选单并回到当前列表;不执行刷新、复制或浏览器开启。Action:cancelcancelMenu()
榜单筛选列表顶部筛选栏切换榜单并刷新列表提供「今日榜/周榜单/月榜/全部/推荐」,默认选中今日榜。Enumtoday/week/month/all/recommend
选日榜单筛选栏右侧日历图标打开日期 picker;确认后查询对应榜单默认显示当前日期;取消关闭并保留当前榜单,不改变聊天列表状态。Date picker;YYYY-MM-DD2026-09-02
选日范围日期选择面板选择可用日期;不可用日期不可选最多可查询当前日期往前 1 年内的资料;超过 1 年不提供选择。Date range:最近 365 日2025-09-02~2026-09-02
日期 picker 操作日期选择面板底部点击「清空筛选/确定」或关闭面板「清空筛选」清除日期条件;「确定」提交所选日期并刷新列表;关闭或取消不改变当前条件与列表状态。Action:clear/confirm/cancelclearDate();confirmDate(date)
分类筛选榜单筛选栏下方点击分类切换影片列表按原型提供的内容分类筛选,不新增独立底部入口。Enum/String全部;欧美;国产;自拍;日韩;动漫
搜索框分类栏下方输入关键词并发起查询支持关键词搜索与热门搜索;从详情页点击标签时,自动填入标签并立即查询。String搜索影片;关键词:制服
热门搜索搜索框展开后的热门搜索面板点击热门关键词带入搜索展示接口返回的热门关键词;点击关键词后填入搜索框并立即发起列表查询。Array<String>热门关键词;制服

3.3 看片详情页

以下为用户提供的看片详情页原型;页面架构、播放器、互动操作与字段规则紧接于原型后说明。详情页 Banner 与猜你喜欢、相关推荐卡片封面统一使用 4:3;列表影片卡片比例依 3.1 的竖版/横版规则处理。

用户提供的看片详情页原型

对应 PRD(字段级)

呈现名称位置交互说明格式范例
页面架构详情页整体依页面顺序向下浏览页面依序为:1.影片区;2.影片资讯(名称、完播率、观看人数/观看次数、热度、点赞、收藏、分享、评论、标签搜索);3.猜你喜欢;4.相关推荐。Section[]影片区 → 影片资讯 → 猜你喜欢 → 相关推荐
返回按钮页面顶部左侧点击返回 3.1 看片列表页返回后保留原榜单、分类、选日、搜索关键词与列表滚动位置。Navigation action‹;back()
视频播放器详情页顶部视频区域进入详情自动播放;支持播放/暂停、拖动进度、切换全屏进入详情后自动播放当前影片;加载期间显示影片默认图,资源失败时显示可恢复的失败状态,不影响返回详情页。Video URL;Boolean;Stateautoplay=true;videoUrl;playing/paused/error
播放区固定页面上滑后的顶部影片区手势上滑后冻结影片播放区上滑浏览影片资讯与推荐内容时,影片播放区固定在顶部并保留当前画面与播放控制。Sticky region;BooleanvideoRegionFrozen=true
播放进度视频播放器底部拖动进度条跳转播放位置显示当前播放时间与总时长,进度不可超过影片总时长。Seconds/MM:SS00:01/19:26
影片时长播放器进度栏与影片信息区静态展示展示影片总时长,并与播放器进度栏及列表卡片保持一致。Duration:MM:SS19:26
影片标题播放器下方内容区静态展示展示影片名称,过长时按页面规则截断或换行。String出轨的老婆,单男等不及直接撕烂丝袜插了进去
影片简介影片标题下方静态展示;过长时换行或截断展示影片内容简介及其他影片说明。String单男等不及直接撕烂丝袜插了进去
完播率影片数据区静态展示展示用户观看至影片结束的比例;无数据时显示「--」。Percent完播率 12%
观看人数/观看次数影片数据区静态展示展示影片累计观看人数/观看次数,按接口返回值格式化显示。Integer/String观看人数 7906
热度影片数据区静态展示展示影片热度;大于 10,000 时以「万」为单位显示。Integer/String热度 1.7 万
点赞影片信息下方操作栏点击切换已点赞/未点赞并更新数量同一用户重复点击只切换当前状态,不得重复提交;状态返回列表后按产品规则保留。Boolean+Integerliked=true;likeCount=11
收藏影片信息下方操作栏点击切换已收藏/未收藏并更新状态收藏成功后显示已收藏状态,并提供「前往收藏」查看入口;取消收藏需即时反馈。Boolean;Navigation actionfavorited=true;收藏列表
分享影片信息下方操作栏打开群聊选择面板;确认后分享并前往该聊天室未选择群聊时不可确认分享;分享成功后进入目标聊天室;取消关闭面板并返回详情页。Share target:groupId;Navigation actiongroupId=456284;openChat(groupId)
评论影片信息下方操作栏点击评论入口当前版本暂不开放评论输入与提交,点击后提示「评论功能即将上线,暂不开放」。State:disabled;String评论功能即将上线,暂不开放
标签影片信息下方标签栏点击标签进入列表搜索将标签文字带入 3.2 搜索框并立即发起查询,自动展示对应结果。String/Array<String>制服;丝袜;御姐
猜你喜欢影片资讯下方第一推荐区(上方)上下滚动浏览;点击卡片进入对应详情页默认展示 4 则推荐影片,按 2×2 并排排列;单张封面失败使用影片默认图,不影响其他推荐项。Array<Object>;4 items;封面 4:3H002~H005;2×2
相关推荐猜你喜欢下方第二推荐区(下方)上下滚动浏览;点击卡片进入对应详情页默认展示 4 则推荐影片,按 2×2 并排排列;单张封面失败使用影片默认图,不影响其他推荐项。Array<Object>;4 items;封面 4:3H006~H009;2×2

3.4 其他状态原型

以下使用用户提供的其他状态 H5 原型截图,并仅保留用户原始截图中的默认图参考;字段级 PRD 另说明默认图、页面异常、空状态、加载中与网络异常规则。

用户提供的看H片其他状态四状态 H5 原型截图
默认图参考(仅保留原始截图中的默认图)
用户提供的 Banner 默认图用户提供的影片横向默认图用户提供的影片纵向默认图

对应 PRD(字段级)

呈现名称位置交互说明格式范例
Banner 默认图聊天列表 Banner/看H片页 Banner封面无法取得时显示对应默认图聊天列表入口与看H片页 Banner 分别使用各自默认图;默认图出现时入口与页面仍可继续操作。Image URL;4:3chatBannerDefault;pageBannerDefault
影片封面默认图影片卡片、猜你喜欢、相关推荐封面无法取得时显示影片默认图影片封面加载中或读取失败时显示默认图;列表卡片依手机竖版/非手机横版保留对应比例,推荐卡片仍按各自 4:3 规则处理,不阻塞列表、详情页或其他卡片。Image URL;依卡片版型movieDefault;orientation
页面异常状态看H片页面内容区保留顶部导航、榜单筛选与返回功能异常仅展示在对应内容区,不覆盖导航栏与三点 pickup 选单;用户仍可返回上一页。State:pageErrorpageError=true
空状态列表/收藏内容区中部点击「重新加载」再次请求无影片或无收藏内容时,内容区居中显示空状态;一般列表显示「暂无视频」,收藏列表显示「暂无收藏视频」。State:empty;String暂无视频;暂无收藏视频
加载中列表内容区等待请求完成列表请求期间显示 2×2 影片骨架,不显示 Banner 区;请求成功后替换为实际卡片,影片封面失败时使用影片默认图。State:loading;Skeleton;Image URL加载中…;movieSkeleton;movieDefault
网络异常页面内容区点击「刷新页面」重新请求网络异常时显示错误图、异常提示与刷新操作;刷新失败可继续停留在当前状态,并保留返回功能。State:networkError;Action网络异常;refreshPage()
刷新页面网络异常状态操作区点击后重新载入当前页面数据重新请求当前页面,不改变原榜单、分类、选日、搜索条件与导航返回路径。Action:refreshPage刷新页面

4. 风险/注意

数据来源

  • 封面 URL、影片 ID 与可用状态需由可信任 API 返回,前端不自行拼接来源。
  • 今日榜单 Top 1 与菜单页列表使用同一数据口径,避免 Banner 与菜单页内容不一致。

效能与稳定

  • Banner 仅载入一张 Top 1 封面,使用缩图尺寸与快取,避免影响聊天列表首屏。
  • 图片失败使用默认图;API 超时不阻塞聊天列表。
  • 原生菜单需防止重复点击、重复 push 与返回后页面重复建立。

返回与状态

  • 进入前记录聊天列表 scroll offset 与当前 Tab。
  • 返回时不重新拉取整个聊天列表;若 Banner 资料已过期,可静默刷新。
  • Android 返回键、手势返回与页面返回按钮需共用同一 navigation contract。

开发待确认

  • 今日榜单 API 的实际 endpoint、缓存时间与时区。
  • 原生看H片菜单是否沿用现有影片数据服务。

5. 验收标准

需 Android 与 iOS 各自完成以下案例;除平台外,产品规则应一致。

6. 设计说明

设计重点是让 H片入口融入聊天列表,同时保持原有 IM 导航和用户操作路径。

入口融入

  • Banner 放在「我的小程序」左侧,承接原有浏览习惯;封面不可用时展示聊天列表 Banner 入口默认图。
  • 不新增底部 TAB 或悬浮入口,避免干扰现有聊天与红包入口。

视觉承接

  • 3.1 列表影片卡片区分手机影片竖版与非手机影片横版,依影片类型展示对应比例。

操作效率

  • Banner 全区可点击,减少用户寻找点击区域的成本。
  • 列表页提供榜单、分类、搜索、日历 picker、pickup 选单与分页;详情页提供点赞、收藏、分享与标签搜索。

看H片页面情境

  • 1. 加载状态:列表显示 2×2 影片骨架;Banner 与播放器按各自默认图规则处理。
  • 2. 空状态:一般列表显示「暂无视频」,收藏列表显示「暂无收藏视频」,均在页面中部居中展示。
  • 3. 网络异常:列表或详情内容区展示失败状态;聊天列表入口与看H片页 Banner 分别使用对应默认图。
  • 4. 影片封面:封面读取失败时使用影片默认图,不影响其他影片与列表。

版本记录

版本日期记录
v1.02026-09-02初版