device

package
v2.0.0-...-e071849 Latest Latest
Warning

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

Go to latest
Published: Feb 24, 2023 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package device 设备相关接口

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:表示设备支持android 和ios 两种classic bluetooth,但是客户端优先选择android classic bluetooth 协议,如果android 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地址在厂商广播manufacture 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