/// <summary>
        /// 设备批量授权
        /// </summary>
        /// <param name="devices"></param>
        private List <GetDeviceRetViewModel> AuthDeviceList(List <GetDeviceRetViewModel> devices)
        {
            //1.构建请求接口参数列表
            var deviceList = new List <DeviceInfoViewModel>();

            foreach (var device in devices)
            {
                deviceList.Add(new DeviceInfoViewModel()
                {
                    id  = device.deviceid,
                    mac = device.devicemac.PadRight(12, '0'),
                    connect_protocol    = "4",
                    auth_key            = string.Empty,//ConfigUtil.AuthKey,
                    close_strategy      = "1",
                    conn_strategy       = "1",
                    crypt_method        = "0",
                    auth_ver            = "0",
                    manu_mac_pos        = "-1",
                    ser_mac_pos         = "-2",
                    ble_simple_protocol = "0"
                });
            }

            //2.请求调用设备授权接口
            var configModel = new ConfigDeviceViewModel();

            configModel.device_list = deviceList;
            configModel.device_num  = configModel.device_list.Count;
            configModel.op_type     = 1;
            var setModel = CallAuthDeviceAPI(configModel);

            if (setModel == null)
            {
                throw new MessageException("请求微信硬件授权接口失败");
            }
            else
            {
                for (var i = 0; i < setModel.resp.Count; i++)
                {
                    if (setModel.resp[i].errcode == 0)
                    {
                        devices[i].devicetype = setModel.resp[i].base_info.device_type;
                    }
                    else
                    {
                        throw new MessageException(setModel.resp[i].errmsg);
                    }
                }
            }
            return(devices);
        }
        /// <summary>
        /// 授权设备
        /// </summary>
        /// <param name="configModel">设备授权信息</param>
        /// <returns></returns>
        public AuthDeviceRetViewModel CallAuthDeviceAPI(ConfigDeviceViewModel configModel)
        {
            var    obj         = new AuthDeviceRetViewModel();
            string weiXinToken = WeChatService.GetWeiXinToken(EnumWeChatType.Client.GetHashCode());
            var    url         = string.Format(WeChatConsts.IOT_AUTH_DEVICE, weiXinToken);

            if (configModel != null)
            {
                var parms  = JsonConvert.SerializeObject(configModel);
                var result = NetUtil.WechatSendPostRequest(url, parms);
                obj = JsonConvert.DeserializeObject <AuthDeviceRetViewModel>(result.Trim());
            }
            return(obj);
        }