mirror of
https://github.com/d0zingcat/NotionNext.git
synced 2026-06-04 15:10:23 +00:00
feat: 调整Aplayer引入方式为脚本链接,支持通过metingJS获取音乐平台歌单
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -36,6 +36,7 @@ yarn-error.log*
|
|||||||
# dev
|
# dev
|
||||||
/data.json
|
/data.json
|
||||||
/yarn.lock
|
/yarn.lock
|
||||||
|
/pnpm-lock.yaml
|
||||||
.idea
|
.idea
|
||||||
.vscode
|
.vscode
|
||||||
|
|
||||||
|
|||||||
@@ -69,7 +69,8 @@ const BLOG = {
|
|||||||
// 音乐播放插件
|
// 音乐播放插件
|
||||||
MUSIC_PLAYER: process.env.NEXT_PUBLIC_MUSIC_PLAYER || true, // 是否使用音乐播放插件
|
MUSIC_PLAYER: process.env.NEXT_PUBLIC_MUSIC_PLAYER || true, // 是否使用音乐播放插件
|
||||||
MUSIC_PLAYER_VISIBLE: process.env.NEXT_PUBLIC_MUSIC_PLAYER_VISIBLE || 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_ORDER: 'list', // 默认播放方式,顺序 list,随机 random
|
||||||
MUSIC_PLAYER_AUDIO_LIST: [ // 除了以下配置外,还可配置歌词,具体配置项看此文档 https://aplayer.js.org/#/zh-Hans/
|
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'
|
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
|
// ----> 评论互动 可同时开启多个支持 WALINE VALINE GISCUS CUSDIS UTTERRANCES GITALK
|
||||||
|
|
||||||
|
|||||||
@@ -101,6 +101,10 @@ const CommonScript = () => {
|
|||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</>)}
|
</>)}
|
||||||
|
|
||||||
|
{/* 引入音乐播放 */}
|
||||||
|
<script async src="https://cdnjs.cloudflare.com/ajax/libs/aplayer/1.10.1/APlayer.min.js" />
|
||||||
|
<script async src="https://cdnjs.cloudflare.com/ajax/libs/meting/2.0.1/Meting.min.js" />
|
||||||
</>)
|
</>)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
import React from 'react'
|
import React from 'react'
|
||||||
import Aplayer from 'aplayer'
|
|
||||||
import BLOG from '@/blog.config'
|
import BLOG from '@/blog.config'
|
||||||
|
|
||||||
const Player = () => {
|
const Player = () => {
|
||||||
@@ -7,10 +6,11 @@ const Player = () => {
|
|||||||
const ref = React.useRef(null)
|
const ref = React.useRef(null)
|
||||||
|
|
||||||
React.useEffect(() => {
|
React.useEffect(() => {
|
||||||
if (BLOG.MUSIC_PLAYER) {
|
if (BLOG.MUSIC_PLAYER && !BLOG.MUSIC_PLAYER_METING) {
|
||||||
setPlayer(new Aplayer({
|
setPlayer(new window.APlayer({
|
||||||
container: ref.current,
|
container: ref.current,
|
||||||
fixed: true,
|
fixed: true,
|
||||||
|
showlrc: BLOG.MUSIC_PLAYER_SHOW_LRC,
|
||||||
order: BLOG.MUSIC_PLAYER_ORDER,
|
order: BLOG.MUSIC_PLAYER_ORDER,
|
||||||
autoplay: BLOG.MUSIC_PLAYER_AUTO_PLAY,
|
autoplay: BLOG.MUSIC_PLAYER_AUTO_PLAY,
|
||||||
audio: BLOG.MUSIC_PLAYER_AUDIO_LIST
|
audio: BLOG.MUSIC_PLAYER_AUDIO_LIST
|
||||||
@@ -22,11 +22,24 @@ const Player = () => {
|
|||||||
}, [])
|
}, [])
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div
|
<div className={BLOG.MUSIC_PLAYER_VISIBLE ? 'visible' : 'invisible'}>
|
||||||
ref={ref}
|
<link
|
||||||
data-player={player}
|
rel="stylesheet"
|
||||||
className={BLOG.MUSIC_PLAYER_VISIBLE ? 'visible' : 'invisible'}
|
type="text/css"
|
||||||
/>
|
href="https://cdnjs.cloudflare.com/ajax/libs/aplayer/1.10.1/APlayer.min.css"
|
||||||
|
/>
|
||||||
|
{BLOG.MUSIC_PLAYER && BLOG.MUSIC_PLAYER_METING
|
||||||
|
? <meting-js
|
||||||
|
fixed
|
||||||
|
type="playlist"
|
||||||
|
order={BLOG.MUSIC_PLAYER_ORDER}
|
||||||
|
autoplay={BLOG.MUSIC_PLAYER_AUTO_PLAY}
|
||||||
|
server={BLOG.MUSIC_PLAYER_METING_SERVER}
|
||||||
|
id={BLOG.MUSIC_PLAYER_METING_ID}
|
||||||
|
/>
|
||||||
|
: <div ref={ref} data-player={player} />
|
||||||
|
}
|
||||||
|
</div>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -29,7 +29,6 @@
|
|||||||
"animate.css": "^4.1.1",
|
"animate.css": "^4.1.1",
|
||||||
"animejs": "^3.2.1",
|
"animejs": "^3.2.1",
|
||||||
"aos": "^3.0.0-beta.6",
|
"aos": "^3.0.0-beta.6",
|
||||||
"aplayer": "1.10.1",
|
|
||||||
"axios": ">=0.21.1",
|
"axios": ">=0.21.1",
|
||||||
"copy-to-clipboard": "^3.3.1",
|
"copy-to-clipboard": "^3.3.1",
|
||||||
"eslint-plugin-react-hooks": "^4.6.0",
|
"eslint-plugin-react-hooks": "^4.6.0",
|
||||||
|
|||||||
@@ -19,9 +19,6 @@ import '@fontsource/noto-serif-sc'
|
|||||||
// local fontawesome 6.2.1 @see https://www.npmjs.com/package/@fortawesome/fontawesome-free
|
// local fontawesome 6.2.1 @see https://www.npmjs.com/package/@fortawesome/fontawesome-free
|
||||||
import '@fortawesome/fontawesome-free/css/all.min.css'
|
import '@fortawesome/fontawesome-free/css/all.min.css'
|
||||||
|
|
||||||
// Aplayer.js 的样式
|
|
||||||
import 'aplayer/dist/APlayer.min.css'
|
|
||||||
|
|
||||||
// import '@/styles/prism-mac-style.css' // code 左上角显示mac的红黄绿图标
|
// import '@/styles/prism-mac-style.css' // code 左上角显示mac的红黄绿图标
|
||||||
|
|
||||||
import { GlobalContextProvider } from '@/lib/global'
|
import { GlobalContextProvider } from '@/lib/global'
|
||||||
|
|||||||
Reference in New Issue
Block a user