diff --git a/.gitignore b/.gitignore index dcb5930f..a1a007c3 100644 --- a/.gitignore +++ b/.gitignore @@ -36,6 +36,7 @@ yarn-error.log* # dev /data.json /yarn.lock +/pnpm-lock.yaml .idea .vscode diff --git a/blog.config.js b/blog.config.js index d929369c..ed764d60 100644 --- a/blog.config.js +++ b/blog.config.js @@ -69,7 +69,8 @@ const BLOG = { // 音乐播放插件 MUSIC_PLAYER: process.env.NEXT_PUBLIC_MUSIC_PLAYER || true, // 是否使用音乐播放插件 MUSIC_PLAYER_VISIBLE: process.env.NEXT_PUBLIC_MUSIC_PLAYER_VISIBLE || true, // 是否在左下角显示播放和切换 - MUSIC_PLAYER_AUTO_PLAY: process.env.NEXT_PUBLIC_MUSIC_PLAYER_AUTO_PLAY || true, // 是否自动播放(移动设备不支持自动播放) + MUSIC_PLAYER_AUTO_PLAY: process.env.NEXT_PUBLIC_MUSIC_PLAYER_AUTO_PLAY || true, // 是否自动播放,不过时常不生效(移动设备不支持自动播放) + MUSIC_PLAYER_SHOW_LRC: process.env.NEXT_PUBLIC_MUSIC_PLAYER_SHOW_LRC || false, // 是否展示歌词(前提是有配置歌词路径,对 meting 无效) MUSIC_PLAYER_ORDER: 'list', // 默认播放方式,顺序 list,随机 random MUSIC_PLAYER_AUDIO_LIST: [ // 除了以下配置外,还可配置歌词,具体配置项看此文档 https://aplayer.js.org/#/zh-Hans/ { @@ -85,6 +86,9 @@ const BLOG = { cover: 'https://p1.music.126.net/kn6ugISTonvqJh3LHLaPtQ==/599233837187278.jpg' } ], + MUSIC_PLAYER_METING: process.env.NEXT_PUBLIC_MUSIC_PLAYER_METING || false, // 是否要开启 MetingJS,从平台获取歌单。会覆盖自定义的 MUSIC_PLAYER_AUDIO_LIST,更多配置信息:https://github.com/metowolf/MetingJS + MUSIC_PLAYER_METING_SERVER: process.env.NEXT_PUBLIC_MUSIC_PLAYER_METING_SERVER || 'netease', // 音乐平台,[netease, tencent, kugou, xiami, baidu] + MUSIC_PLAYER_METING_ID: process.env.NEXT_PUBLIC_MUSIC_PLAYER_METING_ID || '60198', // 对应歌单的 id // ----> 评论互动 可同时开启多个支持 WALINE VALINE GISCUS CUSDIS UTTERRANCES GITALK diff --git a/components/CommonScript.js b/components/CommonScript.js index ae924fbd..1488d5b9 100644 --- a/components/CommonScript.js +++ b/components/CommonScript.js @@ -101,6 +101,10 @@ const CommonScript = () => { }} /> >)} + + {/* 引入音乐播放 */} + + >) } diff --git a/components/Player.js b/components/Player.js index 4b312c4d..d8e7ed0e 100644 --- a/components/Player.js +++ b/components/Player.js @@ -1,5 +1,4 @@ import React from 'react' -import Aplayer from 'aplayer' import BLOG from '@/blog.config' const Player = () => { @@ -7,10 +6,11 @@ const Player = () => { const ref = React.useRef(null) React.useEffect(() => { - if (BLOG.MUSIC_PLAYER) { - setPlayer(new Aplayer({ + if (BLOG.MUSIC_PLAYER && !BLOG.MUSIC_PLAYER_METING) { + setPlayer(new window.APlayer({ container: ref.current, fixed: true, + showlrc: BLOG.MUSIC_PLAYER_SHOW_LRC, order: BLOG.MUSIC_PLAYER_ORDER, autoplay: BLOG.MUSIC_PLAYER_AUTO_PLAY, audio: BLOG.MUSIC_PLAYER_AUDIO_LIST @@ -22,11 +22,24 @@ const Player = () => { }, []) return ( -
+