修改ai 鉴权服务
authorhcj <1224667075@qq.com>
Fri, 18 Jul 2025 03:45:03 +0000 (11:45 +0800)
committerhcj <1224667075@qq.com>
Fri, 18 Jul 2025 03:45:03 +0000 (11:45 +0800)
code/sdk/drivers/peripheral/slip/cat1Service/cat1_ai_server.cpp
code/sdk/drivers/peripheral/slip/cat1Service/cat1_ws.h
code/sdk/drivers/peripheral/slip/cat1Service/dev_authentication.cpp

index 1b55258..033eae4 100644 (file)
@@ -1458,11 +1458,11 @@ bool dinit_ai_task(void)
 }
 
 //
-void pre_AI_init(void)
+bool pre_AI_init(void)
 {
     if(read_dev_token(NULL)==false)
     {
-        aut_login();
+        return aut_login();
     }
 }
 
index 8a37693..8f2c5e5 100644 (file)
@@ -28,7 +28,7 @@ typedef enum
     AI_TYPE_KIMI,//KIMI
 }G_AI_TYPE;
 
-void pre_AI_init(void);
+bool pre_AI_init(void);
 
 
 ////////////////////////////////////////////////////////////////////////
index a0dc525..15043bd 100644 (file)
@@ -449,13 +449,15 @@ bool aut_active(void)//设备激活
     // 输出JSON\r
     printf("JSON output: %s\n", json_string);\r
     extern uint32_t put_data_by_get_file(char *data,uint16_t data_len);\r
-    cJSON_free(json_string);\r
+   \r
     if(200==put_data_by_get_file(json_string,strlen(json_string)))\r
     {\r
+        cJSON_free(json_string);\r
         return true;    \r
     }\r
     else\r
     {\r
+        cJSON_free(json_string);\r
         return false;\r
     }\r
 \r
@@ -469,6 +471,7 @@ bool aut_active(void)//设备激活
 \r
 extern bool read_dev_pass(char *data_pass);\r
 extern uint32_t post_data_by_get_file(char *data,uint16_t data_len);\r
+bool read_dev_token(char *data_token);\r
 \r
 uint32_t aut_login_time=0;\r
 \r
@@ -491,6 +494,10 @@ bool aut_login(void)//登录
             printf( "aut_active fail\n");\r
             return false;\r
         }\r
+        else\r
+        {\r
+            read_dev_pass(dev_pass);\r
+        }\r
     }\r
    \r
 \r
@@ -556,16 +563,26 @@ bool aut_login(void)//登录
 \r
     int ret= post_data_by_get_file(json_string,strlen(json_string));\r
 \r
-    cJSON_free(json_string);\r
+    \r
 \r
-    if(ret==200)\r
+    if(ret==200 )\r
     {\r
+        cJSON_free(json_string);\r
         aut_login_time=timestamp;\r
-\r
-        return true;\r
+        if(read_dev_token(NULL))\r
+        {\r
+            return true;\r
+        }\r
+        else\r
+        {\r
+            aut_login_time=0;\r
+            return false;\r
+        }\r
+       \r
     }\r
     else\r
     {\r
+        cJSON_free(json_string);\r
         return false;\r
     }\r
 }\r
@@ -639,13 +656,17 @@ bool read_dev_pass(char *data_pass)
        printf("dev_pass malloc error!!!!!!!!!!!");\r
     }\r
 \r
+    \r
+\r
     if(strlen(password_str)>=0)\r
     {\r
         memcpy(data_pass,dev_pass,dev_pass_len);\r
         free(dev_pass);\r
+        cJSON_Delete(data);\r
         return true;\r
     }\r
-   \r
+    free(dev_pass);\r
+    cJSON_Delete(data);\r
     return false;\r
 }\r
 \r
@@ -698,16 +719,30 @@ bool read_dev_token(char *data_token)
     if (data)\r
     {\r
         cJSON* token = cJSON_GetObjectItem(data, "token");\r
-        if (token && cJSON_IsString(token)) {\r
+        if (token && cJSON_IsString(token)) \r
+        {\r
             token_str= token->valuestring;\r
         }\r
+        else\r
+        {\r
+             cJSON_Delete(data);\r
+            return false; \r
+        }\r
     }\r
+    else\r
+    {\r
+         cJSON_Delete(data);\r
+        return false;\r
+    }\r
+   \r
 \r
     if(strlen(token_str)>=0 && data_token!=NULL )\r
     {\r
         memcpy(data_token,token_str,strlen(token_str));\r
+         cJSON_Delete(data);\r
         return true;\r
     }\r
+    cJSON_Delete(data);\r
    \r
     return true;\r
 }\r