| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- package device
- import (
- "encoding/json"
- "fmt"
- "github.com/silenceper/wechat/context"
- "github.com/silenceper/wechat/util"
- )
- const (
- uriAuthorize = "https://api.weixin.qq.com/device/authorize_device"
- uriQRCode = "https://api.weixin.qq.com/device/create_qrcode"
- uriVerifyQRCode = "https://api.weixin.qq.com/device/verify_qrcode"
- uriBind = "https://api.weixin.qq.com/device/bind"
- uriUnbind = "https://api.weixin.qq.com/device/unbind"
- uriState = "https://api.weixin.qq.com/device/get_stat"
- )
- //Device struct
- type Device struct {
- *context.Context
- }
- //NewDevice 实例
- func NewDevice(context *context.Context) *Device {
- device := new(Device)
- device.Context = context
- return device
- }
- // ResDeviceState 设备状态响应实体
- type ResDeviceState struct {
- util.CommonError
- Status int `json:"status"`
- StatusInfo string `json:"status_info"`
- }
- // State 设备状态查询
- func (d *Device) State(device string) (res ResDeviceState, err error) {
- var accessToken string
- if accessToken, err = d.GetAccessToken(); err != nil {
- return
- }
- uri := fmt.Sprintf("%s?access_token=%s&device_id=%s", uriState, accessToken, device)
- var response []byte
- if response, err = util.HTTPGet(uri); err != nil {
- return
- }
- if err = json.Unmarshal(response, &res); err != nil {
- return
- }
- if res.ErrCode != 0 {
- err = fmt.Errorf("DeviceState Error , errcode=%d , errmsg=%s", res.ErrCode, res.ErrMsg)
- return
- }
- return
- }
|