Help us shape the future of Go! Take the 2026 Go Developer Survey

device

package
v1.2.6 Latest Latest
Warning

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

Go to latest
Published: May 22, 2020 License: Apache-2.0 Imports: 4 Imported by: 18

Documentation

Index

Constants

View Source
const (
	// DeviceAdd 添加设备标识
	DeviceAdd = iota
	// DeviceUpgrade 更新设备标识
	DeviceUpgrade
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Device

type Device struct {
	*context.Context
}

Device struct

func NewDevice

func NewDevice(context *context.Context) *Device

NewDevice 实例

func (*Device) Bind

func (d *Device) Bind(req ReqBind) (err error)

Bind 设备绑定

func (*Device) CompelBind

func (d *Device) CompelBind(req ReqBind) (err error)

CompelBind 强制绑定用户和设备

func (*Device) CompelUnbind

func (d *Device) CompelUnbind(req ReqBind) (err error)

CompelUnbind 强制解绑用户和设备

func (*Device) CreateQRCode

func (d *Device) CreateQRCode(devices []string) (res ResCreateQRCode, err error)

CreateQRCode 获取设备二维码

func (*Device) DeviceAuthorize

func (d *Device) DeviceAuthorize(devices []ReqDevice, opType int, product string) (res []ResBaseInfo, err error)

DeviceAuthorize 设备授权

func (*Device) State

func (d *Device) State(device string) (res ResDeviceState, err error)

State 设备状态查询

func (*Device) Unbind

func (d *Device) Unbind(req ReqBind) (err error)

Unbind 设备解绑

func (*Device) VerifyQRCode

func (d *Device) VerifyQRCode(ticket string) (res ResVerifyQRCode, err error)

VerifyQRCode 验证设备二维码

type MsgDevice

type MsgDevice struct {
	DeviceType string
	DeviceID   string
	SessionID  string
	OpenID     string
}

MsgDevice 设备消息响应

type ReqBind

type ReqBind struct {
	Ticket   string `json:"ticket,omitempty"`
	DeviceID string `json:"device_id"`
	OpenID   string `json:"openid"`
}

ReqBind 设备绑定解绑共通实体

type ReqDevice

type ReqDevice struct {
	// 设备的 device id
	ID string `json:"id"`
	// 设备的mac地址 格式采用16进制串的方式(长度为12字节),
	// 不需要0X前缀,如: 1234567890AB
	Mac string `json:"mac"`
	//  支持以下四种连接协议:
	//	android classic bluetooth – 1
	//	ios classic bluetooth – 2
	//	ble – 3
	//	wifi -- 4
	//	一个设备可以支持多种连接类型,用符号"|"做分割,客户端优先选择靠前的连接方式(优先级按|关系的排序依次降低),举例:
	//	1:表示设备仅支持andiod classic bluetooth 1|2:表示设备支持andiod 和ios 两种classic bluetooth,但是客户端优先选择andriod classic bluetooth 协议,如果andriod classic bluetooth协议连接失败,再选择ios classic bluetooth协议进行连接
	//	(注:安卓平台不同时支持BLE和classic类型)
	ConnectProtocol string `json:"connect_protocol"`
	//auth及通信的加密key,第三方需要将key烧制在设备上(128bit),格式采用16进制串的方式(长度为32字节),不需要0X前缀,如: 1234567890ABCDEF1234567890ABCDEF
	AuthKey string `json:"auth_key"`
	// 断开策略,目前支持: 1:退出公众号页面时即断开连接 2:退出公众号之后保持连接不断开
	CloseStrategy string `json:"close_strategy"`
	//连接策略,32位整型,按bit位置位,目前仅第1bit和第3bit位有效(bit置0为无效,1为有效;第2bit已被废弃),且bit位可以按或置位(如1|4=5),各bit置位含义说明如下:
	//1:(第1bit置位)在公众号对话页面,不停的尝试连接设备
	//4:(第3bit置位)处于非公众号页面(如主界面等),微信自动连接。当用户切换微信到前台时,可能尝试去连接设备,连上后一定时间会断开
	ConnStrategy string `json:"conn_strategy"`
	// auth version,设备和微信进行auth时,会根据该版本号来确认auth buf和auth key的格式(各version对应的auth buf及key的具体格式可以参看“客户端蓝牙外设协议”),该字段目前支持取值:
	// 0:不加密的version
	// 1:version 1
	AuthVer string `json:"auth_ver"`
	// 表示mac地址在厂商广播manufature data里含有mac地址的偏移,取值如下:
	// -1:在尾部、
	// -2:表示不包含mac地址 其他:非法偏移
	ManuMacPos string `json:"manu_mac_pos"`
	// 表示mac地址在厂商serial number里含有mac地址的偏移,取值如下:
	// -1:表示在尾部
	// -2:表示不包含mac地址 其他:非法偏移
	SerMacPost string `json:"ser_mac_post"`
	// 精简协议类型,取值如下:计步设备精简协议:1 (若该字段填1,connect_protocol 必须包括3。非精简协议设备切勿填写该字段)
	BleSimpleProtocol string `json:"ble_simple_protocol,omitempty"`
}

ReqDevice 设备授权实体

type ResBaseInfo

type ResBaseInfo struct {
	BaseInfo struct {
		DeviceType string `json:"device_type"`
		DeviceID   string `json:"device_id"`
	} `json:"base_info"`
}

ResBaseInfo 授权回调实体

type ResCreateQRCode

type ResCreateQRCode struct {
	util.CommonError
	DeviceNum int `json:"device_num"`
	CodeList  []struct {
		DeviceID string `json:"device_id"`
		Ticket   string `json:"ticket"`
	} `json:"code_list"`
}

ResCreateQRCode 获取二维码的返回实体

type ResDeviceState

type ResDeviceState struct {
	util.CommonError
	Status     int    `json:"status"`
	StatusInfo string `json:"status_info"`
}

ResDeviceState 设备状态响应实体

type ResVerifyQRCode

type ResVerifyQRCode struct {
	util.CommonError
	DeviceType string `json:"device_type"`
	DeviceID   string `json:"device_id"`
	Mac        string `json:"mac"`
}

ResVerifyQRCode 验证授权结果实体

Jump to

Keyboard shortcuts

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