我開源了一個免費在線工具!UIED Tools

UIED Tools - 免費在線工具集合

最近更新:修改了文檔說明,優化了項目結構介紹

這是設計師轉開發的第一個開源項目,bug和代碼規范可能有些欠缺。

這是一個功能豐富的免費在線工具集合網站,集成了多種實用工具,包括 AI 工具、設計工具、開發工具等。該項目旨在為設計師、開發者和普通用戶提供一站式工具解決方案,提高工作效率。

在線站點:UIED免費在線工具集?

開源地址

https://github.com/Tomccc520/UIED-tools

UIED-Tools: UIED Tools在線免費工具箱,純AI二次開發。

輸入圖片說明

更新日志

更新日志2025.5.11

項目亮點

  • 豐富多樣的工具:提供超過80種常用工具,覆蓋設計、開發、文本處理、圖片處理等多個領域,持續更新中。
  • 簡潔易用的界面:采用直觀的UI設計,讓用戶快速找到并使用所需工具
  • 完全免費:所有工具完全免費使用,無需注冊和付費
  • 持續更新:定期添加新工具,不斷優化已有功能
  • 開源共享:項目代碼完全開源,歡迎社區貢獻和改進
  • 中文優化:專為中文用戶設計,提供本地化的使用體驗

UIED Tools 基于 Vue3、TypeScript 和 Element Plus 開發,支持響應式布局,能夠在桌面端和移動端提供良好的使用體驗。

快速開始

環境要求

  • Node.js 版本: >= 16.0.0
  • npm 版本: >= 8.0.0

安裝步驟

方法一:從源碼安裝(推薦開發者使用)
  1. 克隆倉庫到本地
# 從Gitee克隆
git clone https://gitee.com/tomdac/uied-tools.git# 或從GitHub克隆
git clone https://github.com/Tomccc520/UIED-tools.git# 進入項目目錄
cd uied-tools
  1. 安裝依賴
# 使用npm安裝(推薦)
npm install# 或使用yarn
yarn install# 或使用pnpm
pnpm install
  1. 啟動開發服務器
# 開發模式啟動
npm run dev# 指定端口啟動
npm run dev -- --port 3000
  1. 構建生產版本
# 標準構建
npm run build# 包含SEO優化的構建(推薦生產環境使用)
npm run build:pro# 預覽構建結果
npm run preview
方法二:使用Docker部署(推薦運維人員使用)
# 拉取鏡像
docker pull docker0796/tools-web:latest# 運行容器
docker run -d --name tools-web --restart unless-stopped -p 8080:80 docker0796/tools-web:latest# 訪問服務
# 瀏覽器打開 http://localhost:8080

項目結構說明

uied-tools/
├── src/                      # 源代碼目錄
│   ├── components/          # 組件目錄
│   │   ├── Common/         # 公共組件
│   │   │   └── ToolsRecommend.vue  # 工具推薦組件
│   │   ├── Home/           # 首頁相關組件
│   │   ├── Layout/         # 布局組件
│   │   │   ├── Left/      # 左側菜單
│   │   │   └── Right/     # 右側推薦欄
│   │   └── Tools/          # 工具組件目錄
│   │       ├── AI/        # AI相關工具
│   │       ├── Avatar/    # 頭像相關工具
│   │       ├── Copywriting/ # 文案相關工具
│   │       ├── Design/    # 設計相關工具
│   │       ├── Dev/       # 開發相關工具
│   │       ├── tools.ts   # 工具配置文件
│   │       └── ToolIcon.vue # 工具圖標組件
│   ├── router/             # 路由配置
│   │   └── router.ts      # 主路由文件
│   ├── store/              # 狀態管理
│   │   └── modules/       # 狀態模塊
│   ├── assets/             # 靜態資源
│   │   ├── icons/         # SVG圖標
│   │   └── styles/        # 全局樣式
│   ├── utils/              # 工具函數
│   └── App.vue             # 根組件
├── public/                 # 公共資源目錄
├── docs/                   # 文檔目錄
├── scripts/                # 腳本目錄
├── dist/                   # 構建輸出目錄
├── .env.development        # 開發環境配置
├── .env.production         # 生產環境配置
├── vite.config.ts          # Vite配置
├── tailwind.config.js      # Tailwind CSS配置
├── tsconfig.json           # TypeScript配置
├── package.json            # 項目依賴配置
└── README.md               # 項目說明文檔

