From 8c3ccba2361af90ff4d9da5a79492156d0bafad6 Mon Sep 17 00:00:00 2001 From: wangxy <1481820854@qq.com> Date: Wed, 7 May 2025 10:38:53 +0800 Subject: [PATCH] =?UTF-8?q?feat:ueky=E6=8B=94=E5=87=BA=E9=80=80=E5=87=BA?= =?UTF-8?q?=E7=99=BB=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/resources/static/ruoyi/ukeylogin.js | 32 ++++++++++++------- 1 file changed, 20 insertions(+), 12 deletions(-) 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; } }