雨霖铃
|
d401744739
|
feat(TopBar): 添加搜索功能组件并优化结构
- 新增 SearchInput、SearchDropdown、SearchResultItem 和 TopBarActions 组件,增强 TopBar 的搜索功能。
- 更新 useTopBar 钩子以支持最近搜索功能,并优化搜索历史管理。
- 修改 TopBar 组件以整合新组件,提升可读性和可维护性。
- 更新 README.md,反映新增组件和功能。
|
2026-06-19 09:59:15 +08:00 |
|
雨霖铃
|
2c901ab4fd
|
refactor: 重构 TopBar 组件并更新项目结构
- 删除原有的 TopBar 组件,重构为布局组件并移动至 layout/ 目录。
- 更新相关文档,反映 TopBar 组件的新位置。
- 引入新的 useTopBar 钩子以管理 TopBar 的状态和逻辑。
- 添加 TopBar 组件的单元测试,确保功能正常。
|
2026-06-19 09:53:29 +08:00 |
|
雨霖铃
|
a8a1e89f8a
|
refactor: 更新功能键名称并移除 README 文件
- 将功能键 'jsonDiff' 更新为 'jsonTools',以更准确地反映其功能。
- 删除不再使用的 README.md 文件,清理项目结构。
- 更新相关测试用例以反映功能键名称的变化。
|
2026-06-19 09:47:08 +08:00 |
|
雨霖铃
|
9097c48b1f
|
feat(Dashboard): 重构仪表板功能组件和逻辑
- 新增 dashboardFeatures.ts 和 useDashboard.ts 文件,封装仪表板功能的解析和状态管理逻辑。
- 更新 Dashboard 组件,使用 useDashboard 钩子简化可见工具和最近使用工具的处理。
- 添加仪表板功能的单元测试,确保功能正确性。
- 更新 README.md,移除不再使用的 ToolCard 组件说明。
|
2026-06-19 09:26:30 +08:00 |
|
雨霖铃
|
c69a26b469
|
refactor: 清理代码注释并优化组件结构
- 在 useQrCode.ts 中移除多余的注释,简化代码逻辑。
- 在 DataPreview.tsx 和 FieldEditor.tsx 中删除不必要的注释,提升可读性。
- 在 format.ts 和 jsonToToml.ts 中更新注释内容,确保准确性。
|
2026-06-19 01:04:15 +08:00 |
|
雨霖铃
|
cd21d11fa1
|
refactor: 将 UI 文案改为中文并优化相关逻辑
- 在 background.ts 中将错误信息翻译为中文。
- 在 uiPopover.ts 中移除注释并更新弹出框标题。
- 在 Base64ConverterSection.tsx 中动态显示最大文件大小。
- 在 DecodeResultPaper.tsx 中简化标题文案注释。
- 在 GenerateButton.tsx 中动态显示生成进度和预计剩余时间。
- 在 base64Converter.ts 中将错误信息翻译为中文。
|
2026-06-19 00:53:56 +08:00 |
|
雨霖铃
|
f0292acbb7
|
fix(ThemeModeProvider): 修复主题快照同步与首屏闪烁问题
抽取 themeSnapshot 工具模块,异步恢复与跨窗同步时写回 snapshot;HTML 内联脚本与 useLayoutEffect 消除 dark 类首帧闪烁;避免 storage 恢复覆盖用户操作及 setState 嵌套更新。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-06-19 00:45:52 +08:00 |
|
雨霖铃
|
8f9ff27034
|
fix(RouterProvider): 将 goBack 重命名为 goHome,修复跨窗同步 merge 不一致
API 命名与实际行为(返回 dashboard)对齐;storage.onChanged 同步 visiblePages/pageOrder 时应用 mergeWithDefaults,与初始化逻辑保持一致。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-06-19 00:38:01 +08:00 |
|
雨霖铃
|
aa63723b80
|
refactor(AppRoot): 移除 RouterProvider 组件,直接渲染子组件
- 在 AppRoot 组件中移除 RouterProvider,直接将 children 作为子元素渲染,简化组件结构。
|
2026-06-19 00:36:40 +08:00 |
|
雨霖铃
|
ec92afa294
|
refactor(i18n): 移除 chrome.i18n 国际化,统一使用中文硬编码
移除 chromeI18n 工具、_locales 翻译文件和 manifest default_locale 配置,
将所有 UI 文案改为直接硬编码中文,并更新相关测试与文档。
|
2026-06-19 00:26:56 +08:00 |
|
雨霖铃
|
618f3c36f2
|
refactor: 更新测试用例和组件结构
- 在背景测试中更新菜单项标题,移除图标
- 在 StorageCleaner 页面中更新初始化加载状态的中文文案
- 在 QrCode 组件中修正导入路径
- 在 DecodeResultPaper 中使用 Label 组件替换原生 label 元素
- 移除不再使用的 formatFileSize 函数
|
2026-06-14 09:40:05 +08:00 |
|
雨霖铃
|
24c83de56d
|
refactor(Timestamp): 规范化页面组件目录结构
- 将子组件移至 components/ 子目录(LiveClock、ResultView)
- 创建 __tests__/ 目录结构
- 更新所有相关导入路径
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-06-10 21:16:12 +08:00 |
|
雨霖铃
|
9c5f5c8cfe
|
refactor(StorageCleaner): 规范化页面组件目录结构
- 将子组件移至 components/ 子目录(OptionItem、AutoRefreshToggle、CleaningResult、StorageCleanerConfirm、StorageOptionsGrid、ErrorDisplay)
- 创建 __tests__/ 目录结构
- 更新所有相关导入路径
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-06-10 20:56:38 +08:00 |
|
雨霖铃
|
016173a9c5
|
refactor(JsonTools): 规范化页面组件目录结构
- 将子组件移至 components/ 子目录(JsonDiffInput、DiffResult、JsonFormatSection、JsonConvertSection、DiffNavigator、JsonTree)
- 将 diffEngine.ts 工具函数移至 src/utils/
- 提取 ConvertFunction/ConvertResult 类型到 types.ts,解决循环依赖
- 创建 __tests__/ 目录结构
- 更新所有相关导入路径
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-06-10 20:39:40 +08:00 |
|
雨霖铃
|
30d3561726
|
refactor: 规范化页面组件目录结构
- 将 QrCodePreview、ImageUploader 移动到 QrCode/components/
- 将 DecodeResultPaper、Base64ConverterSection、TextMode 移动到 Base64Converter/components/
- 提取 useTextMode Hook,遵循 UI + Hook 分离模式
- 简化 SwitchButtonGroup 组件,提取常量到外部
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-06-10 20:11:35 +08:00 |
|
雨霖铃
|
1f9288f780
|
refactor: 使用 Label 组件替换原生 label 元素,并在 DecodeResultPaper 中引入 Input 组件
|
2026-06-10 08:15:09 +08:00 |
|
雨霖铃
|
355a94d116
|
refactor: 将 formatFileSize 重命名为 formatBytes 并移至通用工具模块
|
2026-06-10 00:32:29 +08:00 |
|
雨霖铃
|
3f73adc015
|
docs: 更新文档和配置,移除未使用的权限和过时描述
|
2026-06-07 09:34:20 +08:00 |
|
LingandRX
|
a163297de4
|
develop (#68)
* docs(AGENTS.md): 添加 Git Commit 必须使用中文描述的规范
* docs: 更新测试数据生成器功能设计文档
* refactor: 删除死代码
* docs: 统一测试数据生成器文档,移除 SQL/TypeScript 导出,修复接口命名不一致
* feat: 实现测试数据生成器功能
* docs: 更新 README 和 AGENTS 文档,补充测试数据生成器模块说明
|
2026-06-07 00:04:53 +08:00 |
|
雨霖铃
|
86870864a9
|
docs: 更新 README 和 AGENTS 文档,补充测试数据生成器模块说明
|
2026-06-06 23:56:05 +08:00 |
|
雨霖铃
|
1a285fc4c1
|
Merge branch 'feature/test-data-generator' into develop
|
2026-06-06 23:42:14 +08:00 |
|
雨霖铃
|
9a0c8ba850
|
fix: 更新 features 测试断言以匹配新增的 testDataGenerator
fix: 修复测试数据生成器多项代码问题
- useCallback 闭包问题:改用函数式 setFields 更新,避免依赖过时引用
- Worker 复用:复用已有 Worker 而非每次 generate 都销毁重建
- 导出复制反馈:复制操作完成后添加 toast 成功/失败提示
- 字段名校验:添加空值、非法字符、重复名称校验
- i18n 硬编码:GeneratorConfig 和 ruleStorage 统一使用 t() 函数
|
2026-06-06 23:40:36 +08:00 |
|
雨霖铃
|
6c7b7294b4
|
feat: 优化规则管理功能
- 移动保存按钮到字段配置区域
- 添加规则编辑功能,支持更新和另存为
- 编辑模式下显示编辑状态标识
- 保存时检查规则名称重复,支持覆盖保存
- 优化弹窗样式,统一风格
- 更换加载图标为 FolderOpen
- 添加搜索防抖和错误处理
- 添加国际化文本
|
2026-06-06 23:08:05 +08:00 |
|
雨霖铃
|
a2e07a9115
|
refactor: 删除未使用的 defaultNullRate 功能
- 移除 GenerateOptions 中的 defaultNullRate 相关 props 和 UI
- 移除 messages.json 中的 testDataGenerator_defaultNullRate 翻译 key
|
2026-06-06 20:08:06 +08:00 |
|
雨霖铃
|
2464a5fea6
|
feat: 字段编辑弹窗添加「完成」按钮 去除关闭按钮,添加取消按钮
- 弹窗底部添加「完成」按钮,点击关闭弹窗
- DialogContent 支持 showCloseButton prop 控制关闭按钮显示
- 底部添加取消和完成两个按钮
|
2026-06-06 20:06:48 +08:00 |
|
雨霖铃
|
78f5292b00
|
fix: 切换为非必填时默认空值率 100%
- 必填 → 非必填:默认空值率 100%(始终生成 null)
- 非必填 → 必填:空值率清零
|
2026-06-06 19:42:55 +08:00 |
|
雨霖铃
|
5a2589cc57
|
fix: 修复空值率与必填状态的逻辑
- 空值率 0% 时自动设为必填(始终生成数据)
- 空值率 > 0% 时设为非必填(按概率生成 null)
- 移除空值率 100% 自动变为必填的错误逻辑
|
2026-06-06 19:41:42 +08:00 |
|
雨霖铃
|
64db60d75e
|
fix: 非必填字段预览显示 null
- 预览示例数据中,非必填字段显示 null 值
- 保持与实际生成逻辑一致
|
2026-06-06 19:36:41 +08:00 |
|
雨霖铃
|
7090ba3251
|
refactor: 数据预览改为显示示例数据,简化组件逻辑
- DataPreview 改为接收字段配置,显示一条示例数据
- 移除虚拟列表、格式切换等复杂功能
- 添加 JSON 语法高亮(键名蓝色、字符串绿色、数字琥珀色、布尔紫色)
- 优化空状态样式,垂直居中显示
- 缩短预览区域高度 (400px → 280px)
- 添加 testDataGenerator_sampleData 翻译 key
|
2026-06-06 19:29:27 +08:00 |
|
雨霖铃
|
31b6edf06b
|
feat: 生成成功改为 toast 提示
- 使用 sonner toast 显示成功提示
- 简化提示:生成完成 + 数据条数
- 仅在失败或有警告时显示结果面板
- 使用 useRef 记录已触发的 result
- 仅在新 result 时触发 toast
|
2026-06-06 11:05:42 +08:00 |
|
雨霖铃
|
a374bf456d
|
feat: 数据格式改为按钮组选择
- 移除 Select 下拉框
- 改为 JSON/CSV 按钮组
- 选中状态与生成数量按钮样式统一
feat: 优化空值率设置
- 增加 75% 预设选项
- 设置 100% 时自动设为必填
- 限制输入范围 0-100
fix: 空值率预设改为纯数字显示
- 5%/20%/50%/75% 统一样式
fix: 移除空值率低/中/高 i18n 翻译键
fix: 精简生成数量预设选项
- 移除 10、500
- 保留 50、100、1000、5000、10000
|
2026-06-06 10:52:56 +08:00 |
|
雨霖铃
|
ea10b27c14
|
feat: 简化字段卡片交互 - 点击直接打开编辑弹窗
- 移除字段卡片选中样式
- 点击字段直接打开编辑弹窗
- 简化 FieldItem 组件,移除 isSelected 属性
- 简化 FieldList 接口,onSelect 改为 onEdit
fix: 优化字段编辑弹窗
- 去除弹窗描述文字
- 字段名称增加字符计数 (x/20)
- 字段描述增加字符计数 (x/50)
- 保持 placeholder 提示
fix: 修复弹窗顶部间距问题
- DialogContent 添加 pt-6 避开关闭按钮
- 内容区域移除顶部 padding,改为 pb-6
fix: 增加弹窗顶部间距 (pt-6 → pt-8)
fix: 优化弹窗尺寸和按钮间距
- 弹窗最大宽度 360→420px 适配标签页
- 增加按钮 padding (px-2→px-3, py-1→py-1.5)
- 添加按钮增加 padding (h-8→h-9, px-3)
|
2026-06-06 10:43:35 +08:00 |
|
雨霖铃
|
40443c8fc5
|
fix: 优化字段编辑弹窗样式
- 去除弹窗标题
- 描述文字显示选择字段提示
- 关闭按钮置顶,不随内容滚动
- 内容区域独立滚动
|
2026-06-06 10:32:19 +08:00 |
|
雨霖铃
|
ee4a45630e
|
fix: 限制弹窗尺寸适配 popup 显示
- 最大宽度 360px
- 最大高度 calc(100vh - 4rem)
- 内容超出时支持滚动
- 宽度自适应 viewport
|
2026-06-06 10:31:07 +08:00 |
|
雨霖铃
|
4a423889d9
|
feat: 字段编辑改为弹窗显示
- 添加 Dialog 组件包裹 FieldEditor
- 点击字段卡片打开编辑弹窗
- 简化布局,移除右侧字段编辑面板
- 支持点击遮罩或关闭按钮关闭弹窗
|
2026-06-06 10:29:44 +08:00 |
|
雨霖铃
|
ee78e314d3
|
fix: 修复拖拽时滚轮滚动不生效问题
- 改为在 document 级别监听 wheel 事件
- 使用 capture 阶段优先处理事件
- 确保在 PointerSensor 拦截前捕获滚轮事件
|
2026-06-06 10:20:59 +08:00 |
|
雨霖铃
|
ee77c97b56
|
feat: 拖拽时支持鼠标滚轮滚动列表
- 拖拽状态下监听 wheel 事件
- 使用 preventDefault 阻止默认滚动
- 降低滚动速度 (0.5x) 提供更精确的控制
- 自动更新虚拟列表渲染范围
|
2026-06-06 10:18:13 +08:00 |
|
雨霖铃
|
aa8b84af50
|
fix: 修复虚拟列表拖拽时显示空白问题
- 添加 DragOverlay 独立渲染拖拽中的项目
- 拖拽时扩展预加载范围 (OVERSCAN 2→10)
- 添加 activeId 状态跟踪拖拽项目
- 拖拽中的卡片以半透明效果独立显示
|
2026-06-06 10:17:16 +08:00 |
|
雨霖铃
|
707f17ac84
|
feat: 字段列表优化 - 输入限制、选中样式、取消选中
- FieldEditor: 字段名称maxLength=20,描述maxLength=50
- FieldItem: 统一有无描述时的垂直居中布局,选中左侧竖线+背景高亮
- FieldList: 点击已选中字段可取消选中,选中态加shadow和ring效果
- index: 支持selectedIndex=-1取消选中
|
2026-06-06 10:09:48 +08:00 |
|
雨霖铃
|
af0b2d8ed1
|
fix: 统一字段列表卡片高度,最大字段数改为40
- MAX_FIELDS: 20 → 40
- 固定卡片高度52px,无论虚拟/非虚拟模式视觉一致
- 5条以上容器高度固定,启用虚拟滚动
- 主页面添加字段时检查MAX_FIELDS限制
|
2026-06-06 09:58:57 +08:00 |
|
雨霖铃
|
49e7f1ea55
|
feat: 实现虚拟列表、拖拽排序、实时预览防抖,更新文档
- DataPreview: 大数据量(>100条)自动启用虚拟滚动,仅渲染可见区域
- FieldList: 基于 @dnd-kit/sortable 实现拖拽排序
- index.tsx: 配置变更时300ms防抖生成预览数据
- ui-design.md: 去除平板/移动端响应式、快捷键,更新交互说明
- technical-implementation.md: 去除downloadAsZip,更新虚拟列表说明
|
2026-06-06 09:42:58 +08:00 |
|
雨霖铃
|
1a92e88934
|
feat: 实现测试数据生成器完整功能
- 添加类型定义 (FieldConfig, DataRule, GeneratorDefinition 等)
- 实现 21 个数据生成器 (个人信息/业务数据/技术数据/基础类型)
- 实现 Web Worker 后台数据生成引擎
- 实现规则存储与管理功能
- 实现 JSON/CSV 数据导出功能
- 开发完整 UI 组件 (字段管理/生成器选择/数据预览/导出面板等)
- 集成到应用功能配置,添加国际化支持
功能特性:
- 实时预览生成的数据
- 字段配置 (名称/描述/必填/空值率/唯一性约束)
- 规则管理 (保存/加载/搜索/导入导出)
- Web Worker 后台生成,支持进度显示和取消
- 响应式布局,支持多种设备
docs: 更新 TASKS.md 所有子任务复选框为已完成状态
|
2026-06-06 09:29:12 +08:00 |
|
雨霖铃
|
2b84eda24f
|
docs: 统一测试数据生成器文档,移除 SQL/TypeScript 导出,修复接口命名不一致
- 移除所有文档中的 SQL 和 TypeScript 导出格式引用
- 统一数据导出格式为 JSON 和 CSV
- 移除 GeneratorDefinition 中的 icon 字段
- 更新 generatorCategories 配置,包含所有 21 个生成器
- 统一 rule-management.md 和 technical-implementation.md 中的接口名称为 DataRule
- 更新 ui-design.md 中的界面设计,移除 SQL/TypeScript 相关元素
|
2026-06-06 09:04:53 +08:00 |
|
LingandRX
|
a5d86a92c2
|
develop (#67)
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 必须使用中文描述。
v1.0.7
|
2026-06-06 01:07:27 +08:00 |
|
雨霖铃
|
7f22b95aa2
|
refactor: 移除不必要的 export 关键字
中优先级任务:将仅内部使用的函数和类型移除 export 关键字
移除 export 的函数:
- uiPopover: showPopover
- storageCleaner: injectClearLocalStorage, injectClearSessionStorage,
injectClearIndexedDB, injectClearCacheStorage, injectUnregisterServiceWorkers
移除 export 的类型和常量:
- base64Converter: SUPPORTED_IMAGE_TYPES, SUPPORTED_IMAGE_EXTENSIONS,
TextToBase64Result, Base64ToBlobResult
- contextMenu: ContextMenuItemConfig, ContextMenuClickedInfo, ParseResult
- jsonFormatter: JsonMinifyResult
- jsonToToml: JsonToTomlResult
- jsonToYaml: JsonToYamlResult
- jwt: JwtHeader, JwtPayload
- qrCodeParser: QrCodeParseResult
所有 473 个测试通过,类型检查通过
|
2026-06-06 01:00:10 +08:00 |
|
雨霖铃
|
9990d86270
|
refactor: 删除高优先级死代码
删除未使用的代码以提高代码质量和可维护性:
删除的文件:
- src/pages/Dashboard/ToolCard.tsx:未被使用的组件
- src/utils/useDebounce.ts:未被使用的 hook
- src/components/__tests__/ToolCard.test.tsx:对应组件的测试文件
删除的导出函数:
- chromeTabs: getActiveTab, getActiveTabDomain, ensureContentScriptInjected
- clipboard: copyImageToClipboard
- storageCleaner: isEmptyResult
- chromeI18n: preloadNamespaces
- useContextMenuData: clearContextMenuData
更新了对应的测试文件以保持一致性
总计删除 525 行代码,所有 473 个测试通过
|
2026-06-06 01:00:10 +08:00 |
|
雨霖铃
|
ea0552e8aa
|
feat: 替换项目图标为自定义 logo
- 替换 public/icon/ 目录下所有 PNG 图标文件为新 logo
- 删除 public/wxt.svg(不再需要)
- 在 wxt.config.ts 中添加 icons 和 default_icon 配置
- 更新 public/README.md 文档
|
2026-06-06 01:00:10 +08:00 |
|
雨霖铃
|
97098c3abe
|
refactor: 移除不必要的 export 关键字
中优先级任务:将仅内部使用的函数和类型移除 export 关键字
移除 export 的函数:
- uiPopover: showPopover
- storageCleaner: injectClearLocalStorage, injectClearSessionStorage,
injectClearIndexedDB, injectClearCacheStorage, injectUnregisterServiceWorkers
移除 export 的类型和常量:
- base64Converter: SUPPORTED_IMAGE_TYPES, SUPPORTED_IMAGE_EXTENSIONS,
TextToBase64Result, Base64ToBlobResult
- contextMenu: ContextMenuItemConfig, ContextMenuClickedInfo, ParseResult
- jsonFormatter: JsonMinifyResult
- jsonToToml: JsonToTomlResult
- jsonToYaml: JsonToYamlResult
- jwt: JwtHeader, JwtPayload
- qrCodeParser: QrCodeParseResult
所有 473 个测试通过,类型检查通过
|
2026-06-06 00:55:05 +08:00 |
|
雨霖铃
|
7afce94d93
|
refactor: 删除高优先级死代码
删除未使用的代码以提高代码质量和可维护性:
删除的文件:
- src/pages/Dashboard/ToolCard.tsx:未被使用的组件
- src/utils/useDebounce.ts:未被使用的 hook
- src/components/__tests__/ToolCard.test.tsx:对应组件的测试文件
删除的导出函数:
- chromeTabs: getActiveTab, getActiveTabDomain, ensureContentScriptInjected
- clipboard: copyImageToClipboard
- storageCleaner: isEmptyResult
- chromeI18n: preloadNamespaces
- useContextMenuData: clearContextMenuData
更新了对应的测试文件以保持一致性
总计删除 525 行代码,所有 473 个测试通过
|
2026-06-06 00:49:57 +08:00 |
|
雨霖铃
|
e2b76a5f86
|
feat: 替换项目图标为自定义 logo
- 替换 public/icon/ 目录下所有 PNG 图标文件为新 logo
- 删除 public/wxt.svg(不再需要)
- 在 wxt.config.ts 中添加 icons 和 default_icon 配置
- 更新 public/README.md 文档
|
2026-06-05 23:57:04 +08:00 |
|