AGENTS.md 2.7 KB

Repository Guidelines

回复语言

所有回复必须使用中文

项目结构与模块划分

核心 ArkTS 代码位于 entry/src/main/ets,其中 view/ 负责 UI 组件(如 LocalMusic.ets),viewmodel/ 管理数据模型(如 VideoItem),common/ 存放工具类与常量(RemoteDriveManagerRcpSocketUtil 等),controller/ 承接 Ability 调度。鸿蒙资源位于 entry/src/main/resources。本地播放器内核与 FFmpeg 构建脚本存放在 ijkplayer/,复用的二进制库放在 lib/。流程文档、架构图与配置说明集中在 doc/。三方 OpenHarmony 依赖通过 oh_modules/ohpm 管理。

构建、测试与开发命令

  • ohpm install:根据 oh-package.json5 安装 ArkTS 依赖,新增/升级模块后必跑。
  • hvigor --mode module assemble entry:编译 entry 模块并生成默认 HAP,必要时追加 --product-name default
  • hvigor --mode module clean:清理构建缓存,确保可重复构建。
  • DevEco Studio 的 “Run > Run Entry” 等价于 assemble 并自动部署到真机/模拟器。

代码风格与命名规范

ArkTS/ETS 采用两个空格缩进、PascalCase 文件名(如 UploadMusicPage.ets)、camelCase 成员命名。UI 逻辑保持声明式,业务流程尽量下沉到 common/viewmodel/。除非调试底层连接,优先使用 Logger 封装而非裸 console。原生模块遵循仓库 .clang-format(LLVM 风格,两空格)与 .clang-tidy 配置,禁止混用 Tab/空格。提交前通过 DevEco Studio 运行 ESLint/ArkTS 检查。

测试指南

Hypium 自动化尚未完备,现阶段以真机冒烟为主:播放本地音频、执行 WebDAV 上传(UploadMusicPage)、验证后台任务。新增复杂逻辑时,在 entry/src/main/test/ 下补充 Hypium 用例,命名为 <Feature>Spec.ets。CI 覆盖前,请在 PR 描述中列出手工测试步骤和结果。

提交与 PR 规范

历史提交常见中文简述配合 Conventional Commits 前缀(如 feat(remote-drive): ...fix: ...)。主题维持祈使句、72 字符内,涉及特定模块请加 scope。提交 PR 时需:

  1. 说明用户可见改动及涉及模块。
  2. 关联 Issue/需求编号。
  3. UI 或网络行为变更附上截图/日志(如 WebDAV 日志)。
  4. 列出执行的手工或自动化测试。 避免在一次 PR 中混入无关重构,必要时拆分。

安全与配置提示

切勿提交真实 WebDAV 凭据或 VIP 秘钥,统一通过 PreferencesUtil 注入或在 doc/ 示例中使用假数据。大体积媒体应放在 entry/src/main/resources/rawfile.gitignore 指定的外部包。修改 ijkplayer/ 相关内容时,本地执行 prebuild.sh 生成产物,勿直接提交二进制。