feiyin

package module
v0.0.0-...-26002d3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 28, 2018 License: GPL-3.0 Imports: 11 Imported by: 0

README

飞印打印机Golang SDK

使用方法:

package main

import "fmt"
import "github.com/leeeboo/feiyin"


func main() {
    c, err := feiyin.NewClient(MEMBER_CODE, APPID, APP_SECRET, REDIS_ADDR) 
    //redis用来做accesstoken的缓存,例如:127.0.0.1:6379 如果传入空字符串则不使用缓存。
    if err != nil {
        panic(err)
    }

    //枚举已授权的商户清单
    data, err := c.Members()
    fmt.Println(data, err)

    //查询已授权商户信息
    data, err = c.Member(UID)
    fmt.Println(data, err)

    //解除绑定打印机
    err = c.DeviceUnbind(DEVICE_NO)
    fmt.Println(err)

    //绑定打印机
    err = c.DeviceBind(DEVICE_NO)
    fmt.Println(err)

    //发送打印消息
    //普通打印
    MsgNo, err := c.Print(DEVICE_NO, "测试测试测试测\nssssss试测试测试", "", "")
    fmt.Println(MsgNo, err)

    //模版打印

    tData := map[string]interface{}{
		"text1":  "第一个",
	}

    MsgNo, err = c.Print(DEVICE_NO, "", TEMPLATE_ID, tData)
    fmt.Println(MsgNo, err)

    //查看指定打印机状态
    data, err = c.Device(DEVICE_NO)
    fmt.Println(data, err)

    //查看所有打印机状态
    data, err = c.Devices()
    fmt.Println(data, err)

    //查询消息打印状态
    data, err = c.MsgStatus(MSG_NO)
    fmt.Println(data, err)

    //撤销未打印信息
    err = c.MsgCancel(MSG_NO)
    fmt.Println(err)

    //清除所有未打印消息
    count, err = c.DeviceClear(DEVICE_NO)
    fmt.Println(count, err)

    //创建标签打印模板
    content := `SIZE 60 mm,40 mm
			CLS
			TEXT 50,50,"4",0,1,1,"DEMO FOR TEXT"
			PRINT 1`

    id, err := c.TemplateAdd("test", content, "tsc", "test-desc")
    fmt.Println(id, err)

    //编辑标签打印模板
    content := `SIZE 60 mm,40 mm
			CLS
			TEXT 50,50,"4",0,1,1,"DEMO FOR TEXT {{name}}"
			PRINT 1`

    id, err := c.TemplateEdit(TEMPLATE_ID, "test", content, "tsc", "test-desc")
    fmt.Println(id, err)

    //获取指定的打印模板
    data, err = c.Template(TEMPLATE_ID)
    fmt.Println(data, err)

    //获取所有打印模板列表
    data, err = c.Templates()
    fmt.Println(data, err)
}

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AccessToken

type AccessToken struct {
	ResponseError
	AccessToken string `json:"access_token"`
	Appid       string `json:"appid"`
	ExpiresIn   int    `json:"expires_in"`
}

type ClearResponse

type ClearResponse struct {
	ResponseError
	ClearCnt int `json:"clear_cnt"`
}

type Client

type Client struct {
	MemberCode  string
	Appid       string
	Secret      string
	ApiBase     string
	AccessToken string
	Cache       *redis.Client
}

func NewClient

func NewClient(membercode string, appid string, secret string, redisAddr string) (*Client, error)

func (*Client) Device

func (this *Client) Device(deviceNo string) (*Device, error)

func (*Client) DeviceBind

func (this *Client) DeviceBind(deviceNo string) error

本接口为重要接口,出于安全性考虑,这个接口只能对开发者自己名下的设备进行操作。

func (*Client) DeviceClear

func (this *Client) DeviceClear(deviceNo string) (int, error)

func (*Client) DeviceUnbind

func (this *Client) DeviceUnbind(deviceNo string) error

本接口为重要接口,出于安全性考虑,这个接口只能对开发者自己名下的设备进行操作。

func (*Client) Devices

func (this *Client) Devices() ([]Device, error)

func (*Client) Member

func (this *Client) Member(uid string) (*Member, error)

func (*Client) Members

func (this *Client) Members() ([]Member, error)

func (*Client) MsgCancel

func (this *Client) MsgCancel(msgNo string) error

func (*Client) MsgStatus

func (this *Client) MsgStatus(msgNo string) (*MsgStatus, error)

func (*Client) Print

func (this *Client) Print(deviceNo string, content string, templateId string, templateData map[string]interface{}) (string, error)

func (*Client) Template

func (this *Client) Template(templateId string) (*Template, error)

func (*Client) TemplateAdd

func (this *Client) TemplateAdd(name string, content string, catalog string, desc string) (string, error)

func (*Client) TemplateEdit

func (this *Client) TemplateEdit(templateId string, name string, content string, catalog string, desc string) error

func (*Client) Templates

func (this *Client) Templates() ([]Template, error)

type Device

type Device struct {
	DeviceNo        string `json:"device_no"`         //设备编码
	Since           string `json:"since"`             //打印机激活时间
	Status          string `json:"status"`            //打印机的连接状态,包括:online 在线 offline 离线 overheat 打印头过热 error 打印机系统故障
	PaperStatus     string `json:"paper_status"`      //打印纸张的状态,包括:nomal 正常 lack 缺纸
	LastConnectedAt string `json:"last_connected_at"` //最近连接时间
}

type Member

type Member struct {
	ResponseError
	Uid       string         `json:"uid"`
	Name      string         `json:"name"`
	CreatedAt string         `json:"created_at,omitempty"`
	Devices   []MemberDevice `json:"devices,omitempty"`
}

type MemberDevice

type MemberDevice struct {
	DeviceNo string `json:"device_no"`
	Model    string `json:"model"`
	Memo     string `json:"memo"`
}

type MsgStatus

type MsgStatus struct {
	ResponseError
	MsgNo     string `json:"msg_no"`
	Status    string `json:"status"`
	MsgTime   string `json:"msg_time"`
	PrintTime string `json:"print_time"`
}

type PrintResponse

type PrintResponse struct {
	ResponseError
	MsgNo string `json:"msg_no"`
}

type ResponseError

type ResponseError struct {
	ErrCode int    `json:"errcode,omitempty"`
	ErrMsg  string `json:"errmsg,omitempty"`
}

type Template

type Template struct {
	Name      string `json:"name"`       //模板名称
	Content   string `json:"content"`    //模板内容
	Catalog   string `json:"catalog"`    //模板归类
	Desc      string `json:"desc"`       //模板说明
	UpdatedAt string `json:"updated_at"` //模板最后更新时间
}

type TemplateAddResponse

type TemplateAddResponse struct {
	ResponseError
	TemplateId string `json:"template_id"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL