| 1234567891011121314151617181920212223242526272829303132333435363738 |
- <?php
- namespace addon\printer\data\sdk\yilianyun\api;
- use addon\printer\model\Printer;
- use think\Exception;
- class PrintService extends RpcService
- {
- /**
- * 打印接口
- *
- * @param $machineCode string 机器码
- * @param $content string 打印内容
- * @param $originId string 商户系统内部订单号,要求32个字符内,只能是数字、大小写字母
- * @return mixed
- */
- public function index($machineCode, $content, $originId, $printer = [])
- {
- $res = $this->client->call('print/index', array ( 'machine_code' => $machineCode, 'content' => $content, 'origin_id' => $originId ));
- if (is_null($res)) {
- throw new Exception("invalid response.");
- }
- if ($res->error == 18 && $printer) {
- $printer_model = new Printer();
- $config = new YlyConfig($printer[ 'open_id' ], $printer[ 'apikey' ]);
- $access_token = $printer_model->getYlyToken($config, $printer[ 'site_id' ], 1);
- $this->index($machineCode, $content, $originId, []);
- }
- if (isset($res->error) && $res->error != 0) {
- $errorDescription = isset($res->body) ? $res->error_description . $res->body : $res->error_description;
- throw new Exception('Call method print/index error code is ' . $res->error . ' error message is ' . $errorDescription);
- }
- }
- }
|