支付宝界面代码合并
authorluozheng <1732036298@qq.com>
Fri, 29 Aug 2025 03:01:56 +0000 (11:01 +0800)
committerluozheng <1732036298@qq.com>
Fri, 29 Aug 2025 03:01:56 +0000 (11:01 +0800)
19 files changed:
code/sdk/application/wearable/alipay/driver_adapt/IIC_Master_Driver.h
code/sdk/application/wearable/alipay/driver_adapt/iotsec.h
code/sdk/application/wearable/alipay/service/alipay_feature.c
code/sdk/application/wearable/alipay/service/alipay_feature.h
code/sdk/application/wearable/fd230/nativeapp/nativeui/alipay/include/AlipayModel.h
code/sdk/application/wearable/fd230/nativeapp/nativeui/alipay/include/AlipayPresenter.h
code/sdk/application/wearable/fd230/nativeapp/nativeui/alipay/src/AlipayExitBind.cpp
code/sdk/application/wearable/fd230/nativeapp/nativeui/alipay/src/AlipayMainView.cpp
code/sdk/application/wearable/fd230/nativeapp/nativeui/alipay/src/AlipayModel.cpp
code/sdk/application/wearable/fd230/nativeapp/nativeui/alipay/src/AlipayPresenter.cpp
code/sdk/application/wearable/fd230/nativeapp/nativeui/alipay/src/AlipayTrans/AlipayGetTransList.cpp
code/sdk/application/wearable/fd230/nativeapp/nativeui/alipay/src/AlipayTrans/AlipayTransListView.cpp
code/sdk/application/wearable/fd230/nativeapp/nativeui/alipay/src/AlipayTrans/AlipayTransRes.cpp
code/sdk/application/wearable/fd230/nativeapp/nativeui/alipay/src/AlipayTrans/AlipayTransTips.cpp
code/sdk/application/wearable/fd230/nativeapp/nativeui/alipay/src/AlipayUnbindFinish.cpp
code/sdk/middleware/chips/brandy/pm/include/pm_definition.h
code/sdk/middleware/chips/brandy/pm/pm.c
code/sdk/vendor/alipay_sdk/alipay_sec_sdk_v3.0.0/lib/rv70_llvm/CMakeLists.txt
code/sdk/vendor/alipay_sdk/alipay_sec_sdk_v3.0.0/soc/CMakeLists.txt

index 96d1046..292cb7d 100644 (file)
@@ -10,8 +10,6 @@
 #ifndef ALIPAY_SOC_DRIVER_ADAPT_H
 #define ALIPAY_SOC_DRIVER_ADAPT_H
 
-void HS_IIC_Init(void);
-
 unsigned char *IIC_Master_Init(void);
 
 int IIC_Master_Send(unsigned char byAddr, unsigned char *pData, unsigned short wLen);
index 0ae1d46..5de261b 100644 (file)
@@ -13,7 +13,7 @@
 #include <stdarg.h>\r
 #include "debug_print.h"\r
 \r
-#define MyPrintf(fmt, arg...) PRINT("[SEC PAY E/] %s: " fmt "\r\n", __FUNCTION__, ##arg)\r
+#define MyPrintf(fmt, arg...) printf("[SEC PAY E/] %s: " fmt "\r\n", __FUNCTION__, ##arg)\r
 \r
 typedef enum {\r
     CSI_OK = 0,\r
@@ -390,16 +390,4 @@ void csi_free(void *pt);
     ■ either a null pointer or a pointer to the possibly moved allocated space */\r
 void *csi_realloc(void *pt, uint32_t size);\r
 \r
-/*\r
- * @brief alipay ese enter low-power mode.\r
- * @return  NULL.\r
- */\r
-void csi_enter_lpm(void *ctx);\r
-\r
-/*\r
- * @brief alipay ese exit low-power mode.\r
- * @return  NULL.\r
- */\r
-int csi_exit_lpm(void *ctx);\r
-\r
 #endif\r
index 2387cbd..ef508b4 100644 (file)
@@ -16,8 +16,6 @@
 #include "alipay_pay.h"
 #include "alipay_pay_result.h"
 #include "soc_errno.h"
-#include "iotsec.h"
-#include "IIC_Master_Driver.h"
 #include "product.h"
 #include "gpio.h"
 #include "alipay_common.h"
@@ -505,7 +503,7 @@ static int32_t svr_alipay_msg_proc(uint32_t msg_id, uint8_t *data, uint16_t size
     return ERRCODE_SUCC;
 }
 
-static void svr_alipay_msg_thread(void *data)
+static errcode_t 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 +524,7 @@ static void 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;
+    return ERRCODE_SUCC;
 }
 
 static errcode_t svr_alipay_task_init(void)
