Skip to content

gongke-cxt/ToolsFactry

Repository files navigation

ToolsFactry

实用在线工具集 — 全部在浏览器中运行,数据不上传服务器(除视频下载和文档互转外)。

技术栈

  • 前端框架: React 18 + TypeScript
  • 构建工具: Vite 6
  • 样式方案: Tailwind CSS 3
  • 路由: React Router v7
  • 状态管理: React Hooks(无额外依赖)

快速开始

# 安装依赖
npm install

# 启动开发服务器
npm run dev

# 构建生产版本
npm run build

# 预览构建产物
npm run preview

需要视频下载功能时,需同时启动后端服务:

# 同时启动前端和后端
npm run dev:all

# 仅启动后端
npm run dev:server

工具列表

1. QR 二维码生成器

路径: /qr

支持生成多种类型的二维码,并提供丰富的样式自定义选项。

支持的数据类型:

  • URL 链接 — 网址、链接地址
  • 纯文本 — 任意文字内容
  • vCard 联系人 — 包含姓名、电话、邮箱、地址等信息,扫码即可添加联系人
  • WiFi 凭证 — 包含 SSID、密码、加密方式,扫码即可连接 WiFi

两种生成模式:

  • 单个生成 — 输入内容,实时预览,调整样式后下载
  • 批量生成 — 通过 CSV 文件导入多行数据,一次性批量生成并打包下载为 ZIP

样式自定义:

  • 点阵样式:方形 / 圆角 / 圆点
  • 点阵颜色:前景色、背景色
  • 容错等级:L / M / Q / H
  • 图片 Logo:中心嵌入自定义 Logo
  • 尺寸:支持多种输出尺寸

使用方法:

  1. 选择数据类型(URL / 文本 / 联系人 / WiFi)
  2. 输入对应的内容
  3. 在「外观样式」面板中调整点阵样式、颜色、Logo 等
  4. 右侧实时预览二维码效果
  5. 点击「下载 PNG」或「下载 SVG」保存

批量生成:

  1. 切换到「批量生成」标签页
  2. 下载 CSV 模板并填写数据
  3. 上传填好的 CSV 文件
  4. 点击「批量生成」按钮
  5. 下载打包好的 ZIP 文件

2. 图片压缩

路径: /compress

纯浏览器端图片压缩工具,支持批量处理,图片不会上传到任何服务器。

支持格式:

  • 输入:JPEG / PNG / WebP / BMP / GIF(静态)
  • 输出:JPEG / WebP

功能特性:

  • 拖拽上传 — 支持拖拽文件或点击选择,支持一次添加多张图片
  • 批量处理 — 4 张图片并发压缩,显示每张的压缩进度
  • 质量调节 — 滑块控制压缩质量(1-100),实时显示预估文件大小
  • 格式转换 — 可选择输出为 JPEG 或 WebP
  • 最大宽度 — 可设置最大宽度限制,超出自动等比缩放
  • 对比查看 — 点击缩略图可打开左右/上下对比滑块,直观查看压缩前后效果
  • 统计信息 — 实时显示总原始大小、总压缩大小、压缩率
  • 批量下载 — 所有压缩完成的图片打包为 ZIP 下载

使用方法:

  1. 拖拽或点击上传图片(支持一次多张)
  2. 调整压缩质量滑块(推荐 60-85)
  3. 选择输出格式(JPEG 或 WebP)
  4. 如需限制尺寸,设置最大宽度
  5. 点击「开始压缩」按钮
  6. 压缩完成后可单张下载或打包下载全部

3. Logo 生成器

路径: /logo

基于模板组合引擎的 Logo 在线生成工具,可选择接入 AI 增强生成。

三步生成流程:

第一步 — 品牌信息:

  • 输入品牌名称(必填)
  • 输入品牌口号(选填)
  • 选择所属行业(15 个行业类别)
  • 选择视觉风格(现代 / 经典 / 活泼 / 优雅 / 极简 / 粗犷 / 几何 / 手写 / 奢华 / 温暖)
  • 选择 Logo 类型(文字标 / 字母标 / 图标标 / 组合标 / 徽章标)
  • 选择主色调(信任 / 活力 / 自然 / 创意 / 奢华 / 趣味 / 极简 / 温暖 / 大胆 / 优雅)

