diff --git a/ruoyi-admin/src/main/resources/static/ruoyi/ukeylogin.js b/ruoyi-admin/src/main/resources/static/ruoyi/ukeylogin.js index 15065cd0..e63bb742 100644 --- a/ruoyi-admin/src/main/resources/static/ruoyi/ukeylogin.js +++ b/ruoyi-admin/src/main/resources/static/ruoyi/ukeylogin.js @@ -51,24 +51,32 @@ SetOnUsbKeyChangeCallBack(FillDeviceList); $(function() { // 检测UKey状态 function checkUKey() { + var $ukeyStatus = $('#ukeyStatus'); + var statusSpan = $ukeyStatus.find('span'); try { + // 重置状态显示 + $ukeyStatus.show().removeClass('alert-info alert-success alert-danger'); + // 尝试获取UKey ID var ukey_id = $("#id_selected_cert_id").val(); if (!ukey_id) { - $('#ukeyStatus').show().find('span').text('UKey插件未加载'); - return false; - } - if (ukey_id) { - $('#ukeyStatus').show().removeClass('alert-info').addClass('alert-success') - .find('span').html('检测到UKey已插入'); - return true; - } else { - $('#ukeyStatus').show().removeClass('alert-success').addClass('alert-info') - .find('span').text('请插入您的UKey设备'); + // UKey未检测到的情况 + $ukeyStatus.addClass('alert-danger'); + statusSpan.html('UKey未插入或UKey驱动未安装,点击下载'); return false; } + // UKey检测成功 + $ukeyStatus.addClass('alert-success'); + statusSpan.html('检测到UKey已插入'); + return true; } catch (e) { - $('#ukeyStatus').show().removeClass('alert-success').addClass('alert-danger') - .find('span').html('UKey驱动未安装,点击下载'); + // 异常处理 + console.error('UKey检测异常:', e); + $ukeyStatus.addClass('alert-danger'); + // 根据错误类型提供更精确的提示 + var errorMsg = e instanceof SecurityError ? + '浏览器安全限制,请允许UKey插件运行' : + 'UKey驱动未安装,点击下载'; + statusSpan.html(errorMsg); return false; } }