index 6384ae0..b05b866 100644 (file)
@@ -30,13 +30,16 @@ 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)
@@ -96,6 +99,9 @@ typedef struct {
 
 typedef enum {
     ALIPAY_TRANS_SUCCESS = 0,
+    ALIPAY_TRANS_CODE_CREATE_FAIL = 7,                                  //生码失败-更新后再尝试
+    ALIPAY_TRANS_CODE_List_GET_FAIL = 26,                               // 获取特殊卡列表失败,设备已经在手机端解绑,设备端也需要调用解绑接口
+    ALIPAY_TRANS_CODE_SPECIAL_GET_FAIL = 256,                           // 获取乘车码列表失败,,设备已经在手机端解绑,设备端也需要调用解绑接口
     ALIPAY_TRANS_CARD_LIST_START = ALIPAY_TRANS_CARD_SHIFT << 8,
     ALIPAY_TRANS_CARD_LIST_UNBIND = ALIPAY_TRANS_CARD_LIST_START,       // 设备已经在服务端解绑,设备端也需要调用解绑接口
     ALIPAY_TRANS_CARD_LIST_NET_ERROR,                                   // 网络错误
@@ -363,17 +369,6 @@ void svr_alipay_bt_gatts_noyify(uint8_t *data, uint16_t data_len);
  * @return  NULL.
  */
 void svr_alipay_bluetooth_init(uint8_t);
-/*
- * @brief alipay BLE adv start.
- * @return  NULL.
- */
-void svr_alipay_ble_adv_start(void);
-
-/*
- * @brief alipay BLE adv stop.
- * @return  NULL.
- */
-void svr_alipay_ble_adv_stop(void);
 
 /*
  * @brief alipay svr init.
index 99e22e4..024ad93 100644 (file)
@@ -95,6 +95,8 @@ public:
 \r
     void AlipayScreenControl(bool turnOnFlag);\r
     void delete_all_files_in_folder(const char *folder_path);\r
+    int AlipayGetSpecificErrorCode(void);\r
+    void AlipaySetSpecificErrorCode(int errorCode);\r
 private:\r
     osTimerId_t bindTimerId = nullptr;\r
     osTimerId_t ble_disconnect_bindTimerId = nullptr;\r
@@ -112,6 +114,7 @@ private:
     uint8_t* transCode_ = nullptr;\r
     uint32_t transCodeLen_;\r
     char cardTitle_[ALIPAY_TRANS_CARD_MEMBER_LEN];\r
+    int specificr_error_code{0};\r
 };\r
 }\r
 \r
index eda67f7..2a6782b 100644 (file)
@@ -5,10 +5,9 @@
  * Create:\r
  */\r
 \r
-#ifndef ALIPAY_PRESENTER_H\r
-#define ALIPAY_PRESENTER_H\r
+#ifndef __ALIPAY_PRESENTER_H__\r
+#define __ALIPAY_PRESENTER_H__\r
 \r
-#include "key/include/KeyInputListener.h"\r
 #include "Presenter.h"\r
 #include "UiConfig.h"\r
 #include "wearable_log.h"\r
@@ -47,6 +46,7 @@ constexpr char *ALIPAY_TRANS_GET_LIST_RETRY = (char *)"alipaytransgetlistre";
 constexpr char *ALIPAY_TRANS_GET_LIST_DETAIL = (char *)"alipaytransgetlistdet";\r
 constexpr char *ALIPAY_TRANS_CERTAIN_BACK_LIST = (char *)"alipaytransbacklist";\r
 constexpr char *ALIPAY_TRANS_CERTAIN_TO_TRANS = (char *)"alipaytranstotranslist";\r
+constexpr char *ALIPAY_TRANS_CERTAIN_TO_BIND = (char *)"alipaytranstoalipaybind";\r
 constexpr char *ALIPAY_TRANS_RETRY_TRANS_CODE = (char *)"alipaytransretrycode";\r
 constexpr char *ALIPAY_TRANS_CODE_RES_DETAIL = (char *)"alipaytranscoderesde";\r
 constexpr char *ALIPAY_TRANS_LIST_RES_DETAIL = (char *)"alipaytranslistresde";\r
@@ -89,6 +89,7 @@ typedef enum {
     ALIPAY_TRANS_TIPS_SECURE,           //存在安全风险,12小时内不可用,请切换到手机侧使用\r
     ALIPAY_TRANS_TIPS_LIST_UNKNOW,      //未知错误_具体错误码,请联系设备厂商解决\r
     ALIPAY_TRANS_TIPS_NOT_SUPPORT,      //暂不支持,请切换到手机侧使用\r
+    LIPAY_TRANS_TIPS_UNBIND,            //该设备已经在手机端解绑,请用手机支付宝扫码绑定\r
 } alipayTransTipsId;\r
 \r
 typedef enum {\r
@@ -134,6 +135,7 @@ public:
     void ClickBackList(UIView &view);\r
     void ClickUpdateList(UIView &view);\r
     void ClickTransToTransList(UIView &view);\r
+    void ClickTransToAlipayBind(UIView &view);\r
     void ClickRetryTransCode(UIView &view);\r
     void ClickTransJumpHelp(UIView &view);\r
     void ClickTranstBackList(UIView &view);\r
index 6368e21..0c76ecf 100644 (file)
@@ -30,7 +30,7 @@ static const int16 EXIT_LABEL_FONT_FIRST = 30;
 static const int16 EXIT_LABEL_FONT_SEC = 30;\r
 \r
 static const char *EXIT_LABEL_TEXT_FIRST = (char *)"未完成绑定";\r
-static const char *EXIT_LABEL_TEXT_SECOND = (char *)"å½\93å\89\8dæ\9cªå®\8cæ\88\90ç»\91å®\9aï¼\8cé\80\80å\87ºå\9c¨进来需要重新扫码绑定";\r
+static const char *EXIT_LABEL_TEXT_SECOND = (char *)"å½\93å\89\8dæ\9cªå®\8cæ\88\90ç»\91å®\9aï¼\8cé\80\80å\87ºå\86\8d进来需要重新扫码绑定";\r
 \r
 static const int16 EXIT_BUTTON_EXIT_X = 58;\r
 static const int16 EXIT_BUTTON_EXIT_Y = 320;\r
index 9fb10f1..0047133 100644 (file)
@@ -238,9 +238,6 @@ void AlipayMainView::DropView(UIView &view)
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMainView::DropView::container[ALIPAY_BIND_ANI_VIEW]");\r
         ChangeView(ALIPAY_BIND_ANI_VIEW, ALIPAY_BIND_EXIT_VIEW);\r
     } else if (&view == container[ALIPAY_LIST_VIEW] || &view == container[ALIPAY_BIND_VIEW]) {\r
-        if (&view == container[ALIPAY_BIND_VIEW]) {\r
-            AlipayModel::GetInstance()->AlipayFinishBind();\r
-        }\r
         AlipayModel::GetInstance()->AlipayStopSwitchTimer();\r
         AlipayModel::GetInstance()->AlipayStopBindTimer();\r
         AlipayModel::GetInstance()->AlipayStopdisconnecTimer();\r
@@ -778,12 +775,13 @@ void AlipayMainView::DestroyTempView(int16 hideView)
         }\r
     }\r
     if (hideView == ALIPAY_TRANS_TIPS_VIEW) {\r
-\r
+        #if 0\r
         if(AlipayModel::GetInstance()->AlipayGetSwitchIndex() == ALIPAY_TRANS_TIPS_LIST_UNKNOW)\r
         {\r
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayMainView::DestroyTempView ALIPAY_TRANS_TIPS_UNKNOW");\r
             AlipayModel::GetInstance()->delete_all_files_in_folder("/user/alipay/");\r
         }\r
+        #endif\r
         delete alipayTransTips;\r
         alipayTransTips = nullptr;\r
     } else if (hideView == ALIPAY_TRANS_RES_VIEW) {\r
index 45e53be..99d0839 100644 (file)
@@ -67,7 +67,6 @@ void AlipayBindCallBackProc(void *argument)
         return;\r
     } else if (ALIPAY_INTER_STATUS_BINDING_OK == status && reFlag == 1) {\r
         AlipayModel::GetInstance()->AlipaySetRefreshFlag(0);\r
-        AlipayModel::GetInstance()->AlipayFinishBind();\r
         AlipayModel::GetInstance()->AlipayStopBindTimer();\r
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayBindCallBackProc ALIPAY_INTER_STATUS_BINDING_OK");\r
         AlipayModel::GetInstance()->AlipaySetBindFlag(true);\r
@@ -441,7 +440,7 @@ int32_t AlipayModel::AlipayGetTransCode(uint32_t index)
     if (ret == 0) {                                                                             //如果获取成功,复制卡标题\r
         memcpy_s(cardTitle_, ALIPAY_TRANS_CARD_MEMBER_LEN, cardInfo_[index].title, ALIPAY_TRANS_CARD_MEMBER_LEN);\r
     }\r
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayModel::AlipayCheckTransCard in:%u.", ret);\r
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayModel::AlipayGetTransCode in:%u.", ret);\r
     return ret;\r
 }\r
 \r
@@ -503,7 +502,7 @@ void AlipayModel::AlipayTransStopGetListsTimer(void)
 \r
 void AlipayMsgTransListCallBackProcFunc(uint32_t actionRes)\r
 {\r
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMsgTransListCallBackProcFunc in.");\r
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMsgTransListCallBackProcFunc in.%d",actionRes);\r
     if (AlipayMainView::GetInstance() == nullptr) {\r
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayMainView::GetInstance is null, do nothing.");\r
         return;\r
@@ -523,7 +522,10 @@ void AlipayMsgTransListCallBackProcFunc(uint32_t actionRes)
     } else {\r
         if (actionRes == ALIPAY_TRANS_CARD_LIST_OWN_TOO_MANY_CARD) {\r
             AlipayModel::GetInstance()->AlipaySetSwitchIndex(ALIPAY_TRANS_TIPS_TO_MUCH);\r
+        } else if(actionRes == ALIPAY_TRANS_CODE_SPECIAL_GET_FAIL) {\r
+            AlipayModel::GetInstance()->AlipaySetSwitchIndex(LIPAY_TRANS_TIPS_UNBIND);\r
         } else {\r
+            AlipayModel::GetInstance()->AlipaySetSpecificErrorCode(actionRes);\r
             AlipayModel::GetInstance()->AlipaySetSwitchIndex(ALIPAY_TRANS_TIPS_UNKNOW);\r
         }\r
         AlipayMainView::GetInstance()->ChangeView(ALIPAY_TRANS_ANI_VIEW, ALIPAY_TRANS_TIPS_VIEW);\r
@@ -546,7 +548,7 @@ void AlipayMsgTransSpeCardCallBackProcFunc(uint32_t actionRes)
         } else {\r
             AlipayMainView::GetInstance()->ChangeView(ALIPAY_TRANS_ANI_VIEW, ALIPAY_TRANS_VIEW);\r
         }\r
-    } else if (actionRes == ALIPAY_TRANS_CODE_NET_ERROR) {\r
+    } else if (actionRes == ALIPAY_TRANS_CODE_NET_ERROR || actionRes == ALIPAY_TRANS_CODE_CREATE_FAIL) {\r
         AlipayModel::GetInstance()->AlipaySetSwitchIndex(ALIPAY_TRANS_RES_CODE);\r
         AlipayMainView::GetInstance()->ChangeView(ALIPAY_TRANS_ANI_VIEW, ALIPAY_TRANS_RES_VIEW);\r
     } else {\r
@@ -554,7 +556,10 @@ void AlipayMsgTransSpeCardCallBackProcFunc(uint32_t actionRes)
             AlipayModel::GetInstance()->AlipaySetSwitchIndex(ALIPAY_TRANS_TIPS_SECURE);\r
         } else if (actionRes == ALIPAY_TRANS_CODE_NOT_SUPPORT) {\r
             AlipayModel::GetInstance()->AlipaySetSwitchIndex(ALIPAY_TRANS_TIPS_NOT_SUPPORT);\r
+        } else if (actionRes == ALIPAY_TRANS_CODE_List_GET_FAIL) {\r
+            AlipayModel::GetInstance()->AlipaySetSwitchIndex(LIPAY_TRANS_TIPS_UNBIND);\r
         } else {\r
+            AlipayModel::GetInstance()->AlipaySetSpecificErrorCode(actionRes);\r
             AlipayModel::GetInstance()->AlipaySetSwitchIndex(ALIPAY_TRANS_TIPS_LIST_UNKNOW);\r
         }\r
         AlipayMainView::GetInstance()->ChangeView(ALIPAY_TRANS_ANI_VIEW, ALIPAY_TRANS_TIPS_VIEW);\r
@@ -564,6 +569,7 @@ void AlipayMsgTransSpeCardCallBackProcFunc(uint32_t actionRes)
 \r
 void AlipayMsgCallBack(uint32_t msgId, uint32_t actionRes)\r
 {\r
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayMsgCallBack in,msgId:%u,actionRes:%u.", msgId, actionRes);\r
     if (msgId == ALIPAY_MSG_UPDATA_TRANS_LIST) {\r
         GraphicService::GetInstance()->PostGraphicEvent(std::bind(&AlipayMsgTransListCallBackProcFunc, actionRes));\r
     } else if (msgId == ALIPAY_MSG_UPDATA_SPECIAL_CARD) {\r
@@ -632,6 +638,7 @@ void AlipayModel::AlipaySetBindFlag(bool bindFlag)
 \r
 uint32_t AlipayModel::AlipayGetSwitchIndex(void)\r
 {\r
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayModel::AlipayGetSwitchIndex = %d",switchIndex_);\r
     return switchIndex_;\r
 }\r
 \r
@@ -690,6 +697,15 @@ char* AlipayModel::AlipayGetCardTitle(void)
     return cardTitle_;\r
 }\r
 \r
+int AlipayModel::AlipayGetSpecificErrorCode(void)\r
+{\r
+    return specificr_error_code;\r
+}\r
+void AlipayModel::AlipaySetSpecificErrorCode(int errorCode)\r
+{\r
+    specificr_error_code = errorCode;\r
+}\r
+\r
 /// @brief 支付宝屏幕控制\r
 /// @param turnOnFlag \r
 void AlipayModel::AlipayScreenControl(bool turnOnFlag)\r
index f4c0789..e148386 100644 (file)
@@ -29,6 +29,36 @@ namespace OHOS {
 REGIST_MENU_PRO(VIEW_MAIN_ALIPAY, AlipayMainView, AlipayPresenter,\r
         PNG_APPLIST_ALIPAY_IMAGE_BIG, PNG_APPLIST_ALIPAY_IMAGE,PNG_APPLIST_ALIPAY_IMAGE, "支付宝", STR_ALIPAY);\r
 \r
+        #ifdef __cplusplus\r
+    extern "C"\r
+    {\r
+#endif\r
+\r
+#include "pm.h"\r
+#include "pm_veto.h"\r
+\r
+        void remove_ALIPAY_vote(void)\r
+        {\r
+            uint8_t cnt = pm_veto_get_id_cnt(PM_ID_ALIPAY);\r
+            if (cnt == 1)\r
+            {\r
+                uapi_pm_remove_sleep_veto(PM_ID_ALIPAY);\r
+            }\r
+        }\r
+\r
+        void add_ALIPAY_vote(void)\r
+        {\r
+            uint8_t cnt = pm_veto_get_id_cnt(PM_ID_ALIPAY);\r
+            if (cnt == 0)\r
+            {\r
+                uapi_pm_add_sleep_veto(PM_ID_ALIPAY);\r
+            }\r
+        }\r
+\r
+#ifdef __cplusplus\r
+    }\r
+#endif\r
+\r
 static AlipayPresenter *g_alipayPresenter = nullptr;\r
 \r
 ColorType AlipayPresenter::CyanColor()\r
@@ -60,6 +90,7 @@ void AlipayPresenter::OnStart()
     if(Alipay_is_init()==false)\r
     return;\r
     /* -------------------------------- 设置支付宝界面常亮 ------------------------------- */\r
+    add_ALIPAY_vote();\r
     alipayMode_->AlipayScreenControl(true);\r
     /* -------------------------------------------------------------------------- */\r
     alipayMode_->AlipayExitLpm();\r
@@ -74,7 +105,6 @@ void AlipayPresenter::OnStart()
 \r
 void AlipayPresenter::OnResume(void)\r
 {\r
-    Presenter<AlipayMainView>::OnResume();\r
     svr_alipay_create_task();\r
 }\r
 \r
@@ -88,6 +118,7 @@ void AlipayPresenter::OnStop(void)
     alipayMode_->AlipayDeinitModel();\r
     alipayMode_->AlipayEnterLpm();\r
     /* -------------------------------- 恢复屏幕保持亮屏的时间 ------------------------------- */\r
+    remove_ALIPAY_vote();\r
     alipayMode_->AlipayScreenControl(false);\r
 }\r
 \r
@@ -196,6 +227,14 @@ void AlipayPresenter::ClickTransToTransList(UIView &view)
     view_->ChangeView(currentView, ALIPAY_TRANS_LIST_VIEW);\r
     return;\r
 }\r
+void AlipayPresenter::ClickTransToAlipayBind(UIView &view)\r
+{\r
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayPresenter::ClickTransJumpHelp start");\r
+    AlipayModel::GetInstance()->AlipayUnbind();//调用解绑接口\r
+    int16_t currentView = alipayMode_->GetAlipayInterLis();\r
+    view_->ChangeView(currentView, ALIPAY_BIND_VIEW);\r
+    return;\r
+}\r
 \r
 //点击刷新按钮\r
 void AlipayPresenter::ClickTransToTransCode(UIView &view)\r
@@ -227,6 +266,7 @@ void AlipayPresenter::ClickTransToTransCode(UIView &view)
         } else if (ret == ALIPAY_TRANS_CODE_NOT_SUPPORT) {\r
             AlipaySetSwitchIndex(ALIPAY_TRANS_TIPS_NOT_SUPPORT);\r
         } else {\r
+            AlipayModel::GetInstance()->AlipaySetSpecificErrorCode(ret);\r
             AlipaySetSwitchIndex(ALIPAY_TRANS_TIPS_LIST_UNKNOW);\r
         }\r
         view_->ChangeView(ALIPAY_TRANS_LIST_VIEW, ALIPAY_TRANS_TIPS_VIEW);\r
