|
|
@@ -9,9 +9,9 @@ import (
|
|
|
|
|
|
// ReqBind 设备绑定解绑共通实体
|
|
|
type ReqBind struct {
|
|
|
- Ticket string `json:"ticket"`
|
|
|
+ Ticket string `json:"ticket,omitempty"`
|
|
|
DeviceID string `json:"device_id"`
|
|
|
- OpenID string `json:"open_id"`
|
|
|
+ OpenID string `json:"openid"`
|
|
|
}
|
|
|
type resBind struct {
|
|
|
BaseResp util.CommonError `json:"base_resp"`
|
|
|
@@ -60,3 +60,47 @@ func (d *Device) Unbind(req ReqBind) (err error) {
|
|
|
}
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+// CompelBind 强制绑定用户和设备
|
|
|
+func (d *Device) CompelBind(req ReqBind) (err error) {
|
|
|
+ var accessToken string
|
|
|
+ if accessToken, err = d.GetAccessToken(); err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ uri := fmt.Sprintf("%s?access_token=%s", uriCompelBind, 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
|
|
|
+}
|
|
|
+
|
|
|
+// CompelUnbind 强制解绑用户和设备
|
|
|
+func (d *Device) CompelUnbind(req ReqBind) (err error) {
|
|
|
+ var accessToken string
|
|
|
+ if accessToken, err = d.GetAccessToken(); err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ uri := fmt.Sprintf("%s?access_token=%s", uriCompelUnbind, 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
|
|
|
+}
|