Commit Graph
48 Commits
Author SHA1 Message Date
Zhou Weidong 033ae5987c fix(flutter): 加速态隐藏底部选集与清屏按钮 2026-10-20 12:39:52 +08:00
Zhou Weidong 96074bc5e8 feat(flutter): 播放页长按手势与加速态 2026-10-20 12:36:35 +08:00
Zhou Weidong a72adcfc3f fix(flutter): 放大播放图标并加半透明底 2026-10-20 12:30:06 +08:00
Zhou Weidong 8013cc18ad fix(flutter): 放大透明播放按钮 2026-10-20 12:27:13 +08:00
Zhou Weidong 02763c3dfb fix(flutter): 简介灰字统一并透明暂停按钮 2026-10-20 12:24:37 +08:00
Zhou Weidong 90769de3b7 fix(flutter): 选集条箭头靠右排列 2026-10-20 12:19:20 +08:00
Zhou Weidong bed6bbb75b feat(flutter): 播放页互动数量与评论面板收紧 2026-10-20 12:06:21 +08:00
Zhou Weidong d25519bed7 fix(flutter): 调整播放页底部信息排版 2026-10-20 11:55:28 +08:00
Zhou Weidong 0af5de9641 fix(flutter): 更多面板增加小窗播放入口 2026-10-20 11:47:58 +08:00
Zhou Weidong f083a161e6 fix(flutter): 更多面板倍速清晰度改为单行排列 2026-10-20 11:44:42 +08:00
Zhou Weidong c4797cd239 fix(flutter): 精简播放页更多面板 2026-10-20 11:40:15 +08:00
Zhou Weidong d849834ce6 fix(flutter): 清屏时保留进度条 2026-10-20 11:35:48 +08:00
Zhou Weidong 3068eb99da fix(flutter): 收窄清屏范围并保留底栏 2026-10-20 11:33:23 +08:00
Zhou Weidong 0af68f2455 fix(flutter): 播放页改为透明叠层 2026-10-20 11:29:02 +08:00
Zhou Weidong 1dbe2cb8e9 fix(flutter): 恢复播放器深色外观 2026-10-20 11:25:28 +08:00
Zhou Weidong 1666bc220e fix(flutter): 底栏右侧改为清屏 2026-10-20 11:19:14 +08:00
Zhou Weidong e2162773e2 fix(flutter): 改为浅色播放页底栏 2026-10-20 11:14:08 +08:00
Zhou Weidong cf93d8d794 fix(flutter): 收紧播放页底部与互动栏 2026-10-20 11:12:12 +08:00
Zhou Weidong 6dbeb3e505 fix(flutter): 支持全屏胶囊双态切换 2026-10-20 11:03:53 +08:00
Zhou Weidong 8c43e9e385 feat(flutter): 重构播放页并增加语言切换 2026-10-20 11:01:38 +08:00
Zhou Weidong 9a4269b847 feat(flutter): 重设计播放页与操作面板 2026-10-20 10:41:56 +08:00
Zhou Weidong 634b63e16c feat(flutter): 应用浅色暖橙视觉主题 2026-10-20 10:15:03 +08:00
Zhou Weidong 49f3e63ed0 feat(flutter): 完成 K28-A1 四 Tab 首页 2026-10-20 09:57:10 +08:00
Zhou Weidong 959edc0a32 feat(flutter): 重构四 Tab 与浏览页 2026-10-20 09:49:42 +08:00
Zhou Weidong 7850dfc746 style(app): 格式化并拆分长函数 2026-10-20 04:38:36 +08:00
Zhou Weidong 2b2b7e9913 feat(app): 播放器增加清晰度档位入口 2026-10-20 04:37:42 +08:00
Zhou Weidong 136ee74618 feat(app): 完成 P0 钱包解锁、下载落盘与手机号登录 2026-10-19 23:46:47 +08:00
Zhou Weidong 4d7173d035 fix(player): 调整 rail 倍速弹窗与进度时间 2026-10-19 17:44:06 +08:00
Zhou Weidong 3a7e0bc4b7 feat(player): 倍速改为底部弹窗选择 2026-10-19 17:32:17 +08:00
Zhou Weidong 5b7a8bd775 fix(player): 共享清屏状态并左贴集数 2026-10-19 17:29:01 +08:00
Zhou Weidong 71e317f4ab fix(player): 中心按钮仅暂停时显示 2026-10-19 17:20:19 +08:00
Zhou Weidong 0d977da75b fix(player): 保持清屏并常驻中心按钮 2026-10-19 17:14:03 +08:00
Zhou Weidong aea130be11 fix(player): 修正清屏态点击与滑动复位 2026-10-19 17:05:52 +08:00
Zhou Weidong e2e809e2d5 fix(player): 增加退出清屏浮动按钮 2026-10-19 16:53:23 +08:00
Zhou Weidong 0eabb0a763 fix(player): 仅在暂停时显示播放按钮 2026-10-19 16:50:44 +08:00
Zhou Weidong f613033088 fix(player): 改为显式清屏交互 2026-10-19 16:43:50 +08:00
Zhou Weidong 2fd92cdbea fix(ui): 修正六屏顶栏与内容间距 2026-10-19 16:25:25 +08:00
Zhou Weidong 03e34b3b57 fix(player): 统一暂停按钮并自动隐藏控制层 2026-10-19 16:16:14 +08:00
Zhou Weidong f0c53542ef fix(player): 移除详情暂停重复按钮 2026-10-19 16:07:06 +08:00
Zhou Weidong 5422581f8b refactor(ui): 清理 K26 旧 UI 与死代码 2026-10-19 15:58:22 +08:00
Zhou Weidong 21d457fd98 feat(ui): 校正首页发现详情播放器预览 2026-10-19 15:50:11 +08:00
Zhou Weidong 1c94b727fb fix(player): 恢复详情与选集全屏播放 2026-10-19 15:24:06 +08:00
Zhou Weidong 689063a694 feat(player): 新增卡片式播放器 2026-10-19 15:16:40 +08:00
Zhou Weidong c1cb7d1c11 feat(ui): 更新品牌启动页与选集交互 2026-10-19 09:28:16 +08:00
Vicky d7eff4ca59 feat(client): 对接详情/播放/进度续看/收藏(K1 看剧闭环)+ 三态 UI
后端接口从 6 个扩到 13 个,全部走真数据:

