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

云打印之拼多多打印组件交互协议

拼多多打印组件交互协议相关介绍如下:

1、打印组件下载地址

http://meta.pinduoduo.com/api/one/app/v1/lateststable?appId=com.xunmeng.pddprint&platform=windows&subType=main

2、socket连接端口

如果是http的话,端口是5000

socket = new WebSocket('ws://127.0.0.1:5000');

如果是https的话,端口是18653

socket = new WebSocket('wss://127.0.0.1:18653');

 3、组件使用说明

  • 拼多多打印组件通过windows系统打印驱动与打印机进行交互;
  • 多多打印组件客户端通过Websocket协议进行外部通信;
  • 拼多多打印组件Websocket地址:ws://127.0.0.1:5000;wss://127.0.0.1:18653。

4、请求协议头格式说明

请求协议头:

{
"cmd": "command", 
"requestID": "unique requestID", 
"version": "1.0"
}

字段说明:

 响应协议头:

{"cmd": "command","requestID": "unique requestID"
}

字段说明:

5、getPrinters = 获取打印机列表 

请求协议格式如下:

{"cmd": "getPrinters","requestID": "123458976","version": "1.0"
}

响应协议格式如下:

{"cmd": "getPrinters","requestID": "123458976","defaultPrinter": "XX 快递打印机","printers":[{"name": "XX 快递打印机"},{"name": "YY 物流打印机"}]
}

字段说明:

6、getPrinterConfig = 获取打印机配置 

请求协议格式如下: 

{"cmd":"getPrinterConfig","printer":"PDD 打印机","version":"1.0","requestID":"123456789"
}

响应协议格式如下:

{"cmd": "getPrinterConfig","requestID": "123456789","status": "success/failed","msg": "如果出错,错误原因","printer": {"name": "打印机名称","PrintTopLogo": true,"PrintBottomLogo": true,"horizontalOffset": 1,"verticalOffset": 2}
}

字段说明:

7、setPrinterConfig = 设置打印机配置 

请求协议格式如下:

{"cmd": "setPrinterConfig","requestID": "123458976","version": "1.0","printer": {"name": "PDD打印机","PrintTopLogo": true,"PrintBottomLogo": false,"horizontalOffset": 2,"verticalOffset": 2}
}

注:参数说明参考获取打印机配置(getPrinterConfig)

响应协议格式如下:

{"cmd": "setPrinterConfig","requestID": "123458976","status": "success","msg": "err msg"
}

字段说明

注:如果要保持某个配置不变,应省略对应的配置字段。

8、print = 发送打印数据协议 

请求协议格式(加密)如下

{"ERPId":"isv id","ISVName":"isv name","cmd":"print","requestID":"90E06437","task":{"documents":[{"contents":[{"addData":{"sender":{"address":{"city":"上海市","detail":"陕西面馆","district":"长宁区","province":"上海市"},"mobile":"333333333333","name":"ceshi"}},"encryptedData":"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?v=10&pv=1","signature":"PAPe5OYetWzKlZD3Wnvi4BPKI6CeCybLmYgzZioIw0XAs7dOdosozY9XXoYDf4cnByiza/JuDvoYQvgh+HYqaCNnJ0G1WnScQ7MSoWGkIcE6FBOxFhsbokLNX2ixiOQ4ERCuozajDsSYpDyOpqvDB4vT5AALyQjXAfnR8GyR/B4=","templateUrl":"https://file-link.pinduoduo.com/zto_one","userid":"480261061","ver":"10"},{"data":{"height":240,"list":[{"fontSize":31.2,"height":45.68,"left":2.08,"text":"[备注: 没有什么备注]","top":2.08,"width":413.52}],"waterdata":{"text":""},"width":560},"templateURL":"http://pinduoduoimg.yangkeduo.com/logistics/2019-07-14/5d7e8b5969d954539fcfba3268bbeb3a.xml"}],"documentID":"5520010649869215"}],"notifyType":["print"],"preview":false,"previewType":"image","printer":"","taskID":"03281843"},"version":"1.0"
}

针对部分商家在打单后需要变更收发件人信息,方案提供内容变更的支持:改发件人信息、发件地址:云打印提供addData字段可修改发货信息

字段说明

9、PrintResultNotify = 打印结果通知 

通知协议格式如下:

{"cmd": "PrintResultNotify","printer": "PDD打印机","taskID": "1","taskStatus": "printed","printStatus": [{"documentID”:”9890000112011”,"status": "success","msg": "if failed,some tips, if success ,nothing”,"detail": "错误信息的补充描述"}]
}

字段说明 

10、 getTaskStatus = 获取任务打印任务状态

请求协议格式如下:

{"cmd": "getTaskStatus","requestID": "123458976","version": "1.0","taskID": ["12311","12312"]
}

字段说明 

响应协议格式如下:

{"cmd": "getTaskStatus","requestID": "123458976","printStatus": [{"taskID": "12312","detailStatus": [{"documentID": "9890000112011","status": "success","msg": "错误信息","printer": "PDD打印机"}]}]
}

字段说明

 11、getGlobalConfig = 获取全局配置

请求协议格式如下:

{"cmd": "getGlobalConfig","requestID": "12345678901","version": "1.0"
}

响应协议格式如下:

{"cmd": "getGlobalConfig","requestID": "12345678901","status": "success","msg": "return nothing when success, return some tips when failed","TaskFailedNotify": true
}

字段解释:

12、setGlobalConfig = 设置全局配置 

请求协议格式如下:

{"cmd": "setGlobalConfig","requestID": "12345678901","version": "1.0","TaskFailedNotify": true
}

响应协议格式如下:

{"cmd": "setGlobalConfig","requestID": "12345678901","status": "success","msg": "return nothing when success, return some tips when failed"
}

字段解释:

 13、getAppInfo = 获取客户端版本信息

请求协议格式如下:

{"cmd": "getAppInfo","requestID": "12345678901","version": "1.0"
}

响应协议格式如下:

{"cmd": "getAppInfo ","requestID": "12345678901","status": "success","msg": "错误信息","AppVersion": "1.0.1"
}

字段解释:

 

相关文章:

云打印之拼多多打印组件交互协议

拼多多打印组件交互协议相关介绍如下: 1、打印组件下载地址 http://meta.pinduoduo.com/api/one/app/v1/lateststable?appIdcom.xunmeng.pddprint&platformwindows&subTypemain 2、socket连接端口 如果是http的话,端口是5000 socket new …...

TCP 演进之路:软硬件跷跷板与新征程

今天依旧是与 TCP 相关的一个短评。 先看软硬件间的胶着。晶体管诞生以来,硬件一直在突飞猛进发展,后来这个事被摩尔定律正则化,人们开始可以预测未来,但即便如此,软件依然跟不上来,不过几年,老…...

React最小状态管理Jotai

