| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- package device
- import (
- "encoding/json"
- "fmt"
- "github.com/silenceper/wechat/util"
- )
- // ReqBind 设备绑定解绑共通实体
- 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
- }
- // Unbind 设备解绑
- 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
- }
|