| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- ---
- description: TTMusic项目结构与关键文件指南
- globs: ["**/*.ets", "**/*.ts"]
- alwaysApply: true
- ---
- # TTMusic项目结构与关键文件指南
- ## 项目概述
- TTMusic是一个基于鸿蒙ArkTS开发的音乐播放器应用,支持本地音乐播放、歌词显示、主题切换等功能。
- ## 核心目录结构
- ### 1. 应用入口
- - `entry/src/main/ets/entryability/EntryAbility.ets` - 应用入口点
- - `entry/src/main/ets/MyAbilityStage.ets` - 应用生命周期管理
- ### 2. 页面组件
- - `entry/src/main/ets/pages/` - 所有页面组件
- - `MainIndex.ets` - 主页面,包含底部导航栏
- - `SplashIndex.ets` - 启动页
- - `SettingPage.ets` - 设置页面
- - `PlaylistDetailPage.ets` - 播放列表详情页
- - `UserCenter.ets` - 用户中心页面
- ### 3. 视图组件
- - `entry/src/main/ets/view/` - 可复用视图组件
- - 音乐播放控制组件
- - 歌词显示组件
- - 列表项组件
- ### 4. 视图模型
- - `entry/src/main/ets/viewmodel/` - 数据模型与业务逻辑
- - `MainViewModel.ets` - 主页面数据模型
- - `ItemData.ets` - 列表项数据模型
- - `Playlist.ets` - 播放列表模型
- ### 5. 控制器
- - `entry/src/main/ets/controller/` - 控制器层
- - `AvSessionController.ets` - 音频会话控制器
- - `KnockController.ets` - 敲击检测控制器
- ### 6. 公共资源
- - `entry/src/main/ets/common/` - 公共工具和常量
- - `AppTheme.ets` - 主题配置
- - `PlayStatus.ets` - 播放状态枚举
- - `constants/CommonConstants.ets` - 通用常量
- - `util/` - 工具类集合
- ### 7. 对话框
- - `entry/src/main/ets/dialog/` - 对话框组件
- - `PlaylistDialog.ets` - 播放列表对话框
- - `UserPrivacyDialog.ets` - 用户隐私对话框
- ### 8. 原生模块
- - `ijkplayer/` - FFmpeg播放器原生模块
- - `lib/` - 歌词解析库
- ## 关键文件说明
- ### 常量配置
- `CommonConstants.ets` 包含应用中使用的所有常量:
- - API端点
- - 文件格式支持列表
- - 播放状态枚举
- - 微信支付配置
- ### 日志系统
- 使用 `common/util/Logger.ets` 进行统一日志记录,基于鸿蒙系统的hilog实现。
- ## 开发注意事项
- 1. 所有页面组件应使用 `@Entry` 和 `@Component` 装饰器
- 2. 状态管理使用 `@State` 和 `@StorageProp` 装饰器
- 3. 遵循ArkTS语法限制,特别是避免使用解构赋值和计算属性名
- 4. 使用项目定义的常量而非硬编码值
- 5. 遵循项目的命名规范和代码风格
- 6. 新增的日志都需要带上"heanup"前缀
|