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, // 网络错误
bool ble_disconnect_AlipayStartBind(void);\r
void AlipayStopdisconnecTimer(void);\r
bool AlipayStartBind(void);\r
+ bool AlipayFinishBind(void);\r
bool AlipayStartSwitchTimer(uint16_t time);\r
void AlipayStopBindTimer(void);\r
void AlipayStopSwitchTimer();\r
\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
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
* 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 "Presenter.h"\r
#include "BaseView.h"\r
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
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
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
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
}\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
\r
#include "UiConfig.h"\r
#include "alipay_feature.h"\r
-#include "AlipayModel.h"\r
+// #include "AlipayModel.h"\r
+#include "alipay/include/AlipayModel.h"\r
#include "AlipayMainView.h"\r
#include "graphic_service.h"\r
\r
return true;\r
}\r
\r
+bool AlipayModel::AlipayFinishBind(void)\r
+{\r
+ AlipayStopBindTimer();\r
+ alipayApi->bind_finish();\r
+ return true;\r
+}\r
+\r
void AlipaySwitchTimerCallBackProc(void *argument)\r
{\r
UNUSED(argument);\r
\r
void AlipayMsgTransListCallBackProcFunc(uint32_t actionRes)\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlipayMsgTransListCallBackProcFunc in.%d",actionRes);\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
} 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
} 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
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
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
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayPresenter::ClickExitAlipay start");\r
// uint16 preSlice = NativeAbility::GetInstance().GetPreSliceId();\r
// NativeAbility::GetInstance().ChangeSlice(preSlice);\r
+ AlipayModel::GetInstance()->AlipayFinishBind();\r
NativeAbility::GetInstance().Back(TransitionType::TRANSITION_BACK_TO_HEXAGONS);\r
return;\r
}\r
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
} 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
} 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
{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
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 = 55;\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
{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
}\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
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
\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