# 前端 **Repository Path**: voice-chat/front-end ## Basic Information - **Project Name**: 前端 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-11 - **Last Updated**: 2026-03-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # voice_chat 语音社交 App Flutter 客户端骨架。 ## 依赖对齐结果 当前依赖已经覆盖 `方案.docx` 中的大部分客户端能力: - 实时语音:`agora_rtc_engine` - 一对一私聊:`agora_chat_sdk` - 网络与房间实时:`dio`、`web_socket_channel` - 登录态与缓存:`flutter_secure_storage`、`shared_preferences`、`sqflite` - 图片与语音条:`image_picker`、`record`、`just_audio` - 推送通知:`firebase_messaging`、`flutter_local_notifications` - 第三方登录与支付:`fluwx`、`sign_in_with_apple`、`tobias` 说明: - `方案.docx` 中 IM SDK 写的是“融云 / 腾讯 IM”,但仓库更高优先级文档 `implementation-plan-agora.md` 明确要求私聊使用 `Agora Chat`,因此项目继续保留 `agora_chat_sdk`,不引入额外 IM SDK。 - Android `minSdk` 已提升到 `24`,用于兼容当前 `flutter_secure_storage` 等插件版本。 ## 启动方式 启动前先注入 Agora App ID 和 Agora Chat App Key: ```bash export AGORA_APP_ID=你的声网AppID export AGORA_CHAT_APP_KEY=你的声网ChatAppKey flutter run \ --dart-define=AGORA_APP_ID=$AGORA_APP_ID \ --dart-define=AGORA_CHAT_APP_KEY=$AGORA_CHAT_APP_KEY ``` 如果使用 VS Code,仓库已提供 `.vscode/launch.json`,会自动把当前 shell 环境中的 `AGORA_APP_ID` 和 `AGORA_CHAT_APP_KEY` 注入到 Flutter 启动参数。 ## iOS 注意事项 仓库已补充 `ios/Podfile`,用于: - 安装 iOS 侧 Flutter / CocoaPods 依赖 - 为 `permission_handler` 打开麦克风、相册、通知权限宏 拉取依赖后请执行: ```bash cd ios pod install cd .. ``` 安卓拉取依赖后执行: ```bash cd android gradlew.bat assembleDebug --console=plain ``` ## Android 平台 - 生成 APK (直接安装包) ```bash flutter build apk --release ``` - 分包构建 (按 CPU 架构拆分,减小体积) ```bash flutter build apk --split-per-abi --release ``` - 生成 AAB (Google Play 上架格式) ```bash flutter build appbundle --release ``` ## iOS 平台 - 生成 IPA (安装文件或上架包) ```bash flutter build ipa --release ``` - 自动签名: 如果配置了自动签名,可以直接运行;如果需要手动指定导出选项(Export Options),可以加参数 ```bash flutter build ipa --export-options-plist=/path/to/ExportOptions.plist ``` - 仅编译 Archive (用于 Xcode 进一步处理) ```bash flutter build ios --release --no-codesign ```