支付宝代码合并
authorluozheng <1732036298@qq.com>
Fri, 23 May 2025 10:23:39 +0000 (18:23 +0800)
committerluozheng <1732036298@qq.com>
Fri, 23 May 2025 10:23:39 +0000 (18:23 +0800)
code/sdk/application/wearable/alipay/driver_adapt/soc_adapt.c
code/sdk/application/wearable/alipay/service/alipay_bluetooth.c
code/sdk/application/wearable/alipay/service/alipay_feature.c
code/sdk/application/wearable/alipay/service/alipay_feature.h
code/sdk/application/wearable/fd230/service/alipay_msg/alipay_app.cpp
code/sdk/application/wearable/service/alipay_msg/alipay_app.cpp
code/sdk/zhihui/services/ble_service/bleservice/bleService.c

index 7f3b052..c9613fb 100644 (file)
@@ -93,7 +93,7 @@ void IIC_Master_Receive(unsigned char byAddr, unsigned char *pData, unsigned sho
     }\r
 \r
     if (ret != ERRCODE_SUCC) {\r
-        if (ret != ERRCODE_I2C_TIMEOUT) MyPrintf("se i2c data read fail! and not equal ERRCODE_I2C_TIMEOUT , ret=0x%x", ret);\r
+        MyPrintf("se i2c data read fail! ret=0x%x", ret);\r
     }\r
 \r
 #if PRINT_I2C_LOG\r
index 0bb7eb5..65aafbd 100644 (file)
@@ -207,46 +207,47 @@ static void svr_alipay_ble_adv_stop_cb(uint8_t adv_id, adv_status_t status)
     }\r
 }\r
 \r