@@ -252,6 +292,7 @@ void AlipayPresenter::ClickRetryTransCode(UIView &view)
         } else if (ret == ALIPAY_TRANS_CODE_NOT_SUPPORT) {\r
             AlipaySetSwitchIndex(ALIPAY_TRANS_TIPS_NOT_SUPPORT);                    //不支持的错误:设置不支持提示\r
         } else {\r
+            AlipayModel::GetInstance()->AlipaySetSpecificErrorCode(ret);\r
             AlipaySetSwitchIndex(ALIPAY_TRANS_TIPS_LIST_UNKNOW);                    //未知错误:设置未知错误提示\r
         }\r
         view_->ChangeView(ALIPAY_GET_TRANS_LIST_VIEW, ALIPAY_TRANS_TIPS_VIEW);      //切换到相应的错误提示视图\r
@@ -416,6 +457,7 @@ static const AlipayPresentMapper1 PresentMapper[] = {
     {ALIPAY_TRANS_GET_LIST_DETAIL, &AlipayPresenter::ClickTransJumpHelp},\r
     {ALIPAY_TRANS_CERTAIN_BACK_LIST, &AlipayPresenter::ClickTranstBackList},\r
     {ALIPAY_TRANS_CERTAIN_TO_TRANS, &AlipayPresenter::ClickTransToTransList},\r
+    {ALIPAY_TRANS_CERTAIN_TO_BIND, &AlipayPresenter::ClickTransToAlipayBind},\r
     {ALIPAY_TRANS_LIST_BUTTON, &AlipayPresenter::ClickTransToTransCode},\r
     {ALIPAY_TRANS_RETRY_TRANS_CODE, &AlipayPresenter::ClickRetryTransCode},\r
     {ALIPAY_TRANS_LIST_RES_DETAIL, &AlipayPresenter::ClickTransJumpGetList},\r
index b44bbb0..989b662 100644 (file)
 #include "alipay/include/AlipayTrans/AlipayGetTransList.h"\r
 \r
 namespace OHOS {\r
-static const int16 EXIT_LABEL_X_FIRST = 60;\r
-static const int16 EXIT_LABEL_Y_FIRST = 79;\r
-static const int16 EXIT_LABEL_WIDTH_FIRST = 333;\r
-static const int16 EXIT_LABEL_HEIGHT_FIRST = 238;\r
+static const int16 EXIT_LABEL_X_FIRST = 53;\r
+static const int16 EXIT_LABEL_Y_FIRST = 100;\r
+static const int16 EXIT_LABEL_WIDTH_FIRST = 360;\r
+static const int16 EXIT_LABEL_HEIGHT_FIRST = 175;\r
 \r
 static const int16 EXIT_LABEL_FONT_FIRST = 30;\r
 static const char *GET_TRANS_LIST_TEXT_1 =\r
-    (char *)"初次使用,完成以下步骤\n1.手机设置-蓝牙,打开并与手表连接配对;\n2.手机“运动健康”确保设备已连接;";\r
+    (char *)"初次使用,完成以下步骤\n1.手机设置-蓝牙,打开并与手表连接配对;\n2.手机“KUMI COMM”确保设备已连接;";\r
 static const char *GET_TRANS_LIST_TEXT_2 =\r
-    (char *)"完成以下步骤,请重试\n1.手机设置-蓝牙,打开并与手表连接配对;\n2.手机“运动健康”确保设备已连接;";\r
-static const int16 EXIT_BUTTON_EXIT_X = 50;\r
-static const int16 EXIT_BUTTON_EXIT_Y = 312;\r
+    (char *)"完成以下步骤,请重试\n1.手机设置-蓝牙,打开并与手表连接配对;\n2.手机“KUMI COMM”确保设备已连接;";\r
+static const int16 EXIT_BUTTON_EXIT_X = 58;\r
+static const int16 EXIT_BUTTON_EXIT_Y = 320;\r
 \r
-static const int16 EXIT_BUTTON_BIND_X = 233;\r
-static const int16 EXIT_BUTTON_BIND_Y = 312;\r
+static const int16 EXIT_BUTTON_BIND_X = 238;\r
+static const int16 EXIT_BUTTON_BIND_Y = 320;\r
 \r
 static const char *GET_TRANS_LISTBUTTON_TEXT_LEFT1 = (char *)"退出";\r
 static const char *GET_TRANS_LISTBUTTON_TEXT_RIGHT1 = (char *)"已完成";\r
@@ -35,9 +35,9 @@ static const char *GET_TRANS_LISTBUTTON_TEXT_RIGHT1 = (char *)"已完成";
 static const char *GET_TRANS_LISTBUTTON_TEXT_LEFT2 = (char *)"重试";\r
 static const char *GET_TRANS_LISTBUTTON_TEXT_RIGHT2 = (char *)"详情";\r
 \r
-static const int16 EXIT_BUTTON_WIDTH = 169;\r
-static const int16 EXIT_BUTTON_HEIGHT = 73;\r
-static const int16 EXIT_BUTTON_FONT = 38;\r
+static const int16 EXIT_BUTTON_WIDTH = 170;\r
+static const int16 EXIT_BUTTON_HEIGHT = 90;\r
+static const int16 EXIT_BUTTON_FONT = 26;\r
 \r
 typedef struct AlipayTransGetListInfo {\r
     const char *str;\r
@@ -109,11 +109,11 @@ bool AlipayGetTransList::InitSimilarButton(int16 num, int16 alipayX, int16 alipa
     }\r
     int64_t backColor = 0;\r
     if (num == 0) {\r
-        backColor = 0xff4a83bf;\r
-        alipayButton[num]->SetTextColor(Color::GetColorFromRGBA(0x00, 0x00, 0x00, 0xff));\r
-        alipayButton[num]->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);\r
+        backColor = 0xff0176ff;\r
+        // alipayButton[num]->SetTextColor(Color::GetColorFromRGBA(0x00, 0x00, 0x00, 0xff));\r
+        alipayButton[num]->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);\r
     } else if (num == 1) {\r
-        backColor = 0xff0b1928;\r
+        backColor = 0xff0176ff;\r
     }\r
     alipayButton[num]->SetPosition(alipayX, alipayY, EXIT_BUTTON_WIDTH, EXIT_BUTTON_HEIGHT);\r
     alipayButton[num]->SetText(buttonStr);\r
index 3299bfa..afb1c9e 100644 (file)
@@ -140,15 +140,15 @@ bool AlipayTransList::InitListView()
     }
 
     WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "cardCount = %d", listLen);
