a5d86a92c2
feat: 升级项目 Logo、完善 toast 提示及优化工程化配置 ### Features - **logo**: 替换全套项目图标,更新 wxt.config.ts 浏览器扩展图标配置。 ### Bug Fixes - **ui/toast**: 引入 <Toaster> 组件修复 toast 无法显示问题,并调整位置为正下方。 - **i18n**: 统一将 t() 函数中的 `.` 和 `:` 转换为 `_`,修复国际化文案读取失败问题。 - **context-menu**: 限制 srcUrl 检查仅在二维码图片菜单项生效,避免误判。 - **hooks**: 修复 pre-push 钩子,仅对变更文件进行 eslint 检查,并支持无 upstream 时的回退对比。 - **components**: 修复 CopyButton 动画与组件导入方式,并补齐无障碍属性与测试。 - **async**: 延迟生成二维码以正确渲染 loading 状态,并适配相关异步测试。 ### Refactor & Cleans - **clean**: 清理未使用的组件(ToolCard)、Hook(useDebounce)及多个未使用的工具函数导出。 - **structure**: 统一移动测试文件至 __tests__ 目录,移除不必要的类型导出。 ### Documentation - **docs**: 在 AGENTS.md 中明确规范 Git Commit 必须使用中文描述。
entrypoints/
WXT 框架要求的扩展生命周期入口点,对应 Chrome Extension 的各个上下文。
入口文件
| 文件 | 用途 |
|---|---|
background.ts |
Service Worker 入口:注册右键菜单、监听菜单点击、处理消息通信、管理侧边栏状态、注入主环境脚本 |
content.ts |
Content Script 入口:注入所有页面(<all_urls>),在 document_end 时初始化消息处理器 |
rightClickRestorer.content.ts |
专用 Content Script:处理右键菜单恢复功能,注入浮动状态徽章 |
子目录
popup/
Popup 弹窗页面(点击扩展图标弹出)。
| 文件 | 用途 |
|---|---|
index.html |
HTML 入口 |
main.tsx |
React 挂载点 |
App.tsx |
根组件,组装 RouterProvider + TopBar + ErrorBoundary + RouterContainer |
sidepanel/
侧边栏页面,结构与 popup 类似,额外通知 background 侧边栏开启/关闭状态。
options/
设置页面,支持:
- 拖拽排序功能顺序(
@dnd-kit) - 功能可见性管理(显示/隐藏)
- Popup/Sidepanel/Tab 三种模式独立配置
content/
Content Script 内部分模块:
| 文件 | 用途 |
|---|---|
messageHandler.ts |
消息处理器初始化入口 |
contextMenuHandler.ts |
右键菜单点击事件处理,执行时间戳转换/文本统计并通过 UI Popover 展示 |
uiPopover.ts |
在页面中注入浮层 Popover UI,展示右键菜单操作结果 |
架构说明
background.ts是扩展的核心协调者,处理跨上下文通信content.ts注入到所有页面,负责接收和处理来自 background 的消息popup/、sidepanel/、options/共享同一套页面组件(来自pages/),通过RouterProvider的不同配置实现独立路由