-//在服务添加成功后添加特征\r
 static void svr_alipay_bt_gatts_service_add_cb(uint8_t server_id, bt_uuid_t *uuid, uint16_t srv_handle,\r
     errcode_t status)\r
 {\r
     unused(status);\r
-    // 检查UUID是否匹配支付宝服务ID\r
-    if ((uuid->uuid_len == sizeof(uint16_t)) && (*((uint16_t *)uuid->uuid) == ALIPAYY_SERVICE_ID)) \r
-    {\r
-        // 打印服务添加回调的调试信息\r
+    if ((uuid->uuid_len == sizeof(uint16_t)) && (*((uint16_t *)uuid->uuid) == ALIPAYY_SERVICE_ID)) {\r
         ALIPAY_PRINT_DEBUG(0, "BtGattsServiceAddCallback 0x%x 0x%x 0x%x 0x%x",\r
                            status, server_id, srv_handle, *((uint16_t *)uuid->uuid));\r
-        uint16_t id = ALIPAYY_CHARACTERISTIC_ID;// 支付宝特征值ID\r
-        gatts_add_chara_info_t character;// 特征值信息结构体\r
+        uint16_t id = ALIPAYY_CHARACTERISTIC_ID;\r
+        gatts_add_chara_info_t character;\r
         uint16_t value = 0;\r
 \r
-        // 初始化特征值信息结构体\r
         memset_s(&character, sizeof(gatts_add_chara_info_t), 0, sizeof(gatts_add_chara_info_t));\r
-        character.chara_uuid.uuid_len = sizeof(id); // 设置特征值UUID长度\r
+        character.chara_uuid.uuid_len = sizeof(id);\r
         memcpy_s(character.chara_uuid.uuid, sizeof(character.chara_uuid.uuid), (char *)&id, sizeof(id));\r
         character.permissions = GATT_ATTRIBUTE_PERMISSION_READ | GATT_ATTRIBUTE_PERMISSION_WRITE;\r
         character.properties =\r
             GATT_CHARACTER_PROPERTY_BIT_READ | GATT_CHARACTER_PROPERTY_BIT_WRITE | GATT_CHARACTER_PROPERTY_BIT_NOTIFY;\r
-        character.value_len = ALIPAY_CHARACTERISTIC_MAX_LENGTH; // 设置特征值最大长度\r
-        character.value = g_alipay_character_buf; // 设置特征值缓冲区\r
+        character.value_len = ALIPAY_CHARACTERISTIC_MAX_LENGTH;\r
+        character.value = g_alipay_character_buf;\r
 \r
-        // 添加特征值到服务\r
         int ret = gatts_add_characteristic(server_id, srv_handle, &character);\r
         if (ret != ERRCODE_SUCC) {\r
             ALIPAY_PRINT_ERR(0, "gatts_add_characteristic fail, ret:%u.\r\n", ret);\r
         }\r
-        g_alipay_svr_handle = srv_handle;// 保存服务句柄\r
+        g_alipay_svr_handle = srv_handle;\r
     }\r
 }\r
 \r
-//在特征添加成功后添加描述符。\r
+/* 将uint16的uuid数字转化为bt_uuid_t */\r
+static void bts_data_to_uuid_len2(uint16_t uuid_data, bt_uuid_t *out_uuid)\r
+{\r
+    out_uuid->uuid_len = UUID16_LEN;\r
+    out_uuid->uuid[0] = (uint8_t)(uuid_data >> 8); /* 8: octet bit num */\r
+    out_uuid->uuid[1] = (uint8_t)(uuid_data);\r
+}\r
+\r
 static void svr_alipay_bt_gatts_characteristic_add_cb(uint8_t server_id, bt_uuid_t *uuid, uint16_t srv_handle,\r
     gatts_add_character_result_t *result, errcode_t status)\r
 {\r
-    if ((uuid->uuid_len == sizeof(uint16_t)) && (*((uint16_t *)uuid->uuid) == ALIPAYY_CHARACTERISTIC_ID))\r
-     {\r
+    unused(status);\r
+    if ((uuid->uuid_len == sizeof(uint16_t)) && (*((uint16_t *)uuid->uuid) == ALIPAYY_CHARACTERISTIC_ID)) {\r
         ALIPAY_PRINT_DEBUG(0, "BtGattsCharacteristicAddCallback 0x%x 0x%x 0x%x 0x%x 0x%x",\r
                            status, server_id, srv_handle, result->handle, result->value_handle);\r
         uint8_t bas_ccc_val[] = {\r
@@ -254,43 +255,38 @@ static void svr_alipay_bt_gatts_characteristic_add_cb(uint8_t server_id, bt_uuid
             0x00\r
         };\r
         bt_uuid_t ccc_uuid = { 0 };\r
-        bts_data_to_uuid_len2(0x2902, &ccc_uuid); // 将0x2902转换为UUID格式\r
-        gatts_add_desc_info_t descriptor;  \r
-        descriptor.desc_uuid = ccc_uuid;         //设置描述符UUID\r
-        descriptor.permissions = GATT_ATTRIBUTE_PERMISSION_READ | GATT_ATTRIBUTE_PERMISSION_WRITE; // 设置描述符权限\r
-        descriptor.value_len = (uint16_t)sizeof(bas_ccc_val); // 设置描述符值长度\r
+        bts_data_to_uuid_len2(0x2902, &ccc_uuid);\r
+        gatts_add_desc_info_t descriptor;\r
+        descriptor.desc_uuid = ccc_uuid;\r
+        descriptor.permissions = GATT_ATTRIBUTE_PERMISSION_READ | GATT_ATTRIBUTE_PERMISSION_WRITE;\r
+        descriptor.value_len = (uint16_t)sizeof(bas_ccc_val);\r
         descriptor.value = bas_ccc_val;\r
         int ret = 0;\r
         ret = gatts_add_descriptor(server_id, srv_handle, &descriptor);\r
         if (ret != ERRCODE_SUCC) {\r
             ALIPAY_PRINT_ERR(0, "gatts_add_descriptor fail, ret:%u.\r\n", ret);\r
         }\r
-        // 获取本地蓝牙地址\r
         bd_addr_t addr_info;\r
         gatts_add_desc_info_t descriptor_ap;\r
         gap_ble_get_local_addr(&addr_info);\r
-        bts_data_to_uuid_len2(0x4b02, &ccc_uuid); // 将0x4b02转换为UUID格式\r
-        descriptor_ap.desc_uuid = ccc_uuid;       // 设置描述符UUID\r
-        descriptor_ap.permissions = GATT_ATTRIBUTE_PERMISSION_READ | GATT_ATTRIBUTE_PERMISSION_WRITE; // 设置描述符权限\r
-        descriptor_ap.value_len = BD_ADDR_LEN;    // 设置描述符值长度\r
+        bts_data_to_uuid_len2(0x4b02, &ccc_uuid);\r
+        descriptor_ap.desc_uuid = ccc_uuid;\r
+        descriptor_ap.permissions = GATT_ATTRIBUTE_PERMISSION_READ | GATT_ATTRIBUTE_PERMISSION_WRITE;\r
+        descriptor_ap.value_len = BD_ADDR_LEN;\r
         uint8_t ble_data_mac_switch[BD_ADDR_LEN] = {0};\r
         int k = BD_ADDR_LEN;\r
         for (int i = 0; i < BD_ADDR_LEN; i++) {\r
-            ble_data_mac_switch[--k] = addr_info.addr[i]; // 反转蓝牙地址字节顺序\r
+            ble_data_mac_switch[--k] = addr_info.addr[i];\r
         }\r
-\r
-        // 添加第二个描述符到特征值\r
-        descriptor_ap.value = ble_data_mac_switch;  // 设置描述符值为蓝牙地址\r
+        descriptor_ap.value = ble_data_mac_switch;\r
         ret = gatts_add_descriptor(server_id, srv_handle, &descriptor_ap);\r
         if (ret != ERRCODE_SUCC) {\r
             ALIPAY_PRINT_ERR(0, "gatts_add_descriptor second fail, ret:%u.\r\n", ret);\r
         }\r
-        // 启动服务\r
         ret = gatts_start_service(server_id, srv_handle);\r
         if (ret != ERRCODE_SUCC) {\r
             ALIPAY_PRINT_ERR(0, "gatts_start_service fail, ret:%u.\r\n", ret);\r
         }\r
-        // 保存特征值句柄\r
         g_alipay_characteristic_handle = result->value_handle;\r
     }\r
 }\r
@@ -298,6 +294,9 @@ static void svr_alipay_bt_gatts_characteristic_add_cb(uint8_t server_id, bt_uuid
 static void svr_alipay_bt_gatts_descriptor_add_cb(uint8_t server_id, bt_uuid_t *uuid, uint16_t srv_handle,\r
     uint16_t desc_handle, errcode_t status)\r
 {\r
+    unused(server_id);\r
+    unused(uuid);\r
+    unused(status);\r
     if (g_alipay_svr_handle == srv_handle) {\r
         ALIPAY_PRINT_DEBUG(0, "BtGattsDescriptorAddCallback 0x%x 0x%x 0x%x 0x%x", status, server_id, srv_handle,\r
             desc_handle);\r
@@ -310,6 +309,8 @@ static void svr_alipay_bt_gatts_descriptor_add_cb(uint8_t server_id, bt_uuid_t *
 \r
 static void svr_alipay_bt_gatts_service_start_cb(uint8_t server_id, uint16_t srv_handle, errcode_t status)\r
 {\r
+    unused(server_id);\r
+    unused(status);\r
     if (g_alipay_svr_handle == srv_handle) {\r
         ALIPAY_PRINT_DEBUG(0, "BtGattsServiceStartCallback 0x%x 0x%x 0x%x", status, server_id, srv_handle);\r
     }\r
@@ -317,17 +318,26 @@ static void svr_alipay_bt_gatts_service_start_cb(uint8_t server_id, uint16_t srv
 \r
 static void svr_alipay_bt_gatts_service_stop_cb(uint8_t server_id, uint16_t srv_handle, errcode_t status)\r
 {\r
+    unused(server_id);\r
+    unused(srv_handle);\r
+    unused(status);\r
     ALIPAY_PRINT_DEBUG(0, "BtGattsServiceStopCallback 0x%x 0x%x 0x%x", status, server_id, srv_handle);\r
 }\r
 \r
 static void svr_alipay_bt_gatts_service_del_cb(uint8_t server_id, errcode_t status)\r
 {\r
+    unused(server_id);\r
+    unused(status);\r
     ALIPAY_PRINT_DEBUG(0, "BtGattsServiceDeleteCallback 0x%x 0x%x", status, server_id);\r
 }\r
 \r
 static void svr_alipay_bt_gatts_req_read_cb(uint8_t server_id, uint16_t conn_id, gatts_req_read_cb_t *read_cb_para,\r
     errcode_t status)\r
 {\r
+    unused(server_id);\r
+    unused(conn_id);\r
+    unused(read_cb_para);\r
+    unused(status);\r
     ALIPAY_PRINT_DEBUG(0, "BtGattsRequestReadCallback");\r
 }\r
 \r
@@ -345,14 +355,15 @@ bool is_alipay_handle(uint16_t hande)
 static void svr_alipay_bt_gatts_req_write_cb(uint8_t server_id, uint16_t conn_id, gatts_req_write_cb_t *write_cb_para,\r
     errcode_t status)\r
 {\r
-    // 检查写入的句柄是否匹配支付宝特征值或描述符的句柄\r
+    unused(server_id);\r
+    unused(conn_id);\r
+    unused(status);\r
     if ((g_alipay_characteristic_handle == write_cb_para->handle) ||\r
         (g_alipay_descriptor_handle[0] == write_cb_para->handle) ||\r
         (g_alipay_descriptor_handle[1] == write_cb_para->handle)) {\r
         ALIPAY_PRINT_DEBUG(0, "write callback,handle:%u str:%s len:%u",\r
                            write_cb_para->handle, write_cb_para->value, write_cb_para->length);\r
-        uint8_t *msg_data = write_cb_para->value;  \r
-        // 将数据写入支付宝消息队列\r
+        uint8_t *msg_data = write_cb_para->value;\r
         errcode_t ret = svr_alipay_msg_write(ALIPAY_MSG_BT, msg_data, write_cb_para->length, false);\r
         if (ret != ERRCODE_SUCC) {\r
             ALIPAY_PRINT_ERR(0, "svr_alipay_msg_write fail, ret:%u.\r\n", ret);\r
index ff219ef..2387cbd 100644 (file)
@@ -505,7 +505,7 @@ static int32_t svr_alipay_msg_proc(uint32_t msg_id, uint8_t *data, uint16_t size
     return ERRCODE_SUCC;
 }
 
-static errcode_t svr_alipay_msg_thread(void *data)
+static void svr_alipay_msg_thread(void *data)
 {
     uint8_t msg_data[ALIPAY_MAX_SIZE + ALIPAY_ID_LEN + ALIPAY_MSG_LEN];
     uint32_t msg_data_size = sizeof(msg_data);
@@ -526,7 +526,7 @@ static errcode_t svr_alipay_msg_thread(void *data)
         svr_alipay_msg_proc(msg_id, &msg_data[ALIPAY_ID_LEN + ALIPAY_MSG_LEN], msg_len);
     }
     ALIPAY_PRINT_ERR(0, "svr_alipay_msg_thread exit");
-    return ERRCODE_SUCC;
+    return;
 }
 
 static errcode_t svr_alipay_task_init(void)
index 27b1ecf..6384ae0 100644 (file)
@@ -30,16 +30,13 @@ extern "C" {
 #define APP_FAILURE (-1)
 
 #if !defined(SW_UART_DEBUG) && !defined(SW_RTT_DEBUG)
-#ifdef WEARABLE_LOG_DEBUG
-#define ALIPAY_PRINT_DEBUG(log_num, fmt, arg...) uapi_diag_debug_log(0, fmt, ##arg)
 #define ALIPAY_PRINT_ERR(log_num, fmt, arg...) uapi_diag_error_log(0, fmt, ##arg)
 #define ALIPAY_PRINT_WARN(log_num, fmt, arg...) uapi_diag_warning_log(0, fmt, ##arg)
 #define ALIPAY_PRINT_INFO(log_num, fmt, arg...) uapi_diag_info_log(0, fmt, ##arg)
+#ifdef WEARABLE_LOG_DEBUG
+#define ALIPAY_PRINT_DEBUG(log_num, fmt, arg...) uapi_diag_debug_log(0, fmt, ##arg)
 #else
 #define ALIPAY_PRINT_DEBUG(log_num, fmt, arg...)
-#define ALIPAY_PRINT_ERR(log_num, fmt, arg...) 
-#define ALIPAY_PRINT_WARN(log_num, fmt, arg...) 
-#define ALIPAY_PRINT_INFO(log_num, fmt, arg...) 
 #endif
 #else
 #define ALIPAY_PRINT_ERR(log_num, fmt, arg...) PRINT("[ALIPAY SVR E/] %s: " fmt "\r\n", __FUNCTION__, ##arg)
index 8801d49..38b82aa 100644 (file)
@@ -21,6 +21,7 @@
 #ifdef __cplusplus\r
 extern "C" {\r
 #endif\r
+#include "transspecard.h"\r
 \r
 #define HOSTENT_TIMEOUT 2000\r
 #define TCP_CONNECT_TIMEOUT 2000\r
@@ -36,6 +37,7 @@ uint16_t g_tcp_data_readed = 0;
 uint32_t g_tcp_fd = 0;\r
 uint8_t g_netstatus = 0;\r
 \r
+#define ALIPAY_TRANSSPECARD_SUPPORT_BLE 1\r
 void msg_center_alipay_reply_ack(uint8_t cmd_id, uint8_t type)\r
 {\r
     uint8_t ack = 1; /* 与手机APK侧约定 */\r
@@ -45,6 +47,16 @@ void msg_center_alipay_reply_ack(uint8_t cmd_id, uint8_t type)
 \r
 errcode_t msg_center_alipay_network_status(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len)\r
 {\r
+    #if ALIPAY_TRANSSPECARD_SUPPORT_BLE\r
+    if(cmd_id != ALIPAY_TRANSSPECARD)\r
+    {\r
+        printf("msg_center_alipay_network_status cmd_id error:%d\r\n", cmd_id);\r
+        return -1;\r
+    }\r
+    g_netstatus = *((uint8_t *)usr_data);\r
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "msg_center_alipay_network_status:netstatus = %d\r\n", g_netstatus);\r
+    return 0;\r
+    #else\r
     uint8_t tl_len = msg_center_get_tlv_tl_len(usr_data);\r
     uint16_t payload_len = usr_len - tl_len;\r
     uint8_t *tlv_payload = (uint8_t *)msg_center_get_tlv_payload(usr_data);\r
@@ -53,6 +65,7 @@ errcode_t msg_center_alipay_network_status(uint8_t cmd_id, uint8_t type, void *u
     WEARABLE_LOGD(WEARABLE_LOG_MODULE_MSG_CENTER, "msg_center_alipay netstatus = %d\r\n", g_netstatus);\r
     msg_center_alipay_reply_ack(cmd_id, type);\r
     return 0;\r
+    #endif\r
 }\r
 \r
 uint8_t msg_center_alipay_get_network_status(void)\r
@@ -62,6 +75,19 @@ uint8_t msg_center_alipay_get_network_status(void)
 \r
 int msg_center_alipay_hostent_request(void *usr_data, uint16_t usr_len)\r
 {\r
+    #if ALIPAY_TRANSSPECARD_SUPPORT_BLE\r
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "DNS域名解析请求:%s\r\n", (char *)usr_data);\r
+    int ret;\r
+    if (g_alipay_hostent_sem == NULL) {\r
+        g_alipay_hostent_sem = osSemaphoreNew(1, 0, NULL);\r
+    }\r
+    ret = send_transspecard_data(MSGCENTER_TYPE_ID_ALIPAY_HOST_INFO, (uint8_t *)usr_data, usr_len);\r
+    if (ret != 0) {\r
+        return -1;\r
+    } else {\r
+        return 0;\r
+    }\r
+    #else\r
     int ret;\r
     if (g_alipay_hostent_sem == NULL) {\r
         g_alipay_hostent_sem = osSemaphoreNew(1, 0, NULL);\r
@@ -73,10 +99,23 @@ int msg_center_alipay_hostent_request(void *usr_data, uint16_t usr_len)
     } else {\r
         return 0;\r
     }\r
+    #endif\r
 }\r
 \r
 errcode_t msg_center_alipay_hostent_recv(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len)\r
 {\r
+    #if ALIPAY_TRANSSPECARD_SUPPORT_BLE\r
+    if(cmd_id != ALIPAY_TRANSSPECARD)\r
+    {\r
+        printf("msg_center_alipay_network_status cmd_id error:%d\r\n", cmd_id);\r
+        return -1;\r
+    }\r
+    (void)memcpy_s(g_alipay_ip, IPV4_LEN, usr_data, usr_len);\r
+    WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "接收app下发的域名解析,域名转换后的IP地址:%d.%d.%d.%d\r\n",\r
+        g_alipay_ip[0], g_alipay_ip[1], g_alipay_ip[2], g_alipay_ip[3]);\r
+    osSemaphoreRelease(g_alipay_hostent_sem);\r
+    return ERRCODE_SUCC;\r
+    #else\r
     uint8_t tl_len = msg_center_get_tlv_tl_len(usr_data);\r
     uint16_t payload_len = usr_len - tl_len;\r
     uint8_t *tlv_payload = (uint8_t *)msg_center_get_tlv_payload(usr_data);\r
@@ -86,6 +125,7 @@ errcode_t msg_center_alipay_hostent_recv(uint8_t cmd_id, uint8_t type, void *usr
                   g_alipay_ip[0], g_alipay_ip[1], g_alipay_ip[2], g_alipay_ip[3]);\r
     osSemaphoreRelease(g_alipay_hostent_sem);\r
     return ERRCODE_SUCC;\r
+    #endif\r
 }\r
 \r
 int msg_center_alipay_hostent_reponse(unsigned char *ip)\r
@@ -98,7 +138,7 @@ int msg_center_alipay_hostent_reponse(unsigned char *ip)
     } else {\r
         ret = -1;\r
     }\r
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_MSG_CENTER, "hostent wait status = 0x%x\r\n", status);\r
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "DNS解析 信号量获取状态 = 0x%x\r\n", status);\r
     osSemaphoreDelete(g_alipay_hostent_sem);\r
     g_alipay_hostent_sem = NULL;\r
     return ret;\r
@@ -106,6 +146,19 @@ int msg_center_alipay_hostent_reponse(unsigned char *ip)
 \r
 int msg_center_alipay_connect_request(void *usr_data, uint16_t usr_len)\r
 {\r
+    #if ALIPAY_TRANSSPECARD_SUPPORT_BLE\r
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "tcp连接请求\r\n");\r
+    int ret;\r
+    if (g_alipay_tcp_sem == NULL) {\r
+        g_alipay_tcp_sem = osSemaphoreNew(1, 0, NULL);\r
+    }\r
+    ret = send_transspecard_data(MSGCENTER_TYPE_ID_ALIPAY_CONNECT, (uint8_t *)usr_data, usr_len);\r
+    if (ret != 0) {\r
+        return -1;\r
+    } else {\r
+        return 0;\r
+    }\r
+    #else\r
     int ret;\r
     if (g_alipay_tcp_sem == NULL) {\r
         g_alipay_tcp_sem = osSemaphoreNew(1, 0, NULL);\r
@@ -116,10 +169,26 @@ int msg_center_alipay_connect_request(void *usr_data, uint16_t usr_len)
     } else {\r
         return 0;\r
     }\r
+    #endif\r
 }\r
 \r
 errcode_t msg_center_alipay_connect_recv(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len)\r
 {\r
+    #if ALIPAY_TRANSSPECARD_SUPPORT_BLE\r
+    if(cmd_id != ALIPAY_TRANSSPECARD)\r
+    {\r
+        printf("msg_center_alipay_network_status cmd_id error:%d\r\n", cmd_id);\r
+        return -1;\r
+    }\r
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "接收tcp连接状态\r\n");\r
+    alipay_connect_reponse rep;\r
+    (void)memcpy_s(&rep, sizeof(alipay_connect_reponse), usr_data, usr_len);\r
+    WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "recv alipay_connect_reponse info--> %d %d\r\n",\r
+                  rep.ret, rep.fd);\r
+    g_tcp_fd = rep.fd;\r
+    osSemaphoreRelease(g_alipay_tcp_sem);\r
+    return ERRCODE_SUCC;\r
+    #else\r
     uint8_t tl_len = msg_center_get_tlv_tl_len(usr_data);\r
     uint16_t payload_len = usr_len - tl_len;\r
     uint8_t *tlv_payload = (uint8_t *)msg_center_get_tlv_payload(usr_data);\r
@@ -131,10 +200,12 @@ errcode_t msg_center_alipay_connect_recv(uint8_t cmd_id, uint8_t type, void *usr
     g_tcp_fd = rep.fd;\r
     osSemaphoreRelease(g_alipay_tcp_sem);\r
     return ERRCODE_SUCC;\r
+    #endif\r
 }\r
 \r
 int msg_center_alipay_connect_reponse(void)\r
 {\r
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "msg_center_alipay_connect_reponse\r\n");\r
     int ret;\r
     osStatus_t status = osSemaphoreAcquire(g_alipay_tcp_sem, TCP_CONNECT_TIMEOUT);\r
     if (status == osOK) {\r
@@ -142,12 +213,22 @@ int msg_center_alipay_connect_reponse(void)
     } else {\r
         ret = -1;\r
     }\r
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_MSG_CENTER, "connect wait status = 0x%x\r\n", status);\r
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "建立TCP连接 信号量获取状态 = %x\r\n", status);\r
     return ret;\r
 }\r
 \r
 int msg_center_alipay_tcpdata_request(void *usr_data, uint16_t usr_len)\r
 {\r
+    #if ALIPAY_TRANSSPECARD_SUPPORT_BLE\r
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "tcp数据请求 = %d\r\n",usr_len);\r
+    int ret; \r
+    ret = send_transspecard_data(MSGCENTER_TYPE_ID_ALIPAY_TCPDATA_RECV, usr_data, usr_len);\r
+    if (ret != ERRCODE_SUCC) {\r
+        return -1;\r
+    } else {\r
+        return (int)usr_len;\r
+    }\r
+    #else\r
     WEARABLE_LOGD(WEARABLE_LOG_MODULE_MSG_CENTER, "tcpdata send len = 0x%x\r\n", usr_len);\r
     int ret;\r
     ret = msg_center_send_data(MSGCENTER_CMD_ALIPAY, MSGCENTER_TYPE_ID_ALIPAY_TCPDATA_RECV, usr_data, usr_len);\r
@@ -156,10 +237,12 @@ int msg_center_alipay_tcpdata_request(void *usr_data, uint16_t usr_len)
     } else {\r
         return (int)usr_len;\r
     }\r
+    #endif\r
 }\r
 \r
 int msg_center_alipay_tcpdata_wait(uint32_t timeout)\r
 {\r
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "msg_center_alipay_tcpdata_wait = %d\r\n",timeout);\r
     int ret;\r
     osStatus_t status = osSemaphoreAcquire(g_alipay_tcp_sem, timeout);\r
     if (status == osOK) {\r
@@ -167,12 +250,35 @@ int msg_center_alipay_tcpdata_wait(uint32_t timeout)
     } else {\r
         ret = 0;\r
     }\r
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_MSG_CENTER, "tcpdata wait status = 0x%x\r\n", status);\r
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "请求TCP数据 信号量获取状态 0x%x\r\n", status);\r
     return ret;\r
 }\r
 \r
 errcode_t msg_center_alipay_tcpdata_recv(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len)\r
 {\r
+    #if ALIPAY_TRANSSPECARD_SUPPORT_BLE\r
+    if(cmd_id != ALIPAY_TRANSSPECARD)\r
+    {\r
+        printf("msg_center_alipay_network_status cmd_id error:%d\r\n", cmd_id);\r
+        return -1;\r
+    }\r
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "接收tcp数据:%d\r\n",usr_len);\r
+    if (g_tcp_data != NULL) {\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER,\r
+            "The last buff hasn't been read yet, current payload len is %u.\r\n", usr_len);\r
+        return ERRCODE_FAIL;\r
+    }\r
+    g_tcp_data = (uint8_t *)malloc(usr_len);\r
+    if (g_tcp_data != NULL) {\r
+        g_tcp_data_len = usr_len;\r
+        (void)memcpy_s(g_tcp_data, g_tcp_data_len, usr_data, usr_len);\r
+    }\r
+\r
+    WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "recv tcpdata len = %d\r\n",\r
+                  g_tcp_data_len);\r
+    osSemaphoreRelease(g_alipay_tcp_sem);\r
+    return ERRCODE_SUCC;\r
+    #else\r
     uint8_t tl_len = msg_center_get_tlv_tl_len(usr_data);\r
     uint16_t payload_len = usr_len - tl_len;\r
     uint8_t *tlv_payload = (uint8_t *)msg_center_get_tlv_payload(usr_data);\r
