修复AI解析数据bug
authorhcj <1224667075@qq.com>
Thu, 11 Jul 2024 11:32:40 +0000 (19:32 +0800)
committerhcj <1224667075@qq.com>
Thu, 11 Jul 2024 11:32:40 +0000 (19:32 +0800)
code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.c

index 485b2d6..7a07954 100644 (file)
@@ -1995,7 +1995,7 @@ uint8_t binCheck_AI(uint8_t *buf,uint8_t *check,uint16_t len)//json 格式解析
 {\r
     uint8_t flag = 0;\r
     // printf("jsonCheck_weather:len: json:%f jsonlen:%d\r\n",0.011,strlen((char *)json));\r
-    #if 0\r
+    #if 1\r
         FILE *fp=fopen("user/AI.txt","wb+");\r
         printf("binCheck_AI len %d\r\n",len);\r
         fwrite((void*)buf,1,len,fp);\r
@@ -2019,26 +2019,34 @@ uint8_t binCheck_AI(uint8_t *buf,uint8_t *check,uint16_t len)//json 格式解析
             printf("binCheck_AI txtbuf:%s %d\r\n",txt_buf,txt_len);\r
             ble_set_ai_Question_str(txt_buf);\r
             offset+=txt_len;\r
-            offset+=1;\r
+            //offset+=1;\r
        }\r
-       else if(buf[offset]==2)\r
+        if(buf[offset]==2)\r
        {\r
             offset++;\r
-            uint16_t txt_len=buf[offset]+buf[offset+1]*256;\r
+            uint16_t txt_len;\r
+            memcpy_s(&txt_len,2,&buf[offset],2);\r
+\r
             offset+=2;\r
 \r
             char txt_buf[128]={0};\r
             memcpy_s(txt_buf,128,&buf[offset],txt_len);\r
-            printf("%s %d\r\n",txt_buf,txt_len);\r
+            printf("binCheck_AI txtbuf %s %d\r\n",txt_buf,txt_len);\r
             ble_set_ai_Answer_str(txt_buf);\r
             offset+=txt_len;\r
-            offset+=1;\r
+            //offset+=1;\r
+       }\r
+       if(offset>=len)\r
+       {\r
+            break;\r
        }\r
-       else if(buf[offset]==0)\r
+        if(buf[offset]==0)\r
        {\r
             printf("AI 解析失败\r\n");\r
             offset++;\r
+             break;\r
        }\r
+       offset++;\r
     }\r
    \r
     *check = 1;\r
@@ -5101,7 +5109,7 @@ void* message_data(int uid,int appid,char  *title,char  *msg,int hasCode)
 \r
     data->appid=appid;\r
     memcpy_s(data->title,TITLE_BUF_LEN+1,title,strlen(title));\r
-    memcpy_s(data->msg,TITLE_BUF_LEN+1,title,strlen(msg));\r
+    memcpy_s(data->msg,MSG_BUF_LEN+1,msg,strlen(msg));\r
     data->uid=uid;\r
     data->time=timeBuf;\r
     data->read=0;\r