117 lines
4.2 KiB
C++
117 lines
4.2 KiB
C++
#ifndef TJD_UI_APP_ALIPAY_PRESENTER_H
|
|
#define TJD_UI_APP_ALIPAY_PRESENTER_H
|
|
|
|
#include "Presenter.h"
|
|
#include "TjdUiTaskListener.h"
|
|
#include "TjdUiScreenDrag.h"
|
|
#include "components/root_view.h"
|
|
#include "components/ui_slider.h"
|
|
#include "components/ui_view.h"
|
|
#include "graphic_timer.h"
|
|
#include <string>
|
|
|
|
namespace TJD {
|
|
|
|
#define ALIPAY_CONSENT_PROTOCOL_VIEWID "btnAlipayConsentProtocol"
|
|
#define ALIPAY_CONSENT_BIND_VIEWID "btnAlipayConsentBind"
|
|
#define ALIPAY_PAYCODE_VIEWID "btnAlipayPayCode"
|
|
#define ALIPAY_RIDECODE_VIEWID "btnAlipayRideCode"
|
|
#define ALIPAY_SETTING_VIEWID "btnAlipaySetting"
|
|
#define ALIPAY_HELP_VIEWID "btnAlipayHelp"
|
|
#define ALIPAY_REMOVE_BIND_VIEWID "btnAlipayRemoveBind"
|
|
#define ALIPAY_UNBIND_ENTER_VIEWID "btnAlipayUnbindEnter"
|
|
#define ALIPAY_UNBIND_CANCEL_VIEWID "btnAlipayUnbindCancel"
|
|
#define ALIPAY_UNBIND_KNOWN_VIEWID "btnAlipayUnbindKnown"
|
|
#define ALIPAY_SWITCH_QRCODE_VIEWID "btnAlipaySwitchQrcode"
|
|
#define ALIPAY_HELP_KNOWN_VIEWID "btnAlipayHelpKnown"
|
|
#define ALIPAY_EXIT_VIEWID "btnAlipayExit"
|
|
|
|
enum AlipayViewIndex
|
|
{
|
|
ALIPAY_LOGO = 0, // logo
|
|
ALIPAY_PROTOCOL, // 同意协议页面
|
|
ALIPAY_BIND, // 绑定页面
|
|
ALIPAY_WAITING, // 等待中
|
|
ALIPAY_BIND_INFO, // 绑定信息
|
|
ALIPAY_LIST, // 列表
|
|
ALIPAY_PAY_QRCODE, // 支付二维码
|
|
ALIPAY_RIDE_CODE_LIST, // 乘车码列表
|
|
ALIPAY_RIDE_QRCODE, // 乘车码二维码
|
|
ALIPAY_SETTING, // 设置
|
|
ALIPAY_HELP, // 帮助
|
|
ALIPAY_UNBIND, // 解绑
|
|
ALIPAY_UNBIND_SUC, // 解绑成功
|
|
ALIPAY_ERROR, // 错误
|
|
ALIPAY_UNKNOWN
|
|
};
|
|
|
|
enum AlipayBindStatus
|
|
{
|
|
ALIPAY_BIND_SUCCESS = 0,
|
|
ALIPAY_BIND_FAIL,
|
|
ALIPAY_BIND_MAX
|
|
};
|
|
|
|
class TjdUiAppAlipayView;
|
|
class TjdUiAppAlipayPresenter : public OHOS::Presenter<TjdUiAppAlipayView>,
|
|
public TjdUiTaskListener,
|
|
public OHOS::UIView::OnClickListener,
|
|
public TjdUiScreenDragListener,
|
|
public OHOS::RootView::OnKeyActListener
|
|
{
|
|
public:
|
|
TjdUiAppAlipayPresenter();
|
|
virtual ~TjdUiAppAlipayPresenter();
|
|
static TjdUiAppAlipayPresenter *GetInstance(void);
|
|
virtual void Notify() override{};
|
|
void OnStart() override;
|
|
void OnStop() override;
|
|
bool OnClick(OHOS::UIView &view, const OHOS::ClickEvent &event) override;
|
|
void ScreenDragEventCallback(OHOS::UIView &view, const OHOS::DragEvent &event) override { ViewExitEvent(true); }
|
|
bool OnKeyAct(OHOS::UIView &view, const OHOS::KeyEvent &event) override;
|
|
void OnClickTrans(OHOS::UIView &view);
|
|
bool IsChinese();
|
|
|
|
bool IsAlipayBinded();
|
|
int32_t AlipayGetBindCode(uint8_t *bindStr);
|
|
bool AlipayStartBindTimer();
|
|
bool AlipayDelayStartBindTimer();
|
|
void AlipayStopBindTimer(void);
|
|
AlipayViewIndex GetCurrentViewIndex();
|
|
uint8_t *AlipayGetTransCode(void);
|
|
uint32_t AlipayGetTransCodeLen(void);
|
|
static void AlipayMsgTransListCallBackProcFunc(uint32_t actionRes);
|
|
static void AlipayMsgTransSpeCardCallBackProcFunc(uint32_t actionRes);
|
|
bool AlipayStartSwitchTimer(uint16_t time);
|
|
void AlipayStopSwitchTimer();
|
|
int32_t AlipayGetPayCode(uint8_t *payStr);
|
|
uint32_t AlipayGetCardSum(void);
|
|
char *AlipayGetCardTitle(uint32_t index);
|
|
char *AlipayGetCardTitle(void);
|
|
int32_t AlipayGetNickName(uint8_t *nickName);
|
|
int32_t AlipayGetIdName(uint8_t *idStr);
|
|
bool AlipayTransStartGetListsTimer(void);
|
|
void AlipayTransStopGetListsTimer(void);
|
|
void ViewExitEvent(bool isSwipe);
|
|
void CompleteLogoEvent(void);
|
|
void DeleteJumpTimer();
|
|
void StartJumpTimer(AlipayViewIndex jumpView);
|
|
void RefreshPayCodeEvent();
|
|
void BindSuccessEvent();
|
|
void SetScreenBrightnessMax();
|
|
void ResetScreenBrightness();
|
|
|
|
private:
|
|
bool StartLogoTimer();
|
|
osTimerId_t bindTimerId{nullptr};
|
|
osTimerId_t delayStartBindTimerId{nullptr};
|
|
osTimerId_t switchTimerId{nullptr};
|
|
osTimerId_t transTimerId{nullptr};
|
|
osTimerId_t logoTimerId_{nullptr};
|
|
osTimerId_t jumpTimerId_{nullptr};
|
|
bool isExit_{false};
|
|
};
|
|
|
|
} // namespace TJD
|
|
|
|
#endif |