@@ -191,10 +297,44 @@ errcode_t msg_center_alipay_tcpdata_recv(uint8_t cmd_id, uint8_t type, void *usr
                   g_tcp_data_len);\r
     osSemaphoreRelease(g_alipay_tcp_sem);\r
     return ERRCODE_SUCC;\r
+    #endif\r
 }\r
 \r
+//接受数据\r
 int msg_center_alipay_tcpdata_read(void *mem, int len)\r
 {\r
+    #if ALIPAY_TRANSSPECARD_SUPPORT_BLE\r
+    int ret = 0;\r
+    // printf("进入 msg_center_alipay_tcpdata_read 函数,请求读取的长度为: %d\n", len);\r
+\r
+    if (g_tcp_data != NULL) {\r
+        // printf("g_tcp_data 不为 NULL,准备读取数据\n");\r
+        int read_len = min(len, g_tcp_data_len);\r
+        // printf("实际可读取的长度为: %d\n", read_len);\r
+\r
+        (void)memcpy_s(mem, len, g_tcp_data + g_tcp_data_readed, read_len);\r
+        // printf("已将 %d 字节的数据从 g_tcp_data 复制到 mem\n", read_len);\r
+\r
+        g_tcp_data_readed += read_len;\r
+        g_tcp_data_len -= read_len;\r
+        // printf("更新后,已读取的数据长度为: %d,剩余数据长度为: %d\n", g_tcp_data_readed, g_tcp_data_len);\r
+\r
+        ret = read_len;\r
+\r
+        if (g_tcp_data_len == 0) {\r
+            // printf("数据已全部读取,释放 g_tcp_data 内存\n");\r
+            free(g_tcp_data);\r
+            g_tcp_data = NULL;\r
+            g_tcp_data_readed = 0;\r
+            // printf("g_tcp_data 已置为 NULL,已读取数据长度重置为 0\n");\r
+        }\r
+    } else {\r
+        ret = -2; // no data for read\r
+        // printf("g_tcp_data 为 NULL,没有数据可供读取,返回 -2\n");\r
+    }\r
+    // printf("离开 msg_center_alipay_tcpdata_read 函数,实际读取的长度为: %d\n", ret);\r
+    return ret;\r
+    #else\r
     int ret = 0;\r
     if (g_tcp_data != NULL) {\r
         int read_len = min(len, g_tcp_data_len);\r
@@ -212,10 +352,33 @@ int msg_center_alipay_tcpdata_read(void *mem, int len)
     }\r
     WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "read tcpdata len = (%d, %d)\r\n", len, ret);\r
     return ret;\r
+    #endif\r
 }\r
 \r
 int msg_center_alipay_close_request(void)\r
 {\r
+    #if ALIPAY_TRANSSPECARD_SUPPORT_BLE\r
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "发送socket关闭请求\r\n");\r
+    if (g_alipay_tcp_sem != NULL) {\r
+        osSemaphoreDelete(g_alipay_tcp_sem);\r
+        g_alipay_tcp_sem = NULL;\r
+    }\r
+    if (g_tcp_data != NULL) {\r
+        WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "need free data buff.\r\n");\r
+        free(g_tcp_data);\r
+        g_tcp_data = NULL;\r
+        g_tcp_data_readed = 0;\r
+    }\r
+    int ret;\r
+    int send_ret = send_transspecard_data(MSGCENTER_TYPE_ID_ALIPAY_CLOSE, &g_tcp_fd, sizeof(g_tcp_fd));\r
+    if (send_ret != ERRCODE_SUCC) {\r
+        ret = -1;\r
+    } else {\r
+        ret = 0;\r
+    }\r
+    g_tcp_fd = 0;\r
+    return ret;\r
+    #else\r
     if (g_alipay_tcp_sem != NULL) {\r
         osSemaphoreDelete(g_alipay_tcp_sem);\r
         g_alipay_tcp_sem = NULL;\r
@@ -236,15 +399,25 @@ int msg_center_alipay_close_request(void)
     }\r
     g_tcp_fd = 0;\r
     return ret;\r
+    #endif\r
 }\r
 \r
 errcode_t msg_center_alipay_close(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len)\r
 {\r
+    #if ALIPAY_TRANSSPECARD_SUPPORT_BLE\r
+    if(cmd_id != ALIPAY_TRANSSPECARD)\r
+    {\r
+        printf("msg_center_alipay_close cmd_id error:%d,ecpected cmd_id is:0x09\r\n", cmd_id);\r
+        return -1;\r
+    }\r
+    return ERRCODE_SUCC;\r
+    #else\r
     uint8_t tl_len = msg_center_get_tlv_tl_len(usr_data);\r
     uint16_t payload_len = usr_len - tl_len;\r
     uint8_t *tlv_payload = (uint8_t *)msg_center_get_tlv_payload(usr_data);\r
 \r
     return ERRCODE_SUCC;\r
+    #endif\r
 }\r
 \r
 errcode_t msg_center_alipay_time_sync(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len)\r
index 38b82aa..8801d49 100644 (file)
@@ -21,7 +21,6 @@
 #ifdef __cplusplus\r
 extern "C" {\r
 #endif\r
-#include "transspecard.h"\r
 \r
 #define HOSTENT_TIMEOUT 2000\r
 #define TCP_CONNECT_TIMEOUT 2000\r
@@ -37,7 +36,6 @@ uint16_t g_tcp_data_readed = 0;
 uint32_t g_tcp_fd = 0;\r
 uint8_t g_netstatus = 0;\r
 \r
-#define ALIPAY_TRANSSPECARD_SUPPORT_BLE 1\r
 void msg_center_alipay_reply_ack(uint8_t cmd_id, uint8_t type)\r
 {\r
     uint8_t ack = 1; /* 与手机APK侧约定 */\r
@@ -47,16 +45,6 @@ void msg_center_alipay_reply_ack(uint8_t cmd_id, uint8_t type)
 \r
 errcode_t msg_center_alipay_network_status(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len)\r
 {\r
-    #if ALIPAY_TRANSSPECARD_SUPPORT_BLE\r
-    if(cmd_id != ALIPAY_TRANSSPECARD)\r
-    {\r
-        printf("msg_center_alipay_network_status cmd_id error:%d\r\n", cmd_id);\r
-        return -1;\r
-    }\r
-    g_netstatus = *((uint8_t *)usr_data);\r
-    WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "msg_center_alipay_network_status:netstatus = %d\r\n", g_netstatus);\r
-    return 0;\r
-    #else\r
     uint8_t tl_len = msg_center_get_tlv_tl_len(usr_data);\r
     uint16_t payload_len = usr_len - tl_len;\r
     uint8_t *tlv_payload = (uint8_t *)msg_center_get_tlv_payload(usr_data);\r
@@ -65,7 +53,6 @@ errcode_t msg_center_alipay_network_status(uint8_t cmd_id, uint8_t type, void *u
     WEARABLE_LOGD(WEARABLE_LOG_MODULE_MSG_CENTER, "msg_center_alipay netstatus = %d\r\n", g_netstatus);\r
     msg_center_alipay_reply_ack(cmd_id, type);\r
     return 0;\r
-    #endif\r
 }\r
 \r
 uint8_t msg_center_alipay_get_network_status(void)\r
@@ -75,19 +62,6 @@ uint8_t msg_center_alipay_get_network_status(void)
 \r
 int msg_center_alipay_hostent_request(void *usr_data, uint16_t usr_len)\r
 {\r
-    #if ALIPAY_TRANSSPECARD_SUPPORT_BLE\r
-    WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "DNS域名解析请求:%s\r\n", (char *)usr_data);\r
-    int ret;\r
-    if (g_alipay_hostent_sem == NULL) {\r
-        g_alipay_hostent_sem = osSemaphoreNew(1, 0, NULL);\r
-    }\r
-    ret = send_transspecard_data(MSGCENTER_TYPE_ID_ALIPAY_HOST_INFO, (uint8_t *)usr_data, usr_len);\r
-    if (ret != 0) {\r
-        return -1;\r
-    } else {\r
-        return 0;\r
-    }\r
-    #else\r
     int ret;\r
     if (g_alipay_hostent_sem == NULL) {\r
         g_alipay_hostent_sem = osSemaphoreNew(1, 0, NULL);\r
@@ -99,23 +73,10 @@ int msg_center_alipay_hostent_request(void *usr_data, uint16_t usr_len)
     } else {\r
         return 0;\r
     }\r
-    #endif\r
 }\r
 \r
 errcode_t msg_center_alipay_hostent_recv(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len)\r
 {\r
-    #if ALIPAY_TRANSSPECARD_SUPPORT_BLE\r
-    if(cmd_id != ALIPAY_TRANSSPECARD)\r
-    {\r
-        printf("msg_center_alipay_network_status cmd_id error:%d\r\n", cmd_id);\r
-        return -1;\r
-    }\r
-    (void)memcpy_s(g_alipay_ip, IPV4_LEN, usr_data, usr_len);\r
-    WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "接收app下发的域名解析,域名转换后的IP地址:%d.%d.%d.%d\r\n",\r
-        g_alipay_ip[0], g_alipay_ip[1], g_alipay_ip[2], g_alipay_ip[3]);\r
-    osSemaphoreRelease(g_alipay_hostent_sem);\r
-    return ERRCODE_SUCC;\r
-    #else\r
     uint8_t tl_len = msg_center_get_tlv_tl_len(usr_data);\r
     uint16_t payload_len = usr_len - tl_len;\r
     uint8_t *tlv_payload = (uint8_t *)msg_center_get_tlv_payload(usr_data);\r
@@ -125,7 +86,6 @@ errcode_t msg_center_alipay_hostent_recv(uint8_t cmd_id, uint8_t type, void *usr
                   g_alipay_ip[0], g_alipay_ip[1], g_alipay_ip[2], g_alipay_ip[3]);\r
     osSemaphoreRelease(g_alipay_hostent_sem);\r
     return ERRCODE_SUCC;\r
-    #endif\r
 }\r
 \r
 int msg_center_alipay_hostent_reponse(unsigned char *ip)\r
@@ -138,7 +98,7 @@ int msg_center_alipay_hostent_reponse(unsigned char *ip)
     } else {\r
         ret = -1;\r
     }\r
-    WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "DNS解析 信号量获取状态 = 0x%x\r\n", status);\r
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_MSG_CENTER, "hostent wait status = 0x%x\r\n", status);\r
     osSemaphoreDelete(g_alipay_hostent_sem);\r
     g_alipay_hostent_sem = NULL;\r
     return ret;\r
@@ -146,19 +106,6 @@ int msg_center_alipay_hostent_reponse(unsigned char *ip)
 \r
 int msg_center_alipay_connect_request(void *usr_data, uint16_t usr_len)\r
 {\r
-    #if ALIPAY_TRANSSPECARD_SUPPORT_BLE\r
-    WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "tcp连接请求\r\n");\r
-    int ret;\r
-    if (g_alipay_tcp_sem == NULL) {\r
-        g_alipay_tcp_sem = osSemaphoreNew(1, 0, NULL);\r
-    }\r
-    ret = send_transspecard_data(MSGCENTER_TYPE_ID_ALIPAY_CONNECT, (uint8_t *)usr_data, usr_len);\r
-    if (ret != 0) {\r
-        return -1;\r
-    } else {\r
-        return 0;\r
-    }\r
-    #else\r
     int ret;\r
     if (g_alipay_tcp_sem == NULL) {\r
         g_alipay_tcp_sem = osSemaphoreNew(1, 0, NULL);\r
@@ -169,26 +116,10 @@ int msg_center_alipay_connect_request(void *usr_data, uint16_t usr_len)
     } else {\r
         return 0;\r
     }\r
-    #endif\r
 }\r
 \r
 errcode_t msg_center_alipay_connect_recv(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len)\r
 {\r
-    #if ALIPAY_TRANSSPECARD_SUPPORT_BLE\r
-    if(cmd_id != ALIPAY_TRANSSPECARD)\r
-    {\r
-        printf("msg_center_alipay_network_status cmd_id error:%d\r\n", cmd_id);\r
-        return -1;\r
-    }\r
-    WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "接收tcp连接状态\r\n");\r
-    alipay_connect_reponse rep;\r
-    (void)memcpy_s(&rep, sizeof(alipay_connect_reponse), usr_data, usr_len);\r
-    WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "recv alipay_connect_reponse info--> %d %d\r\n",\r
-                  rep.ret, rep.fd);\r
-    g_tcp_fd = rep.fd;\r
-    osSemaphoreRelease(g_alipay_tcp_sem);\r
-    return ERRCODE_SUCC;\r
-    #else\r
     uint8_t tl_len = msg_center_get_tlv_tl_len(usr_data);\r
     uint16_t payload_len = usr_len - tl_len;\r
     uint8_t *tlv_payload = (uint8_t *)msg_center_get_tlv_payload(usr_data);\r
@@ -200,12 +131,10 @@ errcode_t msg_center_alipay_connect_recv(uint8_t cmd_id, uint8_t type, void *usr
     g_tcp_fd = rep.fd;\r
     osSemaphoreRelease(g_alipay_tcp_sem);\r
     return ERRCODE_SUCC;\r
-    #endif\r
 }\r
 \r
 int msg_center_alipay_connect_reponse(void)\r
 {\r
-    WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "msg_center_alipay_connect_reponse\r\n");\r
     int ret;\r
     osStatus_t status = osSemaphoreAcquire(g_alipay_tcp_sem, TCP_CONNECT_TIMEOUT);\r
     if (status == osOK) {\r
@@ -213,22 +142,12 @@ int msg_center_alipay_connect_reponse(void)
     } else {\r
         ret = -1;\r
     }\r
-    WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "建立TCP连接 信号量获取状态 = %x\r\n", status);\r
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_MSG_CENTER, "connect wait status = 0x%x\r\n", status);\r
     return ret;\r
 }\r
 \r
 int msg_center_alipay_tcpdata_request(void *usr_data, uint16_t usr_len)\r
 {\r
-    #if ALIPAY_TRANSSPECARD_SUPPORT_BLE\r
-    WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "tcp数据请求 = %d\r\n",usr_len);\r
-    int ret; \r
-    ret = send_transspecard_data(MSGCENTER_TYPE_ID_ALIPAY_TCPDATA_RECV, usr_data, usr_len);\r
-    if (ret != ERRCODE_SUCC) {\r
-        return -1;\r
-    } else {\r
-        return (int)usr_len;\r
-    }\r
-    #else\r
     WEARABLE_LOGD(WEARABLE_LOG_MODULE_MSG_CENTER, "tcpdata send len = 0x%x\r\n", usr_len);\r
     int ret;\r
     ret = msg_center_send_data(MSGCENTER_CMD_ALIPAY, MSGCENTER_TYPE_ID_ALIPAY_TCPDATA_RECV, usr_data, usr_len);\r
@@ -237,12 +156,10 @@ int msg_center_alipay_tcpdata_request(void *usr_data, uint16_t usr_len)
     } else {\r
         return (int)usr_len;\r
     }\r
-    #endif\r
 }\r
 \r
 int msg_center_alipay_tcpdata_wait(uint32_t timeout)\r
 {\r
-    WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "msg_center_alipay_tcpdata_wait = %d\r\n",timeout);\r
     int ret;\r
     osStatus_t status = osSemaphoreAcquire(g_alipay_tcp_sem, timeout);\r
     if (status == osOK) {\r
@@ -250,35 +167,12 @@ int msg_center_alipay_tcpdata_wait(uint32_t timeout)
     } else {\r
         ret = 0;\r
     }\r
-    WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "请求TCP数据 信号量获取状态 0x%x\r\n", status);\r
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_MSG_CENTER, "tcpdata wait status = 0x%x\r\n", status);\r
     return ret;\r
 }\r
 \r
 errcode_t msg_center_alipay_tcpdata_recv(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len)\r
 {\r
-    #if ALIPAY_TRANSSPECARD_SUPPORT_BLE\r
-    if(cmd_id != ALIPAY_TRANSSPECARD)\r
-    {\r
-        printf("msg_center_alipay_network_status cmd_id error:%d\r\n", cmd_id);\r
-        return -1;\r
-    }\r
-    WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "接收tcp数据:%d\r\n",usr_len);\r
-    if (g_tcp_data != NULL) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER,\r
-            "The last buff hasn't been read yet, current payload len is %u.\r\n", usr_len);\r
-        return ERRCODE_FAIL;\r
-    }\r
-    g_tcp_data = (uint8_t *)malloc(usr_len);\r
-    if (g_tcp_data != NULL) {\r
-        g_tcp_data_len = usr_len;\r
-        (void)memcpy_s(g_tcp_data, g_tcp_data_len, usr_data, usr_len);\r
-    }\r
-\r
-    WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "recv tcpdata len = %d\r\n",\r
-                  g_tcp_data_len);\r
-    osSemaphoreRelease(g_alipay_tcp_sem);\r
-    return ERRCODE_SUCC;\r
-    #else\r
     uint8_t tl_len = msg_center_get_tlv_tl_len(usr_data);\r
     uint16_t payload_len = usr_len - tl_len;\r
     uint8_t *tlv_payload = (uint8_t *)msg_center_get_tlv_payload(usr_data);\r
@@ -297,44 +191,10 @@ errcode_t msg_center_alipay_tcpdata_recv(uint8_t cmd_id, uint8_t type, void *usr
                   g_tcp_data_len);\r
     osSemaphoreRelease(g_alipay_tcp_sem);\r
     return ERRCODE_SUCC;\r
-    #endif\r
 }\r
 \r
-//接受数据\r
 int msg_center_alipay_tcpdata_read(void *mem, int len)\r
 {\r
-    #if ALIPAY_TRANSSPECARD_SUPPORT_BLE\r
-    int ret = 0;\r
-    // printf("进入 msg_center_alipay_tcpdata_read 函数,请求读取的长度为: %d\n", len);\r
-\r
-    if (g_tcp_data != NULL) {\r
-        // printf("g_tcp_data 不为 NULL,准备读取数据\n");\r
-        int read_len = min(len, g_tcp_data_len);\r
-        // printf("实际可读取的长度为: %d\n", read_len);\r
-\r
-        (void)memcpy_s(mem, len, g_tcp_data + g_tcp_data_readed, read_len);\r
-        // printf("已将 %d 字节的数据从 g_tcp_data 复制到 mem\n", read_len);\r
-\r
-        g_tcp_data_readed += read_len;\r
-        g_tcp_data_len -= read_len;\r
-        // printf("更新后,已读取的数据长度为: %d,剩余数据长度为: %d\n", g_tcp_data_readed, g_tcp_data_len);\r
-\r
-        ret = read_len;\r
-\r
-        if (g_tcp_data_len == 0) {\r
-            // printf("数据已全部读取,释放 g_tcp_data 内存\n");\r
-            free(g_tcp_data);\r
-            g_tcp_data = NULL;\r
-            g_tcp_data_readed = 0;\r
-            // printf("g_tcp_data 已置为 NULL,已读取数据长度重置为 0\n");\r
-        }\r
-    } else {\r
-        ret = -2; // no data for read\r
-        // printf("g_tcp_data 为 NULL,没有数据可供读取,返回 -2\n");\r
-    }\r
-    // printf("离开 msg_center_alipay_tcpdata_read 函数,实际读取的长度为: %d\n", ret);\r
-    return ret;\r
-    #else\r
     int ret = 0;\r
     if (g_tcp_data != NULL) {\r
         int read_len = min(len, g_tcp_data_len);\r
@@ -352,33 +212,10 @@ int msg_center_alipay_tcpdata_read(void *mem, int len)
     }\r
     WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "read tcpdata len = (%d, %d)\r\n", len, ret);\r
     return ret;\r
-    #endif\r
 }\r
 \r
 int msg_center_alipay_close_request(void)\r
 {\r
-    #if ALIPAY_TRANSSPECARD_SUPPORT_BLE\r
-    WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "发送socket关闭请求\r\n");\r
-    if (g_alipay_tcp_sem != NULL) {\r
-        osSemaphoreDelete(g_alipay_tcp_sem);\r
-        g_alipay_tcp_sem = NULL;\r
-    }\r
-    if (g_tcp_data != NULL) {\r
-        WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "need free data buff.\r\n");\r
-        free(g_tcp_data);\r
-        g_tcp_data = NULL;\r
-        g_tcp_data_readed = 0;\r
-    }\r
-    int ret;\r
-    int send_ret = send_transspecard_data(MSGCENTER_TYPE_ID_ALIPAY_CLOSE, &g_tcp_fd, sizeof(g_tcp_fd));\r
-    if (send_ret != ERRCODE_SUCC) {\r
-        ret = -1;\r
-    } else {\r
-        ret = 0;\r
-    }\r
-    g_tcp_fd = 0;\r
-    return ret;\r
-    #else\r
     if (g_alipay_tcp_sem != NULL) {\r
         osSemaphoreDelete(g_alipay_tcp_sem);\r
         g_alipay_tcp_sem = NULL;\r
@@ -399,25 +236,15 @@ int msg_center_alipay_close_request(void)
     }\r
     g_tcp_fd = 0;\r
     return ret;\r
-    #endif\r
 }\r
 \r
 errcode_t msg_center_alipay_close(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len)\r
 {\r
-    #if ALIPAY_TRANSSPECARD_SUPPORT_BLE\r
-    if(cmd_id != ALIPAY_TRANSSPECARD)\r
-    {\r
-        printf("msg_center_alipay_close cmd_id error:%d,ecpected cmd_id is:0x09\r\n", cmd_id);\r
-        return -1;\r
-    }\r
-    return ERRCODE_SUCC;\r
-    #else\r
     uint8_t tl_len = msg_center_get_tlv_tl_len(usr_data);\r
     uint16_t payload_len = usr_len - tl_len;\r
     uint8_t *tlv_payload = (uint8_t *)msg_center_get_tlv_payload(usr_data);\r
 \r
     return ERRCODE_SUCC;\r
-    #endif\r
 }\r
 \r
 errcode_t msg_center_alipay_time_sync(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len)\r
index 678b704..b9cba49 100644 (file)
@@ -1890,12 +1890,14 @@ static void svr_ble_bt_gatts_req_write_cb(uint8_t server_id, uint16_t conn_id, g
         g_ble_conn_id=conn_id;\r
         uapi_save_runtime_log(RUNTIME_LOG_BLE_APP_CMD);\r
     }\r
-    // if(is_alipay_handle(write_cb_para->handle))\r
-    // {\r
-    //     g_ble_Alipay_conn_id=conn_id;\r
-    //     uapi_save_runtime_log(RUNTIME_LOG_BLE_ALIPAY_CMD);\r
-    //     WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"g_ble_Alipay_conn_id\r\n");\r
-    // }\r
+    #ifdef SUPPORT_ALIPAY_SEC\r
+    if(is_alipay_handle(write_cb_para->handle))\r
+    {\r
+        g_ble_Alipay_conn_id=conn_id;\r
+        uapi_save_runtime_log(RUNTIME_LOG_BLE_ALIPAY_CMD);\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"g_ble_Alipay_conn_id\r\n");\r
+    }\r
+    #endif\r
     // else\r
     // {\r
     //     WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP," ?????\r\n");\r
@@ -2074,7 +2076,7 @@ void svr_ble_bluetooth_init(void)
     #ifdef SUPPORT_HID_SERVICE\r
     // ble_hid_server_init();\r
     #endif\r
-    #ifdef AILPAY_SUPPORT\r
+    #ifdef SUPPORT_ALIPAY_SEC\r
     svr_alipay_bluetooth_init(g_ble_server_id);\r
     #endif\r
     #ifdef FACTORYTEST_SERVICE\r
@@ -2156,7 +2158,7 @@ void ble_avd_mode_change(uint8_t mode)
         case MODE_ALIPAY_ADV_SRV:\r
 \r
             \r
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"alipay_ble_advd_start!!!!!!!!! ble_adv_falg: %d ,AdverFlag: %d",ble_adv_falg,AdverFlag);\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"alipay_ble_advd_start!!!!!!!!! ble_adv_falg: %d ,AdverFlag: %d",ble_adv_falg,AdverFlag);\r
             svr_ble_adv_start(); \r
           \r
             break;\r