開發指南

添加新工具

添加新工具需要完成以下四個步驟:

  1. 創建工具組件

在?src/components/Tools?對應分類目錄下創建新的組件文件。例如要創建一個新的AI工具,可以在?src/components/Tools/AI/?目錄下創建:

<!-- NewAITool.vue -->
<template><div class="p-6 bg-white rounded-lg shadow-sm"><h2 class="text-xl font-bold mb-4">新AI工具</h2><!-- 工具主體內容 --><div class="mb-4"><el-input v-model="inputText" placeholder="請輸入內容" /></div><!-- 操作按鈕 --><div class="flex justify-between"><el-button type="primary" @click="processData">處理</el-button><el-button @click="resetForm">重置</el-button></div><!-- 結果展示區域 --><div v-if="result" class="mt-4 p-4 bg-gray-50 rounded"><p>{{ result }}</p></div><!-- 底部推薦工具 --><ToolsRecommend :currentPath="route.path" /></div>
</template><script setup lang="ts">
import { ref } from 'vue'
import { useRoute } from 'vue-router'
import ToolsRecommend from '@/components/Common/ToolsRecommend.vue'const route = useRoute()
const inputText = ref('')
const result = ref('')// 處理數據函數
const processData = () => {// 實現工具核心邏輯result.value = `處理結果: ${inputText.value}`
}// 重置表單函數
const resetForm = () => {inputText.value = ''result.value = ''
}
</script>
  1. 添加路由配置

在?src/router/router.ts?文件中添加新工具的路由配置:

// router.ts
{path: '/tools/ai/new-tool',component: () => import('@/components/Tools/AI/NewAITool.vue'),name: 'newAITool',meta: {title: "新AI工具",keywords: 'AI工具,人工智能,新工具',description: '這是一個強大的AI新工具,可以幫助用戶快速處理數據',}
}
  1. 注冊工具信息

在?src/components/Tools/tools.ts?中的合適位置添加工具信息:

// tools.ts
// 在AI工具分類中添加
{id: 123,title: "新AI工具",logo: { type: 'svg', name: 'newAITool' }, // 使用SVG圖標desc: "強大的AI工具,可快速處理數據",url: "/tools/ai/new-tool",cateId: 1,cate: 'AI工具',tags: ['新品']  // 可選:添加標簽
}
  1. 添加SVG圖標(可選)

如果使用SVG圖標,將圖標文件放入?src/assets/icons/?目錄下,命名為?newAITool.svg

完成以上步驟后,刷新頁面即可看到新添加的工具。

注意事項

1. 環境配置

  • 開發環境:使用?.env.development?配置文件
    NODE_ENV=development
    VITE_API_BASE_URL=http://localhost:8080/api
    
  • 生產環境:使用?.env.production?配置文件
    NODE_ENV=production
    VITE_API_BASE_URL=https://api.example.com
    
  • 本地配置:可創建?.env.local?進行本地覆蓋(不會提交到代碼庫)

2. 代碼規范

  • TypeScript:所有新代碼必須使用TypeScript編寫
    • 開啟嚴格模式:"strict": true
    • 使用類型標注:const name: string = 'value'
  • Vue 規范
    • 使用 Vue 3 Composition API
    • 使用?<script setup>?語法糖
    • 保持組件單一職責
  • 樣式規范
    • 使用 Tailwind CSS 實用類優先
    • 自定義樣式使用 scoped CSS
    • 遵循 Element Plus 的設計規范

3. 性能優化準則

  • 路由懶加載:所有頁面組件使用動態導入
    {path: '/tools/example',component: () => import('@/components/Tools/Example.vue') // 懶加載
    }
    
  • 組件按需導入:使用 Element Plus 的按需導入
    import { ElButton, ElInput } from 'element-plus'
    
  • 資源優化
    • 圖片使用WebP格式
    • SVG圖標使用單色線性風格
    • 大型資源使用CDN加載

4. Git提交規范

  • 提交信息格式<類型>: <描述>
  • 常用類型
    • feat:新功能
    • fix:bug修復
    • docs:文檔更新
    • style:代碼格式調整
    • refactor:代碼重構
    • perf:性能優化
    • test:測試相關
    • chore:構建過程或輔助工具變動

