| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- package device
- import (
- "encoding/json"
- "fmt"
- "github.com/silenceper/wechat/util"
- )
- type ReqBind struct {
- Ticket string `json:"ticket"`
- DeviceId string `json:"device_id"`
- OpenId string `json:"open_id"`
- }
- type resBind struct {
- BaseResp util.CommonError `json:"base_resp"`
- }
- // Bind 设备绑定
- func (d *Device) Bind(req ReqBind) (err error) {
- var accessToken string
- if accessToken, err = d.GetAccessToken(); err != nil {
- return
- }
- uri := fmt.Sprintf("%s?access_token=%s", uriBind, accessToken)
- var response []byte
- if response, err = util.PostJSON(uri, req); err != nil {
- return
- }
- var result resBind
- if err = json.Unmarshal(response, result); err != nil {
- return
- }
- if result.BaseResp.ErrCode != 0 {
- err = fmt.Errorf("DeviceBind Error , errcode=%d , errmsg=%s", result.BaseResp.ErrCode, result.BaseResp.ErrMsg)
- return
- }
- return
- }
- // Bind 设备解绑
- func (d *Device) Unbind(req ReqBind) (err error) {
- var accessToken string
- if accessToken, err = d.GetAccessToken(); err != nil {
- return
- }
- uri := fmt.Sprintf("%s?access_token=%s", uriUnbind, accessToken)
- var response []byte
- if response, err = util.PostJSON(uri, req); err != nil {
- return
- }
- var result resBind
- if err = json.Unmarshal(response, result); err != nil {
- return
- }
- if result.BaseResp.ErrCode != 0 {
- err = fmt.Errorf("DeviceBind Error , errcode=%d , errmsg=%s", result.BaseResp.ErrCode, result.BaseResp.ErrMsg)
- return
- }
- return
- }
|