# programmer-toolbox
**Repository Path**: qiweb/programmer-toolbox
## Basic Information
- **Project Name**: programmer-toolbox
- **Description**: 程序员工具箱 2025年9月15日20:52:41
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-09-15
- **Last Updated**: 2025-09-24
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 程序员工具箱
## 📋 项目简介
技术交流 微信:908701702
程序员工具箱是一个集合了17种常用开发工具的Web应用,旨在为程序员提供便捷、高效的在线工具服务。所有工具功能均在客户端完成,无需服务器处理,极大地提高了响应速度和用户体验。
http://localhost:8082/programmer-toolbox/login.html
默认用户和密码:admin/admin
## 🚀 核心功能
### 1. 编码解码工具
- **Escape编码解码器**:文本转义与反转义
- **Base64编码解码器**:Base64编码与解码,支持索引表生成
- **MD5加密工具**:MD5哈希值计算,支持32位/16位大小写加密选项
### 2. 代码格式化工具
- **JSON在线解析工具**:JSON格式化、压缩、验证、转GET参数
- **JavaScript工具**:JS格式化(支持缩进设置)、压缩、加密和解密
- **Shell工具**:Shell命令格式化、压缩,提供常用Shell命令示例
- **HTML工具**:HTML格式化(支持多种选项)、压缩、预览,提供多种HTML模板
### 3. 开发辅助工具
- **正则测试工具**:正则表达式测试与验证,提供12种常用正则模板,支持JS/Java/PHP代码生成
- **UUID生成器**:批量生成UUID,支持多种格式选项
- **时间戳转换工具**:时间戳与日期时间相互转换,支持秒/毫秒级时间戳处理
- **程序员计算器**:基本数学计算、进制转换、位运算工具
- **单位转换工具**:11类单位转换,支持历史记录和单位交换
### 4. 其他实用工具
- **二维码生成解析工具**:二维码生成(支持尺寸、纠错级别、颜色设置)和解析(支持图片上传)
- **MyBatis代码生成器**:基于SQL模板生成MyBatis实体类、Mapper.xml、Dao接口和Example类
- **HTTP请求模拟**:支持多种HTTP方法,请求头、参数和请求体设置,响应格式化显示
- **AI搜索工具**:集成多个AI平台(腾讯元宝、豆包AI、智谱清言)的搜索功能
- **SQL工具箱**:SQL编辑器(支持模板)、表列表、查询结果展示及分页、SQL格式化、保存和导出
## 🛠️ 技术栈
### 后端
- **框架**:Spring Boot 2.5.x
- **模板引擎**:Thymeleaf
- **构建工具**:Maven
### 前端
- **基础技术**:HTML5、CSS3、JavaScript (ES6+)
- **框架和库**:Bootstrap 4.6、jQuery 3.6、Font Awesome 5
- **第三方工具库**:CryptoJS、js-beautify、qrcode.js、jsQR
## 📦 项目结构
```
programmer-toolbox
├── .gitignore # Git忽略文件配置
├── pom.xml # Maven项目配置文件
├── README.md # 项目说明文档
├── docs/ # 项目文档目录
│ ├── requirements.html # 需求文档
│ └── design.html # 系统设计文档
└── src/main/
├── java/ # Java源代码目录
│ └── com/example/programmertoolbox/
│ ├── ProgrammerToolboxApplication.java # 应用入口
│ └── controller/ # 控制器
│ └── ViewController.java # 视图控制器
└── resources/ # 资源文件目录
├── application.properties # 应用配置
├── static/ # 静态资源
│ ├── css/ # CSS样式
│ ├── js/ # JavaScript文件
│ └── libs/ # 第三方库
└── templates/ # Thymeleaf模板
├── index.html # 首页
├── login.html # 登录页
├── system-help.html # 系统帮助
├── system-monitor.html # 系统监控
└── tools/ # 工具页面目录
├── escape.html # Escape编码解码器
├── base64.html # Base64编码解码器
├── md5.html # MD5加密工具
└── ... # 其他工具页面
```
## ⚡ 快速开始
### 前提条件
- JDK 1.8或更高版本
- Maven 3.6.0或更高版本
- 支持HTML5和CSS3的现代浏览器
### 开发环境启动
1. **克隆项目**
```bash
git clone [项目仓库地址]
cd programmer-toolbox
```
2. **构建项目**
```bash
mvn clean install
```
3. **运行项目**
```bash
mvn spring-boot:run
# 或直接运行ProgrammerToolboxApplication.java主类
```
4. **访问项目**
打开浏览器,访问:http://localhost:8080/programmer-toolbox/
## 🔧 二次开发指南
### 添加新工具
1. **创建工具页面**
在`src/main/resources/templates/tools/`目录下创建新的HTML文件,实现工具的UI和功能。
2. **添加控制器映射**
在`ViewController.java`中添加新的映射方法:
```java
@GetMapping("/tools/[工具名称]")
public String [工具名称]() {
return "tools/[工具名称]";
}
```
3. **遵循页面模板结构**
新工具页面应遵循项目统一的设计风格和结构:
```html
[工具名称] - 程序员工具箱
```
4. **添加必要的第三方库**
如果新工具需要特定的第三方库,请在HTML文件的``部分引入。
### 修改现有工具
1. **查找对应的工具页面**
在`src/main/resources/templates/tools/`目录下找到要修改的HTML文件。
2. **修改工具功能**
根据需求修改HTML文件中的JavaScript代码,实现功能变更。
3. **更新工具样式**
如果需要修改工具的UI样式,可以修改对应的CSS文件。
## 🔍 维护指南
### 常见问题排查
1. **页面无法访问**
- 检查服务器是否启动
- 确认端口配置是否正确(默认为8080)
- 验证上下文路径是否正确(默认为/programmer-toolbox)
2. **工具功能异常**
- 打开浏览器控制台查看是否有JavaScript错误
- 检查工具页面中的JavaScript代码逻辑
- 确认第三方库是否正确引入
3. **性能问题**
- 对于处理大量数据的工具,考虑分块处理或添加进度提示
- 优化JavaScript算法,减少不必要的计算
- 使用Web Worker处理耗时操作
4. **兼容性问题**
- 检查是否使用了特定浏览器不支持的API
- 考虑添加polyfill以兼容旧版本浏览器
- 测试在不同浏览器和设备上的表现
### 代码规范
- 遵循Java命名规范和JavaScript命名规范
- 为关键代码添加注释说明
- 保持代码简洁,避免冗余和不必要的复杂性
- 使用一致的代码风格
- 定期清理无用代码和资源
## 📄 文档
- **需求文档**:`docs/requirements.html`
- **系统设计文档**:`docs/design.html`
- **接口文档**:待补充(如果未来有API接口)
## 🤝 贡献
欢迎对项目进行贡献,提交Issue或Pull Request前请先阅读相关文档,确保代码符合项目规范。
## 📝 许可证
本项目采用MIT许可证 - 详见LICENSE文件
## 💡 致谢
感谢所有为项目提供灵感和支持的开发者!
yangrong +qiweb3
---
**更新时间**:2025年9月
**版本**:v1.2.3