Files
utils/README.md
zguiy 8400dbfab9
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
工具完成
2025-06-28 22:38:49 +08:00

201 lines
4.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Vue 工具集 - Vue Tools Kit
这是一个基于 Vue 3 + TypeScript + Tailwind CSS 开发的在线工具集合,移植自 jisuxiang-master 项目。
## 特性
- 🚀 Vue 3 + Composition API + `<script setup>` 语法糖
- 📱 响应式设计,支持移动端
- 🎨 深色/浅色主题切换
- 🌐 中英文双语支持
- ⚡ Vite 构建工具,开发体验优秀
- 🎯 TypeScript 类型安全
- 💻 包含 28+ 实用开发工具
## 工具列表
### 常用工具
- JSON 格式化器 - JSON格式化、美化、压缩和验证
- HTTP 测试器 - API接口测试工具
- 时间戳转换器 - 时间戳与日期时间相互转换
- 编码转换器 - Base64、URL编码、Unicode转换
- IP 查询工具 - IP地址归属地查询
### JSON 工具
- JSON 编辑器 - 可视化JSON编辑
- JSON 转换器 - JSON与XML、CSV、YAML互转
### 编码工具
- 正则表达式测试器 - 正则表达式测试和验证
- 加密解密工具 - MD5、SHA、AES、DES等
- URL 编码器 - URL编码解码
- Unicode 转换器 - Unicode与中文互转
- JWT 解码器 - JWT令牌解析
- 进制转换器 - 二进制、八进制、十进制、十六进制转换
### 文本工具
- 字数统计器 - 字符、词数、行数统计
- 文本处理器 - 去空格、去换行等
### 代码工具
- 代码格式化器 - HTML、CSS、JS、SQL格式化
- HTML/Markdown 转换器 - HTML与Markdown互转
- YAML/Properties 转换器 - 配置文件格式转换
### 图片工具
- 图片压缩器 - 在线图片压缩
- 二维码生成器 - 文本转二维码
- Base64图片转换器 - 图片与Base64互转
- 图片水印工具 - 添加文字或图片水印
- ICO图标生成器 - 图片转ICO格式
### 前端工具
- 颜色工具 - 颜色选择器和转换
- CSS渐变生成器 - 可视化CSS渐变生成
### 时间工具
- 日期计算器 - 日期差值计算
- 时区转换器 - 不同时区时间转换
- Cron表达式生成器 - 定时任务表达式生成
## 技术栈
- **前端**: Vue 3, TypeScript, Tailwind CSS, Vite
- **图标**: FontAwesome
- **HTTP客户端**: Axios
- **后端**: Node.js, Express
- **工具库**:
- marked (Markdown解析)
- turndown (HTML转Markdown)
- crypto-js (加密解密)
- qrcode (二维码生成)
- fabric.js (图片处理)
- compressor.js (图片压缩)
## 快速开始
### 安装依赖
```bash
npm install
```
### 开发模式
```bash
# 启动前端开发服务器
npm run dev
# 启动后端API服务器新终端
npm run server
```
访问 `http://localhost:8080` 查看应用
### 生产构建
```bash
# 构建前端
npm run build
# 启动生产服务器包含前端和API
npm run server
```
## 项目结构
```
src/
├── components/ # 通用组件
│ ├── tools/ # 工具组件
│ ├── BackToTop.vue # 返回顶部
│ ├── ThemeToggle.vue # 主题切换
│ └── LanguageToggle.vue # 语言切换
├── composables/ # 组合式API
│ ├── useLanguage.ts # 语言管理
│ └── useTheme.ts # 主题管理
├── config/ # 配置文件
│ ├── tools.ts # 工具配置
│ ├── categories.ts # 分类配置
│ └── i18n/ # 国际化
├── router/ # 路由配置
├── types/ # TypeScript类型
├── utils/ # 工具函数
├── views/ # 页面组件
└── style.css # 全局样式
server/
├── index.js # 服务器入口
└── routes/
└── api.js # API路由
```
## 开发指南
### 添加新工具
1.`src/config/tools.ts` 中添加工具配置
2.`src/config/i18n/` 中添加多语言支持
3.`src/components/tools/` 中创建工具组件
4.`src/views/ToolView.vue` 的映射表中注册组件
### 组件开发规范
- 使用 `<script setup>` 语法糖
- 使用箭头函数
- 使用 Composition API
- 遵循 TypeScript 类型约束
- 使用 Tailwind CSS 进行样式开发
### 主题和样式
项目使用 CSS 变量实现主题切换,主要颜色变量定义在 `src/style.css` 中。
### 国际化
使用自定义的国际化系统,配置文件在 `src/config/i18n/` 目录下。
## API 服务
项目包含 Node.js 后端提供以下API
- `GET /api/ip/:ip?` - IP地址查询
- `GET /api/myip` - 获取当前IP
- `POST /api/proxy` - HTTP代理请求
- `POST /api/markdown/convert` - Markdown转换
- `POST /api/format/code` - 代码格式化
## 部署
### 使用 Node.js
```bash
npm run build
npm run server
```
### 使用 Docker
```dockerfile
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build
EXPOSE 3001
CMD ["npm", "run", "server"]
```
## 贡献
欢迎提交 Issue 和 Pull Request
## 许可证
MIT License
## 致谢
本项目移植自 [jisuxiang-master](https://github.com/star7th/jisuxiang),感谢原作者的开源贡献。