{"id":13679319,"url":"https://github.com/uniquemo/react-netease-music","last_synced_at":"2025-04-04T23:09:55.416Z","repository":{"id":44757301,"uuid":"257844437","full_name":"uniquemo/react-netease-music","owner":"uniquemo","description":"React Netease Music——一个基于React、TypeScript的高仿网易云mac客户端🎵播放器。","archived":false,"fork":false,"pushed_at":"2023-08-03T06:20:10.000Z","size":19401,"stargazers_count":532,"open_issues_count":11,"forks_count":118,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-10-12T14:15:59.021Z","etag":null,"topics":["apollo-client","graphql","music-player","react","react-hook","typescript","webpack"],"latest_commit_sha":null,"homepage":"http://www.uniquemo.cn","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/uniquemo.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-22T08:49:03.000Z","updated_at":"2024-09-23T01:39:23.000Z","dependencies_parsed_at":"2024-08-02T13:18:15.040Z","dependency_job_id":"eb888200-5ba1-4ccc-8033-c727bc613fb9","html_url":"https://github.com/uniquemo/react-netease-music","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uniquemo%2Freact-netease-music","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uniquemo%2Freact-netease-music/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uniquemo%2Freact-netease-music/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uniquemo%2Freact-netease-music/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/uniquemo","download_url":"https://codeload.github.com/uniquemo/react-netease-music/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247261612,"owners_count":20910108,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apollo-client","graphql","music-player","react","react-hook","typescript","webpack"],"created_at":"2024-08-02T13:01:04.237Z","updated_at":"2025-04-04T23:09:55.394Z","avatar_url":"https://github.com/uniquemo.png","language":"TypeScript","funding_links":[],"categories":["TypeScript","目录"],"sub_categories":["\u003ca id=\"project\"\u003e项目\u003c/a\u003e"],"readme":"# React Netease Music\nReact Netease Music——一个基于React、TypeScript的高仿网易云mac客户端播放器。\n\n## 项目体验地址\n[高仿网易云音乐播放器——音为爱呀😍](http://www.uniquemo.cn/discovery)\n\n## 功能列表\n- [x] 登录/登出（目前仅支持手机密码登录）\n- [x] 发现页\n  - [x] banner\n  - [x] 推荐歌单\n  - [x] 推荐最新音乐\n  - [x] 推荐MV（仅是入口，详情待实现）\n- [x] 每日歌曲推荐页\n- [x] 全部歌单页\n  - [x] 歌单分类查询\n- [x] 最新音乐页\n- [x] 歌单详情页\n- [x] 音乐播放详情页\n  - [x] 歌曲评论\n  - [x] 点赞/取消点赞歌曲评论\n  - [x] 歌词滚动\n  - [x] 歌曲所在歌单\n  - [x] 相似歌曲推荐\n- [x] 播放记录功能\n  - [x] 播放列表\n  - [x] 历史记录\n- [x] 搜索功能\n  - [x] 热门搜索关键字\n  - [x] 搜索建议\n  - [x] 搜索结果页\n- [x] 创建的歌单列表\n- [x] 收藏的歌单列表\n- [ ] 排行榜\n- [ ] 所有歌手页\n- [ ] 歌手详情页\n- [ ] MV相关的页面与功能\n- [ ] 创建/编辑/删除歌单\n- [ ] 私信/@我/评论等通知功能\n- [ ] 主题换肤\n- [ ] ......看心情添加功能😂\n\n注意：部分歌曲可能由于版权问题无法播放喔。\n\n## 技术栈\n- React，使用react hook做状态管理，没有使用额外的数据管理库。\n- TypeScript，用TypeScript确实可以提高效率😃（容易发现错误）。\n- Graphql，使用@apollo/client优化部分页面性能。\n- @blueprintjs组件库，主要使用其中的Icon、Dialog、Toast、Spinner等。\n- 逐渐使用[@uniquemo/mui](https://github.com/uniquemo/mui)替换@blueprinjs（Doing）。\n- CSS Modules。\n- Webpack。\n- Eslint做代码检查。\n\n## API接口\n- [NeteaseCloudMusicApi](https://binaryify.github.io/NeteaseCloudMusicApi)\n- [Express Graphql Server](https://github.com/uniquemo/express-graphql-server)\n\n## 播放器的相关截图\n![01_个性推荐页](./resources/01_个性推荐页.png)\n\n![02_每日歌曲推荐](./resources/02_每日歌曲推荐.png)\n\n![03_全部歌单](./resources/03_全部歌单.png)\n\n![04_最新音乐页](./resources/04_最新音乐页.png)\n\n![05_歌单详情页](./resources/05_歌单详情页.png)\n\n![06_音乐播放详情](./resources/06_音乐播放详情.png)\n\n![07_播放记录功能](./resources/07_播放记录功能.png)\n\n![08_搜索功能](./resources/08_搜索功能.png)\n\n![09_搜索结果页](./resources/09_搜索结果页.png)\n\n## 项目启动\n- 首先将上面👆提到的API接口部分，两个API服务代码拉到本地，并启动对应的服务；\n- [安装`pnpm`包管理工具](https://pnpm.io/installation)；\n- 然后拉取本仓库代码，并执行以下命令：\n```\npnpm install\npnpm run dev:local\n```\n- 最后在浏览器中访问：`http://localhost:8080`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funiquemo%2Freact-netease-music","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Funiquemo%2Freact-netease-music","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funiquemo%2Freact-netease-music/lists"}