diff --git a/README.md b/README.md index 989cc130..a783b3e9 100644 --- a/README.md +++ b/README.md @@ -163,6 +163,8 @@ server: ``` 智控台地址: https://2662r3426b.vicp.fun + +服务测试工具: https://2662r3426b.vicp.fun/test/ OTA接口地址: https://2662r3426b.vicp.fun/xiaozhi/ota/ Websocket接口地址: wss://2662r3426b.vicp.fun/xiaozhi/v1/ ``` diff --git a/docs/FAQ.md b/docs/FAQ.md index c859498a..cfcbe373 100644 --- a/docs/FAQ.md +++ b/docs/FAQ.md @@ -106,10 +106,6 @@ VAD: ### 8、更多问题,可联系我们反馈 💬 -我们的联系方式放在[百度网盘中,点击前往](https://pan.baidu.com/s/1x6USjvP1nTRsZ45XlJu65Q),提取码是`223y`。 +可以在[issues](https://github.com/xinnan-tech/xiaozhi-esp32-server/issues)提交您的问题。 -网盘里有"硬件烧录QQ群"、"开源服务端交流群"、"产品建议联系人" 三张图片,请根据需要选择加入。 - -- 硬件烧录QQ群:适用于硬件烧录问题 -- 开源服务端交流群:适用于服务端问题 -- 产品建议联系人:适用于产品功能、产品设计等建议 \ No newline at end of file +也可以发邮件我们取得联系:huangrongzhuang@xin-nan.com \ No newline at end of file diff --git a/docs/firmware-build.md b/docs/firmware-build.md index f9935951..fffac288 100644 --- a/docs/firmware-build.md +++ b/docs/firmware-build.md @@ -86,14 +86,9 @@ idf.py set-target esp32s3 idf.py menuconfig ``` -![图片](images/build_setting01.png) - -进入菜单配置后,再进入`Xiaozhi Assistant`,将`CONNECTION_TYPE`设置为`Websocket` -回退到主菜单,再进入`Xiaozhi Assistant`,将`BOARD_TYPE`设置你板子的具体型号 +进入菜单配置后,再进入`Xiaozhi Assistant`,将`BOARD_TYPE`设置你板子的具体型号 保存退出,回到终端命令行。 -![图片](images/build_setting02.png) - ## 第5步 编译固件 ``` diff --git a/docs/images/build_setting01.png b/docs/images/build_setting01.png deleted file mode 100644 index 24e2aeec..00000000 Binary files a/docs/images/build_setting01.png and /dev/null differ diff --git a/docs/images/build_setting02.png b/docs/images/build_setting02.png deleted file mode 100644 index 791a5b05..00000000 Binary files a/docs/images/build_setting02.png and /dev/null differ diff --git a/docs/images/vscode_idf.png b/docs/images/vscode_idf.png deleted file mode 100644 index f943b71e..00000000 Binary files a/docs/images/vscode_idf.png and /dev/null differ diff --git a/main/manager-api/src/main/java/xiaozhi/modules/device/controller/OTAController.java b/main/manager-api/src/main/java/xiaozhi/modules/device/controller/OTAController.java index fc0a61c1..05d36e9a 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/device/controller/OTAController.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/device/controller/OTAController.java @@ -52,8 +52,9 @@ public class OTAController { clientId = deviceId; } String macAddress = deviceReportReqDTO.getMacAddress(); + boolean macAddressValid = isMacAddressValid(macAddress); // 设备Id和Mac地址应是一致的, 并且必须需要application字段 - if (!deviceId.equals(macAddress) || deviceReportReqDTO.getApplication() == null) { + if (!deviceId.equals(macAddress) || !macAddressValid || deviceReportReqDTO.getApplication() == null) { return createResponse(DeviceReportRespDTO.createError("Invalid OTA request")); } return createResponse(deviceService.checkDeviceActive(macAddress, clientId, deviceReportReqDTO)); @@ -100,4 +101,19 @@ public class OTAController { .contentLength(jsonBytes.length) .body(json); } + + /** + * 简单判断mac地址是否有效(非严格) + * + * @param macAddress + * @return + */ + private boolean isMacAddressValid(String macAddress) { + if (StringUtils.isBlank(macAddress)) { + return false; + } + // MAC地址通常为12位十六进制数字,可以包含冒号或连字符分隔符 + String macPattern = "^([0-9A-Za-z]{2}[:-]){5}([0-9A-Za-z]{2})$"; + return macAddress.matches(macPattern); + } }