diff --git a/projects/IoTNode/DeviceServices/FBee/Controllers/ColorLightController.cs b/projects/IoTNode/DeviceServices/FBee/Controllers/ColorLightController.cs index f07c9642..5c05e6fb 100644 --- a/projects/IoTNode/DeviceServices/FBee/Controllers/ColorLightController.cs +++ b/projects/IoTNode/DeviceServices/FBee/Controllers/ColorLightController.cs @@ -44,15 +44,28 @@ namespace IoTNode.Controllers [System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:不捕获常规异常类型", Justification = "<挂起>")] public ApiResponse SetColor([SwaggerParameter("设备编号")]string number, [SwaggerParameter("色调")][Range(0, 255)]int hue, [SwaggerParameter("饱和度")][Range(0, 255)]int saturation) { - if (number is null) + try { - throw new ArgumentNullException(nameof(number)); + var values = number.Split('-'); + this._deviceService.X84(values[0], values[1], (byte)hue, (byte)saturation); + } + catch (Exception ex) + { + ex.PrintStack(); + return ApiResponse.Error(ex.Message); } + return ApiResponse.AsyncSuccess(); + } + [HttpGet, Route("/[controller]/[action]"), SwaggerOperation("色度")] + [System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:不捕获常规异常类型", Justification = "<挂起>")] + public ApiResponse Change([SwaggerParameter("设备编号")]string number, [SwaggerParameter("亮度")][Range(0, 255)]int brightness, [SwaggerParameter("色调")][Range(0, 255)]int hue, [SwaggerParameter("饱和度")][Range(0, 255)]int saturation) + { try { var values = number.Split('-'); this._deviceService.X84(values[0], values[1], (byte)hue, (byte)saturation); + this._deviceService.X83(values[0], values[1], (byte)brightness); } catch (Exception ex) { diff --git a/projects/WebApp/wwwroot/js/iot.js b/projects/WebApp/wwwroot/js/iot.js index b63f4b8e..1bcc977a 100644 --- a/projects/WebApp/wwwroot/js/iot.js +++ b/projects/WebApp/wwwroot/js/iot.js @@ -83,6 +83,11 @@ Vue.component('iot-ir', function (resolve, reject) { resolve(parseModel(response)); }); }); +Vue.component('iot-color-light', function (resolve, reject) { + axios.get("/pages/iot/device/color-light.html").then(function (response) { + resolve(parseModel(response)); + }); +}); Vue.component('iot-camera', function (resolve, reject) { axios.get("/pages/iot/device/camera.html").then(function (response) { resolve(parseModel(response)); diff --git a/projects/WebApp/wwwroot/pages/iot/device.html b/projects/WebApp/wwwroot/pages/iot/device.html index 32a1fc5a..823bfa25 100644 --- a/projects/WebApp/wwwroot/pages/iot/device.html +++ b/projects/WebApp/wwwroot/pages/iot/device.html @@ -14,7 +14,8 @@ - + + diff --git a/projects/WebApp/wwwroot/pages/iot/device/color-light.html b/projects/WebApp/wwwroot/pages/iot/device/color-light.html new file mode 100644 index 00000000..aca9885c --- /dev/null +++ b/projects/WebApp/wwwroot/pages/iot/device/color-light.html @@ -0,0 +1,68 @@ + + \ No newline at end of file diff --git a/projects/WebApp/wwwroot/pages/iot/device/ir.html b/projects/WebApp/wwwroot/pages/iot/device/ir.html index d7df9088..80464433 100644 --- a/projects/WebApp/wwwroot/pages/iot/device/ir.html +++ b/projects/WebApp/wwwroot/pages/iot/device/ir.html @@ -2,7 +2,7 @@
- {{device.displayName}}{{this.code}} + {{device.displayName}}
diff --git a/projects/WebApp/wwwroot/pages/iot/node.html b/projects/WebApp/wwwroot/pages/iot/node.html index d70bd9b4..9e336d66 100644 --- a/projects/WebApp/wwwroot/pages/iot/node.html +++ b/projects/WebApp/wwwroot/pages/iot/node.html @@ -38,6 +38,10 @@
用电
+ +
+ +