一、易联云文档
https://www.kancloud.cn/ly6886/oauth-api/3270865
sdk下载:https://gitee.com/qzm123/yilianyun-php-sdk
二、代码实现
<?php
namespace app\index\controller;
use think\Cache;
use think\ Controller;
use think\ Db;
use think\Log;
use think\Request;
use think\Session;
use App\Api\PrinterService;
use App\Api\PrintService;
use App\Config\YlyConfig;
use App\Oauth\YlyOauthClient;
include_once EXTEND_PATH . "yilianyun-php-sdk-master/Lib/Autoloader.php";
class Api extends Controller
{
//调用打印机
public function callPrint()
{
//初始化配置
$config = new YlyConfig('****', '****'); //易联云创建应用 获取应用id和应用密钥
//获取token 需要存储到数据库 每24小时获取一次
$client = new YlyOauthClient($config);
$token = $client->getToken(); //若是开放型应用请传授权码code
var_dump($token);
//授权打印机(自有型应用使用,开放型应用请跳过该步骤)
$printer = new PrinterService($token->access_token, $config);
//机器的key 和密钥
$data = $printer->addPrinter('***', '****', '机器昵称也可不填', 'gprs卡号没有可不填');
var_dump($data);
//调取文本打印
$print = new PrintService($token->access_token, $config);
$content = $this->getText(uniqid());
$data = $print->index('4004581302', $content, '123456');
var_dump($data);
}
//打印机日志
private function printerLog($content)
{
$data['content'] = $content;
$data['create_time'] = date("Y-m-d H:i:s");
Db::name("print_log")->insertGetId($data);
}
private function getText($order)
{
$content = "<FS2><center>**#1 美团**</center></FS2>";
$content .= str_repeat('.', 32);
$content .= "<FS2><center>--在线支付--</center></FS2>";
$content .= "<FS><center>张周兄弟烧烤</center></FS>";
$content .= "订单时间:". date("Y-m-d H:i") . "\n";
$content .= "订单编号:40807050607030\n";
$content .= str_repeat('*', 14) . "商品" . str_repeat("*", 14);
$content .= "<table>";
$content .= "<tr><td>烤土豆(超级辣)</td><td>x3</td><td>5.96</td></tr>";
$content .= "<tr><td>烤豆干(超级辣)</td><td>x2</td><td>3.88</td></tr>";
$content .= "<tr><td>烤鸡翅(超级辣)</td><td>x3</td><td>17.96</td></tr>";
$content .= "<tr><td>烤排骨(香辣)</td><td>x3</td><td>12.44</td></tr>";
$content .= "<tr><td>烤韭菜(超级辣)</td><td>x3</td><td>8.96</td></tr>";
$content .= "</table>";
$content .= str_repeat('.', 32);
$content .= "<QR>这是二维码内容</QR>";
$content .= "小计:¥82\n";
$content .= "折扣:¥4 \n";
$content .= str_repeat('*', 32);
$content .= "订单总价:¥78 \n";
$content .= "<FS2><center>**#1 完**</center></FS2>";
return $content;
}
}