# Technology Stack ## Platform & Framework - **Platform**: OpenHarmony (HarmonyOS) 5.0.5 - **Language**: ArkTS (TypeScript-based) - **Architecture**: Stage Model - **Min SDK**: API 12 (compatible with API 9+) - **Target SDK**: API 17 ## Build System - **Build Tool**: Hvigor (HarmonyOS build system) - **Package Manager**: OHPM (OpenHarmony Package Manager) - **Native Build**: CMake for C/C++ components ## Core Libraries & Dependencies ### Media Processing - **ijkplayer**: FFmpeg-based video/audio player (v2.0.6) - **FFmpeg**: Media codec and processing - **SoundTouch**: Audio processing and pitch shifting - **libyuv**: Video processing library ### UI & Utilities - `@pura/harmony-utils`: Common utilities and helpers - `@pura/harmony-dialog`: Dialog components - `@ohos/lottie`: Animation support - `@ohos/pulltorefresh`: Pull-to-refresh component - `@chinalike/popup`: Popup components - `@keke/color-picker`: Color picker component ### Payment & Services - `@cashier_alipay/cashiersdk`: Alipay payment integration - `@tencent/wechat_open_sdk`: WeChat integration ### Text Processing - `@changwei/chardet`: Character encoding detection - `@sgaolei/lrc_parser`: Lyrics parsing - `@ohos/pinyin4js`: Chinese pinyin conversion ## Code Style & Conventions - Use ArkTS/TypeScript syntax - Follow HarmonyOS component lifecycle patterns - Use `@Component`, `@Entry`, `@Preview` decorators appropriately - Implement proper state management with `@State`, `@Prop`, `@Link` - Use structured logging with consistent TAG naming - Follow camelCase for variables and PascalCase for components