6.1 KiB
6.1 KiB
全能查询功能实现说明
功能概述
实现了一个完整的工具查询系统,包含11个实用工具,用户可以通过首页点击工具进行查询。
后端实现
1. 配置和类型定义
配置文件更新
config/config.go: 添加了TianxingjuheConfig结构体和Tianxingjuhe字段etc/main.yaml和etc/main.dev.yaml: 添加了天行聚合API配置
类型定义
types/types.go: 添加了工具相关类型ToolInfo: 工具信息结构ToolboxListResp: 工具列表响应ToolboxQueryReq: 工具查询请求ToolboxQueryResp: 工具查询响应
2. 天行聚合API客户端
文件结构
service/tianxingjuhe_sdk/client.go: 天行聚合API客户端实现
功能特性
- 支持GET和POST请求
- 自动添加API密钥
- 统一的响应处理
- 错误处理机制
3. 工具箱服务
文件结构
service/toolboxService.go: 工具箱服务核心实现
工具列表(11个工具)
-
IP地址查询 (ip-location)
- 查询IP地址归属地、运营商等信息
- 支持ipv4和ipv6
- 内网IP自动识别
-
身份证归属地 (idcard-info)
- 查询身份证归属地、性别、出生日期等信息
- 校验身份证有效性
- 计算年龄
-
手机号归属地 (phone-location)
- 查询手机号码归属地、运营商等信息
-
北京时间查询 (beijing-time)
- 获取当前北京时间
- 不需要输入参数
-
银行卡识别 (bank-card)
- 识别银行卡发卡行与卡种
-
车牌号解析 (plate-parse)
- 解析车牌类型与归属地
-
金额大写转换 (money-to-chinese)
- 阿拉伯数字转中文大写金额
-
密码强度检测 (password-strength)
- 检测密码安全性并给出建议
-
日期间隔计算 (days-between-dates)
- 计算两个日期相差的天数
-
文件大小格式化 (file-size-format)
- 字节数转为 KB / MB / GB
-
文本字数统计 (text-stats)
- 统计字符数、单词数、行数
4. API接口
路由配置
handler/routes.go: 添加了工具箱相关路由GET /api/v1/toolbox/list: 获取工具列表POST /api/v1/toolbox/query: 执行工具查询
Handler实现
handler/toolbox/toolboxlisthandler.go: 工具列表接口handler/toolbox/toolboxqueryhandler.go: 工具查询接口
Logic实现
logic/toolbox/toolboxlistlogic.go: 工具列表业务逻辑logic/toolbox/toolboxquerylogic.go: 工具查询业务逻辑
5. 服务上下文注册
文件更新
svc/servicecontext.go:- 导入天行聚合SDK包
- 添加
TianxingjuheService字段 - 初始化天行聚合客户端实例
- 注册到服务上下文
前端实现
1. 工具配置
文件结构
config/toolboxRegistry.js: 工具配置注册表
配置内容
每个工具配置包含:
key: 工具唯一标识name: 工具名称desc: 工具描述icon: 图标类名(使用carbon图标库)fields: 输入字段配置validate: 表单验证函数validateMsg: 验证失败提示信息resultLabels: 结果展示字段映射
2. 首页集成
文件更新
pages/index.vue:- 添加了"全能查询"卡片
- 显示所有11个工具
- 点击工具跳转到查询页面
- 添加了自定义图标样式
3. 工具查询页面
文件结构
pages/toolbox/query.vue: 工具查询页面
功能特性
- 动态表单生成(支持text、digit、date、textarea等类型)
- 表单验证
- 自动查询(无需输入参数的工具)
- 结果展示
- 错误处理
- 加载状态
支持的字段类型
text: 普通文本输入digit: 数字输入idcard: 身份证号输入date: 日期选择器textarea: 多行文本输入
4. API调用
文件结构
api/toolbox.js: 工具箱API封装
接口函数
postToolboxQuery(toolKey, params): 执行工具查询
使用流程
用户使用流程
- 打开首页
- 看到"全能查询"卡片
- 点击任意工具图标
- 跳转到工具查询页面
- 填写表单(如需)
- 点击"立即查询"按钮
- 查看查询结果
数据流程
- 前端调用
/api/v1/toolbox/list获取工具列表 - 用户选择工具后调用
/api/v1/toolbox/query执行查询 - 后端根据 toolKey 分发到对应的处理函数
- 处理函数执行查询逻辑(可能调用第三方API)
- 返回查询结果
- 前端展示结果
技术特点
后端特点
- 统一的工具接口设计
- 工具处理器注册表模式
- 灵活的参数传递(map[string]interface{})
- 完善的错误处理
- 支持第三方API集成(天行聚合)
前端特点
- 动态表单生成
- 类型安全的TypeScript
- 响应式UI设计
- 统一的错误处理
- 良好的用户体验
扩展指南
添加新工具
后端步骤
- 在
toolboxService.go中添加处理函数 - 在
toolProcessors映射中注册新工具 - 在
ListTools()方法中添加工具信息
前端步骤
- 在
toolboxRegistry.js中添加工具配置 - 定义字段配置和验证规则
- 定义结果展示字段映射
注意事项
- API密钥管理: 天行聚合API的密钥已配置,请在生产环境中使用真实的API密钥
- 错误处理: 所有工具都有完善的错误处理机制
- 表单验证: 前端和后端都有验证,确保数据安全
- 性能优化: 工具查询响应时间已优化,建议在3秒内完成
- 用户体验: 无需输入参数的工具会自动查询,提升用户体验
测试建议
- 测试每个工具的输入验证
- 测试错误处理(如格式错误的输入)
- 测试网络异常情况
- 测试边界情况(如最大长度、特殊字符等)
- 测试响应速度
部署检查清单
- 配置文件中的API密钥已更新为生产环境密钥
- 天行聚合API客户端已正确初始化
- 所有工具路由已正确注册
- 前端工具配置已同步更新
- 表单验证规则已测试通过
- 错误处理已测试
- 性能测试已通过