- 新增 api:playback_api(/app/episodes/{id}/play)、watch_api(/app/watch/*)、
  library_api(/app/favorites*);票据从 CatalogApi 搬到 PlaybackApi
- 新增 repository:PlaybackRepository(含票据 TTL 缓存,默认 10 分钟,时钟可注入)、
  FavoriteRepository、WatchHistoryRepository 换成服务端模型(每剧一条续看记录,删掉 demoProfileId)
- PlayerLogic:起播前取票(拿不到给三态 UI,失败可重试);accessType 驱动锁定文案,
  不在前端猜;签名地址原样交给播放器(只补 host,不动 path/query);
  进度上报节流 5s → 10s,切集/退出/切后台各补一次,播完带 finished
- 续看定位:服务端记录里的那一集才 seek(其它集从头播),续看位置进详情/播放页时读一次
- FavoriteController:收藏以服务端为准,乐观更新 + 失败回滚;退出登录清空
- UI 三态:详情页(加载/失败可重试/空剧集 + 续看进度条 + 收藏按钮)、
  播放页(票据加载中/失败可重试/后端判定不可播)、我的页(续看失败可重试、收藏三态、最近观看)
- l10n 新增 8 个键(en/zh/id 三份):网络/进度/收藏失败、锁定提示、续看文案等

测试:flutter test 188 全过(存量 27 个测试文件未跑红);新增票据过期重取、进度节流、
续看定位、收藏回滚、签名 query 原样保留、真实后端端到端联调(live_watch_flow)
2026-10-16 17:39:05 +08:00
Vicky 61454e36b1 feat(client): 改名为 FruitShorts 并新增 id-ID 印尼语文案(1-3 + 1-4 合并)
为什么:a) 应用对外名称要统一成 FruitShorts(产品名,nontonki 是原型代号);
b) 首发市场是印尼,界面必须有印尼语;c) 归档要求"新增 id-ID 与改名合并生成一次 l10n,别分两次"。

改名:
- pubspec name: nontonki → fruitshorts(Dart 包名),description 同步;28 个文件的 package: 导入前缀替换
- Android android:label、iOS CFBundleDisplayName/CFBundleName → FruitShorts
- 图标资源 assets/icon/nontonki.png → fruitshorts.png(含 pubspec 两处引用)
- README 同步(补印尼语说明,顺带修掉写错的模块名 reelshort-app-api → fruitshorts-app-api)

文案:
- 三份 arb 的 appName → FruitShorts、brandMark → FRUITSHORTS、shareFooter → FruitShorts(不留 demo 标记)
- 新增 lib/l10n/app_id.arb:174 个值键与 en/zh 完全一致,按印尼语习惯翻译(Coin→Koin、Episode→Episode)
- 一次性 flutter gen-l10n 生成 app_localizations_id.dart;id 自动进入 supportedLocales,默认 locale 未改
- 新增 test/config/l10n_id_test.dart:钉住 id 文案、supportedLocales 含 id、品牌文案无 demo 标记、占位符渲染

不动:applicationId / bundle id(lumadrama 遗留,等裁定)、目录名、业务逻辑与页面结构、语言选择页(仍只有 en/zh)

门禁:dart analyze lib test 零告警;flutter test 159 全过(基线 155 + 新增 4);残留扫描 0 命中;
三份 arb 键集一致(174/174/174);真机(iPhone iOS 26.6.1)构建安装启动成功,devicectl 列出显示名 FruitShorts
2026-10-16 10:16:59 +08:00
Vicky 0e5d550b50 test(client): 用例名统一为 should_<期望>_when_<条件>(155/155)
为什么:红线第 8 条门禁立即生效,要求 Flutter 测试命名合规;此前 155 条用例名是英文自然语言
或中文描述,合规数 0/155,属存量欠账,按"先补齐再上新功能"在本批处理。

- 25 个测试文件、155 条用例改名,按「文件 + 旧名」精确定位,每条断言命中恰好 1 次才替换
- 只改名字字面量:改动行 155 删 + 155 增,无一行不含字符串字面量(断言与用例体零改动)
- 门禁:dart analyze lib test = No issues found;flutter test = 155 全过
2026-10-16 09:41:14 +08:00
Vicky feecc349a0 chore(client): 归档原型阶段新增文件(配置、主题、模型与测试)
为什么:上一批归档只覆盖了「已跟踪文件的修改」,原型阶段新增的文件(app_config、theme、
home_feed/play_ticket 模型、catalog_api、测试目录等)还是未入库状态 —— 而已入库的代码会 import 它们,
留在工作区会导致 HEAD 处的代码编译不过。一并归档,让 HEAD 自洽。

纯归档,无行为改动。
2026-10-15 17:53:45 +08:00