refactor: 暂时移除图片二维码识别功能

- 删除 qrCode-image 右键菜单配置
- 删除 parseQrCodeFromUrl 函数
- 删除 QrCodeToUrlSection 中的 useContextMenuData 相关代码
- 更新相关测试用例
This commit is contained in:
雨霖铃
2026-05-20 21:27:36 +08:00
parent 8e920c2a94
commit 00fe3eddd9
5 changed files with 8 additions and 160 deletions
+1 -35
View File
@@ -20,9 +20,8 @@ import ClearIcon from '@mui/icons-material/Clear';
import CopyButton from '@/components/CopyButton';
import { qrCodePageStyles } from '@/config/pageTheme';
import { useSnackbar } from '@/components/GlobalSnackbar';
import { parseQrCodeFromFile, parseQrCodeFromUrl } from '@/utils/qrCodeParser';
import { parseQrCodeFromFile } from '@/utils/qrCodeParser';
import { useTranslation } from 'react-i18next';
import { useContextMenuData } from '@/utils/useContextMenuData';
interface QrCodeToUrlSectionProps {
expanded: boolean;
@@ -47,39 +46,6 @@ const QrCodeToUrlSection = ({
const fileInputRef = useRef<HTMLInputElement>(null);
// 处理右键菜单传递的图片 URL
const handleContextMenuData = useCallback(
async (imageUrl: string) => {
try {
setParsing(true);
setParseError('');
setParsedUrl('');
setPreviewUrl(imageUrl);
const result = await parseQrCodeFromUrl(imageUrl);
if (result.success && result.data) {
setParsedUrl(result.data);
showMessage(t('qrCode:parseSuccess'), { severity: 'success', autoHideDuration: 1000 });
} else {
setParseError(result.error || t('qrCode:noQrDetected'));
showMessage(result.error || t('qrCode:noQrDetected'), {
severity: 'error',
autoHideDuration: 1000,
});
}
} catch (error) {
console.error('解析二维码失败:', error);
showMessage(t('qrCode:parseError'), { severity: 'error', autoHideDuration: 300 });
} finally {
setParsing(false);
}
},
[showMessage, t],
);
useContextMenuData({ featureKey: 'qrCode', onData: handleContextMenuData });
// 清理预览 URL,防止内存泄漏
useEffect(() => {
return () => {