PHP易联云打印机实现打印小票

开发文档地址:开发文档地址
各编程语言SDK:
pythonSDK
phpSDK
javaSDK
goSDK
C#SDK
nodejsSDK

本文档用PHP语言,简要说明使用方式
首先下载php的SDK,放到extend目录下,修改各个文件的命名空间
PHP易联云打印机实现打印小票_第1张图片
PHP易联云打印机实现打印小票_第2张图片
其余的内容暂时不需要改
接下来创建model文件,放在common\model目录下,代码如下




namespace app\common\model;


use prints\Api\PrinterService;
use prints\Api\PrintService;
use prints\Config\YlyConfig;
use prints\Oauth\YlyOauthClient;
use think\Db;
use think\Exception;

class YLPrint
{
   
    //调用打印机
    public function callPrint($content)
    {
   
        $config = Db::name('print_config')->find();

        $app_id = $config['app_id'];
        $app_secret = $config['app_secret'];
        $terminal_no = $config['terminal_no'];
        $terminal_secret = $config['terminal_secret'];

        $map[] = ['time','gt', time()];
        //由于每日只有20次机会获取授权,因此要access_token存到表中,当过期时间大于当前时间,可以直接使用,否则就更新
        $print_token = Db::name("print_token")->where($map)->find();

        $config = new YlyConfig($app_id, $app_secret);

        if ($print_token) {
   
            $access_token = $print_token['access_token'];
        } else {
   
            try {
   
                $client = new YlyOauthClient($config);
                $token = $client->getToken();

                Db::name("print_token")->where('id', 1)->update(['access_token' => $token->access_token, 'refresh_token' => $token->refresh_token,'expire_time'=>$token->expires_in, 'create_time' => date('Y-m-d H:i:s'), 'time' => time() + $token->expires_in]);
                $access_token = $token->access_token;
            } catch (Exception $e) {
   
                $msg = $e->getMessage();
                $msg = json_decode($msg);
                

你可能感兴趣的:(PHP,php,云打印)