-    if(listLen > 3)
+    if(listLen >= 3)
     {
         contentList->SetHeight(300);
         int16_t y = contentList->GetY() + contentList->GetHeight() + 10;
         buttonRefresh->SetY(y);
     }
-    else
+    else if(listLen > 0 && listLen <=2)
     {
-        contentList->SetHeight(listLen * 100);
+        contentList->SetHeight(listLen * (100 + 20));
         buttonRefresh->SetY(REFRESH_BUTTON_Y);
     }
 
index 4bf1a90..ad216ed 100644 (file)
 #include "alipay/include/AlipayModel.h"\r
 \r
 namespace OHOS {\r
-static const int16 EXIT_LABEL_X_FIRST = 38;\r
-static const int16 EXIT_LABEL_Y_FIRST = 179;\r
-static const int16 EXIT_LABEL_WIDTH_FIRST = 378;\r
-static const int16 EXIT_LABEL_HEIGHT_FIRST = 84;\r
+static const int16 EXIT_LABEL_X_FIRST = 53;\r
+static const int16 EXIT_LABEL_Y_FIRST = 180;\r
+static const int16 EXIT_LABEL_WIDTH_FIRST = 360;\r
+static const int16 EXIT_LABEL_HEIGHT_FIRST = 70;\r
 \r
 static const int16 EXIT_LABEL_FONT_FIRST = 30;\r
 \r
-static const char *EXIT_LABEL_TEXT_1 = (char *)"网络异常,请打开手机运动健康app,并确保设备已连接后再重试";\r
+static const char *EXIT_LABEL_TEXT_1 = (char *)"网络异常,请打开手机“KUMI COMM”并确保设备已连接后再重试";\r
 \r
 static const int16 RES_IMAGE_X = 170;\r
 static const int16 RES_IMAGE_Y = 55;\r
@@ -29,18 +29,18 @@ static const int16 RES_IMAGE_WIDTH = 112;
 static const int16 RES_IMAGE_HEIGHT = 112;\r
 \r
 static const char *RECOGNIZE_BUTTON = (char *)"确定";\r
-static const int16 RECOGNIZE_BUTTON_FONT = 38;\r
-static const int16 RECOGNIZE_BUTTON_X = 50;\r
-static const int16 RECOGNIZE_BUTTON_Y = 312;\r
-static const int16 RECOGNIZE_BUTTON_WIDTH = 169;\r
-static const int16 RECOGNIZE_BUTTON_HEIGHT = 73;\r
+static const int16 RECOGNIZE_BUTTON_FONT = 30;\r
+static const int16 RECOGNIZE_BUTTON_X = 58;\r
+static const int16 RECOGNIZE_BUTTON_Y = 320;\r
+static const int16 RECOGNIZE_BUTTON_WIDTH = 170;\r
+static const int16 RECOGNIZE_BUTTON_HEIGHT = 90;\r
 \r
 static const char *RECOGNIZE_BUTTON_SEC = (char *)"详情";\r
-static const int16 RECOGNIZE_BUTTON_SEC_FONT = 38;\r
-static const int16 RECOGNIZE_BUTTON_SEC_X = 233;\r
-static const int16 RECOGNIZE_BUTTON_SEC_Y = 312;\r
-static const int16 RECOGNIZE_BUTTON_SEC_WIDTH = 169;\r
-static const int16 RECOGNIZE_BUTTON_SEC_HEIGHT = 73;\r
+static const int16 RECOGNIZE_BUTTON_SEC_FONT = 30;\r
+static const int16 RECOGNIZE_BUTTON_SEC_X = 238;\r
+static const int16 RECOGNIZE_BUTTON_SEC_Y = 320;\r
+static const int16 RECOGNIZE_BUTTON_SEC_WIDTH = 170;\r
+static const int16 RECOGNIZE_BUTTON_SEC_HEIGHT = 90;\r
 \r
 typedef struct AlipayTransResInfo {\r
     const char *str;\r
@@ -107,7 +107,7 @@ bool AlipayTransRes::AlipayInitLabel(const char *resStr)
     alipayLabel->SetText(resStr);\r
     alipayLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, EXIT_LABEL_FONT_FIRST);\r
     alipayLabel->SetStyle(STYLE_TEXT_FONT, EXIT_LABEL_FONT_FIRST);\r
-    alipayLabel->SetAlign(TEXT_ALIGNMENT_LEFT);\r
+    alipayLabel->SetAlign(TEXT_ALIGNMENT_CENTER,TEXT_ALIGNMENT_CENTER);\r
     alipayLabel->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);\r
 \r
     Add(alipayLabel);\r
@@ -146,10 +146,10 @@ bool AlipayTransRes::AlipayInitButton(uint32_t index)
     alipayButton->SetAlign(TEXT_ALIGNMENT_CENTER);\r
     alipayButton->SetFont(DEFAULT_VECTOR_FONT_FILENAME, RECOGNIZE_BUTTON_FONT);\r
     alipayButton->SetViewId(g_AlipayTransResMapper[index].button_left);\r
-    alipayButton->SetStyleForState(STYLE_BORDER_COLOR, 0xff4a83bf, UIButton::PRESSED);\r
+    alipayButton->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);\r
     alipayButton->SetOnClickListener(presenter_);\r
-    alipayButton->SetTextColor(Color::GetColorFromRGBA(0x00, 0x00, 0x00, 0xff));\r
-    alipayButton->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);\r
+    // alipayButton->SetTextColor(Color::GetColorFromRGBA(0x00, 0x00, 0x00, 0xff));\r
+    alipayButton->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);\r
     Add(alipayButton);\r
 \r
     alipayButtonSec = new UILabelButton();\r
index ce15d75..a9d4877 100644 (file)
 \r
 namespace OHOS {\r
 static const int16 TIPS_LABEL_X_FIRST = (HORIZONTAL_RESOLUTION - 360) / 2;\r
-static const int16 TIPS_LABEL_Y_FIRST = 180;\r
+static const int16 TIPS_LABEL_Y_FIRST = 200;\r
 static const int16 TIPS_LABEL_WIDTH_FIRST = 360;\r
 static const int16 TIPS_LABEL_HEIGHT_FIRST = 70;\r
 static const int16 TIPS_LABEL_FONT_FIRST = 30;\r
 \r
 static const char *TIPS_LABEL_TEXT_1 = (char *)"未知错误_具体错误码,请联系设备厂商解决";\r
-static const char *TIPS_LABEL_TEXT_2 = (char *)"开通的乘车码数量太多,清在手机支付宝-出行-管理中,管理后再用";\r
+static const char *TIPS_LABEL_TEXT_2 = (char *)"开通的乘车码数量太多,请在手机支付宝-出行-管理中管理后再用";\r
 static const char *TIPS_LABEL_TEXT_3 = (char *)"存在安全风险,12小时内不可用,请切换到手机侧使用";\r
 static const char *TIPS_LABEL_TEXT_4 = (char *)"未知错误_具体错误码,请联系设备厂商解决";\r
 static const char *TIPS_LABEL_TEXT_5 = (char *)"暂不支持,请切换到手机侧使用";\r
+static const char *TIPS_LABEL_TEXT_6 = (char *)"该设备已经在手机端解绑,请用手机支付宝扫码绑定";\r
 \r
 static const int16 RES_IMAGE_X = (HORIZONTAL_RESOLUTION - 112) / 2;\r
-static const int16 RES_IMAGE_Y = 50;\r
+static const int16 RES_IMAGE_Y = 55;\r
 static const int16 RES_IMAGE_WIDTH = 112;\r
 static const int16 RES_IMAGE_HEIGHT = 112;\r
 \r
 static const char *RECOGNIZE_BUTTON = (char *)"确定";\r
+static const char *RECOGNIZE_BUTTON_BIND = (char *)"开始绑定";\r
 static const int16 RECOGNIZE_BUTTON_FONT = 30;\r
 static const int16 RECOGNIZE_BUTTON_X = (HORIZONTAL_RESOLUTION - 280) / 2;\r
 static const int16 RECOGNIZE_BUTTON_Y = 315;\r
@@ -48,6 +50,7 @@ static const AlipayTransTipsInfo g_AlipayTransTipsMapper[] = {
     {TIPS_LABEL_TEXT_3, ALIPAY_TRANS_CERTAIN_TO_TRANS},\r
     {TIPS_LABEL_TEXT_4, ALIPAY_TRANS_CERTAIN_TO_TRANS},\r
     {TIPS_LABEL_TEXT_5, ALIPAY_TRANS_CERTAIN_TO_TRANS},\r
+    {TIPS_LABEL_TEXT_6, ALIPAY_TRANS_CERTAIN_TO_BIND},\r
 };\r
 \r
 AlipayTransTips::AlipayTransTips(AlipayPresenter *presenter)\r
@@ -100,7 +103,7 @@ bool AlipayTransTips::AlipayInitLabel(const char *resStr)
     alipayLabel->SetText((const char *)resStr);\r
     alipayLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, TIPS_LABEL_FONT_FIRST);\r
     alipayLabel->SetStyle(STYLE_TEXT_FONT, TIPS_LABEL_FONT_FIRST);\r
