Spotify-Web-Clone:在 React 上制作的 Spotify 网络克隆。 使用 Spotify API 进行用户身份验证和获取数据。 使用 Firebase 部署-源码

上传者: 42127783 | 上传时间: 2021-08-05 12:03:18 | 文件大小: 2.63MB | 文件类型: ZIP
免责声明 该项目的目的是学习 React 的基础知识,并使用 Context API 和 Redux 创建动态 Web 应用程序。 它还结合使用 Spotify API 进行用户身份验证和获取用户数据。 目前 Spotify API 不允许非高级用户播放或控制歌曲。 因此,如果您使用免费的 Spotify 帐户注册,将会缺少很多功能,这仍然是该应用程序的第 1 版,仍有许多可以改进的地方。 目录 描述 使用 create-react-app 的克隆 Web 应用程序。 该应用使用来自 Spotify API 的数据,并尝试尽可能模仿官方的 UI 和前端行为。 动机 创建这个项目主要是为了自学 React 开发。 由于这个项目的重点不是做出出色的 UI/UX 设计选择,我选择创建一个成熟产品的克隆,以缩短我的学习时间,而不是专注于错误的事情。 由于我已经是 Spotify 的重度用户,因此我

文件下载

资源详情

[{"title":"( 39 个子文件 2.63MB ) Spotify-Web-Clone:在 React 上制作的 Spotify 网络克隆。 使用 Spotify API 进行用户身份验证和获取数据。 使用 Firebase 部署-源码","children":[{"title":"Spotify-Web-Clone-master","children":[{"title":".gitignore <span style='color:#111;'> 322B </span>","children":null,"spread":false},{"title":"package.json <span style='color:#111;'> 963B </span>","children":null,"spread":false},{"title":"package-lock.json <span style='color:#111;'> 577.49KB </span>","children":null,"spread":false},{"title":"src","children":[{"title":"index.js <span style='color:#111;'> 731B </span>","children":null,"spread":false},{"title":"Utilities","children":[{"title":"spotify.js <span style='color:#111;'> 1.21KB </span>","children":null,"spread":false},{"title":"serviceWorker.js <span style='color:#111;'> 4.97KB </span>","children":null,"spread":false},{"title":"reducer.js <span style='color:#111;'> 1.38KB </span>","children":null,"spread":false},{"title":"DataLayer.js <span style='color:#111;'> 382B </span>","children":null,"spread":false}],"spread":true},{"title":"App.js <span style='color:#111;'> 1.66KB </span>","children":null,"spread":false},{"title":"Styles","children":[{"title":"SideBar.css <span style='color:#111;'> 226B </span>","children":null,"spread":false},{"title":"SongRow.css <span style='color:#111;'> 474B </span>","children":null,"spread":false},{"title":"Body.css <span style='color:#111;'> 1.11KB </span>","children":null,"spread":false},{"title":"sidebaroptions.css <span style='color:#111;'> 567B </span>","children":null,"spread":false},{"title":"Header.css <span style='color:#111;'> 439B </span>","children":null,"spread":false},{"title":"Login.css <span style='color:#111;'> 289B </span>","children":null,"spread":false},{"title":"Player.css <span style='color:#111;'> 56B </span>","children":null,"spread":false},{"title":"Footer.css <span style='color:#111;'> 1.07KB </span>","children":null,"spread":false}],"spread":true},{"title":"Components","children":[{"title":"SideBar.js <span style='color:#111;'> 1.41KB </span>","children":null,"spread":false},{"title":"SongRow.js <span style='color:#111;'> 567B </span>","children":null,"spread":false},{"title":"Login.js <span style='color:#111;'> 421B </span>","children":null,"spread":false},{"title":"Header.js <span style='color:#111;'> 916B </span>","children":null,"spread":false},{"title":"Body.js <span style='color:#111;'> 2.44KB </span>","children":null,"spread":false},{"title":"Footer.js <span style='color:#111;'> 4.25KB </span>","children":null,"spread":false},{"title":"Player.js <span style='color:#111;'> 506B </span>","children":null,"spread":false},{"title":"SideBarOptions.js <span style='color:#111;'> 523B </span>","children":null,"spread":false}],"spread":true},{"title":"App.css <span style='color:#111;'> 49B </span>","children":null,"spread":false},{"title":"index.css <span style='color:#111;'> 431B </span>","children":null,"spread":false}],"spread":true},{"title":"firebase.json <span style='color:#111;'> 235B </span>","children":null,"spread":false},{"title":"public","children":[{"title":"robots.txt <span style='color:#111;'> 67B </span>","children":null,"spread":false},{"title":"index.html <span style='color:#111;'> 1.68KB </span>","children":null,"spread":false},{"title":"logo.png <span style='color:#111;'> 10.15KB </span>","children":null,"spread":false},{"title":"spotify-logo-100779042-large.3x2.jpg <span style='color:#111;'> 27.44KB </span>","children":null,"spread":false},{"title":"manifest.json <span style='color:#111;'> 492B </span>","children":null,"spread":false}],"spread":true},{"title":"README.md <span style='color:#111;'> 5.27KB </span>","children":null,"spread":false},{"title":"demo","children":[{"title":"login flow.gif <span style='color:#111;'> 1.34MB </span>","children":null,"spread":false},{"title":"Implicit grant flow.png <span style='color:#111;'> 90.64KB </span>","children":null,"spread":false},{"title":"user flow.gif <span style='color:#111;'> 1.46MB </span>","children":null,"spread":false}],"spread":true},{"title":".firebase","children":[{"title":"hosting.YnVpbGQ.cache <span style='color:#111;'> 1.80KB </span>","children":null,"spread":false}],"spread":true},{"title":".firebaserc <span style='color:#111;'> 61B </span>","children":null,"spread":false}],"spread":true}],"spread":true}]

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明