承接 karnoweb/laravel-ticket-chat 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

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

karnoweb/laravel-ticket-chat

Composer 安装命令:

composer require karnoweb/laravel-ticket-chat

包简介

A comprehensive ticketing and messaging system for Laravel applications

README 文档

README

A powerful ticketing and messaging system for Laravel applications.

Features

  • Ticket System – Support ticket management with status, priority, departments
  • Direct Messages – One-on-one conversations
  • Group Chat – Multi-user conversations
  • Channels – Broadcast-style channels
  • Departments – Organize tickets by department with agents
  • Attachments – File upload support
  • Real-time – Broadcasting (Reverb/Pusher) support
  • SLA – Service level agreements (optional)
  • CSAT – Customer satisfaction ratings
  • Tags – Label and organize tickets
  • Canned Responses – Pre-defined reply templates
  • Internal Notes – Private agent notes

Requirements

  • PHP 8.3+
  • Laravel 13.x

Installation

# Laravel 13
composer require karnoweb/laravel-ticket-chat:^13.0

# Laravel 10–12
composer require karnoweb/laravel-ticket-chat:^2.0

Run the install command:

php artisan ticket-chat:install

Or manually:

php artisan vendor:publish --tag=ticket-chat-config
php artisan vendor:publish --tag=ticket-chat-migrations
php artisan migrate

Configuration

Add the traits to your User model:

<?php

namespace App\Models;

use Illuminate\Foundation\Auth\User as Authenticatable;
use Karnoweb\TicketChat\Traits\HasTickets;
use Karnoweb\TicketChat\Traits\HasConversations;
use Karnoweb\TicketChat\Traits\CanBeDepartmentAgent;

class User extends Authenticatable
{
    use HasTickets, HasConversations, CanBeDepartmentAgent;
}

Usage

Create a ticket

use Karnoweb\TicketChat\Facades\Ticket;

$ticket = Ticket::create([
    'title' => 'Need help',
    'description' => 'Description here',
    'created_by' => auth()->id(),
    'department_id' => 1,
    'priority' => 'high',
    'branch_id' => 1,  // optional (v2 multi-branch)
]);

Multi-branch support (v2)

When features.multi_branch is enabled, you can scope tickets and conversations by branch:

  • Creating: Pass branch_id in the ticket data array, or as the last argument to Chat::directTo(), Chat::createGroup(), and Chat::createChannel().
  • Listing: Use the optional $branchId parameter on Ticket::forUser(), Ticket::forAgent(), Ticket::forDepartment(), Ticket::findByTicketNumber(), Chat::getConversationsForUser(), and Chat::getChannelsForUser().
  • Unread count: Ticket::unreadCount($userId, null, $branchId) and Chat::unreadCount($userId, null, $branchId) restrict the count to conversations in that branch.

If branch_id / $branchId is omitted, behaviour is unchanged (all data).

Default branch: When general.default_branch_id is set (e.g. via TICKET_CHAT_DEFAULT_BRANCH_ID), all creates and reads use that branch automatically when no branch is passed. Set it in config/ticket-chat.php or your .env to always scope to one branch without passing $branchId everywhere.

Reply to a ticket

Ticket::reply($ticket, auth()->id(), 'Your message here');

Direct message

use Karnoweb\TicketChat\Facades\Chat;

$conversation = Chat::directTo(auth()->id(), $otherUserId, 'Hello!');

Send message

Chat::sendMessage($conversation, auth()->id(), 'Message text');

Artisan Commands

  • php artisan ticket-chat:install – Install the package
  • php artisan ticket-chat:auto-close – Auto-close inactive tickets
  • php artisan ticket-chat:cleanup-attachments – Clean old/orphaned attachments
  • php artisan ticket-chat:sla-warnings – Send SLA breach warnings

Documentation

مستندات کامل استفاده (فارسی) در فایل docs/USAGE.md قرار دارد و شامل موارد زیر است:

  • نصب و راه‌اندازی
  • پیکربندی کامل
  • سیستم تیکت (ایجاد، پاسخ، وضعیت، اولویت، تخصیص، انتقال)
  • سیستم چت (دایرکت، گروه، کانال)
  • دپارتمان‌ها و اپراتورها
  • پیوست‌ها و فایل‌ها
  • تگ و برچسب
  • پاسخ‌های آماده (Canned Responses)
  • رضایت‌سنجی (CSAT)
  • SLA و زمان پاسخگویی
  • آمار و گزارشات
  • جستجو و فیلتر
  • Real-time و Broadcasting
  • نوتیفیکیشن‌ها
  • دستورات Artisan
  • مثال‌های کاربردی (API Controller مشتری، API Controller اپراتور، Livewire)
  • بهترین شیوه‌ها
  • خلاصه متدها و کلاس‌ها

License

MIT

karnoweb/laravel-ticket-chat 适用场景与选型建议

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

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

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

围绕 karnoweb/laravel-ticket-chat 我们能提供哪些服务?
定制开发 / 二次开发

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

BUG 修复 & 性能优化

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

项目外包 & 长期维护

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

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

统计信息

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

GitHub 信息

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

其他信息

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