| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- 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
- }
- type resDeviceState struct {
- util.CommonError
- Status int `json:"status"`
- StatusInfo string `json:"status_info"`
- }
- // State 设备状态查询
- func (d *Device) State(deviceId 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, deviceId)
- 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
- }
|