feat(qrcode): 实现图片转二维码右键菜单功能

- 添加图片类型的右键菜单配置
- 修改 parseContextMenuClick 支持 srcUrl 参数
- 实现图片URL自动解析功能
- 检测图片URL自动切换到解析模式
- 更新测试用例覆盖新功能
- 新增国际化文案
This commit is contained in:
雨霖铃
2026-05-30 20:58:28 +08:00
parent 306600a35c
commit 5be15301b5
5 changed files with 149 additions and 33 deletions
+15
View File
@@ -25,6 +25,7 @@ export const MAX_PAYLOAD_LENGTH = 10000;
/** 菜单项 ID 到 PageType 的映射(仅处理非常规映射) */
const MENU_ID_TO_PAGE_TYPE: Record<string, PageType> = {
'qrCode-page': 'qrCode',
'qrCode-image': 'qrCode',
};
/**
@@ -77,6 +78,12 @@ export const CONTEXT_MENU_CONFIGS: ContextMenuItemConfig[] = [
contexts: [chrome.contextMenus.ContextType.PAGE],
parentId: PARENT_MENU_ID,
},
{
id: 'qrCode-image',
title: '🖼️ 图片转二维码',
contexts: [chrome.contextMenus.ContextType.IMAGE],
parentId: PARENT_MENU_ID,
},
];
export function createAllContextMenus(): void {
@@ -96,6 +103,14 @@ export function parseContextMenuClick(
): ParseResult {
const featureKey = getMenuPageType(menuItemId);
// 处理图片 URL(右键点击图片时)
if (info.srcUrl) {
return {
success: true,
data: { featureKey, payload: info.srcUrl },
};
}
if (info.selectionText) {
const text = info.selectionText;