English | ไธญๆ
ไธไธชๅบไบ Vue 3 + TypeScript ๆๅปบ็็ฐไปฃๅ้ณไนๆญๆพๅจ๏ผๆฏๆๅคๅนณๅฐ้ณไนๆ็ดขๅๆญๆพ๏ผๆไพไผ้ ็็จๆทไฝ้ชใ
- ๅฎๆด็ๆญๆพๆงๅถ๏ผๆญๆพ/ๆๅ/ไธไธ้ฆ/ไธไธ้ฆ๏ผ
- ่ฟๅบฆๆกๆงๅถๅ้ณ้่ฐ่
- ๅค็งๆญๆพๆจกๅผ๏ผ้กบๅบ/ๅๆฒๅพช็ฏ/ๅ่กจๅพช็ฏ/้ๆบ๏ผ
- ่ฟทไฝ ๆญๆพๅจๅๅ จๅฑๆญๆพๅจ็้ข
- ๆฏๆๅค็ง้ณ่ดจ้ๆฉ๏ผ128k/320k/FLAC/FLAC24bit๏ผ
- ็ฝๆไบ้ณไน - ๅฎๆดๆฏๆ
- ้ ทๆ้ณไน - ๆ็ดขๅๆญๆพ
- QQ้ณไน - ๆ็ดขๅๆญๆพ
- ่ๅๆ็ดข - ๅๆถๆ็ดขๆๆๅนณๅฐ
- ๅ็ฐ - ๆต่งๅๅนณๅฐ้ณไนๆฆๅๅๆจ่
- ๆ่กๆฆ - ๅ็ฑป้ณไนๆฆๅๆต่ง
- ๆ็ดข - ๅคๅนณๅฐ่ๅๆๆๅฎๅนณๅฐ้ณไนๆ็ดข
- ้ณไนๅบ - ไธชไบบๆถ่ใๆญๆพๅ่กจๅๆญๆพๅๅฒ
- ๆญๆพๅ่กจ - ๅๅปบๅ็ฎก็่ชๅฎไนๆญๆพๅ่กจ
- ๆญๆพๅจ - ไธๆณจ็้ณไนๆญๆพไฝ้ช
- ่ฎพ็ฝฎ - API ้ ็ฝฎใWebDAV ๅๆญฅๅๅๅฅฝ่ฎพ็ฝฎ
- ๆถ่็ฎก็ - ไฟๅญๅ็ฎก็ๅ็ฑ็ๆญๆฒ
- ๆญๆพๅๅฒ - ่ฎฐๅฝๆ่ฟๆญๆพ็ๆญๆฒ
- ่ชๅฎไนๆญๆพๅ่กจ - ๅๅปบๅ็ป็ป้ณไน้ๅ
- WebDAV ๅๆญฅ - ไบๅคไปฝๅๅค่ฎพๅคๅๆญฅ
- ๆฌๅฐๅญๅจ - ไฟๅญ็จๆทๅๅฅฝๅ่ฎพ็ฝฎ
- Vue 3.5 - ๆธ่ฟๅผ JavaScript ๆกๆถ
- TypeScript - ๆไพ็ฑปๅๅฎๅ จ็ JavaScript ่ถ ้
- Vite - ไธไธไปฃๅ็ซฏๆๅปบๅทฅๅ ท
- Naive UI - ็ฐไปฃๅ็ Vue 3 ็ปไปถๅบ
- @vueuse/core - Vue ็ปๅๅผ API ๅทฅๅ ท้
- vfonts - ๅญไฝๆฏๆ
- Pinia - Vue 3 ็ถๆ็ฎก็ๅบ
- Vue Router - ๅฎๆน่ทฏ็ฑ็ฎก็
- Axios - HTTP ๅฎขๆท็ซฏ๏ผ็จไบ API ้ไฟก
- WebDAV - ไบๅญๅจๅๆญฅๅ่ฎฎ
- dayjs - ่ฝป้็บงๆฅๆๆถ้ดๅค็ๅบ
- Node.js >= 16.0.0
- npm ๆ yarn
npm installnpm run devๅบ็จๅฐๅจ http://localhost:5173 ๅฏๅจ
npm run buildnpm run previewsrc/
โโโ api/ # API ๆฅๅฃๅฎไน
โ โโโ tunehub.ts # TuneHub API ๅฎขๆท็ซฏ
โโโ assets/ # ้ๆ่ตๆบ
โโโ components/ # ๅ
ฌๅ
ฑ็ปไปถ
โ โโโ PlayerBar.vue # ๅบ้จๆญๆพๅจๆ
โ โโโ SettingsApi.vue # API ่ฎพ็ฝฎ็ปไปถ
โ โโโ SettingsSleep.vue # ็ก็ ๅฎๆถๅจ่ฎพ็ฝฎ
โ โโโ SettingsWebdav.vue # WebDAV ่ฎพ็ฝฎ็ปไปถ
โโโ lyrics/ # ๆญ่ฏ็ธๅ
ณๅค็
โโโ router/ # ่ทฏ็ฑ้
็ฝฎ
โโโ storage/ # ๆฌๅฐๅญๅจ็ฎก็
โโโ stores/ # ็ถๆ็ฎก็
โ โโโ app.ts # ๅบ็จ็ถๆ
โ โโโ player.ts # ๆญๆพๅจ็ถๆ
โโโ views/ # ้กต้ข็ปไปถ
โ โโโ AppShell.vue # ๅบ็จๅธๅฑๅคๅฃณ
โ โโโ DiscoverView.vue # ๅ็ฐ้กต้ข
โ โโโ LibraryView.vue # ้ณไนๅบ้กต้ข
โ โโโ PlayerView.vue # ๆญๆพๅจ้กต้ข
โ โโโ PlaylistView.vue # ๆญๆพๅ่กจ้กต้ข
โ โโโ SearchView.vue # ๆ็ดข้กต้ข
โ โโโ SettingsView.vue # ่ฎพ็ฝฎ้กต้ข
โ โโโ ToplistView.vue # ๆ่กๆฆ้กต้ข
โโโ webdav/ # WebDAV ๅๆญฅๅ่ฝ
โโโ App.vue # ๆ น็ปไปถ
โโโ main.ts # ๅบ็จๅ
ฅๅฃ
โโโ style.css # ๅ
จๅฑๆ ทๅผ
ๅบ็จ้ป่ฎคไฝฟ็จ TuneHub API ่ทๅ้ณไนๆฐๆฎ๏ผ้ป่ฎค API ๅฐๅไธบ๏ผ
https://music-dl.sayqz.com
ไฝ ๅฏไปฅๅจ่ฎพ็ฝฎ้กต้ขไธญไฟฎๆน API ๅฐๅ๏ผไปฅไฝฟ็จ่ชๅฎไน็ TuneHub API ๆๅกใ
ๅจ่ฎพ็ฝฎ้กต้ขไธญ๏ผไฝ ๅฏไปฅ้ ็ฝฎ WebDAV ๆๅกๅจไฟกๆฏ๏ผๅฎ็ฐๆถ่ใๆญๆพๅ่กจๅ่ฎพ็ฝฎ็ไบๅๆญฅใ
ๆฏๆๅค็ง้ณ่ดจ้ๆฉ๏ผๅ ๆฌ๏ผ
- 128k - ๆ ๅ้ณ่ดจ
- 320k - ้ซ่ดจ้
- flac - ๆ ๆ้ณ่ดจ
- flac24bit - 24ไฝๆ ๆ้ณ่ดจ
- ไธป้ข่ฒ๏ผ#6366f1๏ผ้่่ฒ๏ผ
- ็ฐไปฃๅ่ฎพ่ฎก๏ผ้็จ็ป็ๆๆ๏ผGlassmorphism๏ผ่ฎพ่ฎก้ฃๆ ผ
- ๅๅบๅผๅธๅฑ๏ผ้้ ไธๅๅฑๅนๅฐบๅฏธ
- ๆต็ ๅจ็ป๏ผๅนณๆป็่ฟๆธกๆๆๅไบคไบๅจ็ป
- ๆทฑ่ฒๆจกๅผ๏ผๆฏๆๆทฑ่ฒไธป้ขๅๆข
- ไฝฟ็จ Vue 3 Composition API
- ไธฅๆ ผ็ TypeScript ็ฑปๅ็บฆๆ
- ๅๆไปถ็ปไปถ๏ผSFC๏ผๆ ผๅผ
- ไฝฟ็จ Pinia ่ฟ่ก็ถๆ็ฎก็
- ๆจกๅๅ็ store ่ฎพ่ฎก
- ๆฏๆ DevTools ่ฐ่ฏ
- ไฝฟ็จ CSS ๅ้่ฟ่กไธป้ขๅฎๅถ
- ็ปไปถ็บงๆ ทๅผ้็ฆป
- ๅๅบๅผ่ฎพ่ฎกๅๅ
npm run buildๆๅปบไบง็ฉไฝไบ dist/ ็ฎๅฝ๏ผๅฏ็ดๆฅ้จ็ฝฒๅฐ้ๆๆ็ฎกๆๅกใ
- Vercel
- Netlify
- GitHub Pages
- ้ฟ้ไบ OSS
- ่ พ่ฎฏไบ COS
ๆฌข่ฟๆไบค Issue ๅ Pull Request ๆฅๆน่ฟ้กน็ฎใ
ๆฌ้กน็ฎ้็จ MIT ่ฎธๅฏ่ฏใ
- ๆญ่ฏๅฎๆถๅๆญฅๆพ็คบ
- ๆดๅค้ณไนๅนณๅฐๆฏๆ
- ้ณ้ขๅฏ่งๅๆๆ
- ็ฆป็บฟๆจกๅผๆฏๆ
- ไธป้ข่ชๅฎไน
- ็คพไบคๅไบซๅ่ฝ
- ๆญๅฎขๆฏๆ
- ็ตๅฐๆจกๅผ
ไบซๅไฝ ็้ณไนไนๆ ๏ผ๐ต
ไธญๆ | English
A modern music player built with Vue 3 + TypeScript, supporting multi-platform music search and playback with an elegant user experience.
- Complete playback controls (play/pause/previous/next)
- Progress bar control and volume adjustment
- Multiple playback modes (sequential/single loop/list loop/shuffle)
- Mini player and full-screen player interfaces
- Support for multiple audio qualities (128k/320k/FLAC/FLAC24bit)
- NetEase Cloud Music - Full support
- Kuwo Music - Search and playback
- QQ Music - Search and playback
- Aggregate Search - Search across all platforms simultaneously
- Discover - Browse music charts and recommendations from various platforms
- Toplist - Categorized music charts browsing
- Search - Multi-platform aggregate or specific platform music search
- Library - Personal favorites, playlists, and play history
- Playlist - Create and manage custom playlists
- Player - Focused music playback experience
- Settings - API configuration, WebDAV sync, and preferences
- Favorites Collection - Save and manage favorite songs
- Play History - Record recently played songs
- Custom Playlists - Create and organize music collections
- WebDAV Sync - Cloud backup and multi-device synchronization
- Local Storage - Save user preferences and settings
- Vue 3.5 - Progressive JavaScript framework
- TypeScript - Type-safe JavaScript superset
- Vite - Next-generation frontend build tool
- Naive UI - Modern Vue 3 component library
- @vueuse/core - Vue Composition API utilities
- vfonts - Font support
- Pinia - Vue 3 state management library
- Vue Router - Official routing management
- Axios - HTTP client for API communication
- WebDAV - Cloud storage synchronization protocol
- dayjs - Lightweight date-time processing library
- Node.js >= 16.0.0
- npm or yarn
npm installnpm run devThe app will start at http://localhost:5173
npm run buildnpm run previewsrc/
โโโ api/ # API interface definitions
โ โโโ tunehub.ts # TuneHub API client
โโโ assets/ # Static assets
โโโ components/ # Common components
โ โโโ PlayerBar.vue # Bottom player bar
โ โโโ SettingsApi.vue # API settings component
โ โโโ SettingsSleep.vue # Sleep timer settings
โ โโโ SettingsWebdav.vue # WebDAV settings component
โโโ lyrics/ # Lyrics processing
โโโ router/ # Router configuration
โโโ storage/ # Local storage management
โโโ stores/ # State management
โ โโโ app.ts # Application state
โ โโโ player.ts # Player state
โโโ views/ # Page components
โ โโโ AppShell.vue # Application layout shell
โ โโโ DiscoverView.vue # Discover page
โ โโโ LibraryView.vue # Library page
โ โโโ PlayerView.vue # Player page
โ โโโ PlaylistView.vue # Playlist page
โ โโโ SearchView.vue # Search page
โ โโโ SettingsView.vue # Settings page
โ โโโ ToplistView.vue # Toplist page
โโโ webdav/ # WebDAV synchronization functionality
โโโ App.vue # Root component
โโโ main.ts # Application entry
โโโ style.css # Global styles
The app uses TuneHub API to fetch music data by default. The default API address is:
https://music-dl.sayqz.com
You can modify the API address in the settings page to use a custom TuneHub API service.
In the settings page, you can configure WebDAV server information to enable cloud synchronization of favorites, playlists, and settings.
Supports multiple audio quality options:
- 128k - Standard quality
- 320k - High quality
- flac - Lossless quality
- flac24bit - 24-bit lossless quality
- Theme Color: #6366f1 (Indigo)
- Modern Design: Adopts Glassmorphism design style
- Responsive Layout: Adapts to different screen sizes
- Smooth Animations: Fluid transition effects and interactive animations
- Dark Mode: Supports dark theme switching
- Use Vue 3 Composition API
- Strict TypeScript type constraints
- Single File Component (SFC) format
- Use Pinia for state management
- Modular store design
- DevTools debugging support
- Use CSS variables for theme customization
- Component-level style isolation
- Responsive design principles
npm run buildBuild artifacts are located in the dist/ directory and can be directly deployed to static hosting services.
- Vercel
- Netlify
- GitHub Pages
- Alibaba Cloud OSS
- Tencent Cloud COS
Issues and Pull Requests are welcome to improve the project.
This project is licensed under the MIT License.
- Real-time lyrics synchronization
- Support for more music platforms
- Audio visualization effects
- Offline mode support
- Theme customization
- Social sharing features
- Podcast support
- Radio mode
Enjoy Your Music Journey! ๐ต