高扩展性云小票打印SDK,支持飞鹅云、芯烨云、易联云、快递100、映美云、佳博云、中午云、优声云等主流云打印服务,兼容 Laravel、ThinkPHP 等主流框架,统一API,易集成,易扩展。
leapfu/cloud-printer is a Laravel package for 高扩展性云小票打印sdk,支持飞鹅云、芯烨云、易联云、快递100、映美云、佳博云、中午云、优声云等主流云打印服务,兼容 laravel、thinkphp 等主流框架,统一api,易集成,易扩展。.
It currently has 10 GitHub stars and 5.306 downloads on Packagist (latest version 1.0.0).
Install it with composer require leapfu/cloud-printer.
Discover more Laravel packages by leapfu
or browse all Laravel packages to compare alternatives.
Last updated
Cloud Printer 是一款高扩展性、易集成的 PHP 云小票打印 SDK,统一封装了飞鹅云、芯烨云、易联云、快递 100、映美云、佳博云、中午云、优声云等主流云打印服务,支持多驱动切换、主流框架集成、灵活配置和完善的异常处理。
composer require leapfu/cloud-printer
use Leapfu\CloudPrinter\CloudPrinter;
$config = [
// 默认打印机类型
'default' => 'feie',
// 缓存配置
'cache_path' => __DIR__ . '/../cache',
// 日志目录
'log_path' => __DIR__ . '/../logs',
// HTTP客户端配置
'http' => [
'timeout' => 30, // 请求超时时间(秒)
'connect_timeout' => 10, // 连接超时时间(秒)
'verify' => true, // 是否验证SSL证书
],
// 打印机配置
'drivers' => [
// 飞鹅云打印
'feie' => [
'user' => '', // 飞鹅云后台注册的账号
'ukey' => '', // 飞鹅云后台生成的UKEY
],
// 易联云打印
'yilian' => [
'client_id' => '', // 易联云应用ID
'client_secret' => '', // 易联云应用密钥
],
// 芯烨云打印
'xpyun' => [
'user' => '', // 芯烨云账号
'user_key' => '', // 芯烨云用户密钥
],
// 快递100云打印
'kuaidi100' => [
'key' => '', // 快递100应用key
'secret' => '', // 快递100应用密钥
],
// 优声云打印
'usheng' => [
'app_id' => '', // 优声云应用key
'app_secret' => '', // 优声云应用密钥
],
// 中午云打印
'zhongwu' => [
'app_id' => '', // 中午云应用key
'app_secret' => '', // 中午云应用密钥
],
// 佳博云打印
'poscom' => [
'api_key' => '', // 接口密钥
'member_code' => '', // 商户编码
],
// 映美云打印
'jolimark' => [
'app_id' => '', // 映美云应用ID
'app_secret' => '', // 映美云应用密钥
],
// 自定义驱动
'custom' => [
'class' => '', // 驱动类的class, 须继承 Leapfu\CloudPrinter\Drivers\BaseDriver类,
'key' => '', // 自定义应用key
'secret' => '', // 自定义应用密钥
],
],
];
$printer = new CloudPrinter($config);
// 使用默认打印机
$result = $printer->driver()->print([
'content' => '测试内容',
'sn' => '打印机SN',
'copies' => 1
]);
// 指定打印机类型
$result = $printer->driver('feie')->print([
'content' => '内容',
'sn' => 'SN',
'copies' => 1
]);
// 直接调用打印机方法(动态代理)
$result = $printer->print([
'content' => '内容',
'sn' => 'SN',
'copies' => 1
]);
if ($result['success']) {
echo '打印成功';
} else {
echo '打印失败:' . $result['message'];
}
所有驱动都实现 print 方法,参数为数组(如 ['content' => '内容', 'sn' => 'SN', 'copies' => 1]),返回统一格式。其他高级功能请查阅对应驱动扩展方法文档。
自动注册(支持 Laravel Package Discovery,无需手动配置)
发布配置文件(可选)
php artisan vendor:publish --provider="Leapfu\\CloudPrinter\\Laravel\\CloudPrinterServiceProvider" --tag=config
门面调用
use CloudPrinter;
CloudPrinter::driver()->print([
'content' => '内容',
'sn' => 'SN',
'copies' => 1
]);
容器调用
$printer = app(Leapfu\CloudPrinter\CloudPrinter::class);
$printer->driver()->print([
'content' => '内容',
'sn' => 'SN',
'copies' => 1
]);
在 config/cloudprint.php 配置参数。
使用:
app('cloud_printer')->driver()->print([
'content' => '内容',
'sn' => 'SN',
'copies' => 1
]);
如需服务注册模板,可参考
src/ThinkPHP/provider.php。
如有商务合作、定制开发、技术支持等需求,欢迎通过以上方式联系我们。