Skip to content

feat(filter): 时间快捷预设与关键词类别预设 - #25

Closed
wangjiansen wants to merge 1 commit into
davidche1116:mainfrom
wangjiansen:feat/filter-presets
Closed

wangjiansen wants to merge 1 commit into
davidche1116:mainfrom
wangjiansen:feat/filter-presets

Conversation

@wangjiansen

Copy link
Copy Markdown

时间筛选新增 7天/15天/30天/3个月/6个月/1年 快捷预设,语义为「早于该时间点」,
用于清理旧短信:

  • 天数用 Duration 精确相减,月/年按日历回退(3/31 减一月 = 2/28,闰年正确)
  • 预设边界精确到毫秒,不套当天 23:59:59.999,避免误删 6.x 天前的短信 (自定义 end 的旧闭区间行为保持不变)
  • 应用时快照锚点,翻页复用同一边界,防止下拉加载时列表抖动

关键词新增 验证码/运营商/银行/电商物流/营销推广 五类预设:

  • 类别为多关键词 OR,经新通道参数 keywords 下推到 SQL (buildSelection 整体加括号,外层 AND 连接;彩信 part 表一次 OR 查询取并集)
  • 不做客户端过滤,避免整库读入内存击穿真分页
  • 选词只收强特征词(银行组不含「支付」、电商组不含裸「订单」),有单测守住

UI:弹层两排 chips + 顶部 chips 条回显,预设与手动输入互斥,可单独取消。
i18n:zh / zh_TW / en 各新增 12 个 key。

验证:flutter analyze 0 issue;flutter test 164 项通过;
Kotlin 单测 121 项通过(含 4 个关键词用例);assembleDebug 构建成功;真机验证通过。

pubspec.lock 未纳入本次提交:其变动是用新版 Dart SDK 解析产生的传递依赖变更
(test_api 0.7.14 -> 0.7.12),与本次功能无关。

改动说明

影响范围

  • 仅 Dart 代码
  • 原生代码 / Gradle / Manifest(已在真机验证)
  • 文案(中 / 繁 / 英 ARB 已同步,并已跑 flutter gen-l10n)
  • CI / 构建配置
  • 文档(README / CHANGELOG)

验证

flutter analyze
flutter test
cd android && ./gradlew :app:testDebugUnitTest
# 涉及原生改动时:
flutter build apk --debug

说明

  • 若新增了启动阶段的平台通道调用,是否已在 test/helpers/mock_sms_channel.dart 补 mock?
  • 是否涉及短信 / 彩信删除路径?若是,请说明失败时的表现。
  • 通道线值若有变更,是否已同步双端 ChannelCodes(Dart / Kotlin)?

时间筛选新增 7天/15天/30天/3个月/6个月/1年 快捷预设,语义为「早于该时间点」,
用于清理旧短信:
- 天数用 Duration 精确相减,月/年按日历回退(3/31 减一月 = 2/28,闰年正确)
- 预设边界精确到毫秒,不套当天 23:59:59.999,避免误删 6.x 天前的短信
  (自定义 end 的旧闭区间行为保持不变)
- 应用时快照锚点,翻页复用同一边界,防止下拉加载时列表抖动

关键词新增 验证码/运营商/银行/电商物流/营销推广 五类预设:
- 类别为多关键词 OR,经新通道参数 keywords 下推到 SQL
  (buildSelection 整体加括号,外层 AND 连接;彩信 part 表一次 OR 查询取并集)
- 不做客户端过滤,避免整库读入内存击穿真分页
- 选词只收强特征词(银行组不含「支付」、电商组不含裸「订单」),有单测守住

UI:弹层两排 chips + 顶部 chips 条回显,预设与手动输入互斥,可单独取消。
i18n:zh / zh_TW / en 各新增 12 个 key。

验证:flutter analyze 0 issue;flutter test 164 项通过;
Kotlin 单测 121 项通过(含 4 个关键词用例);assembleDebug 构建成功;真机验证通过。

pubspec.lock 未纳入本次提交:其变动是用新版 Dart SDK 解析产生的传递依赖变更
(test_api 0.7.14 -> 0.7.12),与本次功能无关。
@wangjiansen
wangjiansen deleted the feat/filter-presets branch October 20, 2026 05:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant