{
return numberOfItems;
}
+
+ void MessageModel::PrintData(MessageData messagedata)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "--------------------------------------");
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Message Title: %s", (messagedata.labelTitle).c_str());
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Message Details: %s", (messagedata.labelDetails).c_str());
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Message Time: %s", (messagedata.labelTime).c_str());
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Message Read: %d", messagedata.isRead);
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "--------------------------------------");
+ }
/*检查是否存在数据*/
bool MessageModel::HasDataJson()
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "LoadMessageJson is ok");
return MessageVector;
}
- /*保存json数据*/
- void MessageModel::SaveMessageData(const std::vector<MessageData> &messageVector)
- {
- cJSON *root = cJSON_CreateObject();
- cJSON *dataArray = cJSON_CreateArray();
-
- for (const auto &message : messageVector)
- {
- cJSON *item = cJSON_CreateObject();
- cJSON_AddStringToObject(item, "title", message.labelTitle.c_str());
- cJSON_AddStringToObject(item, "msg", message.labelDetails.c_str());
- cJSON_AddNumberToObject(item, "time", message.timestamp);
- cJSON_AddNumberToObject(item, "read", message.isRead);
-
- cJSON_AddItemToArray(dataArray, item);
- }
-
- cJSON_AddItemToObject(root, "infor", dataArray);
-
- std::string jsonString = cJSON_Print(root);
- cJSON_Delete(root);
-
- std::ofstream file(MESSAGE_JSON_FILE);
- if (file.is_open())
- {
- file << jsonString;
- file.close();
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SaveMessageData is ok");
- }
- else
- {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Failed to open file for writing");
- }
- }
- void MessageModel::PrintData(MessageData messagedata)
- {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "--------------------------------------");
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Message Title: %s", (messagedata.labelTitle).c_str());
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Message Details: %s", (messagedata.labelDetails).c_str());
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Message Time: %s", (messagedata.labelTime).c_str());
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Message Read: %d", messagedata.isRead);
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "--------------------------------------");
- }
void MessageModel::InitMessageListItems()
{
// 读取json数据
{
return popupViewState;
}
+ /*保存json数据*/
+ void MessageModel::SaveMessageData(const std::vector<MessageData> &messageVector)
+ {
+ cJSON *root = cJSON_CreateObject();
+ cJSON *dataArray = cJSON_CreateArray();
+
+ for (const auto &message : messageVector)
+ {
+ cJSON *item = cJSON_CreateObject();
+ cJSON_AddStringToObject(item, "title", message.labelTitle.c_str());
+ cJSON_AddStringToObject(item, "msg", message.labelDetails.c_str());
+ cJSON_AddNumberToObject(item, "time", message.timestamp);
+ cJSON_AddNumberToObject(item, "read", message.isRead);
+
+ cJSON_AddItemToArray(dataArray, item);
+ }
+
+ cJSON_AddItemToObject(root, "infor", dataArray);
+
+ std::string jsonString = cJSON_Print(root);
+ cJSON_Delete(root);
+ std::ofstream file(MESSAGE_JSON_FILE);
+ if (file.is_open())
+ {
+ file << jsonString;
+ file.close();
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SaveMessageData is ok");
+ }
+ else
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Failed to open file for writing");
+ }
+ }
// 获取目前的message
MessageData *MessageModel::GetCurrentMessageData()
{
return true;
}
+ // 设置当前项已读
+ bool MessageModel::SetMessageIsread()
+ {
+ // 保存更新后的消息数据
+ std::vector<MessageData> messageVector = LoadMessageData();
+ if (!messageVector.empty())
+ {
+ messageVector[GetCurrentIndex()].isRead = true;
+ SaveMessageData(messageVector);
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Message marked as read and data saved");
+ return true;
+ }
+ else
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Failed to mark message as read and save data");
+ return false;
+ }
+ }
// 获取最新消息项
MessageData *MessageModel::GetNewestData()
{