-    alipayLabel->SetAlign(TEXT_ALIGNMENT_LEFT);\r
+    alipayLabel->SetAlign(TEXT_ALIGNMENT_CENTER,TEXT_ALIGNMENT_CENTER);\r
     alipayLabel->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);\r
 \r
     Add(alipayLabel);\r
@@ -135,7 +138,14 @@ bool AlipayTransTips::AlipayInitButton(uint32_t index)
     }\r
     alipayButton->SetPosition(RECOGNIZE_BUTTON_X, RECOGNIZE_BUTTON_Y, RECOGNIZE_BUTTON_WIDTH,\r
         RECOGNIZE_BUTTON_HEIGHT);\r
-    alipayButton->SetText(RECOGNIZE_BUTTON);\r
+    if(index == LIPAY_TRANS_TIPS_UNBIND)\r
+    {\r
+        alipayButton->SetText(RECOGNIZE_BUTTON_BIND);\r
+    }\r
+    else\r
+    {\r
+        alipayButton->SetText(RECOGNIZE_BUTTON);\r
+    }\r
     alipayButton->SetAlign(TEXT_ALIGNMENT_CENTER);\r
     alipayButton->SetFont(DEFAULT_VECTOR_FONT_FILENAME, RECOGNIZE_BUTTON_FONT);\r
     alipayButton->SetViewId(g_AlipayTransTipsMapper[index].button);\r