常見問題與解決方案

1. 依賴相關問題

安裝依賴失敗
# 方法1:清除npm緩存后重試
npm cache clean --force
npm install# 方法2:使用鏡像源
npm config set registry https://registry.npmmirror.com
npm install# 方法3:嘗試使用其他包管理器
yarn install
# 或
pnpm install
依賴版本沖突
# 更新依賴到兼容版本
npm update# 檢查有問題的依賴
npm ls <package-name># 強制解決沖突
npm install --force

2. 開發環境問題

開發服務器啟動失敗
  • 端口占用:修改?vite.config.ts?中的端口
    export default defineConfig({server: {port: 3000  // 修改為其他端口}
    })
    
  • 模塊解析錯誤
    # 刪除node_modules和lock文件后重新安裝
    rm -rf node_modules package-lock.json
    npm install
    
  • Node.js版本問題:使用 nvm 安裝正確版本
    nvm install 16
    nvm use 16
    
熱更新不工作
  • 檢查?vite.config.ts?中的?server.hmr?配置
  • 確認系統文件監聽限制(Linux系統)
  • 重啟開發服務器

3. 構建與部署問題

構建失敗
  • 語法錯誤:檢查控制臺錯誤信息,修復對應代碼
  • 內存不足:增加Node內存限制
    # 增加內存限制
    export NODE_OPTIONS=--max-old-space-size=4096
    npm run build
    
  • 依賴缺失:確認所有依賴正確安裝
    npm install --legacy-peer-deps
    
部署問題
  • 靜態資源路徑錯誤:檢查?vite.config.ts?中的?base?配置
    export default defineConfig({base: '/'  // 根據實際部署路徑調整
    })
    
  • Docker部署問題:參考前面的Docker部署指南
  • SSR渲染問題:查看SSR構建日志,修復服務端渲染錯誤

技術棧詳解

核心技術

技術版本用途文檔鏈接
Vue3.3.10前端框架Vue文檔
TypeScript5.3.3類型檢查TS文檔
Vite5.0.10構建工具Vite文檔
Pinia2.1.7狀態管理Pinia文檔
Vue Router4.2.5路由管理Router文檔

UI框架與樣式

技術版本用途文檔鏈接
Element Plus2.7.0UI組件庫Element Plus文檔
Tailwind CSS3.3.5原子CSS框架Tailwind文檔
PostCSS8.4.32CSS處理器PostCSS文檔

工具庫

技術用途文檔鏈接
AxiosHTTP請求Axios文檔
VueUse實用工具集VueUse文檔
Day.js日期處理Day.js文檔
ECharts數據可視化ECharts文檔

開發工具

技術用途推薦配置
VS Code代碼編輯器推薦插件:Volar, ESLint, Prettier
ESLint代碼檢查配置文件:.eslintrc.js
Prettier代碼格式化配置文件:.prettierrc
Git版本控制配合Husky進行提交校驗

貢獻指南

歡迎為 UIED Tools 項目做出貢獻!請遵循以下步驟:

貢獻流程

  1. Fork 倉庫

    • 訪問?GitHub倉庫?或?Gitee倉庫
    • 點擊右上角"Fork"按鈕創建個人分支
  2. 克隆到本地

    git clone https://github.com/你的用戶名/UIED-tools.git
    cd UIED-tools
    
  3. 創建功能分支

    # 以功能命名分支
    git checkout -b feature/新功能名稱
    # 或以修復命名分支
    git checkout -b fix/問題名稱
    
  4. 開發與測試

    • 進行代碼修改和開發
    • 運行測試確保功能正常
    • 遵循代碼規范和樣式指南
  5. 提交更改

    git add .
    git commit -m "feat: 添加了xxx功能"
    
  6. 推送到GitHub

    git push origin feature/新功能名稱
    
  7. 創建 Pull Request

    • 訪問你Fork的倉庫
    • 點擊"New Pull Request"按鈕
    • 選擇你的功能分支和原倉庫的主分支
    • 填寫PR描述,說明更改內容和目的

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/80518.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/80518.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/80518.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【vue】全局組件及組件模塊抽離

一、全局組件 只要是實例化過的區域都可以使用 Vue.component("組件名",{ template: 內容} ) 二、組件模塊抽離 抽離就是把template的內容寫到body里面&#xff0c;然后建立id寫到變量下的template里&#xff0c;id變量寫到component里 body{ template&#xff1a; …

深入理解 iOS 開發中的 `use_frameworks!`

在使用 CocoaPods 管理 iOS 項目依賴時&#xff0c;開發者經常會在 Podfile 文件中看到一個配置選項&#xff1a;use_frameworks!。本文將詳細介紹這個配置選項的含義&#xff0c;以及如何決定是否在項目中使用它。 一、什么是 use_frameworks! 在 CocoaPods 中引入第三方庫時…

《Python星球日記》 第57天:LSTM 與 GRU

名人說:路漫漫其修遠兮,吾將上下而求索。—— 屈原《離騷》 創作者:Code_流蘇(CSDN)(一個喜歡古詩詞和編程的Coder??) 目錄 一、LSTM 的門控機制1. LSTM 結構概述2. 遺忘門(Forget Gate)3. 輸入門(Input Gate)4. 輸出門(Output Gate)5. 記憶單元更新過程二、GRU 的簡化…

Java SE所需工具與常見類型和運算符介紹

1.Java SE所需工具 1.1 JDK JDK全稱為Java Develepment Kit(Java開發者工具包&#xff09;&#xff0c;包括了Java運行環境JRE&#xff08;Java Runtime Envirnment&#xff09;、一堆Java工具&#xff08;javac/java/jdb等&#xff09;和Java基礎的類庫&#xff08;即Java A…

QT6.8安裝教程

官網下載 鏈接&#xff1a; Index of /official_releases/online_installers 這個比較慢 建議去 清華大學開源軟件鏡像站&#xff1a;Index of /qt/archive/online_installers/4.9/ | 清華大學開源軟件鏡像站 | Tsinghua Open Source Mirror 根據自己什么系統選擇 點擊打開…

MIT XV6 - 1.3 Lab: Xv6 and Unix utilities - primes

接上文 MIT XV6 - 1.2 Lab: Xv6 and Unix utilities - pingpong primes 繼續實驗&#xff0c;實驗介紹和要求如下 (原文鏈接 譯文鏈接) : Write a concurrent prime sieve program for xv6 using pipes and the design illustrated in the picture halfway down this page and…

hive兩個表不同數據類型字段關聯引發的數據傾斜

不同數據類型引發的Hive數據傾斜解決方案 #### 一、?原因分析? 當兩個表的關聯字段存在數據類型不一致時&#xff08;如int vs string、bigint vs decimal&#xff09;&#xff0c;Hive會觸發隱式類型轉換引發以下問題&#xff1a; ?Key值的精度損失?&#xff1a;若關聯字…

【JAVA】業務系統訂單號,流水號生成規則工具類

設計業務系統訂單號&#xff0c;流水號注意事項 唯一性&#xff1a;確保在分布式環境下ID不重復 有序性&#xff1a;ID隨時間遞增&#xff0c;有利于數據庫索引性能 可讀性&#xff1a;包含時間信息&#xff0c;便于人工識別 擴展性&#xff1a;支持業務前綴和類型區分 性能…

【嵌入式開發-SPI】

嵌入式開發-SPI ■ SPI簡介■ SPI &#xff08;Standard SPI&#xff09;■ DSPI &#xff08;Dual SPI&#xff09;■ QSPI是 Queued SPI的簡寫 ■ SPI簡介 SPI協議其實是包括&#xff1a;Standard SPI、Dual SPI和Queued SPI三種協議接口&#xff0c;分別對應3-wire, 4-wire…

基于HTTP頭部字段的SQL注入:SQLi-labs第17-20關

前置知識&#xff1a;HTTP頭部介紹 HTTP&#xff08;超文本傳輸協議&#xff09;頭部&#xff08;Headers&#xff09;是客戶端和服務器在通信時傳遞的元數據&#xff0c;用于控制請求和響應的行為、傳遞附加信息或定義內容類型等。它們分為請求頭&#xff08;Request Headers&…

基于Qt開發的http/https客戶端

成果展示&#xff1a; 使用Qt開發HTTP客戶端主要依賴QNetworkAccessManager、QNetworkRequest和QNetworkReply三大核心類。以下是具體實現要點及最佳實踐&#xff1a; 一、核心類與基礎流程?? 1.QNetworkAccessManager?? 作為HTTP請求的管理者&#xff0c;負責異步處理…

自適應蒙特卡洛定位-AMCL

自適應蒙特卡洛定位&#xff0c;簡稱AMCL&#xff0c;主要提供定位功能并以/tf形式輸出 蒙特卡洛算法的基本思想&#xff1a;當所要求的問題是某種事件出現的概率或者是某個變量的期望值時&#xff0c;它們可以通過某種"試驗"的方法&#xff0c;得到這種事件出現的概…

魯濱遜歸結原理詳解:期末考點+解題指南

1. 引言 歸結原理&#xff08;Resolution Principle&#xff09; 是自動定理證明和邏輯推理的核心技術&#xff0c;由約翰艾倫羅賓遜&#xff08;John Alan Robinson&#xff09;于1965年提出。它是一階謂詞邏輯的機械化推理方法&#xff0c;廣泛應用于人工智能&#xff08;如…

華為云Flexus+DeepSeek征文|DeepSeek-V3/R1商用服務開通教程以及模型體驗

在當今數字化浪潮迅猛推進的時代&#xff0c;云計算與人工智能技術的深度融合正不斷催生出眾多創新應用與服務&#xff0c;為企業和個人用戶帶來了前所未有的便利與發展機遇。本文將重點聚焦于在華為云這一行業領先的云計算平臺上&#xff0c;對 DeepSeek-V3/R1 商用服務展開的…

Matlab基于PSO-MVMD粒子群算法優化多元變分模態分解

Matlab基于PSO-MVMD粒子群算法優化多元變分模態分解 目錄 Matlab基于PSO-MVMD粒子群算法優化多元變分模態分解效果一覽基本介紹程序設計參考資料效果一覽 基本介紹 PSO-MVMD粒子群算法優化多元變分模態分解 可直接運行 分解效果好 適合作為創新點(Matlab完整源碼和數據),以包…

自然語言處理NLP中的連續詞袋(Continuous bag of words,CBOW)方法、優勢、作用和程序舉例

自然語言處理NLP中的連續詞袋&#xff08;Continuous bag of words&#xff0c;CBOW&#xff09;方法、優勢、作用和程序舉例 目錄 自然語言處理NLP中的連續詞袋&#xff08;Continuous bag of words&#xff0c;CBOW&#xff09;方法、優勢、作用和程序舉例一、連續詞袋( Cont…

商業模式解密:鳴鳴很忙下沉市場的隱憂,破局之路在何方?

文 | 大力財經 作者 | 魏力 在零售行業的版圖中&#xff0c;“鳴鳴很忙”憑借獨特的商業模式&#xff0c;在下沉市場異軍突起&#xff0c;成為不可忽視的力量。555億GMV、廣泛的縣域覆蓋以及高比例的鄉鎮門店&#xff0c;無疑彰顯了其在下沉市場的王者地位。然而&#xff0c;…

YOLOv5推理代碼解析

代碼如下 import cv2 import numpy as np import onnxruntime as ort import time import random# 畫一個檢測框 def plot_one_box(x, img, colorNone, labelNone, line_thicknessNone):"""description: 在圖像上繪制一個矩形框。param:x: 框的坐標 [x1, y1, x…

CATIA高效工作指南——常規配置篇(二)

一、結構樹&#xff08;Specification Tree&#xff09;操作技巧精講 結構樹是CATIA設計中記錄模型歷史與邏輯關系的核心模塊&#xff0c;其高效管理直接影響設計效率。本節從基礎操作到高級技巧進行系統梳理。 1.1 結構樹激活與移動 ??激活方式??&#xff1a; ??白線…

批量重命名bat

作為一名程序員&#xff0c;怎么可以自己一個個改文件名呢&#xff01; Windows的批量重命名會自動加上括號和空格&#xff0c;看著很不爽&#xff0c;寫一個bat處理吧&#xff01;?(ゝω???) 功能&#xff1a;將當前目錄下的所有文件名里面當括號和空格都去掉。 用法&…