radishes-music / radishes Goto Github PK
View Code? Open in Web Editor NEWCross-platform copyright-free music platform(跨平台的无版权的音乐平台). 支持 windows / macos / linux / web
Home Page: https://music.970819.xyz/
License: MIT License
Cross-platform copyright-free music platform(跨平台的无版权的音乐平台). 支持 windows / macos / linux / web
Home Page: https://music.970819.xyz/
License: MIT License
大佬,iOS啥音乐软件都没有,大佬能辛苦适配iOS端吗?感谢🙏🏻
Hi,觉得你们项目挺有意思,最近我也在做这块内容,不过源不大一样,可以加个vx探讨下吗
应该可以解析到网易云音乐的flac格式吧
看到 release 没有发布 Linux 包,就想这自己编译一下,但是出错了,node
版本 v16.15.0
,yarn
版本 1.22.18
❯ yarn build:electron:linux
yarn run v1.22.18
$ node script/build.js --linux
4.0.9 4.0.9
INFO Bundling render process:
⠧ Building modern bundle for electron.build...
ERROR Failed to compile with 22 errors 3:58:41 PM
error in ./src/hooks/message.ts
Module parse failed: Unexpected token (11:40)
File was processed with these loaders:
* ./node_modules/cache-loader/dist/cjs.js
* ./node_modules/babel-loader/lib/index.js
* ./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js
* ./node_modules/eslint-loader/index.js
You may need an additional loader to handle the result of these loaders.
| const messageMap = new Map();
| export const suggested = (msg, config) => {
> const loading = messageMap.get(config?.key);
|
| if (loading) {
@ ./src/hooks/index.ts 4:0-26 4:0-26
@ ./src/electron/preload/ipc.ts
@ ./src/app/index.ts
@ ./src/main.ts
@ multi ./src/main.ts
error in ./src/hooks/auth.ts
Module parse failed: Unexpected token (120:12)
File was processed with these loaders:
* ./node_modules/cache-loader/dist/cjs.js
* ./node_modules/babel-loader/lib/index.js
* ./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js
* ./node_modules/eslint-loader/index.js
You may need an additional loader to handle the result of these loaders.
| });
| } catch (e) {
> if (e?.response.data.code === -2) {
| $store.commit('Auth/UPDATE_USER', {
| key: 'profile',
@ ./src/hooks/index.ts 3:0-23 3:0-23
@ ./src/electron/preload/ipc.ts
@ ./src/app/index.ts
@ ./src/main.ts
@ multi ./src/main.ts
error in ./src/utils/index.ts
Module parse failed: Unexpected token (133:12)
File was processed with these loaders:
* ./node_modules/cache-loader/dist/cjs.js
* ./node_modules/babel-loader/lib/index.js
* ./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js
* ./node_modules/eslint-loader/index.js
You may need an additional loader to handle the result of these loaders.
| };
| export function on(container, type, listener, config) {
> container?.addEventListener(type, listener, config);
| }
| export function off(container, type, listener) {
@ ./src/app/index.ts 9:0-43 16:4-14
@ ./src/main.ts
@ multi ./src/main.ts
error in ./src/router/index.ts
Module parse failed: Unexpected token (13:15)
File was processed with these loaders:
* ./node_modules/cache-loader/dist/cjs.js
* ./node_modules/babel-loader/lib/index.js
* ./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js
* ./node_modules/eslint-loader/index.js
You may need an additional loader to handle the result of these loaders.
| return nav.filter(n => {
| if (isBrowser) {
> return n?.meta?.browser;
| }
|
@ ./src/app/index.ts 3:0-31 12:42-48
@ ./src/main.ts
@ multi ./src/main.ts
error in ./src/pages/sidebar/view/index.tsx
Module parse failed: Unexpected token (15:66)
File was processed with these loaders:
* ./node_modules/cache-loader/dist/cjs.js
* ./node_modules/babel-loader/lib/index.js
* ./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js
* ./node_modules/eslint-loader/index.js
You may need an additional loader to handle the result of these loaders.
| const route = useRoute();
| const playlist = useUserPlayList();
> const nav = navRouter.filter(routerGroup => !routerGroup.meta?.nonav);
| return () => createVNode("aside", {
| "class": "sidebar"
@ ./src/pages/main/view/index.tsx 3:0-53 22:20-27
@ ./src/layout/container.tsx
@ ./src/app/app.tsx
@ ./src/app/index.ts
@ ./src/main.ts
@ multi ./src/main.ts
error in ./src/pages/setting/sage.ts
Module parse failed: Unexpected token (18:23)
File was processed with these loaders:
* ./node_modules/cache-loader/dist/cjs.js
* ./node_modules/babel-loader/lib/index.js
* ./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js
* ./node_modules/eslint-loader/index.js
You may need an additional loader to handle the result of these loaders.
| } = useFooterModule();
| const footerState = useState();
> footerState.effect?.clearBasicEffect();
|
| if (basic.includes(BasicEffect.D3)) {
@ ./src/pages/setting/module.ts 1:0-44 11:2-9 12:2-11
@ ./src/modules/index.ts
@ ./src/layout/container.tsx
@ ./src/app/app.tsx
@ ./src/app/index.ts
@ ./src/main.ts
@ multi ./src/main.ts
error in ./src/pages/cloud/sage.ts
Module parse failed: Unexpected token (27:42)
File was processed with these loaders:
* ./node_modules/cache-loader/dist/cjs.js
* ./node_modules/babel-loader/lib/index.js
* ./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js
* ./node_modules/eslint-loader/index.js
You may need an additional loader to handle the result of these loaders.
|
| [CloudMutations.UNSHIFT_CLOUD_LIST](state, song) {
> if (state.cloudList.some(item => item?.uid === song?.uid)) {
| return;
| }
@ ./src/pages/cloud/module.ts 1:0-44 11:2-9 12:2-11
@ ./src/modules/index.ts
@ ./src/layout/container.tsx
@ ./src/app/app.tsx
@ ./src/app/index.ts
@ ./src/main.ts
@ multi ./src/main.ts
error in ./src/pages/auth/component/auth-view/index.tsx
Module parse failed: Unexpected token (34:28)
File was processed with these loaders:
* ./node_modules/cache-loader/dist/cjs.js
* ./node_modules/babel-loader/lib/index.js
* ./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js
* ./node_modules/eslint-loader/index.js
You may need an additional loader to handle the result of these loaders.
| }, null), createVNode("div", {
| "class": "auth-view__box"
> }, [slots.default?.()])])]
| })
| );
@ ./src/pages/auth/views/index.tsx 9:0-50 42:49-57
@ ./src/pages/main/view/index.tsx
@ ./src/layout/container.tsx
@ ./src/app/app.tsx
@ ./src/app/index.ts
@ ./src/main.ts
@ multi ./src/main.ts
error in ./src/store/index.ts
Module parse failed: Unexpected token (38:11)
File was processed with these loaders:
* ./node_modules/cache-loader/dist/cjs.js
* ./node_modules/babel-loader/lib/index.js
* ./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js
* ./node_modules/eslint-loader/index.js
You may need an additional loader to handle the result of these loaders.
| const last = origin[origin.length - 1];
|
> if (last?.url !== route) {
| state.historyRoute[originKey].push({
| life: Date.now(),
@ ./src/electron/pages/index.ts 7:0-28 11:31-36
@ multi ./src/electron/pages/index.ts
error in ./src/pages/auth/views/reset-pwd.tsx
Module parse failed: Unexpected token (40:25)
File was processed with these loaders:
* ./node_modules/cache-loader/dist/cjs.js
* ./node_modules/babel-loader/lib/index.js
* ./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js
* ./node_modules/eslint-loader/index.js
You may need an additional loader to handle the result of these loaders.
| });
| }).catch(e => {
> if (e.response?.data) {
| setErrorMsg(e.response.data.msg || e.response.data.message || '请求异常');
| } else if (e.msg) {
@ ./src/pages/auth/views/index.tsx 6:0-39 12:55-63
@ ./src/pages/main/view/index.tsx
@ ./src/layout/container.tsx
@ ./src/app/app.tsx
@ ./src/app/index.ts
@ ./src/main.ts
@ multi ./src/main.ts
error in ./src/pages/auth/views/signup.tsx
Module parse failed: Unexpected token (41:25)
File was processed with these loaders:
* ./node_modules/cache-loader/dist/cjs.js
* ./node_modules/babel-loader/lib/index.js
* ./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js
* ./node_modules/eslint-loader/index.js
You may need an additional loader to handle the result of these loaders.
| });
| }).catch(e => {
> if (e.response?.data) {
| setErrorMsg(e.response.data.msg || e.response.data.message || '请求异常');
| } else if (e.msg) {
@ ./src/pages/auth/views/index.tsx 7:0-34 12:47-53
@ ./src/pages/main/view/index.tsx
@ ./src/layout/container.tsx
@ ./src/app/app.tsx
@ ./src/app/index.ts
@ ./src/main.ts
@ multi ./src/main.ts
error in ./src/pages/auth/views/sms-code.tsx
Module parse failed: Unexpected token (45:25)
File was processed with these loaders:
* ./node_modules/cache-loader/dist/cjs.js
* ./node_modules/babel-loader/lib/index.js
* ./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js
* ./node_modules/eslint-loader/index.js
You may need an additional loader to handle the result of these loaders.
| $router.back();
| } catch (e) {
> if (e.response?.data) {
| setErrorMsg(e.response.data.msg || e.response.data.message || '请求异常');
| } else if (e.msg) {
@ ./src/pages/auth/views/index.tsx 11:0-37 12:65-72
@ ./src/pages/main/view/index.tsx
@ ./src/layout/container.tsx
@ ./src/app/app.tsx
@ ./src/app/index.ts
@ ./src/main.ts
@ multi ./src/main.ts
error in ./src/components-global/icon/main/index.tsx
Module parse failed: Unexpected token (46:23)
File was processed with these loaders:
* ./node_modules/cache-loader/dist/cjs.js
* ./node_modules/babel-loader/lib/index.js
* ./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js
* ./node_modules/eslint-loader/index.js
You may need an additional loader to handle the result of these loaders.
| "style": { ...style.value,
| width: size.value,
> height: height?.value || size.value,
| fill: color.value
| }
@ ./src/components-global/icon/index.ts 1:0-32 3:0-4 4:16-20 4:27-31 7:15-19
@ ./src/components-global/index.ts
@ ./src/electron/pages/index.ts
@ multi ./src/electron/pages/index.ts
error in ./src/pages/auth/views/email-login.tsx
Module parse failed: Unexpected token (49:25)
File was processed with these loaders:
* ./node_modules/cache-loader/dist/cjs.js
* ./node_modules/babel-loader/lib/index.js
* ./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js
* ./node_modules/eslint-loader/index.js
You may need an additional loader to handle the result of these loaders.
| }
| }).catch(e => {
> if (e.response?.data) {
| setErrorMsg(e.response.data.msg || e.response.data.message || '请求异常');
| } else if (e.msg) {
@ ./src/pages/auth/views/index.tsx 8:0-43 12:35-45
@ ./src/pages/main/view/index.tsx
@ ./src/layout/container.tsx
@ ./src/app/app.tsx
@ ./src/app/index.ts
@ ./src/main.ts
@ multi ./src/main.ts
error in ./src/pages/header/component/search.tsx
Module parse failed: Unexpected token (54:15)
File was processed with these loaders:
* ./node_modules/cache-loader/dist/cjs.js
* ./node_modules/babel-loader/lib/index.js
* ./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js
* ./node_modules/eslint-loader/index.js
You may need an additional loader to handle the result of these loaders.
|
| const handleSelect = () => {
> onSelect?.value(value?.value);
| };
|
@ ./src/pages/header/view/index.tsx 7:0-45 73:56-62
@ ./src/layout/container.tsx
@ ./src/app/app.tsx
@ ./src/app/index.ts
@ ./src/main.ts
@ multi ./src/main.ts
error in ./src/utils/interceptors/timeout.ts
Module parse failed: Unexpected token (5:23)
File was processed with these loaders:
* ./node_modules/cache-loader/dist/cjs.js
* ./node_modules/babel-loader/lib/index.js
* ./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js
* ./node_modules/eslint-loader/index.js
You may need an additional loader to handle the result of these loaders.
| export default function (http) {
| http.interceptors.response.use(response => response, error => {
> if (error.response?.status === 408 || error.code === 'ECONNABORTED') {
| _message.error(`请求超时,请重试。url: ${error.config.url}`, 5);
| }
@ ./src/utils/interceptors/index.ts 3:0-32 7:2-9
@ ./src/utils/http.ts
@ ./src/api/search.ts
@ ./src/pages/header/sage.ts
@ ./src/pages/header/module.ts
@ ./src/modules/index.ts
@ ./src/layout/container.tsx
@ ./src/app/app.tsx
@ ./src/app/index.ts
@ ./src/main.ts
@ multi ./src/main.ts
error in ./src/pages/footer/view/index.tsx
Module parse failed: Unexpected token (65:50)
File was processed with these loaders:
* ./node_modules/cache-loader/dist/cjs.js
* ./node_modules/babel-loader/lib/index.js
* ./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js
* ./node_modules/eslint-loader/index.js
You may need an additional loader to handle the result of these loaders.
| }),
| "style": {
> backgroundImage: `url(${footerState.music?.al.picUrl})`
| },
| "onClick": unfoldLyrics
@ ./src/layout/container.tsx 7:0-51 95:20-26
@ ./src/app/app.tsx
@ ./src/app/index.ts
@ ./src/main.ts
@ multi ./src/main.ts
error in ./src/pages/auth/views/phone-login.tsx
Module parse failed: Unexpected token (68:25)
File was processed with these loaders:
* ./node_modules/cache-loader/dist/cjs.js
* ./node_modules/babel-loader/lib/index.js
* ./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js
* ./node_modules/eslint-loader/index.js
You may need an additional loader to handle the result of these loaders.
| $router.back();
| }).catch(e => {
> if (e.response?.status === 400) {
| setErrorMsg('该手机号尚未注册');
| } else if (e.response?.data) {
@ ./src/pages/auth/views/index.tsx 5:0-43 12:23-33
@ ./src/pages/main/view/index.tsx
@ ./src/layout/container.tsx
@ ./src/app/app.tsx
@ ./src/app/index.ts
@ ./src/main.ts
@ multi ./src/main.ts
error in ./src/api/index.ts
Module parse failed: Unexpected token (6:19)
File was processed with these loaders:
* ./node_modules/cache-loader/dist/cjs.js
* ./node_modules/babel-loader/lib/index.js
* ./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js
* ./node_modules/eslint-loader/index.js
You may need an additional loader to handle the result of these loaders.
| id: Array.isArray(id) ? id.join(',') : id,
| br: br,
> source: source?.join(',')
| });
| return data.data;
@ ./src/pages/list/sage.ts 2:0-56 8:23-34 15:23-35
@ ./src/pages/list/module.ts
@ ./src/modules/index.ts
@ ./src/layout/container.tsx
@ ./src/app/app.tsx
@ ./src/app/index.ts
@ ./src/main.ts
@ multi ./src/main.ts
error in ./src/utils/interceptors/auth.ts
Module parse failed: Unexpected token (7:34)
File was processed with these loaders:
* ./node_modules/cache-loader/dist/cjs.js
* ./node_modules/babel-loader/lib/index.js
* ./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js
* ./node_modules/eslint-loader/index.js
You may need an additional loader to handle the result of these loaders.
| return response;
| }, error => {
> const config = error.response?.config;
|
| if (error.response) {
@ ./src/utils/interceptors/index.ts 1:0-26 5:2-6
@ ./src/utils/http.ts
@ ./src/api/search.ts
@ ./src/pages/header/sage.ts
@ ./src/pages/header/module.ts
@ ./src/modules/index.ts
@ ./src/layout/container.tsx
@ ./src/app/app.tsx
@ ./src/app/index.ts
@ ./src/main.ts
@ multi ./src/main.ts
error in ./src/pages/footer/sage.ts
Module parse failed: Unexpected token (85:42)
File was processed with these loaders:
* ./node_modules/cache-loader/dist/cjs.js
* ./node_modules/babel-loader/lib/index.js
* ./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js
* ./node_modules/eslint-loader/index.js
You may need an additional loader to handle the result of these loaders.
| const len = lyricsArr.length;
| const lyrices = lyricsArr.map((item, index) => {
> let nextTime = lyricsArr[index + 1]?.match(/\[.+\]/);
| let time = item.match(/\[.+\]/);
| let lyric = item.match(/\].+/);
@ ./src/pages/footer/module.ts 1:0-53 4:0-40 4:0-40 12:2-9 13:2-9 14:2-11
@ ./src/modules/index.ts
@ ./src/layout/container.tsx
@ ./src/app/app.tsx
@ ./src/app/index.ts
@ ./src/main.ts
@ multi ./src/main.ts
error in ./src/utils/interceptors/format.ts
Module parse failed: Unexpected token (8:34)
File was processed with these loaders:
* ./node_modules/cache-loader/dist/cjs.js
* ./node_modules/babel-loader/lib/index.js
* ./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js
* ./node_modules/eslint-loader/index.js
You may need an additional loader to handle the result of these loaders.
| return new Promise(resolve => {
| const cb = () => {
> if (http.defaults.baseURL?.includes('http://localhost:')) {
| resolve(http.defaults.baseURL);
| } else {
@ ./src/utils/interceptors/index.ts 2:0-30 6:2-8
@ ./src/utils/http.ts
@ ./src/api/search.ts
@ ./src/pages/header/sage.ts
@ ./src/pages/header/module.ts
@ ./src/modules/index.ts
@ ./src/layout/container.tsx
@ ./src/app/app.tsx
@ ./src/app/index.ts
@ ./src/main.ts
@ multi ./src/main.ts
ERROR Vue CLI build failed. Please resolve any issues with your build and try again.
exit: 1
Done in 21.42s.
能否增加自动缓存的开关,当自动缓存的开关打开时,能将播放的歌曲自动保存到缓存目录里,这样也可以尽可能的避免短时间内产生大量下载。另外,可否增加缓存时的音质选择,如果是会员登录,可选择保存更高音质的音乐?
测试发现,无法在github page中发送带有cookie的http请求
表现为:登陆后会一直要求登录,并且每日推荐歌曲和歌单会出现问题
现在播放列表只能一个个删
设置完下载目录以后,下次打开软件就不起作用了,会自动将mp3文件下载到软件安装目录里面,只能每次都重新设置一次才行
-系统版本:Windows 11
不知道是我这边网络的问题,还是接口的问题;
我这边搜索的歌单, 无法加载出来;
正常歌单里面的也是无法加载;
登录显示该手机号尚未注册
2.0.0版本
启动速度有点缓慢,没有遇到其他问题,希望更新一下,谢谢
系统版本
如题,也用过很多播放器,基本的使用逻辑是把特别喜欢的歌曲单独加个歌单,然后随机播放这个歌单,但实际都会喜新厌旧吧 哈哈,如果可以为每首歌添加一个阈值,真正使用时也不会每首歌都添加,把最近喜欢的几首加上就行,其它有一个默认值,这样就不能再新加歌单了,随机播放时总会更多的播放阈值高的也就是最近更想听的。
详细描述你的问题
搜索结果无法滚动,没有滚动条,无法查看后面的搜索结果。
系统版本
打包后启动报错:
render function
Cannot read properties of undefined (reading 'map')
TypeError: Cannot read properties of undefined (reading 'map')
at Proxy.eval (webpack:///./src/components/swiper/index.tsx?:119:31)
at renderComponentRoot (webpack:///./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js?:851:44)
at componentEffect (webpack:///./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js?:4327:53)
at reactiveEffect (webpack:///./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js?:71:24)
at effect (webpack:///./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js?:46:9)
at setupRenderEffect (webpack:///./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js?:4310:89)
at mountComponent (webpack:///./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js?:4269:9)
at processComponent (webpack:///./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js?:4229:17)
at patch (webpack:///./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js?:3856:21)
at mountChildren (webpack:///./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js?:4029:13)
话说19年12月底最后一次更新,这个计划是被搁浅了吗?
增加一个选择项吧;可以选择是关闭还是隐藏到任务栏里;
因为其他听歌软件的原因,总是误操作;
详细描述你的问题
在设置中点击链接会导致音乐停止播放,然后这个软件变成一个网页,无法进行任何操作
系统版本
如题
@little-buddy 我们在这里持续更新一些新功能的状态,以便于同步给社区小伙伴。
功能描述 | 状态(完成/进行中/未排期) | 更新人 |
---|---|---|
歌单加载异常 | 未排期 | - |
关闭按钮可配置 | 未排期 | - |
大致功能围绕windows版网易云音乐展开,基于浏览器模拟实现放大缩小(缩小后弄一个音乐可视化)功能。
目前准备实现的功能
如有更好的想法可以在下方回复,很高兴你的参与
详细描述你的问题
希望增加功能:
1.增加实时播放时的默认播放音质的设置;
2.增加下载音乐时,音质选择的设置;
3.增加下载的音乐文件命名格式的设置,如:歌名-歌手.mp3、歌手-歌名.mp3、歌名.mp3等;
系统版本
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.