# ============================================================ # apps/client 本机运行时配置(flutter_dotenv) # # cp .env.example .env 然后按需填值。 # # ⚠️ .env 同时被 pubspec.yaml 声明为 asset,且 main.dart 里 `dotenv.load(fileName: ".env")` # 是启动第一步 —— 文件不存在 App 直接起不来,不是可选项。 # ⚠️ .env 已在 .gitignore 中(源仓库也一样忽略),别提交。 # # 注意区分两套 "env": # - 本文件 = 本机/渠道级配置,编译进包,用 dotenv.env['X'] 读; # - AppConfig.env('X') = 后端 user_getappconfig 下发的配置,由 console 后台维护。 # 下面那一堆 VOLCANO_* / OPENAI_* 在当前线上 .env 里**实际都是空的** —— 第三方能力已改由 # 后端下发,本文件只在需要绕过后端、直连调试时才填。真正必须填的只有 SERVER_URL 和 Channel。 # ============================================================ # ---------- 后端地址(联调唯一必改项)---------- # 客户端所有业务请求形如 POST {SERVER_URL}/api/home/<模块>_<方法>, # 由 gateway 的 /api/:service/:method 路由(apps/services/modules/gateway/wservice_comp.go:66) # 转发到对应服务的反射注册方法。 # # ym 测试环境:https://ym-dev.ymaikj.com (阿龙环境,当前默认) # 本机联调: http://<你的局域网IP>:7100 (gateway HTTP 端口,见 deploy/app/confs/gateway.yaml.example) # 真机调试别写 127.0.0.1/localhost —— 那是手机自己。 SERVER_URL=https://ym-dev.ymaikj.com # 非中国大陆地区 / GOOGLE 渠道走这个地址(dio_manager.dart 的 baseUrl 逻辑)。 # 留空会自动回退到 SERVER_URL,不会变成空 host。 HW_SERVER_URL=https://ym-dev.ymaikj.com # ---------- 渠道 ---------- # 取值见 lib/data/models/channel_app_model.dart 的 UserChannel(必须是那里 # fromName 认识的名字,写 xiaomi 这种小写短名会被解析成 UNKNOWN)。 # iOS 恒为 GLOBAL_APPLE,本项只对 Android 生效。 # # 国内 5 家商店(华为/荣耀/小米/OPPO/vivo)现在共用一个包:渠道在运行时按 # 设备品牌推导(version_update_service.dart 的 getAndroidStoreInfoByBrand), # 这里的值只是**兜底**——只作用于品牌认不出来的设备(三星、魅族等),决定它们 # 归到哪一档渠道统计、拿哪一档的游客登录/跳过设备绑定开关。填任一国内渠道即可, # 但后台 app_registry 里要给这一档配好。 # # 两个值不参与品牌推导,别拿来当国内包的兜底: # GLOBAL_GOOGLE —— 海外包,装在华为手机上也必须继续连 HW_SERVER_URL; # OFFICIAL —— 官方/内测包,agent 页面会多出"工具打断"调试菜单项。 Channel=CHINA_XIAOMI # ---------- OpenAI 兼容网关(留空则由后端下发)---------- OPENAI_BASE_URL= OPENAI_API_KEY= OPENAI_MODEL= # ---------- 火山引擎 语音(ASR / TTS,留空则由后端下发)---------- VOLCANO_APP_KEY= VOLCANO_SECRET_KEY= VOLCANO_HOST_URL= VOLCANO_SERVICE_ID= VOLCANO_SPEECH_APP_ID= VOLCANO_SPEECH_APP_TOKEN= VOLCANO_ASR_RESOURCE_ID= VOLCANO_TTS_APP_ID= VOLCANO_TTS_APP_TOKEN= VOLCANO_TTS_RESOURCE_ID= # 只在 .env 里出现,Dart 代码未引用(疑似遗留) VOLCANO_AI_API_KEY= # ---------- 火山引擎 翻译(留空则由后端下发)---------- VOLCANO_TRANSLATION_ACCESS_KEY= VOLCANO_TRANSLATION_SECRET_KEY= VOLCANO_TRANSLATION_REGION= # ---------- iOS 内购商品 ID 拼装 ---------- APP_IOS_IAP_PREFIX= APP_IOS_IAP_SUFFIX= APP_IOS_IAP_ID_MAP= # 请求签名密钥(可选,不配用内置默认值;须与服务端一致) API_SIGN_KEY=