一个免费的音乐平台,致力于:一个平台 所有音乐。 本项目只是个人学习开发用的,任何人,任何组织不得以任何理由商用。 此分支为微服务架构,将主力维护此分支,原master分支为自己傻乎乎造轮子的产物。
这一段时间并没有添加新的功能,但是并没有偷懒。正在学习全新的微服务架构,奈何手上没啥项目,那就好拿Mukai Music开刀了。 本人才疏学浅,也是第一次玩这个,如果能帮到你,我非常高兴。如果做的不好,希望能得到建议。
- 感谢jsososo/MiguMusicApi
- 感谢Binaryify/NeteaseCloudMusicApi
- 感谢React-Native-Community.
- 配置好React-Native开发环境以及Expo Cli,准备一台设备,目前仅在Android环境测试过, 由于项目依赖的react-native-sound在Windows运行会出现一个'RNSound.IsAndroid'的错误,所以只能在设备上跑, 后续会继续尝试解决此问题,如果实在无法解决,会考虑使用Expo.Audio来进行音频播放.
- 进入MuKaiMusic/Clients/React-Native
yarn add
expo eject
yarn android
2020-10-12:目前仅包含一个miniPlayer,后续会持续更新.
- 各个平台搜索: 咪咕/migu/search?keyword=陈奕迅 酷我/kuwo/search?keyword=陈奕迅 网易/ne/search?keyword=陈奕迅, 要整合请自己整合,这里可以用编辑距离对排序进行优化哦
- 获取Url,直接平台对应的id 酷我为例:/kuwo/url?id=45275102
- 获取专辑图片,直接平台对应的id 咪咕为例:/migu/pic?id=54680
- 获取歌词,咪咕要的是copyrightId,酷我和网易是直接歌曲id 网易为例: /ne/lyric?id=551816010
- 获取推荐歌单,暂时只有网易云的,其他的我在考虑要不要也弄 /ne/playlist/personlized?limit=10
- 获取歌单详情 /ne/playlist/detail?id=532711476
... 用户歌单功能做了API,客户端还没来得及做,先不放出来了,后面再更新吧
- 一个Docker,一个RDS(账户用),一个MongoDB(自定义歌单用)
- 配置Docker网络,新建名为“mynet”的network,并将其设置为172.18.0.0/16(当然你完全可以选择设置其他网段,但是你得更改所有项目的相关配置文件建议你还是照做)
- 通过Consul路径下的docker-compose.yml,启动Consul,默认包含一个Server和Client。当然,你可以修改它。
- 在保证Consul已经Ok的情况下,其他的服务你可以以任意顺序启动(docker-compose.yml)。
- 如果你在服务文件夹里发现了build.cmd,或者build.sh,那么麻烦在用docker-compose之前,先运行它。(因为这服务需要DataAbstarct中定义的数据结构,但是DataAbstract并不在Docker上下文中,所以我们直接构建应用程序,并复制到Docker镜像中)
- Mukai Auth,需要一个关系型数据库(我是postgresql)(你可以在它的配置文件中设置对应的连接字符串(appsettings.{Environment}.json)然后用对应的EF Core工具进行迁移,记得修改Startup.cs)。
- Mukai Playlist需要一个MongoDB,需要在appsettings.{Environment}.json中进行配置。
- Mukai Account 是账户服务,对用户注册,用户信息存储等服务。用户头像默认实现依靠的阿里云Oss,你可以自己实现IFileService接口,存储在数据库或是文件系统都可以。
- Angular客户端,你需要修改Environment.ts中的BaseURL,并指向你的Ocelot网关地址。