消息去文件IO 503/1
authorhcj <1224667075@qq.com>
Thu, 11 Jul 2024 08:45:37 +0000 (16:45 +0800)
committerhcj <1224667075@qq.com>
Thu, 11 Jul 2024 08:45:37 +0000 (16:45 +0800)
code/sdk/application/wearable/service/ble_service/blemoder/bletest.h
code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.c
code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.h

index c9f65d3..7394c78 100644 (file)
@@ -79,7 +79,7 @@ extern "C"
 #define MAX_MESSAGE_NUM 10
 #define TITLE_BUF_LEN 256
 #define MSG_BUF_LEN 300
-struct ancs_data_info_t
+typedef struct ancs_data_info
 {
     uint32_t time;//时间戳 
     int uid;//uid 消息唯一编号
@@ -88,12 +88,12 @@ struct ancs_data_info_t
     char msg[MSG_BUF_LEN+1];//消息内容
     int hasCode;//消息hash code
     int read;//是否已读 0 未读 1 已读
-};
+}ancs_data_info_t;
 
 struct message_infor_t
 {
     uint8_t num;
-    struct ancs_data_info_t message_t[MAX_MESSAGE_NUM];
+    ancs_data_info_t message_t[MAX_MESSAGE_NUM];
 };
 
 typedef struct
index 35692e0..46472a8 100644 (file)
@@ -5079,59 +5079,27 @@ char *get_message_dir_path(void)//获取信息的文件夹路径
     return ANCS_DATA_CONFIG_DIR;\r
 }\r
 \r
-uint32_t message_data(int uid,int appid,char  *title,char  *msg,int hasCode)\r
+void* message_data(int uid,int appid,char  *title,char  *msg,int hasCode)\r
 {\r
-    if(!creatMessageDir())//创建文件夹失败\r
-    {\r
-        return 0;\r
-    }\r
-    uint32_t index= ble_get_message_index();\r
-\r
 \r
-    uint8_t buf_size = 0;\r
-    char message_data_path[128]={0};\r
     uint32_t timeBuf = 0;\r
     if (uapi_get_timestampe_ss(&timeBuf) != ERRCODE_SUCC)\r
     {\r
         timeBuf = 0;\r
     }\r
+    ancs_data_info_t *data= (ancs_data_info_t *)malloc(sizeof(ancs_data_info_t));\r
+    if(data==NULL)\r
+    return NULL;\r
 \r
-    sprintf_s(message_data_path,128,ANCS_DATA_MSG_CJSON_PATH,index);\r
-    \r
-    FILE *jsfile = fopen(message_data_path, "w+");\r
-    if(jsfile==NULL)\r
-    {\r
-        printf("message_data open %s fail\r\n",message_data_path);\r
-    }\r
-\r
-\r
-    cJSON* dataJSON = cJSON_CreateObject();\r
-\r
-    cJSON_AddNumberToObject(dataJSON,"uid",uid);\r
-    cJSON_AddNumberToObject(dataJSON,"appid_t",appid);//消息类型 微信 qq 等看结构体或者协议定义\r
-    cJSON_AddStringToObject(dataJSON,"title",title);//消息发送者\r
-    cJSON_AddStringToObject(dataJSON,"msg",msg);//消息内容\r
-    cJSON_AddNumberToObject(dataJSON,"time",timeBuf);//时间戳\r
-    cJSON_AddNumberToObject(dataJSON,"hasCode",hasCode);//暂时不需要预留接口\r
-    cJSON_AddBoolToObject(dataJSON,"read",false);//是否已读 false未读 1 已读默认存的时候已经未读\r
-\r
-    char *json_format = cJSON_PrintUnformatted(dataJSON);\r
-    cJSON_Delete(dataJSON);\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
+    data->uid=uid;\r
+    data->time=timeBuf;\r
+    data->read=0;\r
+    data->hasCode=hasCode;\r
 \r
-    if(json_format==NULL)\r
-    return 0;\r
-    else\r
-    printf("message_data json:%s\r\n",json_format);\r
-\r
-    if( strlen(json_format)!=fwrite(json_format,1,strlen(json_format),jsfile))\r
-    {\r
-        printf("message_data fwrite fail\r\n");\r
-    }\r
-    \r
-    fclose(jsfile);\r
-    cJSON_free(json_format);\r
-    ble_add_message_index(index);\r
-    return index;\r
+    return data;\r
     //read_message_data();\r
 }\r
 int uft8_check(char *chinese_string,int length)\r
