代码拉取完成,页面将自动刷新
package sdk
import (
"bytes"
"encoding/json"
"errors"
"net/url"
"strings"
"gitee.com/wz-open-platform/wzopen-sdk-go/constants"
"gitee.com/wz-open-platform/wzopen-sdk-go/model"
"gitee.com/wz-open-platform/wzopen-sdk-go/tools"
"github.com/tidwall/gjson"
)
// 使设备重启
func (c *client) DeviceStateRestart(req *model.DeviceStateRestart) (resp *model.Response, err error) {
method := "POST"
postparams := tools.StructToMap(req)
postparams = c.buildPostParam(postparams)
postparamBytes, err := json.Marshal(postparams)
if err != nil {
return
}
bytes, err := tools.DoHttp(c.baseURL+"/open/device/state/restart", method, map[string]string{}, bytes.NewBuffer([]byte(postparamBytes)), nil)
if err != nil {
return
}
if gjson.GetBytes(bytes, "code").Int() != constants.SucceedCode {
err = errors.New(gjson.GetBytes(bytes, "message").String())
return
}
err = json.Unmarshal(bytes, &resp)
return
}
// 使设备离线
func (c *client) DeviceStateOffline(req *model.DeviceStateOffline) (resp *model.Response, err error) {
method := "POST"
postparams := tools.StructToMap(req)
postparams = c.buildPostParam(postparams)
postparamBytes, err := json.Marshal(postparams)
if err != nil {
return
}
bytes, err := tools.DoHttp(c.baseURL+"/open/device/state/offline", method, map[string]string{}, bytes.NewBuffer([]byte(postparamBytes)), nil)
if err != nil {
return
}
if gjson.GetBytes(bytes, "code").Int() != constants.SucceedCode {
err = errors.New(gjson.GetBytes(bytes, "message").String())
return
}
err = json.Unmarshal(bytes, &resp)
return
}
// 设置离线收益
func (c *client) DeviceStateOfflineProfit(req *model.DeviceStateOfflineProfit) (resp *model.Response, err error) {
method := "POST"
postparams := tools.StructToMap(req)
postparams = c.buildPostParam(postparams)
postparamBytes, err := json.Marshal(postparams)
if err != nil {
return
}
bytes, err := tools.DoHttp(c.baseURL+"/open/device/state/offline_profit", method, map[string]string{}, bytes.NewBuffer([]byte(postparamBytes)), nil)
if err != nil {
return
}
if gjson.GetBytes(bytes, "code").Int() != constants.SucceedCode {
err = errors.New(gjson.GetBytes(bytes, "message").String())
return
}
err = json.Unmarshal(bytes, &resp)
return
}
// 设置端口故障
func (c *client) DeviceStatePortError(req *model.DeviceStatePortError) (resp *model.Response, err error) {
method := "POST"
postparams := tools.StructToMap(req)
postparams = c.buildPostParam(postparams)
postparamBytes, err := json.Marshal(postparams)
if err != nil {
return
}
bytes, err := tools.DoHttp(c.baseURL+"/open/device/state/port/error", method, map[string]string{}, bytes.NewBuffer([]byte(postparamBytes)), nil)
if err != nil {
return
}
if gjson.GetBytes(bytes, "code").Int() != constants.SucceedCode {
err = errors.New(gjson.GetBytes(bytes, "message").String())
return
}
err = json.Unmarshal(bytes, &resp)
return
}
// 获取设备状态
func (c *client) DeviceState(req *model.DeviceStateReq) (resp *model.DeviceStateResp, err error) {
method := "GET"
getparams := url.Values{}
getparams.Add("device_num", req.DeviceNum)
if len(req.PortFields) > 0 {
getparams.Add("port_fields", strings.Join(req.PortFields, ","))
}
getparams = c.buildGetParam(getparams)
bytes, err := tools.DoHttp(c.baseURL+"/open/device/state", method, map[string]string{}, nil, getparams)
if err != nil {
return
}
if gjson.GetBytes(bytes, "code").Int() != constants.SucceedCode {
err = errors.New(gjson.GetBytes(bytes, "message").String())
return
}
err = json.Unmarshal(bytes, &resp)
return
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。