第二步 — 生成与编辑:

  • 点击「生成 Logo」后,系统根据品牌名 Hash + 风格偏好组合出 9 个候选方案
  • 3x3 网格展示所有方案,点击选择
  • 右侧编辑面板支持:
    • 切换字体(20+ Google Fonts)
    • 切换配色方案
    • 调整图标大小
    • 调整字间距
    • 调整文字大小
    • 调整口号大小
  • 大图实时预览编辑效果
  • 点击「重新生成」刷新候选方案
  • AI 增强生成(可选):展开 AI 面板,输入 OpenAI API Key,可上传参考图片,调用 DALL-E 3 生成 AI Logo

第三步 — 导出:

  • SVG 导出 — 矢量格式,字体内嵌,可无限缩放
  • PNG 导出 — 支持 6 种尺寸(64 / 128 / 256 / 512 / 1024 / 2048 像素)
  • ZIP 打包导出 — SVG + 全部尺寸 PNG 打包下载

技术实现:

  • 内置 20+ Google Fonts(含中文字体 Noto Sans/Serif SC)
  • 60+ SVG 图标按行业分类
  • 24 套配色方案按色调分类
  • 6 种布局模板
  • 种子随机数确保同一品牌名生成结果一致

4. PDF 工具

路径: /pdf

纯浏览器端 PDF 处理工具,所有操作在本地完成,不上传文件。

两种模式:

合并 PDF:

  • 上传多个 PDF 文件
  • 拖拽调整文件顺序
  • 一键合并为单个 PDF 下载

拆分 & 编辑:

  • 上传一个 PDF 文件
  • 缩略图预览所有页面
  • 支持:
    • 删除指定页面
    • 拖拽重排页面顺序
    • 按页码范围提取页面
    • 添加书签目录

使用方法:

合并模式:

  1. 选择「合并 PDF」标签
  2. 拖拽或点击上传多个 PDF 文件
  3. 拖拽调整合并顺序
  4. 点击「合并并下载」

