商品列表页
搜索 + IP 筛选 + 瀑布流浏览积分商品,状态差异化展示,点卡片进入详情;底部吸底余额条常驻。
商品详情页
橱窗多图 + 价格卡 + 信息卡 + 兑换说明 + 商品详情图 + 底部操作栏;在售「立即兑换」弹出底部规格选择悬浮窗,预售「通知我」订阅,预告/售罄置灰。删除了服务保障条和兑换数量卡,标题卡新增退货说明。
商品列表页
| 模块 | 内容 | 数据来源 |
|---|---|---|
| 顶部导航 | 粉色渐变头部:居中标题「积分商城」(无返回)、小程序胶囊 | 固定(小程序统一) |
| 搜索栏 | 独立一行(IP 筛选下方),玻璃胶囊,名称模糊查询 | 商品名称字段 |
| IP 筛选栏 | 胶囊行(全部+IP logo)+ 展开抽屉(方形按钮网格)+ 蒙版 | 商品 IP 字段去重 |
| 商品瀑布流(2 列) | 状态差异化卡片:方图、毛玻璃状态标签/新品、限购锁徽标、名称、价格+剩余库存、预售发售时间水印 | D:\万漫社\03-C衍生品 |
| 积分余额条(吸底) | 品牌粉渐变胶囊:钻石图标 + 我的积分 + 余额 + 兑换记录入口 | 用户积分账户(示例 12,800) |
| 底部 Tab | 首页 / 积分商城 / 抽卡机 / 直播手册 / 我的(均跳 /latest/) | 小程序导航 |
商品详情页
| 模块 | 内容 | 数据来源 |
|---|---|---|
| 顶部导航 | 商品图沉浸背景(封面图 + 深色渐变遮罩),返回/居中标题/小程序胶囊浮于图上 | 商品封面图 |
| 商品橱窗 | 封面商品图(单图),无叠加标签(左上状态标签已移除) | cover 字段 |
| 价格 + 标题卡 | 上浮覆盖图片底部:名称(18px)、价格(预告无价格)+状态标签(在售浅粉底深粉字/预售/预告/售罄,虚线底分隔)+新品标签(与在售并存时仅新品)、粉底元信息条(品种 chips 白底深粉描边 / 发售时间 / 库存+已兑数 / 限购 / 退货说明),已删除独立规格表 | 积分商品表 |
| 兑换说明 | 卡片样式,7 条规则 | 固定文案 |
| 商品详情卡片 | 白卡 + 「商品详情」标题,用商品长图填充 | detail 字段 |
| 底部操作栏 | 左:收藏/客服图标;右:合计 + 兑换/通知我/敬请期待/已售罄按钮;在售点击「立即兑换」弹出底部「选择规格」悬浮窗 | 售卖状态 |
商品列表页
搜索(名称模糊)+ IP 筛选(胶囊行 + 抽屉展开)浏览积分商品;两列瀑布流 + 状态差异化展示(在售/预售/预告/售罄);限购商品锁徽标;卡片显示剩余库存;预售「通知我」订阅;排序:新品最前 → 在售 → 预售 → 预告 → 售罄;底部吸底余额条常驻。
商品详情页
橱窗多图 + 价格卡 + 信息卡 + 兑换说明 + 商品详情长图 + 底部操作栏;在售「立即兑换」→ 底部弹出「选择规格」悬浮窗 → 步进器选数量 → 确认兑换(校验库存/限购/积分);预售显示发售时间与倒计时(临近 ≤24h 红色秒级跳动),归零自动切在售;预告「敬请期待」置灰、隐藏价格;售罄「已售罄」置灰;「不支持7天无理由退还」警示红加粗。
商品列表页
商品详情页
D:\万漫社\03-C衍生品\积分商品\,服务端路由 /derivative-img/。商品列表页
| 操作 | 行为 | 影响范围 |
|---|---|---|
| 搜索 | 名称模糊实时过滤(不区分大小写),与 IP 筛选叠加;✕ 清空 | 商品列表 |
| IP 筛选 | 胶囊选中/再点取消回全部;展开抽屉(方形按钮)看全部 IP;蒙版关闭 | 商品列表、筛选状态 |
| 点击卡片 | 进入商品详情页 | 视图切换 |
| 兑换记录 | 跳转 我的-我的积分(toast 模拟) | 路由跳转 |
商品详情页
| 操作 | 行为 | 影响范围 |
|---|---|---|
| 返回 | 回列表页并关闭悬浮窗 | 视图切换 |
| 立即兑换(在售) | 底部弹出「选择规格」悬浮窗 → 步进器选数量 → 「确认兑换」校验余额/限购/库存 → 二次确认窗 → 扣积分、减库存、同步更新已兑数 | 积分余额、库存、售卖状态、兑换总数 |
| 通知我(预售) | 切换订阅状态,toast 提示「已开启通知,发售时将提醒你」;已通知可取消;临近发售 ≤24h 时发售行显示倒计时,归零自动变「立即兑换」 | 订阅状态、倒计时状态 |
| 售罄/预告 | 按钮置灰不可点(已售罄/敬请期待) | 兑换按钮 |
商品列表页
| 状态 | 完成 |
|---|---|
| 默认 | ✅ 骨架屏 400ms 后渲染瀑布流 |
| Loading | ✅ 骨架屏闪烁 |
| Empty | ✅ 空态插画+文案(搜索时「未找到相关商品」,IP 筛选时「暂无该 IP 的积分商品」) |
| Error | ✅ 图片 onerror 兜底 |
| 在售 | ✅ 彩色图 + 深粉价格 + 新品粉渐变标签;卡片无按钮 |
| 预售 | ✅ 粉氛围渐变 + 深粉「预售」标签 + 图片底部发售时间水印;临近 ≤24h 水印变红色倒计时「距开售 HH:MM:SS」;卡片无按钮 |
| 预告 | ✅ 白底粉边「预告」标签 + 「??? 积分」;卡片无按钮 |
| 售罄 | ✅ 白纱遮罩 + 灰「售罄」标签 + 价格变灰,排最后;卡片无按钮 |
商品详情页
| 状态 | 完成 |
|---|---|
| 在售 | ✅ 绿色✓「在售」标签、详情信息完整、「立即兑换」→底部弹出选择规格悬浮窗→校验→确认窗→扣积分 |
| 预售 | ✅ 详情信息+发售时间(临近≤24h 显示红色大号倒计时+日期)、「通知我」铃铛按钮;归零自动切「立即兑换」 |
| 预告 | ✅ 标题卡「即将发售」、无价格、按钮置灰「敬请期待」 |
| 售罄 | ✅ 库存 0、按钮置灰「已售罄」 |
| 限购达上限 | ✅ 悬浮窗内步进器 + 置灰 + toast 提示 |
| 积分不足 | ✅ toast 提示 |
| 页面 | 按钮/操作 | 场景 | 提示 |
|---|---|---|---|
| 列表页 | 兑换 | 积分不足 | toast「积分不足」 |
| 详情页 | 立即兑换 | 限购达上限 | 悬浮窗步进器置灰 + toast 提示 |
| 详情页 | 立即兑换 | 库存为 0 | 按钮置灰「已售罄」 |
| 列表页 | 搜索 | 无匹配商品 | 空态「未找到相关商品」 |
| 列表页 | IP 筛选 | 该 IP 无积分商品 | 空态「暂无该 IP 的积分商品」 |
| 列表页/详情页 | 图片加载 | 图片加载失败 | onerror 兜底图 |