#ifndef TJD_UI_APP_ALIPAY_MODEL_H #define TJD_UI_APP_ALIPAY_MODEL_H #include "alipay_feature.h" #include "cmsis_os2.h" #include namespace TJD { class TjdUiAppAlipayModel { public: static TjdUiAppAlipayModel &GetInstance(void) { static TjdUiAppAlipayModel instance; return instance; }; uint32_t AlipayDriverInit(void); bool AlipayInitModel(void); void AlipayDeinitModel(void); void AlipaySetRefreshFlag(uint32_t refreshFlag); void AlipayEnterLpm(void); void AlipayExitLpm(void); int32_t AlipayGetBindCode(uint8_t *bindStr); void AlipayStartBind(void); void AlipayBindFinish(void); void AlipayUnbind(void); bool AlipayGetBindState(void); int32_t AlipayGetBindStatus(int32_t &bindStatus); bool AlipayGetBindFlag() { return bindFlag_; } void AlipaySetBindFlag(bool bindFlag); int32_t AlipayTransGetCardNum(void); uint32_t AlipayGetCardNum(void); void AlipaySetCardSum(uint32_t cardSum); uint32_t AlipayGetCardSum(void); void AlipaySetSwitchIndex(uint32_t switchIndex); mc_alipay_trans_card_info_t *AlipayTransGetCardList(void); int32_t AlipayGetTransCode(uint32_t index); int32_t AlipayGetPayCode(uint8_t *payStr); int32_t AlipayGetOnlineTranslist(); int32_t AlipayUpdateTransCard(uint32_t index); int32_t AlipayCheckTransCard(uint32_t index); int32_t AlipayGetLocalTranslist(); int32_t AlipayGetLastTranscode(); uint8_t *AlipayGetTransCode(void); uint32_t AlipayGetTransCodeLen(void); char *AlipayGetCardTitle(uint32_t index); char *AlipayGetCardTitle(void); bool IsChinese(void); int32_t AlipayGetNickName(uint8_t *nickName); int32_t AlipayGetIdName(uint8_t *idStr); /** * @brief 设置快捷进入标志 * @param[in] quickEnterFlag * @note true : 直接进入付款码界面, false : 进入菜单界面 */ void SetQuickEnterFlag(bool quickEnterFlag) { quickEnterFlag_ = quickEnterFlag; } bool GetQuickEnterFlag() { return quickEnterFlag_; } private: TjdUiAppAlipayModel(); ~TjdUiAppAlipayModel() {}; const alipay_svr_api_t *alipayApi; mc_alipay_trans_card_info_t *cardInfo_{nullptr}; uint8_t *transCode_{nullptr}; char cardTitle_[ALIPAY_TRANS_CARD_MEMBER_LEN]; uint32_t transCodeLen_; bool bindFlag_; uint32_t cardSum_; uint32_t cardNum_; uint32_t switchIndex_; bool quickEnterFlag_{false}; }; } // namespace TJD #endif