lukehowland/helpdeskwidget
Composer 安装命令:
composer require lukehowland/helpdeskwidget
包简介
Widget embebible para integrar Helpdesk en proyectos Laravel externos
README 文档
README
Widget embebible para integrar el sistema de tickets de Helpdesk en proyectos Laravel externos.
✨ Características
- 🔐 Autenticación automática/manual con Helpdesk
- 📱 Widget responsive embebido en iframe
- 🎨 Compatible con AdminLTE v3
- 🔧 Comando de instalación incluido
- 📐 Altura dinámica via postMessage
📋 Requisitos
- PHP 8.2+
- Laravel 11.x o 12.x
- Guzzle HTTP Client
🚀 Instalación
1. Instalar el paquete
composer require lukehowland/helpdeskwidget
2. Ejecutar el instalador
php artisan helpdeskwidget:install
Este comando:
- ✅ Publica
config/helpdeskwidget.php - ✅ Crea
resources/views/helpdesk.blade.php - ✅ Agrega ruta
/helpdeskaroutes/web.php - ✅ Muestra instrucciones para AdminLTE
3. Configurar variables de entorno
Añade estas líneas a tu archivo .env:
HELPDESK_API_URL=https://proyecto-de-ultimo-minuto.online HELPDESK_API_KEY=tu-api-key-aqui
Nota: El API Key es proporcionado por el administrador de Helpdesk cuando registra tu empresa.
4. Limpiar caché
php artisan config:clear
5. ¡Listo!
Visita /helpdesk en tu navegador.
🛠️ Opciones del Instalador
# Instalación básica php artisan helpdeskwidget:install # Sobrescribir archivos existentes php artisan helpdeskwidget:install --force # No agregar ruta automáticamente php artisan helpdeskwidget:install --skip-route # No mostrar instrucciones de AdminLTE php artisan helpdeskwidget:install --skip-adminlte
📦 Uso Manual (sin instalador)
En cualquier vista Blade
{{-- Uso básico --}} <x-helpdesk-widget /> {{-- Con parámetros personalizados --}} <x-helpdesk-widget height="800px" width="100%" :border="true" />
Publicar configuración manualmente
php artisan vendor:publish --tag=helpdeskwidget-config
🎨 Integración con AdminLTE v3
El instalador crea automáticamente la vista y la ruta, pero debes agregar manualmente el enlace en el sidebar.
Paso 1: Agregar "Centro de Soporte" al sidebar
Abre config/adminlte.php y busca el array 'menu' => [. Al final del array (antes del cierre ]), agrega:
// Encabezado de sección ['header' => 'SOPORTE'], // Elemento del menú [ 'text' => 'Centro de Soporte', // Texto que se muestra en el sidebar 'url' => 'helpdesk', // Ruta creada por el instalador 'icon' => 'fas fa-fw fa-headset', // Icono FontAwesome ],
Paso 2: Limpiar caché
php artisan config:clear
¡Listo! Ahora verás "Centro de Soporte" en el sidebar de AdminLTE.
⚙️ Configuración Avanzada
Archivo: config/helpdeskwidget.php
return [ // URL del servidor Helpdesk 'api_url' => env('HELPDESK_API_URL', 'https://helpdesk.example.com'), // API Key de tu empresa 'api_key' => env('HELPDESK_API_KEY', ''), // Dimensiones del iframe 'iframe_height' => env('HELPDESK_WIDGET_HEIGHT', '600px'), 'iframe_width' => env('HELPDESK_WIDGET_WIDTH', '100%'), 'iframe_border' => env('HELPDESK_WIDGET_BORDER', false), // Cache de tokens (en minutos) 'token_cache_ttl' => env('HELPDESK_TOKEN_CACHE_TTL', 55), // Debug mode 'debug' => env('HELPDESK_DEBUG', false), ];
🔄 Flujo de Autenticación
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Tu Proyecto │────▶│ Widget Package │────▶│ Helpdesk │
│ (auth user) │ │ (API calls) │ │ (API + View) │
└─────────────────┘ └──────────────────┘ └─────────────────┘
- Usuario detectado: Lee
auth()->user()para obtener email y nombre - Verificación: Consulta a Helpdesk si el usuario ya tiene cuenta
- Login automático: Si existe, obtiene token JWT
- Registro: Si no existe, muestra formulario para crear contraseña
- Widget: Muestra la interfaz de tickets
🔧 Personalización del Modelo User
El componente busca automáticamente estos atributos en tu modelo User:
// Intentos en orden: $user->first_name $user->name // Separa por espacios $user->profile->first_name // Si existe relación
Si tu modelo tiene atributos diferentes, puedes extender el componente:
// app/View/Components/CustomHelpdeskWidget.php namespace App\View\Components; use Lukehowland\HelpdeskWidget\View\Components\HelpdeskWidget; class CustomHelpdeskWidget extends HelpdeskWidget { protected function getUserFirstName($user): string { return $user->primer_nombre; // Tu atributo personalizado } protected function getUserLastName($user): string { return $user->apellido; } }
🐛 Solución de Problemas
"API Key inválida"
- Verifica que
HELPDESK_API_KEYesté en tu.env - Confirma que tu empresa esté registrada en Helpdesk
"Widget no carga"
- Ejecuta
php artisan config:clear - Verifica la URL en
HELPDESK_API_URL
"Error de CORS"
- El servidor Helpdesk debe permitir tu dominio
- Contacta al administrador de Helpdesk
"X-Frame-Options error"
- El servidor Helpdesk necesita permitir iframes
- Esto se configura en el servidor, no en tu proyecto
📄 Licencia
MIT License - Ver LICENSE
🤝 Soporte
- 📧 Email: lukqs05@gmail.com
- 🐛 Issues: GitHub Issues
lukehowland/helpdeskwidget 适用场景与选型建议
lukehowland/helpdeskwidget 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 179 次下载、GitHub Stars 达 1, 最近一次更新时间为 2025 年 12 月 11 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「support」 「laravel」 「widget」 「tickets」 「helpdesk」 「AdminLTE」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 lukehowland/helpdeskwidget 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 lukehowland/helpdeskwidget 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 lukehowland/helpdeskwidget 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Yii2 LightBox image galary widget uses Lightbox v2.10.0 by Lokesh Dhakar
Add a weather widget to Flarum
a simple toolkit for social networks
ARCANEDEV Support Helpers
Yii2 prettyPhoto image galary widget uses Lightbox view control jquery.prettyphoto.js
Yii2 DynaTree Menu widget uses Dynamic tree view control jquery.dynatree.js
统计信息
- 总下载量: 179
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 14
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-12-11