(function () { // 确保 vc 对象存在 if (typeof window.vc === 'undefined') { console.error('vcFramework.js 未加载,等待重试...'); setTimeout(function () { if (typeof window.vc !== 'undefined') { initLangSwitch(); } else { console.error('vcFramework.js 加载失败,请检查路径 /vcCore/vcFramework.js'); } }, 1000); return; } initLangSwitch(); function initLangSwitch() { // 语言列表,与 login.js 保持一致 const langs = [ { name: '中文', lang: 'zh-cn' }, { name: '繁体', lang: 'cn' }, { name: 'english', lang: 'en' }, { name: 'ខ្មែរ', lang: 'Khmer' }, ]; // 初始化语言 let _lang = vc.getData('JAVA110-LANG'); console.log('从 localStorage 读取的语言:', _lang); // 如果没有有效语言或语言不在列表中,设置默认值 if (!_lang || typeof _lang !== 'object' || !_lang.lang || !langs.find(lang => lang.lang === _lang.lang)) { _lang = { name: '中文', lang: 'zh-cn' }; vc.saveData('JAVA110-LANG', _lang); console.log('未找到有效语言,保存默认语言:', _lang); } // 初始化 LayUI layui.use('form', function () { var form = layui.form; // 设置默认选中值 var select = document.querySelector('select[name="langSelect"]'); if (select) { select.value = _lang.lang; form.render('select'); console.log('LayUI 下拉框初始化完成,选中值:', _lang.lang); } else { console.error('未找到 langSelect 元素,检查 DOM 是否被覆盖'); } // 监听语言选择事件 form.on('select(langSelect)', function (data) { console.log('LayUI 捕获到的语言选择值:', data.value); const selectedLang = langs.find(lang => lang.lang === data.value); if (selectedLang) { console.log('切换语言:', selectedLang); vc.saveData('JAVA110-LANG', selectedLang); console.log('保存后 localStorage:', vc.getData('JAVA110-LANG')); // 更新下拉框 if (select) { select.value = selectedLang.lang; form.render('select'); console.log('LayUI 下拉框更新,选中值:', selectedLang.lang); } // 刷新页面以应用语言 setTimeout(() => { console.log('测试刷新'); location.reload(); }, 100); } else { console.error('未找到匹配的语言:', data.value); } }); }); } })();