Files
meida/app
xsl 336b638a1f feat(app): login page with dev-token flow and profile with quota cards(F1)
登录页(LoginPage):
- 品牌区 + 设备标识输入(随机生成一次并持久化到 preferences,可改可重生成)
- 高级设置折叠区:展示/编辑 baseUrl(AuthStore.setBaseUrl),带格式校验与恢复默认
- 登录闭环:loading 态 → AuthStore.loginByDevToken → 成功 router.replaceUrl 首页;
  失败 catch ApiError 用 ErrorBanner 展示 message+hint;已登录态进入直接跳首页

个人页(ProfilePage):
- 用户 ID 脱敏(前 6 后 4)+ 登出(AlertDialog 确认 → AuthStore.logout → 回登录页)
- agent_chat/tryon/report_basic 三配额卡并行拉取,进度条 used/(limit+bonus),
  剩余数大字;周期文案:日配额=明日恢复、report_basic=一次性额度、月度=日期
- 最近流水(limit=10):tx_type 中文映射(消耗/退还/奖励),status 徽标配色区分
- Refresh 下拉刷新(加分项)

共享组件 components/f1/:ErrorBanner、QuotaCard、LedgerItem

偏差说明:
- 设备标识在 @State 之外额外持久化(meida_login/device_key),保证跨启动稳定不重生
- Scroll 隐藏滚动条用 .scrollBar(BarState.Off)(本 SDK 无 scrollBarBarState 属性)
- router.replaceUrl / AlertDialog.show 有 deprecation WARN,属规程指定路由方式,构建门禁通过
2026-08-15 00:43:46 +08:00
..

美搭 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 用的门禁)

cd G:/meida/app
export DEVECO_SDK_HOME="C:/Program Files/Huawei/DevEco Studio/sdk"
"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 即门禁通过(未签名 HAP 正常——签名等 AGC 证书)。运行/调试用 DevEco Studio 打开本工程点 Run(模拟器或真机,真机需先配签名)。

代码约定

  • ets/core/:网络与会话地基(ApiClient/AuthStore/ContextHolder/ApiTypes)——共享层,改动需全量构建验证
  • ets/pages/:页面。页面间跳转一律 router.pushUrl({url: 'pages/Xxx'}) 路径方式,禁止 import 其它页面(并行开发的冲突隔离约定)
  • 组件级复用放 ets/components/(各自任务目录内自建子目录)
  • 文案:骨架期中文硬编码即可(i18n 后置);错误提示只 catch ApiError,用其 message/hint(后端文案已保证无价格字样)
  • 状态管理:页面内 @State;跨页少量状态走 AppStorage
  • 不引第三方 ohpm 包(保持零依赖,后续按需评估)