Skip to content

Instantly share code, notes, and snippets.

@lltx
Created August 21, 2025 07:12
Show Gist options
  • Select an option

  • Save lltx/ab05266b1414a74e935ab17ffd796858 to your computer and use it in GitHub Desktop.

Select an option

Save lltx/ab05266b1414a74e935ab17ffd796858 to your computer and use it in GitHub Desktop.
gist from mcp-server-gist

商业版信息查询组件实现说明

概述

参考 form4.md 中的 InfoQuery 组件,使用 shadcn-vue 组件库实现了商业版信息查询表单,保持了与原组件完全一致的字段和接口。

主要特性

🔧 核心功能

  • ✅ 私服账号输入(必填)
  • ✅ 验证码输入(必填)和获取验证码功能
  • ✅ 60秒倒计时防重复发送
  • ✅ 表单验证和错误提示
  • ✅ 查询授权信息功能
  • ✅ 结果对话框展示
  • ✅ 通知消息系统
  • ✅ 重置表单功能

🎨 UI/UX 特性

  • ✅ 响应式设计,支持移动端
  • ✅ 深色模式支持
  • ✅ 加载状态和动画效果
  • ✅ 流畅的微交互
  • ✅ 无障碍访问(A11y)
  • ✅ 现代化的设计语言

🔗 API 接口

保持与原组件完全一致:

  1. 获取验证码接口

    GET https://pay.pig4cloud.com/enterprise/code?username={username}
    
  2. 查询授权信息接口

    GET https://pay.pig4cloud.com/enterprise/query?username={username}&code={code}
    

📱 技术栈

  • Vue 3 + Composition API + TypeScript
  • shadcn-vue UI 组件库
  • Tailwind CSS 样式系统
  • Lucide Vue Next 图标库
  • Vue Router 路由管理

使用方法

1. 路由访问

访问 /query-auth 路径即可使用该功能

2. 导航菜单

在顶部导航栏 "文档" -> "商业版信息查询" 可以访问

3. 操作流程

  1. 输入私服账号
  2. 点击"验证码"按钮获取验证码
  3. 输入收到的验证码
  4. 点击"查询授权信息"按钮
  5. 查看弹出的结果对话框

文件结构

src/
├── views/data/other/
│   └── query-auth.vue          # 主组件文件
├── router/
│   └── index.ts                # 添加了路由配置
└── components/
    └── Header.vue              # 添加了导航链接

组件质量

经过 shadcn-vue 质量检查工具验证,组件在以下方面表现优秀:

  • ✅ 无障碍访问性 (A11y)
  • ✅ 性能优化
  • ✅ 设计系统一致性
  • ✅ 代码可维护性
  • ✅ 开发者体验

开发建议

  1. 本地开发: 运行 pnpm dev 启动开发服务器
  2. 构建生产: 运行 pnpm build 构建生产版本
  3. 预览: 运行 pnpm preview 预览构建结果

特色亮点

🎯 完美复刻

  • 与原 InfoQuery 组件功能 100% 一致
  • API 接口调用方式保持不变
  • 用户交互流程完全相同

🚀 现代化升级

  • 使用 Vue 3 + TypeScript 提供更好的类型安全
  • 采用 shadcn-vue 组件库提供更好的用户体验
  • 支持深色模式和响应式设计
  • 更流畅的动画和交互效果

🔒 安全性增强

  • 输入数据进行 URL 编码
  • 错误处理更加完善
  • 内存泄漏防护(定时器清理)

📈 可维护性

  • 代码结构清晰,易于维护
  • TypeScript 类型定义完整
  • 组件化设计,便于复用
  • 遵循 Vue 3 最佳实践

这个实现不仅保持了原有功能的完整性,还提供了更现代化、更优雅的用户体验。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment