Documentation ¶
Index ¶
- Variables
- func MD5(str string) string
- type AccessToken
- type Client
- func (c *Client) AccessToken() (token AccessToken, err error)
- func (c *Client) BindPrinter(accesstoken, device_codes string) (p Resp, err error)
- func (c *Client) CancelNotPrintTask(accesstoken, device_id string) (p NotPrintTaskStatus, err error)
- func (c *Client) CheckPrinterEnableBind(accesstoken, device_id string) (p Resp, err error)
- func (c *Client) DeviceStatusCallback(callback func(DeviceStatus) error) func(w http.ResponseWriter, r *http.Request)
- func (c *Client) DeviceStatusCallbackVerify(device DeviceStatus) bool
- func (c *Client) PrintEsc(accesstoken, device_ids, cus_orderid, bill_content string, ...) (resp Resp, err error)
- func (c *Client) PrintExpress(...) (resp Resp, err error)
- func (c *Client) PrintFile(accesstoken, device_ids, cus_orderid, file_type, bill_content string, ...) (resp Resp, err error)
- func (c *Client) PrintFileByUrl(accesstoken, device_ids, cus_orderid, file_type, bill_content string, ...) (resp Resp, err error)
- func (c *Client) PrintHtmlCode(accesstoken, device_ids, cus_orderid, bill_content string, ...) (resp Resp, err error)
- func (c *Client) PrintHtmlTemplate(accesstoken, device_ids, cus_orderid, template_id, bill_content string, ...) (resp Resp, err error)
- func (c *Client) PrintHtmlToGrayPic(accesstoken, device_ids, cus_orderid, bill_content string, ...) (resp Resp, err error)
- func (c *Client) PrintHtmlToPic(accesstoken, device_ids, cus_orderid, bill_content string, ...) (resp Resp, err error)
- func (c *Client) PrintHtmlUrl(accesstoken, device_ids, cus_orderid, bill_content string, ...) (resp Resp, err error)
- func (c *Client) PrintPointText(accesstoken, device_ids, cus_orderid string, bill_content PointText, ...) (resp Resp, err error)
- func (c *Client) PrintRichHtmlCode(accesstoken, device_ids, cus_orderid, bill_content string, ...) (resp Resp, err error)
- func (c *Client) QueryNotPrintTask(accesstoken, device_id string) (p PrintTaskStatus, err error)
- func (c *Client) QueryPrintTaskStatus(accesstoken, cus_orderid string) (p PrintTaskStatus, err error)
- func (c *Client) QueryPrinterInfo(accesstoken, device_id string) (p Printer, err error)
- func (c *Client) QueryPrinterStatus(accesstoken, device_id string) (p PrinterStatus, err error)
- func (c *Client) SetLog(l *logrus.Logger)
- func (c *Client) TaskCallback(callback func(TaskResult) error) func(w http.ResponseWriter, r *http.Request)
- func (c *Client) TaskCallbackVerify(result TaskResult) bool
- func (c *Client) UnBindPrinter(accesstoken, device_id string) (p Resp, err error)
- type DeviceStatus
- type Error
- type NotPrintTaskStatus
- type Point
- type PointText
- type PrintTaskStatus
- type Printer
- type PrinterState
- type PrinterStatus
- type Resp
- type TaskResult
Constants ¶
This section is empty.
Variables ¶
var ErrorMsgMap = map[int]string{
0: "成功",
10000: "调用接口失败",
10101: "app_id不存在",
10102: "无效的访问令牌",
10103: "访问令牌已过期",
10104: "app_id已停止运营",
10105: "签名失败",
10106: "app_key不正确",
10107: "参数验证不合格",
10201: "打印机不存在",
10202: "打印机已绑定在另一app_id,请联系客服!",
10203: "打印机不属于此app_id,您无权解绑!",
10204: "打印机未绑定,无需解绑!",
10205: "打印设备与该app_id已绑定过!",
10206: "打印机编码或校验码不能为空",
10207: "app_id未绑定此打印设备",
10301: "打印机未联网,不能创建任务!",
20101: "非逻辑性的错误提示,比如参数格式错误,参数有效性提示等",
30101: "系统处理数据不符合要求的提示信息",
90100: "系统异常错误",
}
var HOST = "https://mcp.jolimark.com/mcp/v2"
Functions ¶
Types ¶
type AccessToken ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func (*Client) AccessToken ¶
func (c *Client) AccessToken() (token AccessToken, err error)
AccessToken 获取AccessToken
func (*Client) BindPrinter ¶
BindPrinter 将打印机绑定到当前的应用id。
func (*Client) CancelNotPrintTask ¶
func (c *Client) CancelNotPrintTask(accesstoken, device_id string) (p NotPrintTaskStatus, err error)
CancelNotPrintTask 取消指定打印机当前未完成的打印任务。
func (*Client) CheckPrinterEnableBind ¶
CheckPrinterEnableBind 校验打印机是否可以绑定。
func (*Client) DeviceStatusCallback ¶
func (c *Client) DeviceStatusCallback(callback func(DeviceStatus) error) func(w http.ResponseWriter, r *http.Request)
DeviceStatusCallback 打印设备状态回调更新
func (*Client) DeviceStatusCallbackVerify ¶
func (c *Client) DeviceStatusCallbackVerify(device DeviceStatus) bool
DeviceStatusCallbackVerify
func (*Client) PrintEsc ¶
func (c *Client) PrintEsc(accesstoken, device_ids, cus_orderid, bill_content string, copies, paper_width, paper_height, paper_type, time_out int) (resp Resp, err error)
PrintEsc 打印ESC指令 适用于开发者懂Esc指令排版布局,详见《打印机编程手册esc指令》 将ESC标准指令代码以文本格式传输到接口进行打印
func (*Client) PrintExpress ¶
func (c *Client) PrintExpress(accesstoken, device_ids, cus_orderid, template_id, jj_dwmc, jj_jjr, jj_lxdh, jj_dz, sj_dwmc, sj_sjr, sj_lxdh, sj_dz, wp_jtw, wp_smjz string, copies, time_out int) (resp Resp, err error)
PrintExpress 打印快递面单 直接对接快递面单打印 打印标准的快递面单,如顺丰,圆通,EMS等
func (*Client) PrintFile ¶
func (c *Client) PrintFile(accesstoken, device_ids, cus_orderid, file_type, bill_content string, copies, paper_width, paper_height, paper_type, time_out int) (resp Resp, err error)
PrintFile 打印本地文档, bill_content base64格式的文件二进制 适用于调用方不方便提供文档的url址址,如C/S程序对接。适用机型为CFP-535。 将pdf、图片(jpg、png )转换成base64格式的数据后,调用此接口,打印机便可按要求进行打印。其中pdf数据大小不超过过4M,图片数据大小不超过2M。
func (*Client) PrintFileByUrl ¶
func (c *Client) PrintFileByUrl(accesstoken, device_ids, cus_orderid, file_type, bill_content string, copies, paper_width, paper_height, paper_type, time_out int) (resp Resp, err error)
PrintFileByUrl 打印远程文档 适用于调用方不方便提供文档的url址址,如C/S程序对接。适用机型为CFP-535。 调用时传pdf、图片(jpg、png ) 对应的 url地址,打印机便可进行打印。
func (*Client) PrintHtmlCode ¶
func (c *Client) PrintHtmlCode(accesstoken, device_ids, cus_orderid, bill_content string, copies, paper_width, paper_height, paper_type, time_out int) (resp Resp, err error)
PrintHtmlCode 打印简单html页面-传HTML代码。 在一些特定应用中,客户无法生成html页面url,可以传html源代码,由映美服务器代为生成打印。 打印应用提供简单标签的html源代码,由映美服务器转为html文件,打印机再从映美服务器直接下载解析打印,此打印方式跟简单标签的html页面一致,标签必须符合映美定义的html标签规范,标签规范详情请 详见《HTML模板设置说明文档》。
func (*Client) PrintHtmlTemplate ¶
func (c *Client) PrintHtmlTemplate(accesstoken, device_ids, cus_orderid, template_id, bill_content string, copies, paper_type, time_out int) (resp Resp, err error)
PrintHtmlTemplate 打印云模板 用户创建打印模板 打印用户在映美云模板上的排版设计页面。映美云模板地址: http://form.jolimark.com
func (*Client) PrintHtmlToGrayPic ¶
func (c *Client) PrintHtmlToGrayPic(accesstoken, device_ids, cus_orderid, bill_content string, copies, paper_width, paper_height, paper_type, time_out int) (resp Resp, err error)
PrintHtmlToGrayPic 打印简单html页面-转灰度图。 此接口适用于页面中含有图片需要打印的情况,以多层级灰度打印,仅适用于热敏打印机。 打印客户提供的html页面,支持复杂的html标签,样式只能支持到IE11内核,可以打印灰度图片数据,html页面的body宽度不大于打印机的纸张宽度值,Body宽度的像素最大值等于纸张宽度*打印机dpi/25.4,打印机的dpi值,详见打印机默认纸张宽度和DPI值。
func (*Client) PrintHtmlToPic ¶
func (c *Client) PrintHtmlToPic(accesstoken, device_ids, cus_orderid, bill_content string, copies, paper_width, paper_height, paper_type, time_out int) (resp Resp, err error)
PrintHtmlToPic 打印复杂html页面-传url转图片。 适用于html页面含有复杂排版样式与表格的情况,以黑白双色打印。 html可以包含复杂的标签,用于呈现打印页面上的表格数据以及复杂排版,最高支持IE11内核。html页面的body宽度不大于打印机的纸张宽度值,body宽度的像素最大值等于纸张宽度*打印机dpi/25.4,打印机的dpi值详见附录1.3。 注:在页面包含表格的情况下,表格线条需要设置为黑色。将要打印的内容宽度设置成打印机可以支持的最大宽度,打印效果会比较好。
func (*Client) PrintHtmlUrl ¶
func (c *Client) PrintHtmlUrl(accesstoken, device_ids, cus_orderid, bill_content string, copies, paper_width, paper_height, paper_type, time_out int) (resp Resp, err error)
PrintHtmlUrl 打印简单HTML页面-传URL地址。 适用于票据页面简单的餐饮、超市等小票打印。 客户提供一个html页面的url地址,由打印机直接下载页面解析打印,此页面内的标签必须符合映美定义的html标签规范。标签规范详情请详见《HTML模板设置说明文档》。
func (*Client) PrintPointText ¶
func (c *Client) PrintPointText(accesstoken, device_ids, cus_orderid string, bill_content PointText, copies, paper_width, paper_height, paper_type, time_out int) (resp Resp, err error)
PrintPointText 打印定点坐标文本 此接口应用于客户需要自己设定文本打印位置的票据打印,比如增值税发票,门票等票据。 将文本打印到客户指定的坐标位置。
func (*Client) PrintRichHtmlCode ¶
func (c *Client) PrintRichHtmlCode(accesstoken, device_ids, cus_orderid, bill_content string, copies, paper_width, paper_height, paper_type, time_out int) (resp Resp, err error)
PrintRichHtmlCode 打印复杂HTML页面-转图片。 html页面有复杂表格和复杂排版样式的情况,以黑白双色打印。 打印客户提供的html页面,支持复杂的html标签,样式只能支持到IE11内核,可以打印表格数据以及复杂排版页面,html页面的body宽度不大于打印机的纸张宽度值,Body宽度的像素最大值等于纸张宽度*打印机dpi/25.4,打印机的dpi值,详见打印机默认纸张宽度和DPI值。 ps:页面包含表格的情况下,表格线条需要设置成黑色。
func (*Client) QueryNotPrintTask ¶
func (c *Client) QueryNotPrintTask(accesstoken, device_id string) (p PrintTaskStatus, err error)
QueryNotPrintTask 查询指定打印机未打印任务。
func (*Client) QueryPrintTaskStatus ¶
func (c *Client) QueryPrintTaskStatus(accesstoken, cus_orderid string) (p PrintTaskStatus, err error)
QueryPrintTaskStatus 根据客户订单号来查询打印任务状态的接口。
func (*Client) QueryPrinterInfo ¶
QueryPrinterInfo 查询打印机的基础信息,包括当前的软件、固件版本以及打印机型号。
func (*Client) QueryPrinterStatus ¶
func (c *Client) QueryPrinterStatus(accesstoken, device_id string) (p PrinterStatus, err error)
QueryPrinterStatus 查询打印机的当前状态,包括打印机是否在线,是否缺纸,是否开盖等。
func (*Client) TaskCallback ¶
func (c *Client) TaskCallback(callback func(TaskResult) error) func(w http.ResponseWriter, r *http.Request)
TaskCallback 打印任务结果回调更新
func (*Client) TaskCallbackVerify ¶
func (c *Client) TaskCallbackVerify(result TaskResult) bool
TaskCallbackVerify
type DeviceStatus ¶
type DeviceStatus struct { // 状态改变时间,时间格式形如:yyyy-MM-dd HH:mm:ss格式 FaultTime string `json:"fault_time"` // 打印机编码 PrinterCode string `json:"printer_code"` // 状态码,1-正常, 2-缺纸,3-开盖,4-网络故障,99-未知异常 ResultCode string `json:"result_code"` // 时间戳 Timestamp string `json:"time_stamp"` // 随机字符串 NonceStr string `json:"nonce_str"` // 签名 Sign string `json:"sign"` }
type NotPrintTaskStatus ¶
type NotPrintTaskStatus struct { // 未打印的任务数 Count int `json:"count"` // 未打印的任务集合 Result interface{} `json:"result"` // 客户系统的订单号 CusOrderID string `json:"cus_orderid"` // 映美云打印平台的任务id OrderID string `json:"order_id"` // 打印的任务内容 OrderContent string `json:"order_content"` // 任务创建的时间 OrderDate string `json:"order_date"` }
type PrintTaskStatus ¶
type PrintTaskStatus struct { // 客户系统的订单号 CusOrderID string `json:"cus_orderid"` // 映美云打印平台的任务id OrderID string `json:"order_id"` // 任务状态码;状态码解释:1-打印成功,2-打印失败,打印机下载数据失败,3-超时未打印,4-打印失败,解绑清理;5-保留值,6-打印失败,打印过程开盖,7-打印失败,打印过程缺纸,8-打印失败,推送时打印机掉线,9-打印失败,推送时打印机开盖,10-打印失败,推送时打印机缺纸,11-打印失败,推送时打印机未注册,12-打印失败,推送时未找到打印机可用状态,13-用户取消的任务 OrderStatus string `json:"order_status"` }
type Printer ¶
type Printer struct { // 打印机编码 DeviceID string `json:"device_id"` // 打印机型号id;1:mcp-58,2:mcp-350,3:mcp-360,4:fp-570,5:mcp-610,6:mcp-230,7:mcp-330,8:clp-180,9:cfp-535; DeviceTypeID int `json:"devicetype _id"` // 打印机型号名称 DeviceTypeName string `json:"devicetype _name"` // 打印机自身当前软件版本 VarVersion string `json:"var_version"` // 打印机自身当前固件版本 FirmwareVersion string `json:"firmware_version"` // 此型号打印机最新的软件版本 LastVarVersion string `json:"irmware_version"` // 此型号打印机最新的固件版本 LastFirmwareVersion string `json:"last_firmwareversion"` }
type PrinterState ¶
type PrinterState struct { // 打印机编码 PrintCode string `json:"print_code"` // 状态编码;0-不存在,1-正常在线,2-缺纸,3-故障或开盖,4-离线,5-选择纸张错误,6-不属于此应用id,7-未绑定,8-已绑定到其他商户,99-其他异常 StatusCode int `json:"status_code"` // 状态信息;0-不存在,1-正常在线,2-缺纸,3-故障或开盖,4-离线,5-选择纸张错误,6-不属于此应用id,7-未绑定,8-已绑定到其他商户,99-其他异常 StatusMsg string `json:"status_msg"` }
type PrinterStatus ¶
type PrinterStatus struct { // 打印机编码 DeviceID string `json:"device_id"` // 状态编码;0-不存在,1-正常在线,2-缺纸,3-故障或开盖,4-离线,5-选择纸张错误,6-不属于此应用id,7-未绑定,8-已绑定到其他商户,99-其他异常 StatusCode int `json:"status_code"` // 状态信息;0-不存在,1-正常在线,2-缺纸,3-故障或开盖,4-离线,5-选择纸张错误,6-不属于此应用id,7-未绑定,8-已绑定到其他商户,99-其他异常 StatusMsg string `json:"status_msg"` }
type Resp ¶
type Resp struct { Code int `json:"return_code"` Data json.RawMessage `json:"return_data"` Msg string `json:"return_msg"` PrinterState []PrinterState `json:"printer_state"` }
type TaskResult ¶
type TaskResult struct { // 客户系统订单流水号 BillNo string `json:"bill_no"` // 打印机编码 PrinterCode string `json:"printer_code"` // 结果状态码,10000-打印失败,打印机下载数据失败,10001-打印成功,10002-打印失败,打印过程开盖,10003-打印失败,打印过程缺纸,10004-通讯超时,10005-打印失败,推送时打印机掉线,10006-保留值,10007-保留值,10008-超时未打印,10009-打印失败,解绑清理,10010-打印失败,推送时打印机开盖,10011-打印失败,推送时打印机缺纸,10012-打印失败,推送时打印机未注册,10013-打印失败,推送时未找到打印机可用状态 ResultCode string `json:"result_code"` // 时间戳 Timestamp string `json:"time_stamp"` // 随机字符串 NonceStr string `json:"nonce_str"` // 签名 Sign string `json:"sign"` }