Merge pull request 'Harmony 3.41.9' (#1) from harmony_3.41.9 into main
Reviewed-on: #1
This commit was merged in pull request #1.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# conti-retail-app
|
||||
|
||||
大陆马门店 App。Flutter + Melos 单仓多包。
|
||||
Conti-Retail-App。Flutter + Melos 单仓多包。
|
||||
|
||||
架构约束全部来自相邻仓库 `conti-docs/` 的 01–14 号文档。**本仓库对这些文档的
|
||||
偏离,逐条记在 [SCAFFOLD-NOTES.md](SCAFFOLD-NOTES.md)**——那份文件是回写文档的
|
||||
@@ -25,7 +25,7 @@ melos run gen
|
||||
|
||||
# 3. 跑起来
|
||||
cd app
|
||||
flutter run --flavor dev -t lib/main_dev.dart --dart-define-from-file=env/dev.json
|
||||
flutter run --flavor dev
|
||||
```
|
||||
- 或者安装vscodeflutter插件并修改launch.json F5运行
|
||||
```
|
||||
@@ -47,13 +47,9 @@ flutter run --flavor dev -t lib/main_dev.dart --dart-define-from-file=env/dev.js
|
||||
}
|
||||
```
|
||||
|
||||
`--flavor` / `-t` / `--dart-define-from-file` **三个参数缺一不可**:
|
||||
|
||||
- 少了 `--dart-define-from-file`,`AppEnv.fromDartDefine` 会在启动瞬间抛错。
|
||||
这是故意的——带着空 baseUrl 跑起来,问题会在第一个请求 404 时才暴露。
|
||||
- 少了 `-t`,Flutter 会去找 `lib/main.dart`,本仓库没有这个文件。
|
||||
|
||||
VS Code / Android Studio 用户建议把三条 flavor 配进 `launch.json`。
|
||||
项目只有一个 Dart 入口 `lib/main.dart`。`--flavor dev|uat|prod` 仍用于选择
|
||||
Android/iOS 的原生包变体,同时 Flutter 会通过 `appFlavor` 选择对应的内置环境
|
||||
配置。未传 flavor 时默认使用 dev,因此 DevEco 的普通 HAP 构建无需额外入口配置。
|
||||
|
||||
## 环境与工具链版本
|
||||
|
||||
@@ -112,6 +108,18 @@ melos run format # dart format --set-exit-if-changed
|
||||
melos run test # flutter test --coverage
|
||||
```
|
||||
|
||||
### OHOS(`harmony` 分支)构建
|
||||
|
||||
`enable-ohos.ps1` 只为当前 PowerShell 会话注入 Flutter_OH、ohpm、hvigor 与 DevEco 环境变量,不修改用户或系统 PATH。先在仓库根目录执行,再进入 `app` 使用已有的开发环境入口构建:
|
||||
|
||||
```powershell
|
||||
. .\enable-ohos.ps1
|
||||
cd app
|
||||
flutter build hap --debug
|
||||
```
|
||||
|
||||
构建产物为未签名 debug HAP:`app/ohos/entry/build/default/outputs/default/entry-default-unsigned.hap`。Hvigor 默认使用现有的 `lib/main.dart`,并加载 dev 环境配置。HAP 编译通过不代表 ArkTS 原生桥接、扫码或真机安装已经完成,边界见 [docs/07-native-integration.md](docs/07-native-integration.md)。
|
||||
|
||||
`analyze` 带 `--fatal-infos`。不加等于没加 lint——绝大多数 riverpod_lint 规则
|
||||
报的是 info 级。
|
||||
|
||||
@@ -125,7 +133,7 @@ melos run test # flutter test --coverage
|
||||
app/ 壳工程。唯一知道所有包的地方:环境注入、启动编排、路由聚合
|
||||
packages/
|
||||
core_foundation/ AppEnv / AppException 体系 / ApiCode ← 叶子包,谁都能依赖
|
||||
core_logging/ AppLogger / CrashReporter / 脱敏
|
||||
core_logging/ AppLogger / 脱敏
|
||||
core_analytics/ Analytics 接口 + 事件常量表
|
||||
core_storage/ Prefs(KV)。Drift 暂缓,见 SCAFFOLD-NOTES
|
||||
core_auth/ AppSession 四态 / TokenStorage / SessionNotifier
|
||||
@@ -186,5 +194,5 @@ flutter analyze → info: depend_on_referenced_packages
|
||||
模板。现在调 `startScan` 会抛 `MissingPluginException`,属预期。
|
||||
- **神策 SDK 未采购**:`analyticsProvider` 是 `NoopAnalytics`。接入时注意必须在
|
||||
用户同意隐私政策之后再初始化。
|
||||
- **env/*.json 里全是占位域名**,`SENTRY_DSN` 全空,待运维确认。
|
||||
- **env/*.json 里全是占位域名**,待运维确认。
|
||||
- **CI 镜像名未定**,`.gitlab-ci.yml` 里标了 TODO(ops)。
|
||||
|
||||
Reference in New Issue
Block a user