编辑模式:

  1. 选择「拆分 & 编辑」标签
  2. 上传一个 PDF 文件
  3. 在缩略图上进行删除、拖拽排序等操作
  4. 设置提取页码范围(如 1-3, 5, 7-10
  5. 点击「导出」下载处理后的 PDF

5. JSON / XML 转换器

路径: /converter

在线 JSON 与 XML 互转工具,支持格式化、压缩和实时校验。

功能特性:

  • 自动检测 — 粘贴内容后自动识别 JSON 或 XML 格式
  • 实时校验 — 输入时即时检查语法错误并提示
  • 美化格式化 — 将压缩的 JSON/XML 格式化为带缩进的可读形式
  • 压缩 — 去除多余空白,最小化体积
  • JSON → XML — 将 JSON 数据转换为 XML 格式
  • XML → JSON — 将 XML 数据转换为 JSON 格式
  • 一键复制 — 复制输出结果到剪贴板
  • 示例数据 — 内置示例 JSON 数据,方便测试

使用方法:

  1. 在左侧输入区粘贴 JSON 或 XML 内容
  2. 工具栏按钮变为可用状态(根据输入格式)
  3. 点击对应操作按钮:
    • 「美化」— 格式化当前内容
    • 「压缩」— 压缩当前内容
    • 「JSON → XML」— 转换格式
    • 「XML → JSON」— 转换格式
  4. 右侧输出区显示结果,点击「复制」保存

6. Markdown 转 HTML

路径: /markdown

Markdown 编辑器,实时预览样式化 HTML,支持多种主题。

功能特性:

  • 实时预览 — 左侧编辑 Markdown,右侧即时渲染 HTML 效果
  • 5 种主题 — GitHub / Medium / Newsprint / Slate / Elegant
  • 代码高亮 — 自动识别编程语言并高亮显示
  • 目录生成 — 自动提取标题生成可折叠的目录(TOC)
  • 一键复制 — 复制渲染后的 HTML 代码
  • 导出 HTML — 下载完整独立的 HTML 文件(含样式),可直接在浏览器打开
  • 字数统计 — 显示字符数和标题数

使用方法:

  1. 在左侧编辑区输入 Markdown 内容
  2. 工具栏选择喜欢的主题
  3. 右侧实时查看渲染效果
  4. 点击「目录」按钮查看/跳转标题
  5. 点击「复制 HTML」复制代码,或「下载 HTML」导出文件

7. 视频下载器

路径: /download

多平台视频下载工具,需要后端服务支持。

支持平台: YouTube / Twitter(X) / Bilibili / Vimeo 等上千个网站(通过 yt-dlp)

功能特性:

  • 链接解析 — 粘贴视频链接,自动识别平台并获取视频信息
  • 播放列表 — 支持解析播放列表,可选择下载部分视频
  • 画质选择 — 支持 4K / 1080p / 720p / 480p / 360p
  • 格式选择 — MP4 / WebM / MKV(视频),MP3 / AAC / FLAC / M4A(纯音频)
  • 下载模式 — 视频模式或纯音频模式
  • 下载队列 — 支持多个下载任务并行,显示进度和速度
  • 模拟模式 — 后端未启动时使用模拟数据演示 UI

后端部署:

后端依赖 yt-dlp,需在服务器上安装:

# 安装 yt-dlp
pip install yt-dlp

# 或使用 brew(macOS)
brew install yt-dlp

# 启动后端
npm run dev:server

使用方法:

  1. 启动后端服务(npm run dev:servernpm run dev:all
  2. 粘贴视频链接到输入框
  3. 点击「解析」获取视频信息
  4. 选择画质和格式
  5. 点击「开始下载」
  6. 在下载队列中查看进度,完成后自动保存

8. 语雀 & 飞书文档互转

路径: /doc-sync

语雀与飞书文档格式双向转换工具,支持文档树递归转换。

功能特性:

  • 自动识别 — 粘贴链接后自动检测语雀或飞书平台
  • 双向转换 — 语雀 → 飞书 / 飞书 → 语雀
  • 子文档支持 — 可选择是否包含子文档一起转换
  • 文档树展示 — 以树形结构展示转换进度,实时更新每篇文档状态
  • 进度追踪 — 总体进度条 + 单文档状态指示
  • 一键交换 — 点击交换按钮快速切换源和目标

使用方法:

  1. 在「源文档地址」输入框粘贴语雀或飞书的文档链接
  2. 在「目标文档地址」输入框粘贴目标平台的文档链接
  3. 系统自动检测平台和转换方向
  4. 勾选「包含子文档一起转换」(可选)
  5. 点击「开始转换」
  6. 在文档树面板中实时查看转换进度
  7. 转换完成后可在目标平台查看结果

9. AI 图片生成

路径: /ai-image(需通过直接访问 URL)

多引擎 AI 图片生成工具,支持 Midjourney、豆包 Seedream、Nano Banana 2。

支持引擎:

  • Midjourney — 高质量艺术风格图片生成
    • 支持 Imagine(文生图)和 Describe(图生文)
    • 支持 U1-U4 放大和 V1-V4 变换
    • 支持 R 重绘
    • 支持 niji 模式(动漫风格)
  • 豆包 Seedream — 字节跳动旗下 AI 图片生成
  • Nano Banana 2 — 轻量级 AI 图片生成

使用方法:

  1. 点击右上角「API 配置」设置各引擎的 API Key 和接口地址
  2. 在左侧选择生成引擎
  3. 设置引擎参数(如 Midjourney 的 botType)
  4. 在输入框中输入描述文字(Prompt)
  5. 点击「生成」按钮
  6. 在下方任务列表和预览区查看生成结果
  7. Midjourney 生成后可使用 U/V/R 操作按钮

项目结构

src/
├── components/           # UI 组件
│   ├── ui/               # 基础 UI 组件(Button, Card, Input 等)
│   ├── compressor/       # 图片压缩相关组件
│   ├── downloader/       # 视频下载相关组件
│   ├── logo/             # Logo 生成相关组件
│   ├── md/               # Markdown 编辑器组件
│   ├── pdf/              # PDF 工具组件
│   └── ai-image/         # AI 图片生成组件
├── hooks/                # 自定义 Hooks
├── lib/                  # 核心逻辑库
│   ├── logo/             # Logo 生成引擎
│   ├── markdown/         # Markdown 解析和渲染
│   ├── ai-image/         # AI 图片生成 API
│   └── converter/        # JSON/XML 转换核心
├── pages/                # 页面组件
├── types/                # TypeScript 类型定义
├── App.tsx               # 应用入口和路由配置
├── main.tsx              # 渲染入口
└── index.css             # 全局样式

开发说明

  • 所有数据处理默认在浏览器端完成,保护用户隐私
  • 视频下载和文档互转需要后端服务支持
  • 支持亮色/暗色主题切换
  • 响应式布局,适配桌面和移动端

许可证

Private

About

ToolsFactry - 实用在线工具集(QR二维码、图片压缩、Logo生成、PDF工具等)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors