一个插件化的音乐播放器
修改 Model 之后 运行 flutter pub run build_runner build --delete-conflicting-outputs
该软件不内置任何音源,一切播放能力基于js插件
该软件处于试验阶段,一切api都有可能改变
代码很垃圾,就实现了基本功能
- 播放
- 歌单分类,列表 ,详情
- 专辑分类,列表,详情
- 搜索,单曲,歌单,专辑,歌手
- 跨站点匹配
- 歌手,单曲,专辑
- 榜单
- 新歌
- 歌单导入
- 首页自定义数据
- 登录(设置cookie)
- 登录后刷新cookie
- 登录后获取用户信息
- 登录后如果有VIP禁用匹配
- 音质选择
- 下载
- 协同播放(相同数据源的接口,比如官方和第三方,可以将官方交由第三方直接解析,或者交由本地匹配)
- MV
- UI重制,现在UI看看就好,早晚都得换
- 评论(暂时的优先比较低)
` 在js中属于特殊字符,替换为\\`
\\在js中属于特殊字符,替换为\\\\
Axios
Crypto
HandlePromises
fetch
xhr
BigInteger
base64-js//由quality字段判断, flac以后再调整
//参考🐧的分级
//[
// {quality: 24, q: "size_24aac", s: "C100", e: ".m4a"},
// {quality: 48, q: "size_48aac", s: "C200", e: ".m4a"},
// {quality: 96, q: "size_96aac", s: "C400", e: ".m4a"},
// {quality: 128, q: "size_128mp3", s: "M500", e: ".mp3"},
// {quality: 192, q: "size_192ogg", s: "O600", e: ".ogg"},
// {quality: 192, q: "size_192aac", s: "C600", e: ".m4a"},
// {quality: 320, q: "size_320mp3", s: "M800", e: ".mp3"},
// {quality: 1000, q: "size_flac", s: "F000", e: ".flac"},
// {quality: 1000, q: "size_ape", s: "A000", e: ".ape"},
// {quality: 1000, q: "size_dts", s: "D00A", e: ".flac"},
// {quality: 1000, q: "size_hires", s: "RS01", e: ".flac"},
// ];
//在插件中获取cookie,由于框架限制需要使用await
const cookie = await getCookie();
//在插件中保存cookie,以字符串形式保存,返回Boolean类型
setCookie(cookie);