Jotai 状态管理 1. 简介 Jotai 是一个基于原子 atom 概念的 React 状态管理库,它提供了简单且灵活的方式来管理应用状态, 而且非常轻量, 大厂用的非常多。 JotaiRedux适合单个页面,多次用到的属性适合全局公共属性超级轻量(与use…...

计算机网络 —— 网络编程(TCP)

计算机网络 —— 网络编程(TCP) TCP和UDP的区别TCP (Transmission Control Protocol)UDP (User Datagram Protocol) 前期准备listen (服务端)函数原型返回值使用示例注意事项 accpect (服务端)函数原型返回…...

字玩FontPlayer开发笔记4 性能优化 首屏加载时间优化

字玩FontPlayer开发笔记4 性能优化 首屏加载时间优化 字玩FontPlayer是笔者开源的一款字体设计工具,使用Vue3 ElementUI开发,源代码: github: https://github.com/HiToysMaker/fontplayer gitee: https://gitee.com/toysmaker/fontplayer …...

RabbitMQ案例

1. 导入依赖 <!--AMQP依赖&#xff0c;包含RabbitMQ--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId></dependency> 发送消息 注入RabbitTemplate Autowired RabbitT…...

智能工厂的设计软件 应用场景的一个例子:为AI聊天工具添加一个知识系统 之13 方案再探之4:特定于领域的模板 之 div模型(完整版)

前景提要 整个“方案再探”篇 围绕着如何将项目附件文档中Part 1 部分中给出的零散问题讨论整理、重组为一个结构化的设计文档。为此提出了讨论题目&#xff1a; 特定于领域的模板--一个三套接的hoc结构 它是本项目actors 的剧本原型。其地位&#xff1a; 祖传代码脚本模板…...

WebRtc02:WebRtc架构、目录结构、运行机制

整体架构 WebRtc主要分为三层&#xff1a; CAPI层&#xff1a;外层调用Session管理核心层&#xff1a;包括视频引擎、音频引擎、网络传输 可由使用者重写视频引擎&#xff1a;编解码器、视频缓存、视频增强音频引擎&#xff1a;编解码器、音频缓存、回音消除、降噪传输&#x…...

数据结构复习 (顺序查找,对半查找,斐波那契查找,插值查找,分块查找)

查找&#xff08;检索&#xff09;&#xff1a; 定义&#xff1a;从给定的数据中找到对应的K 1&#xff0c;顺序查找&#xff1a; O(n)的从前向后的遍历 2&#xff0c;对半查找&#xff0c;要求有序 从中间开始查找&#xff0c;每次检查中间的是否正确&#xff0c;不正确就…...

el-input输入框需要支持多输入,最后传输给后台的字段值以逗号分割

需求&#xff1a;一个输入框字段需要支持多次输入&#xff0c;最后传输给后台的字段值以逗号分割 解决方案&#xff1a;结合了el-tag组件的动态编辑标签 那块的代码 //子组件 <template><div class"input-multiple-box" idinputMultipleBox><div>…...

C# 枚举格式字符串

总目录 前言 当前文章为 C# 中的格式设置(格式化字符串) 大全 中的一个小章节。 一、概述 1. 基本信息 可以使用 Enum.ToString 方法&#xff0c;新建表示枚举成员的数字值、十六进制值或字符串值的字符串对象。枚举格式说明符不区分大小写。 二、自定义数字格式说明符详解…...

【51单片机-零基础chapter1】

安装软件(配套的有,不多赘述) 1.管理员身份运行keil和破解软件kegen 将CID代码复制粘贴到 一定要管理员方式,不然会error 插入板子 我的电脑,管理 1.如果是拯救者,查看端口,如果没有则显示隐藏 2.苹果不知道,好像不可以 3.其他电脑在"其他设备找" (注:本人在校已…...

记录:导出功能:接收文件流数据进行导出(vue3)

请求接口&#xff1a;一定要加responseType: blob 后端返回数据&#xff1a; api.js export function export() {return request({url: dev/api/export,method: get,responseType: blob,//一定要加}) } vue&#xff1a; import {export} from /api// 导出 const exportTab…...

基于Spring Boot + Vue3实现的在线汽车保养维修预约管理系统源码+文档

前言 基于Spring Boot Vue3实现的在线汽车保养维修预约管理系统是一种前后端分离架构的应用&#xff0c;它结合了Java后端开发框架Spring Boot和现代JavaScript前端框架Vue.js 3.0的优势。这样的系统可以为汽车服务站提供一个高效的平台来管理客户的预约请求 技术选型 系统…...

PHP框架+gatewayworker实现在线1对1聊天--接收消息(7)

文章目录 接收消息的原理接收消息JavaScript代码 接收消息的原理 接收消息&#xff0c;就是接受服务器转发的客户端消息。并不需要单独创建函数&#xff0c;因为 ws.onmessage会自动接收消息。我们需要在这个函数里进行处理。因为初始化的时候&#xff0c;已经处理的init类型的…...

18.1、网络安全策略分类 流程 内容

目录 网络安全测评概况网络安全测评类型—基于测评目标分类网络安全测评类型—基于实施方式分类网络安全测评类型—基于测评对象保密性分类网络安全等级保护测评内容网络安全测评流程与内容 网络安全测评概况 网络安全测评&#xff0c;它是指参照一定的标准规范要求&#xff0…...

深入理解连接池:从数据库到HTTP的优化之道

在现代应用开发中&#xff0c;高效的资源管理是关键&#xff0c;其中连接池&#xff08;Connection Pool&#xff09;技术起到了至关重要的作用。本文将带你深入了解连接池的概念及其在数据库和HTTP通信中的应用&#xff0c;结合 JDBC 与 Druid 的关系&#xff0c;以及 HttpURL…...

【2025最新计算机毕业设计】基于SpringBoot+Vue智慧养老医护系统(高质量源码,提供文档,免费部署到本地)【提供源码+答辩PPT+文档+项目部署】

作者简介&#xff1a;✌CSDN新星计划导师、Java领域优质创作者、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流。✌ 主要内容&#xff1a;&#x1f31f;Java项目、Python项目、前端项目、PHP、ASP.NET、人工智能…...

关于使用vue-cropperjs上传一张图后,再次上传时,裁剪的图片不更新的问题

不更新的原因 它与cropperjs不太一样&#xff0c;vue-cropperjs不是一个实例&#xff0c;当页面首次刷新时它就已经创建&#xff0c;即使后面更改了它的某些数据也不会改变&#xff0c;因为浏览器会对dom组件进行缓存。 解决办法 可以使用v-if来控制它的显示和隐藏&#xff…...

学习threejs,导入VTK格式的模型

&#x1f468;‍⚕️ 主页&#xff1a; gis分享者 &#x1f468;‍⚕️ 感谢各位大佬 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍⚕️ 收录于专栏&#xff1a;threejs gis工程师 文章目录 一、&#x1f340;前言1.1 ☘️THREE.VTKLoader VTK模型加…...

基于FPGA的PID算法学习———实现PID比例控制算法

基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容&#xff1a;参考网站&#xff1a; PID算法控制 PID即&#xff1a;Proportional&#xff08;比例&#xff09;、Integral&#xff08;积分&…...

椭圆曲线密码学(ECC)

一、ECC算法概述 椭圆曲线密码学&#xff08;Elliptic Curve Cryptography&#xff09;是基于椭圆曲线数学理论的公钥密码系统&#xff0c;由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA&#xff0c;ECC在相同安全强度下密钥更短&#xff08;256位ECC ≈ 3072位RSA…...

ssc377d修改flash分区大小

1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...

MMaDA: Multimodal Large Diffusion Language Models

CODE &#xff1a; https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA&#xff0c;它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

linux arm系统烧录

1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 &#xff08;忘了有没有这步了 估计有&#xff09; 刷机程序 和 镜像 就不提供了。要刷的时…...

【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统

目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索&#xff08;基于物理空间 广播范围&#xff09;2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...

安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)

船舶制造装配管理现状&#xff1a;装配工作依赖人工经验&#xff0c;装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书&#xff0c;但在实际执行中&#xff0c;工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...

保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek

文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama&#xff08;有网络的电脑&#xff09;2.2.3 安装Ollama&#xff08;无网络的电脑&#xff09;2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...

安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖

在Vuzix M400 AR智能眼镜的助力下&#xff0c;卢森堡罗伯特舒曼医院&#xff08;the Robert Schuman Hospitals, HRS&#xff09;凭借在无菌制剂生产流程中引入增强现实技术&#xff08;AR&#xff09;创新项目&#xff0c;荣获了2024年6月7日由卢森堡医院药剂师协会&#xff0…...

MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)

macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 &#x1f37a; 最新版brew安装慢到怀疑人生&#xff1f;别怕&#xff0c;教你轻松起飞&#xff01; 最近Homebrew更新至最新版&#xff0c;每次执行 brew 命令时都会自动从官方地址 https://formulae.…...