mcu_hi3321_watch/application/wearable/nativeapp/nativeui/alipay/include/AlipayModel.h
2025-05-26 20:15:20 +08:00

110 lines
3.6 KiB
C++

/**
* Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.
* Description: alipay model.
* Author:
* Create:
*/
#ifndef ALIPAY_MODEL_H
#define ALIPAY_MODEL_H
#include "ohos_types.h"
#include "list.h"
#include "source.h"
#include "cmsis_os.h"
#include "ChangeSliceListener.h"
#include "alipay_feature.h"
namespace OHOS {
void AlipayBindTimerCallBack(void *argument);
void AlipaySwitchTimerCallBack(void *argument);
void AlipayBindCallBackProc(void *argument);
void AlipaySwitchTimerCallBackProc(void *argument);
void AlipayMsgCallBack(uint32_t msgId, uint32_t actionRes);
#define ALIPAY_BIND_STATUS_TIMER_LENGTH 2000
#define ALIPAY_GET_BIND_STR_MAX_LENGTH 256
#define ALIPAY_GET_PAY_STR_MAX_LENGTH 20
#define ALIPAY_GET_AID_STR_MAX_LENGTH 256
#define ALIPAY_GET_ID_STR_MAX_LENGTH 128
#define ALIPAY_GET_NICKNAME_MAX_LENGTH 128
#define ALIPAY_TRANS_READ_LOCAL_ERR 5
#define ALIPAY_TRANS_READ_BUFF_SHORT 15
#define ALIPAY_TRANS_READ_NETWORK_ERR 7
#define ALIPAY_TRANS_CODE_LIMITED 40
#define ALIPAY_TRANS_CODE_UNSUPPORTED 43
#define ALIPAY_TRANS_CODE_INVALID 54
#define ALIPAY_TRANS_CODE_COMMON_ERR 56
#define ALIPAY_TRANS_NETWORK_ERR 5
#define ALIPAY_TRANS_STATUS_TIMER_LENGTH 10000
class AlipayModel {
public:
AlipayModel();
virtual ~AlipayModel();
static AlipayModel *GetInstance(void);
bool AlipayInitModel(void);
void AlipayDeinitModel(void);
void SetAlipayInterLis(int16 interListen);
int16 GetAlipayInterLis(void);
bool AlipayGetBindstate(void);
int32_t AlipayGetBindCode(uint8_t *bindStr);
int32_t AlipayGetPayCode(uint8_t *payStr);
int32_t AlipayGetNickName(uint8_t *nickName);
int32_t AlipayGetIdName(uint8_t *idStr);
int32_t AlipayGetAidCode(int8_t *aidStr);
void AlipayUnbind(void);
bool AlipayStartBind(void);
bool AlipayFinishBind(void);
bool AlipayStartSwitchTimer(uint16_t time);
void AlipayStopBindTimer(void);
void AlipayStopSwitchTimer();
void AlipayEnterLpm();
void AlipayExitLpm();
int32_t AlipayGetLastTranscode();
int32_t AlipayGetLocalTranslist();
int32_t AlipayGetOnlineTranslist();
int32_t AlipayUpdateTransCard(uint32_t index);
int32_t AlipayCheckTransCard(uint32_t index);
int32_t AlipayGetTransCode(uint32_t index);
bool AlipayTransStartGetListsTimer(void);
void AlipayTransStopGetListsTimer(void);
uint32_t AlipaySendMsg(uint32_t msgId);
mc_alipay_trans_card_info_t* AlipayTransGetCardList(void);
int32_t AlipayTransGetCardNum(void);
bool AlipayGetBindFlag(void);
void AlipaySetBindFlag(bool bindFlag);
uint32_t AlipayGetSwitchIndex(void);
void AlipaySetSwitchIndex(uint32_t switchIndex);
uint32_t AlipayGetRefreshFlag(void);
void AlipaySetRefreshFlag(uint32_t refreshFlag);
uint32_t AlipayGetCardNum(void);
void AlipaySetCardNum(uint32_t cardNum);
uint32_t AlipayGetCardSum(void);
void AlipaySetCardSum(uint32_t cardSum);
char* AlipayGetCardTitle(uint32_t index);
uint8_t* AlipayGetTransCode(void);
uint32_t AlipayGetTransCodeLen(void);
char* AlipayGetCardTitle(void);
private:
osTimerId_t bindTimerId = nullptr;
osTimerId_t switchTimerId = nullptr;
osTimerId_t transTimerId = nullptr;
int16 alipayInterLis;
const alipay_svr_api_t *alipayApi;
bool bindFlag_;
uint32_t switchIndex_ = 0;
uint32_t refreshFlag_ = 0;
uint32_t cardNum_ = 0;
uint32_t cardSum_ = 0;
mc_alipay_trans_card_info_t *cardInfo_ = nullptr;
uint8_t* transCode_ = nullptr;
uint32_t transCodeLen_;
char cardTitle_[ALIPAY_TRANS_CARD_MEMBER_LEN];
};
}
#endif