@@ -154,9 +164,21 @@ bool AlipayTransTips::InitTipsView(uint32_t index)
     SetOnDragListener(presenter_);\r
     SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);\r
 \r
-    if (!AlipayInitLabel(g_AlipayTransTipsMapper[index].str)) {\r
+    if(index == ALIPAY_TRANS_TIPS_UNKNOW || index == ALIPAY_TRANS_TIPS_LIST_UNKNOW)\r
+    {\r
+        std::string error_code_str;\r
+        error_code_str = "未知错误_错误码:"+ std::to_string(AlipayModel::GetInstance()->AlipayGetSpecificErrorCode())+",请联系设备厂商解决";\r
+        if (!AlipayInitLabel(error_code_str.c_str())) {\r
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayTransTips::InitView AlipayInitLabel() false");\r
         return false;\r
+        }\r
+    }\r
+    else\r
+    {\r
+        if (!AlipayInitLabel(g_AlipayTransTipsMapper[index].str)) {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayTransTips::InitView AlipayInitLabel() false");\r
+            return false;\r
+        }\r
     }\r
     if (!AlipayInitImage(PNG_ALIPAY_BIND_FAILURE)) {\r
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayTransTips::InitView AlipayInitImage() false");\r
index ce66792..b00d7e4 100644 (file)
@@ -14,7 +14,7 @@ static AlipayUnbindFinish *g_alipayUnbindFinish = nullptr;
 \r
 static const char *UNBIND_FINISH_TITLE = (char *)"解绑成功";\r
 static const char *UNBIND_FINISH_TEXT =\r
-    (char *)"设备侧已解绑,请到手机支付宝搜索进入“智能设备”小程序查看,若手机侧未解绑,则需要操作解绑";\r
+    (char *)"手表侧已解绑,请到手机支付宝搜索进入“智能设备”小程序查看,若手机侧未解绑,则需要操作解绑";\r
 \r
 static const char *UNBIND_FINISH_BUTTON = (char *)"确认";\r
 \r
index b3d2da8..9e0fa2d 100644 (file)
@@ -51,6 +51,10 @@ typedef enum {
     PM_ID_P_TEST,//产测
     PM_ID_BUTTON_GPIO,//gpio按键
     PM_ID_BP,//血压
+    PM_ID_4G_AI,//4g AI
+#ifdef SUPPORT_ALIPAY_SEC
+    PM_ID_ALIPAY,//支付宝
+#endif
     PM_ID_MAX,
 } pm_id_t;
 
index 0888270..1ab7b5d 100644 (file)
@@ -243,12 +243,16 @@ const char* pm_id_name_arr[] ={
     "PM_ID_SPI_DMA",
     "PM_ID_I2C_DMA",
     "PM_ID_UART_DMA",
-    "PM_ID_HEART",//ÐÂÔö£¬ÐÄÂÊоƬ
-    "PM_ID_MOTOR",//ÐÂÔö£¬Âí´ï
-    "PM_ID_GSENSOR",//ÐÂÔö£¬¼ÓËÙ¼Æ
+    "PM_ID_HEART",//����������оƬ
+    "PM_ID_MOTOR",//����������
+    "PM_ID_GSENSOR",//���������ټ�
     "PM_ID_CAT1",//Cat1 communication
     "PM_ID_P_TEST",
-    "PM_ID_BUTTON_GPIO",//GPIO°´¼ü
+    "PM_ID_BUTTON_GPIO",//GPIO����
+    "PM_ID_4G_AI",//AI投票
+#ifdef SUPPORT_ALIPAY_SEC
+    "PM_ID_ALIPAY",//支付宝
+#endif
     "PM_ID_MAX"
 };
 char* get_pm_id_name(int pmid)
index b03d37f..8a7feca 100644 (file)
@@ -67,7 +67,18 @@ foreach(COMPONENT ${ALIPAY_COMPONNET_LIST})
     set(COMPONENT_NAME ${COMPONENT})
     list (GET ALIPAY_COMPONENT_PATH_LIST ${COMPONENT_INDEX} COMPONENT_PATH)
     set(WHOLE_LINK true)
-    set(LIBS ${COMPONENT_PATH}/lib${COMPONENT_NAME}.a)
+    #add for close component
+    set(LIB ${COMPONENT_PATH})
+    #add for sdk makefile
+    set(LIB_DIR ${COMPONENT_PATH})
+    find_library(LIBS${COMPONENT_NAME} "lib${COMPONENT_NAME}.a" ${COMPONENT_PATH})
+    set(ALIPAY_LIB_LIST ${ALIPAY_LIB_LIST} ${LIBS${COMPONENT_NAME}})
     build_component()
+    install_sdk(${COMPONENT_PATH} "*.a")
     math(EXPR COMPONENT_INDEX "${COMPONENT_INDEX} + 1")
 endforeach()
+
+target_link_libraries(${TARGET_NAME} PRIVATE -Wl,--start-group  ${ALIPAY_LIB_LIST} -Wl,--end-group )
+
+
+