35 lines
2.1 KiB
Markdown
35 lines
2.1 KiB
Markdown
# 美搭 HarmonyOS App(ArkTS)
|
||
|
||
- 模板:DevEco Studio 6.1 空 Ability 工程;API `6.1.1(24)`,`runtimeOS: HarmonyOS`,`bundleName: com.xiangsilian.app`
|
||
- 后端:`meida_backend`(WSL)。本地开发默认 `http://127.0.0.1:8000`(模拟器可用;**真机连开发机要在登录页改成局域网 IP**)
|
||
- 登录通道(V1 骨架):dev-token(后端 `DEV_AUTH_ENABLED=true` 本地可用);华为账号/短信为后续任务
|
||
|
||
## 命令行构建(Agent/CI 用的门禁)
|
||
|
||
> 工程配了真机调试签名(`.ohos/config` 下证书)后,PackageHap/SignHap 需要 java:
|
||
> PATH 里须有 DevEco 自带 JBR(`jbr/bin`),且**不能有带旧环境的 hvigor 守护进程残留**
|
||
> (守护进程会缓存启动时的 PATH,报 `spawn java ENOENT` 时先
|
||
> `taskkill /F /PID <hvigor daemon的node进程>` 再重试)。
|
||
|
||
```bat
|
||
(等价于仓库根的 app/.build-gate.bat)
|
||
set "PATH=C:\Program Files\Huawei\DevEco Studio\jbr\bin;%PATH%"
|
||
set "DEVECO_SDK_HOME=C:\Program Files\Huawei\DevEco Studio\sdk"
|
||
cd /d <repo>\app
|
||
"C:\Program Files\Huawei\DevEco Studio\tools\node\node.exe" ^
|
||
"C:\Program Files\Huawei\DevEco Studio\tools\hvigor\bin\hvigorw.js" ^
|
||
--mode module -p module=entry@default assembleHap --analyze=false --daemon=false
|
||
```
|
||
|
||
`BUILD SUCCESSFUL` 即门禁通过;产物 `entry/build/default/outputs/default/entry-default-signed.hap`
|
||
(已用调试证书签名,可直接 `hdc install` 到真机)。
|
||
|
||
## 代码约定
|
||
|
||
- `ets/core/`:网络与会话地基(ApiClient/AuthStore/ContextHolder/ApiTypes)——**共享层,改动需全量构建验证**
|
||
- `ets/pages/`:页面。**页面间跳转一律 `router.pushUrl({url: 'pages/Xxx'})` 路径方式,禁止 import 其它页面**(并行开发的冲突隔离约定)
|
||
- 组件级复用放 `ets/components/`(各自任务目录内自建子目录)
|
||
- 文案:骨架期中文硬编码即可(i18n 后置);错误提示只 catch `ApiError`,用其 `message/hint`(后端文案已保证无价格字样)
|
||
- 状态管理:页面内 `@State`;跨页少量状态走 `AppStorage`
|
||
- 不引第三方 ohpm 包(保持零依赖,后续按需评估)
|