You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Rodger-Wang 1f9925773d 清理:第 3 批,Flutter 业务代码孤儿文件、死路由、无人用的服务与依赖(约 7500 行 + 24MB 素材) 2 weeks ago
..
SpeexKit.xcframework apps/client 首次入库(Flutter 移动端) 1 month ago
android client: 设备内核抽象、Smartcar 车载香薰接入与语音纪要等一批改动 4 weeks ago
assets 清理:第 3 批,Flutter 业务代码孤儿文件、死路由、无人用的服务与依赖(约 7500 行 + 24MB 素材) 2 weeks ago
doc apps/client 首次入库(Flutter 移动端) 1 month ago
docs client(ios),docs: bundle id 修正、版本号 1.0.2+21,CLAUDE.md 记录本轮四条结论 3 weeks ago
ios 清理:第 3 批,Flutter 业务代码孤儿文件、死路由、无人用的服务与依赖(约 7500 行 + 24MB 素材) 2 weeks ago
lib 清理:第 3 批,Flutter 业务代码孤儿文件、死路由、无人用的服务与依赖(约 7500 行 + 24MB 素材) 2 weeks ago
local_plugins 车载香薰:会话带上用户位置与当前时间,填百炼提示词里的 ${location} / ${date} 2 weeks ago
test 车载香薰:会话带上用户位置与当前时间,填百炼提示词里的 ${location} / ${date} 2 weeks ago
tools client: 设备内核抽象、Smartcar 车载香薰接入与语音纪要等一批改动 4 weeks ago
.env.example services,admin,client: 服务配置按应用隔离、应用参数下线、客户端凭据走加密 v3 4 weeks ago
.gitignore client: 翻译默认归档进语音纪要;列表改本地优先;登录按包收敛;EMAI 走 A2DP 3 weeks ago
.mcp.json apps/client 首次入库(Flutter 移动端) 1 month ago
.metadata apps/client 首次入库(Flutter 移动端) 1 month ago
BES_CONNECT_FIX_PLAN.md 收拢积压改动:恒玄 OTA、发版配置拆表、实名认证、芯片厂商/代工厂管理等 1 month ago
CLIENT_AUDIT.md 收拢积压改动:恒玄 OTA、发版配置拆表、实名认证、芯片厂商/代工厂管理等 1 month ago
GOOGLE_PLAY_RELEASE_CHECKLIST.md client: 设备内核抽象、Smartcar 车载香薰接入与语音纪要等一批改动 4 weeks ago
GoogleService-Info.plist client(ios),docs: bundle id 修正、版本号 1.0.2+21,CLAUDE.md 记录本轮四条结论 3 weeks ago
I18N_PLACEHOLDER_REMEDIATION.md apps/client 首次入库(Flutter 移动端) 1 month ago
README.md apps/client 首次入库(Flutter 移动端) 1 month ago
analysis_options.yaml client: 设备内核抽象、Smartcar 车载香薰接入与语音纪要等一批改动 4 weeks ago
build_channels.sh client: 设备内核抽象、Smartcar 车载香薰接入与语音纪要等一批改动 4 weeks ago
check_16kb.py client: 设备内核抽象、Smartcar 车载香薰接入与语音纪要等一批改动 4 weeks ago
clean_spm.sh apps/client 首次入库(Flutter 移动端) 1 month ago
devtools_options.yaml apps/client 首次入库(Flutter 移动端) 1 month ago
firebase.json apps/client 首次入库(Flutter 移动端) 1 month ago
pubspec.lock 清理:第 3 批,Flutter 业务代码孤儿文件、死路由、无人用的服务与依赖(约 7500 行 + 24MB 素材) 2 weeks ago
pubspec.yaml 清理:第 3 批,Flutter 业务代码孤儿文件、死路由、无人用的服务与依赖(约 7500 行 + 24MB 素材) 2 weeks ago

README.md

Deep Voice

Flutter 应用程序,使用 GetX 状态管理和依赖注入。

项目目录结构

lib/
├─ core/
│  ├─ bindings/          # 全局或通用的 Bindings
│  ├─ constants/         # 常量、枚举、Key、全局配置等
│  ├─ errors/            # 异常/错误处理相关
│  ├─ themes/            # 主题(Color, TextStyle 等)
│  ├─ translations/      # 国际化、语言相关
│  ├─ utils/             # 通用工具类、Helper、扩展函数等
│  └─ widgets/           # 通用的无业务逻辑的Widgets
│
├─ data/
│  ├─ models/            # 数据模型(可与后端DTO对应)
│  ├─ repositories/      # 数据仓库(实际操作数据 CRUD, 远程或本地)
│  ├─ services/          # 第三方或原生平台封装,如网络请求、缓存、数据库等
│  └─ providers/         # 适配器层,比如把网络、数据库等转换为 Repository 可调用的接口
│
├─ modules/
│  ├─ login/
│  │  ├─ controllers/    # GetX Controller
│  │  ├─ views/          # 页面、Widget
│  │  ├─ bindings/       # 该模块的 Bindings
│  │  └─ ...             # 其他文件
│  ├─ home/
│  │  ├─ controllers/
│  │  ├─ views/
│  │  ├─ bindings/
│  │  └─ ...
│  └─ ...
│
├─ routes/
│  ├─ app_pages.dart     # 定义所有页面的 Route 列表
│  └─ app_routes.dart    # 定义路由常量或路由字符串
│
└─ main.dart             # 程序入口

本地调试内购(IAP)流程

不需要真实购买即可在本地跑通前端内购流程:

  • 在项目根目录的环境变量文件(如 .env)里添加:
APP_IAP_MOCK=1
  • 作用:在 PayService 中启用“本地内购模拟”,调用 processGooglePayment 或 processApplePayment 会:

    • 立即触发“已发起内购(本地模拟)”;
    • 短暂延时后触发“支付处理中…(本地模拟)”;
    • 再触发“支付成功(本地模拟)”。
  • 注意:该模式不依赖 Google Play / App Store 安装来源,也不会进行服务器收据校验,仅用于前端 UI 与状态机验证。

  • 关闭模拟:将 APP_IAP_MOCK 移除或设为 0/false,恢复真实内购流程。