# 铃声配置功能设计 ## 概述 在设置页新增铃声配置入口,用户可以为"上架成功"和"上架失败"分别指定本地音频文件作为提示铃声。 ## 依赖 - `file_picker` — 从设备选择音频文件(支持 mp3/wav/ogg/aac/m4a/flac) - `audioplayers` — 播放本地音频文件 ## 数据存储 使用 `SharedPreferences`: - `sound_success` — 上架成功铃声文件路径 - `sound_failure` — 上架失败铃声文件路径 ## UI 设计 设置页新增"铃声设置"分区,API 地址下方: ``` 铃声设置 ───────────────────────────── 上架成功铃声 [当前文件名或"未设置"] [选择] [试听] [清除] 上架失败铃声 [当前文件名或"未设置"] [选择] [试听] [清除] ``` ## 音频播放逻辑 - 封装为 `SoundService`,统一管理播放 - 通过 `DeviceFileSource` 播放本地文件 - 上架成功/失败时检查是否配置了铃声,有则播放 - 保留现有震动反馈,铃声与震动并行 ## 涉及文件 1. `pubspec.yaml` — 添加依赖 2. `lib/services/sound_service.dart` — 新建,封装音频播放 3. `lib/pages/settings_page.dart` — 新增铃声配置 UI 4. `lib/pages/registration_page.dart` — 集成铃声播放