当前位置: 首页 > backend >正文

映美打印机-URL页面打印

<?php
/**
打印 - 映美云 https://open.jolimark.com/doc/
*/
namespace Home\Controller;
use Admin\Logic\OrderLogic;class PrintController extends BaseController {private $appid = "";private $appkey = "";//打印机编号private $deviceIds = "";//订单打印 - URL地址打印public function order_print($order_id = 0){$orderLogic = new OrderLogic();$order = $orderLogic->getOrderInfo($order_id);if (empty($order)) {$this->error('订单不存在');exit;}$url = "https://mcp.jolimark.com/mcp/v3/sys/PrintHtmlUrl";$access_token = $this->get_access_token();$params = ['app_id'		=> $this->appid,'access_token'	=> $access_token,'device_ids'	=> $this->deviceIds,'cus_orderid'	=> $order['order_sn'],'bill_content'	=> "http://xxxxx.com/Home/Print/order_print_view/id/".$order_id,'paper_width'	=> 98,    //打印纸宽度'paper_height'	=> 98,    //打印纸高度'paper_type'	=> 2,     //标签纸];$res = httpRequest($url, "POST", $params);$res  = json_decode($res, true);if ($res['return_code'] == 0) {return true;}else {return false;}}//订单打印页public function order_print_view(){$order_id = I("get.id",'0');$orderLogic = new OrderLogic();$order = $orderLogic->getOrderInfo($order_id);if (empty($order)) {$this->error('订单不存在');exit;}$orderGoods = $orderLogic->getOrderGoods($order_id);$this->assign('order', $order);$this->assign('orderGoods',$orderGoods);$this->display();}//获取access_tokenprivate function get_access_token(){$access_token = S('jolimark_access_token');if (!$access_token){$url = "https://mcp.jolimark.com/mcp/v3/sys/GetAccessToken";$time_stamp = time();$param_url = "app_id={$this->appid}&sign_type=MD&time_stamp={$time_stamp}&key={$this->appkey}";$sign = strtoupper( MD5($param_url) );$url .= "?".$param_url."&sign=".$sign;$res  = httpRequest($url, "GET");$res  = json_decode($res, true);if ($res['return_code'] == 0){$access_token = $res['return_data']['access_token'];S('jolimark_access_token', $access_token, $res['return_data']['expires_in']);}}return $access_token;}
}

URL订单页面排版代码

<html> <head> <title>配送小票</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <!--小票基本信息--> <p><label style="font-size:48px;font-weight:bold;">订单打印</label></p> <!--配送信息--> <hr style="print-char:*;"> <p><label style="font-size:34px;font-weight:bold;">{$order.address2} - <if condition="$order.shipping_price eq '0.00'">到店自取<else />{$order.shipping_name}</if></label></p> <p><label style="font-size:34px;font-weight:bold;">{$order.consignee}</label></p> <p><label style="font-size:34px;font-weight:bold;">{$order.mobile}</label></p> <hr style="print-char:*;"> <p><label>订单编号: </label><label>{$order.order_sn}</label></p> <p><label>下单时间: </label><label>{$order.add_time|date='Y-m-d H:i',###}</label></p><p><label>支付方式: </label><label>{$order.pay_name}</label></p><p><label>客服电话: </label><label>13245566789</label></p><p><label style="font-weight:bold;">到店取件码: </label><label style="font-weight:bold;">{$order.pickup_code}</label></p><!--小票明细--> <hr style="print-char:-;print-text:物品;"> <volist name="orderGoods" id="good"><p> <label style="width:71%;font-weight:bold;">{$good.goods_name}</label> <label style="width:13%;font-weight:bold;text-align:center;">X{$good.goods_num}</label> <label style="width:16%;font-weight:bold;text-align:right;">{$good[goods_total] - $good[zhekou]}</label> </p></volist><p><!--费用明细--> <hr style="print-char:-;print-text:其它费用;"> <p> <label style="width:85%;font-weight:bold;">运费</label> <label style="width: 15%;font-weight:bold;text-align:right;">{$order.shipping_price}</label> </p><p> <label style="width:85%;font-weight:bold;">新人立领</label> <label style="width: 15%;font-weight:bold;text-align:right;">{$order.fuli_price}</label> </p> <p> <label style="width:85%;font-weight:bold;">活动优惠</label> <label style="width: 15%;font-weight:bold;text-align:right;">{$order.cut_fee}</label> </p> <p><label style="text-align:right;font-weight:bold;font-size:36px;">总计: {$order.order_amount}</label></p> <!-- <br /> --><!-- <h3 style="text-align:center;font-size:48px;font-weight:bold;">=== #1 完 ===</h3>  --><!-- <br />  --></body> </html>

http://www.xdnf.cn/news/15448.html

相关文章:

  • AI产品经理面试宝典第20天:AI+金融场景相关面试题及回答指导
  • 缓存穿透的“黑暗森林”假说——当攻击者学会隐藏恶意流量
  • 02 51单片机之LED闪烁
  • Knife4j快速入门
  • Java-IO流
  • Redis单线程详解
  • 多线程--单例模式and工厂模式
  • 2025-7-14-C++ 学习 排序(2)
  • C#——数据与变量
  • 力扣454.四数相加Ⅱ
  • ELK、Loki、Kafka 三种日志告警联动方案全解析(附实战 Demo)
  • AI香烟检测实战:YOLO11模型训练全过程解析
  • 【EM算法】三硬币模型
  • 机器学习/深度学习训练day1
  • 人工智能正逐步商品化,而“理解力”才是开发者的真正超能力
  • 【第一章编辑器开发基础第二节编辑器布局_1水平与垂直布局(1/4)】
  • Sharding-Sphere学习专题(二)案例和分片策略
  • 动态规划题解——乘积最大子数组【LeetCode】
  • 暑期自学嵌入式——Day02(C语言阶段)
  • 【论文阅读】Masked Autoencoders Are Effective Tokenizers for Diffusion Models
  • 内容管理系统指南:企业内容运营的核心引擎
  • Kotlin Map映射转换
  • 论文阅读:WildGS-SLAM:Monocular Gaussian Splatting SLAM in Dynamic Environments
  • 院级医疗AI管理流程—基于数据共享、算法开发与工具链治理的系统化框架
  • ubuntu之坑(十八)——XML相关
  • CSS基础功能介绍和使用
  • Spring Boot项目结构解析:构建高效、清晰的代码框架
  • 关于僵尸进程
  • 进程、线程、协程
  • AI革命,分布式存储也在革命,全闪化拐点已至