定制 crumbls/helpdesk 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

crumbls/helpdesk

Composer 安装命令:

composer require crumbls/helpdesk

包简介

HelpDesk Package for Laravel.

README 文档

README

A helpdesk and ticket management package for Laravel. Provides a complete REST API for managing tickets, priorities, statuses, departments, and ticket types.

Beta Status

This package is in active development. While core API functionality is working and tested, please note:

  • APIs are subject to change
  • Not recommended for production use without thorough testing
  • Breaking changes may occur between releases
  • Some features (custom fields, topics) are not yet implemented

Features

  • REST API with full CRUD for all resources
  • Content negotiation -- responds with JSON or XML based on Accept header
  • Config-driven models -- swap any model class via config
  • Soft deletes on all resources
  • Policy support -- optional, per-resource authorization via Laravel policies
  • Auto-calculated foreground colors from background hex via the HasColors trait

Requirements

  • PHP 8.0+
  • Laravel 9.0, 10.0, 11.0, or 12.0

Installation

composer require crumbls/helpdesk

The service provider is auto-discovered. Run migrations:

php artisan migrate

To publish the config file:

php artisan vendor:publish --provider="Crumbls\HelpDesk\HelpDeskServiceProvider"

Configuration

After publishing, configure your helpdesk in config/helpdesk.php:

return [
    'api' => [
        'enabled' => true,
        'route-prefix' => 'api/helpdesk',
        'middleware' => ['web'],

        'department'  => ['usePolicy' => false],
        'priority'    => ['usePolicy' => false],
        'status'      => ['usePolicy' => false],
        'ticket'      => ['usePolicy' => false],
        'ticket_type' => ['usePolicy' => false],
    ],
];

Options

Key Description Default
api.enabled Enable or disable the API entirely true
api.route-prefix URL prefix for all API routes api/helpdesk
api.middleware Middleware applied to all API routes ['web']
api.{resource}.usePolicy Enable policy authorization per resource false

Swappable Models

Override any model class via config/helpdesk.php:

'models' => [
    'department'   => \App\Models\CustomDepartment::class,
    'priority'     => \App\Models\CustomPriority::class,
    'status'       => \App\Models\CustomTicketStatus::class,
    'ticket'       => \App\Models\CustomTicket::class,
    'type'         => \App\Models\CustomTicketType::class,
],

API Endpoints

All endpoints are prefixed with your configured route-prefix (default: /api/helpdesk).

Resource Endpoint Methods
Departments /departments GET, POST, GET/:id, PUT/:id, DELETE/:id
Priorities /priorities GET, POST, GET/:id, PUT/:id, DELETE/:id
Statuses /statuses GET, POST, GET/:id, PUT/:id, DELETE/:id
Tickets /tickets GET, POST, GET/:id, PUT/:id, DELETE/:id
Types /types GET, POST, GET/:id, PUT/:id, DELETE/:id

A GET / endpoint lists all available API routes.

Quick Example

curl -X POST http://localhost/api/helpdesk/priorities \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"title": "Critical", "color_background": "#EF4444", "level": 5}'

XML Responses

Set the Accept header to receive XML instead of JSON:

curl -X GET http://localhost/api/helpdesk/priorities/1 \
  -H "Accept: application/xml"

API Documentation

Detailed API documentation with curl examples for each endpoint:

Testing

composer test:unit

Or run just the Pest tests directly:

./vendor/bin/pest

Roadmap

  • REST API for tickets, priorities, statuses, departments, types
  • JSON and XML content negotiation
  • Config-driven model swapping
  • Soft deletes
  • Custom fields
  • Topics
  • Email integration
  • Frontend client portal
  • Automated ticket routing
  • SLA management
  • Knowledge base
  • Webhook support

License

This package is open-sourced software licensed under the MIT license.

Credits

Support

  1. Check the API documentation
  2. Search existing issues
  3. Open a new issue if needed

As this is beta software, support is limited and response times may vary.

crumbls/helpdesk 适用场景与选型建议

crumbls/helpdesk 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 0 次下载、GitHub Stars 达 1, 最近一次更新时间为 2026 年 02 月 06 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「laravel」 「Settings」 「Crumbls」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 crumbls/helpdesk 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 crumbls/helpdesk 我们能提供哪些服务?
定制开发 / 二次开发

基于 crumbls/helpdesk 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 0
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 22
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-02-06