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 @@