@@ -5164,7 +5132,9 @@ int uft8_check(char *chinese_string,int length)
     }\r
     return i;\r
 }\r
-static uint32_t ancs_msg_index =0;\r
+static void* ancs_msg_data =NULL;\r
+\r
+\r
 //安卓消息接收解析数据 //ANCS 2AE1\r
 uint8_t jscheck_ancs(uint8_t *data)\r
 {\r
@@ -5236,7 +5206,13 @@ uint8_t jscheck_ancs(uint8_t *data)
         hasCode_t = hasCode->valueint;\r
     }\r
     cJSON_Delete(root);\r
-    ancs_msg_index= message_data(uid_t,appid_t,titleBuf,msgBuf,hasCode_t);\r
+    if(ancs_msg_data!=NULL)\r
+    {\r
+        free(ancs_msg_data);\r
+        ancs_msg_data=NULL;\r
+    }\r
+    ancs_msg_data= message_data(uid_t,appid_t,titleBuf,msgBuf,hasCode_t);\r
+    \r
     if(titleBuf != NULL){\r
         ym_free(titleBuf);\r
         titleBuf = NULL;\r
@@ -5269,8 +5245,8 @@ void ancsDataShowCmd(uint16_t cmd,uint8_t *data,uint16_t len,uint8_t *totalData,
         value[17] = 1;\r
         value[18] = Calculate_CRC(value,18);\r
         sendBleData(value,19);\r
-\r
-        CustomEventPublish(TOPIC_EVENT_MESSAGENOTE,&ancs_msg_index,4);\r
+        if(ancs_msg_data)\r
+        CustomEventPublish_TOPIC_EVENT_MESSAGENOTE(ancs_msg_data);\r
     }else{\r
         value[17] = 0;\r
         value[18] = Calculate_CRC(value,18);\r
@@ -5278,9 +5254,15 @@ void ancsDataShowCmd(uint16_t cmd,uint8_t *data,uint16_t len,uint8_t *totalData,
     }\r
 }\r
 \r
-void CustomEventPublish_TOPIC_EVENT_MESSAGENOTE(uint32_t index)\r
+void CustomEventPublish_TOPIC_EVENT_MESSAGENOTE(void *data)\r
 {\r
-     CustomEventPublish(TOPIC_EVENT_MESSAGENOTE,&index,4);\r
+    CustomEventPublish(TOPIC_EVENT_MESSAGENOTE,(uint8_t*)data,sizeof(ancs_data_info_t));\r
+    if(data)\r
+    {\r
+        free(data);\r
+        data=NULL;\r
+    }\r
+   \r
 }\r
 \r
 void type2AE1Data(uint8_t *buf_cmd,uint8_t *data,uint16_t datalen,uint8_t *totalData,uint8_t crcvalue)\r
index 1395f98..9dfeba6 100644 (file)
@@ -9,6 +9,7 @@ extern "C" {
 #include "stdbool.h"
 #include "errcode.h"
 #include "bts_def.h"
+//#include "bletest.h"
 #define PHONE_WATCH_CONFIG_PATH "/user/userdata/phone_watch.json"
 #define ALARM_DATA_CONFIG_PATH "/user/userdata/alarm_test.json"
 #define ANCS_DATA_CONFIG_DIR "/user/userdata/message"
@@ -771,9 +772,9 @@ uint8_t get_crc_from_lrc(uint8_t lrcValue);
 
 uint8_t  calculate_lrc_file(char *file_path);
 
-uint32_t message_data(int uid,int appid,char  *title,char  *msg,int hasCode);
+void* message_data(int uid,int appid,char  *title,char  *msg,int hasCode);
 
-void CustomEventPublish_TOPIC_EVENT_MESSAGENOTE(uint32_t index);
+void CustomEventPublish_TOPIC_EVENT_MESSAGENOTE(void*);
 
 void send_AI_is_ready(uint8_t type);