saasplayground/support-tickets

为您的 Laravel 应用提供支持票据

0.0.4 2023-12-04 12:36 UTC

This package is auto-updated.

Last update: 2024-09-04 19:35:23 UTC


README

Latest Version on Packagist Total Downloads GitHub Actions

支持票据包采用 API 优先方法。它提供了一个简单易用的 API,将支持票据添加到您的 Laravel 应用中。支持 Laravel 8 及以上版本。

安装

您可以通过 composer 安装此包

composer require saasplayground/support-tickets

然后发布 config 文件

php artisan vendor:publish --tag=support-tickets-config

最后运行迁移命令

php artisan migrate

使用方法

用户设置和 API

为了启用用户打开票据,请将 InteractsWithTickets 特性添加到您的 User 模型中。

use InteractsWithTickets;

InteractsWithTickets 方法

  • openTicket:打开新的支持票据。
  • postMessageOnTicket:在现有票据上发布新消息。
  • tickets:获取用户拥有的票据。可以在其上链查询构建器方法。

openTicket 方法Ticket

返回 Ticket 模型的一个实例。

期望以下参数

  • data:包含标题、消息、优先级、来源的数组
  • relations:(可选) 关系数组;支持添加 labelscategories

postMessageOnTicket 方法Ticket

返回 Ticket 模型的一个实例。

期望以下参数

  • ticket:票据模型
  • message:要发布的消息
  • user:(可选) 将附加到消息的 idmodel

票据设置和 API

默认情况下,Ticket 模型不需要任何设置,但如果您正在扩展它,请确保在配置文件中的 models 下更新相应的值。

票据模型方法

  • syncCategories:处理实体类别的添加和删除。
  • addCategories:向实体添加类别。
  • detachCategories:从实体中移除给定的类别。
  • categories:属于模型的类别。可以在其上链查询构建器方法。
  • syncLabels:处理实体标签的添加和删除。
  • addLabels:向实体添加标签。
  • detachLabels:从实体中移除给定的标签。
  • labels:属于模型的标签。可以在其上链查询构建器方法。
  • addMessage:向实体添加消息。
  • detachMessages:从实体中移除一组消息或所有消息。
  • messages:属于模型的消息。可以在其上链查询构建器方法。
  • postMessageAsAgent:以代理身份发布消息。
  • assignAgent:将代理分配给票据。

syncCategoriesvoid

期望以下参数

  • categories:id 数组、int 或集合(模型实例)

addCategoriesvoid

期望以下参数

  • categories:id 数组、int 或集合(模型实例)

detachCategoriesvoid

期望以下参数

  • categories:id 数组、int 或集合(模型实例)

categoriesCollection

返回 Category 模型的集合或查询构建器实例。

syncLabelsvoid

期望以下参数

  • labels:id 数组、int 或集合(模型实例)

addLabelsvoid

期望以下参数

  • labels:id 数组、int 或集合(模型实例)

detachLabelsvoid

期望以下参数

  • labels:id 数组、int 或集合(模型实例)

labelsCollection

返回 Label 模型的集合或查询构建器实例。

addMessagefalseMessage

如果无法解析用户或无法创建消息,则返回 false,否则返回消息模型实例

期望以下参数

  • body:包含消息的 string
  • user:(可选) 用户 idModelnull(当为 null 时,默认值为票据的用户 id)

detachMessagesvoid

期望以下参数

  • messages:(可选) id 数组、模型 id 或集合(模型实例)

未传递值时删除所有消息。

messages: 集合

返回一个 Message 模型的集合或查询构建器实例。

postMessageAsAgent: falseMessage

如果无法解析用户或无法创建消息,则返回 false,否则返回消息模型实例

期望以下参数

  • message: 包含消息体的 string

assignAgent: falseTicket

如果无法解析用户,则返回 false,否则返回 Ticket 模型实例以进行更多操作。

期望以下参数

  • value: intUser 模型实例。

配置

请参阅已发布的 support-tickets 配置文件以获取可用选项。

注意:在修改配置文件时,请确保始终设置 userstablesmodels 的值。

大多数默认设置都已设置为与基本 Laravel 应用程序结构相匹配,因此无需大量修改配置文件。

测试

composer test

更新日志

请参阅 更新日志 以获取有关最近更改的更多信息。

贡献

请参阅 贡献指南 以获取详细信息。

安全

如果您发现任何安全相关的问题,请通过电子邮件 miracuthbert@gmail.com 而不是使用问题跟踪器。

鸣谢

许可

GNU GPLv3。请参阅 许可文件 以获取更多信息。