php小票打印机

22 篇文章 0 订阅

//飞鹅打印机打印机

$this->feieprint($info,$bgsmid);
  //打印机
    public function feieprint($info=[],$bgsmid='')
    {
// echo '<pre>';
        // print_r($info);
        $sailer=DB::name('member')->field('member_true_name,member_mobile')->where(['member_id'=>$info['cailiao_mid']])->find();//销售信息
        $addorder=DB::name('memberbgs')->field('member_true_name,member_mobile')->where(['member_id'=>$bgsmid])->find();//一键下单办公室人员

        // echo '<pre>';
        // print_r($addorder);
        $outid=$info['id'];//出库记录id
        $list=$this->getorderinfo($outid);

        //根据打印纸张的宽度,自行调整内容的格式,可参考下面的样例格式
        $content= '<CB>下单</CB><BR>';
        $content.= '名称                   长度<BR>';
        $content.= '--------------------------------<BR>';

        if(!empty($list))
        {
            foreach ($list as $k=>$v)
            {
                $content.='<B>第'.($k+1).'个订单:<B><BR>';
//                print_r($v);
                foreach($v['name'] as $key=>$val)
                {
                    $content .='<W>'. $val.'  *'.$v['cailiao_stock'].'</W><BR>';
                }
                $content.= '--------------------------------<BR>';
            }
        }

        //$content .= '--------------------------------<BR>';
        $content .= '客户姓名:'.$info['kehuname'].'<BR>';
        $content .= '销售姓名:'.$sailer['member_true_name'] .'<BR>';
        $content .= '销售人电话:'.$sailer['member_mobile'] .'<BR>';
        $content .= '下单时间:'.date('Y-m-d H:i:s',time()).'<BR>';

        //echo $content;
        $print_rlist=DB::name('feieprint')->where(['state'=>1])->order('sort asc,id desc')->select()->toArray();
        if(!empty($print_rlist))
        {
            foreach ($print_rlist as $key=>$val)
            {
                $this->printMsg($val['SN'],$content,1);
            }
        }
    }

    /**
     * [打印订单接口 Open_printMsg]
     * @param  [string] $sn      [打印机编号sn]
     * @param  [string] $content [打印内容]
     * @param  [string] $times   [打印联数]
     * @return [string]          [接口返回值]
     */
    public function printMsg($sn,$content,$times){
        header("Content-type: text/html; charset=utf-8");
        include EXTEND_PATH.'HttpClient.class.php';
        define('USER',Config('app.USER'));  //*必填*:飞鹅云后台注册账号
        define('UKEY', Config('app.UKEY'));  //*必填*: 飞鹅云后台注册账号后生成的UKEY 【备注:这不是填打印机的KEY】
        //define('SN', '');      //*必填*:打印机编号,必须要在管理后台里添加打印机或调用API接口添加之后,才能调用API

        //以下参数不需要修改
        define('IP','api.feieyun.cn');      //接口IP或域名
        define('PORT',80);            //接口IP端口
        define('PATH','/Api/Open/');    //接口路径

        $time = time();         //请求时间
        $msgInfo = array(
            'user'=>Config('app.USER'),
            'stime'=>$time,
            'sig'=>signature($time),
            'apiname'=>'Open_printMsg',
            'sn'=>$sn,
            'content'=>$content,
            'times'=>$times//打印次数
        );
        $client = new \HttpClient(IP,PORT);
        if(!$client->post(PATH,$msgInfo)){
            return 1;
        }else{
            //服务器返回的JSON字符串,建议要当做日志记录起来
            $result = json_decode($client->getContent(),true);
            return $result;
        }
    }
/**
 * [signature 飞鹅生成签名]
 * @param  [string] $time [当前UNIX时间戳,10位,精确到秒]
 * @return [string]       [接口返回值]
 */
function signature($time){
    $USER=Config('app.USER');
    $UKEY=Config('app.UKEY');
    return sha1($USER.$UKEY.$time);//公共参数,请求公钥
}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值