import { useState, useEffect } from 'react'; import { NETEASECLOUD_QUALITY_LIST } from "../../../constants/constant.js"; import { readYamlConfig, updateYamlConfig } from '../../utils/yamlHelper'; export default function Ncm() { const [config, setConfig] = useState({ useLocalNeteaseAPI: false, useNeteaseSongRequest: false, isSendVocal: true, songRequestMaxList: 10, neteaseCookie: '', neteaseCloudAPIServer: '', neteaseCloudAudioQuality: 'exhigh', neteaseUserId: '' }); const [loading, setLoading] = useState(false); // 读取配置 useEffect(() => { const loadConfig = async () => { const yamlConfig = await readYamlConfig(); if (yamlConfig) { setConfig({ useLocalNeteaseAPI: yamlConfig.useLocalNeteaseAPI ?? false, useNeteaseSongRequest: yamlConfig.useNeteaseSongRequest ?? false, isSendVocal: yamlConfig.isSendVocal ?? true, songRequestMaxList: yamlConfig.songRequestMaxList || 10, neteaseCookie: yamlConfig.neteaseCookie || '', neteaseCloudAPIServer: yamlConfig.neteaseCloudAPIServer || '', neteaseCloudAudioQuality: yamlConfig.neteaseCloudAudioQuality || 'exhigh', neteaseUserId: yamlConfig.neteaseUserId || '' }); } }; loadConfig(); }, []); // 保存配置 const handleSave = async () => { setLoading(true); try { const success = await updateYamlConfig({ useLocalNeteaseAPI: config.useLocalNeteaseAPI, useNeteaseSongRequest: config.useNeteaseSongRequest, isSendVocal: config.isSendVocal, songRequestMaxList: config.songRequestMaxList, neteaseCookie: config.neteaseCookie, neteaseCloudAPIServer: config.neteaseCloudAPIServer, neteaseCloudAudioQuality: config.neteaseCloudAudioQuality, neteaseUserId: config.neteaseUserId }); if (success) { document.getElementById('ncm-toast-success').classList.remove('hidden'); setTimeout(() => { document.getElementById('ncm-toast-success').classList.add('hidden'); }, 3000); } } catch (error) { console.error('保存配置失败:', error); } finally { setLoading(false); } }; // 重置配置 const handleReset = async () => { const yamlConfig = await readYamlConfig(); if (yamlConfig) { setConfig({ useLocalNeteaseAPI: yamlConfig.useLocalNeteaseAPI ?? false, useNeteaseSongRequest: yamlConfig.useNeteaseSongRequest ?? false, isSendVocal: yamlConfig.isSendVocal ?? true, songRequestMaxList: yamlConfig.songRequestMaxList || 10, neteaseCookie: yamlConfig.neteaseCookie || '', neteaseCloudAPIServer: yamlConfig.neteaseCloudAPIServer || '', neteaseCloudAudioQuality: yamlConfig.neteaseCloudAudioQuality || 'exhigh', neteaseUserId: yamlConfig.neteaseUserId || '' }); } }; return (
{/* 成功提示 */}
配置保存成功!

网易云音乐配置

{/* 基础配置部分 */}

基础配置

{/* 文本输入配置 */}