From 54bc6e9498d8d04eac7d7dd5c70543ad0353eb8a Mon Sep 17 00:00:00 2001 From: zhaohe Date: Fri, 30 Aug 2024 15:13:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0unlogin=20=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- usrc/service/app_core.cpp | 1 + usrc/service/page/Page_login.cpp | 2 +- usrc/service/page/Page_login.hpp | 2 +- usrc/service/page/Page_main.cpp | 3 ++- usrc/service/page/Page_main.hpp | 2 +- usrc/service/page/Page_menu.cpp | 28 ++++++++++++++++++++++++++ usrc/service/page/Page_menu.hpp | 25 +++++++++++++++++++++++ usrc/service/page/keyboard/Page_keybAcidCh.cpp | 2 +- usrc/service/page/keyboard/Page_keybAcidCh.hpp | 3 ++- usrc/service/page/page.hpp | 3 ++- usrc/service/page/page_processer.hpp | 6 +++--- usrc/service/page/submenu/Page_muAcidType.cpp | 2 +- usrc/service/page/submenu/Page_muAcidType.hpp | 14 +++++++------ 13 files changed, 76 insertions(+), 17 deletions(-) create mode 100644 usrc/service/page/Page_menu.cpp create mode 100644 usrc/service/page/Page_menu.hpp diff --git a/usrc/service/app_core.cpp b/usrc/service/app_core.cpp index b81e5d9..027f0d9 100644 --- a/usrc/service/app_core.cpp +++ b/usrc/service/app_core.cpp @@ -74,6 +74,7 @@ void AppCore::appsetup() { Page_main::ins()->initialize(); // Page_keybAcidCh::ins()->initialize(); Page_muAcidType::ins()->initialize(); + Page_menu::ins()->initialize(); // EventProcesser diff --git a/usrc/service/page/Page_login.cpp b/usrc/service/page/Page_login.cpp index 2a1979c..600efa9 100644 --- a/usrc/service/page/Page_login.cpp +++ b/usrc/service/page/Page_login.cpp @@ -18,7 +18,7 @@ static CfgItermCache cfgcache; UIS->setVal(UI_UUID(login, uen##i), (int32_t)0); \ } -int32_t Page_login::getPageNum() { return PAGE; } +bool Page_login::isBelongThisPage(int page) { return page == PAGE; } void Page_login::OnPageLoad() { if (triggerLoginAction) { // triggerLoginAction为true说明用户刚刚输入完密码 diff --git a/usrc/service/page/Page_login.hpp b/usrc/service/page/Page_login.hpp index e47383a..90aaf88 100644 --- a/usrc/service/page/Page_login.hpp +++ b/usrc/service/page/Page_login.hpp @@ -16,7 +16,7 @@ class Page_login : public IPageProcesser { } private: - virtual int32_t getPageNum() override; + bool isBelongThisPage(int page); virtual void OnPageLoad() override; virtual void OnLoginButtonClick(uint8_t bid, const char* userName, const char* passwd) override; diff --git a/usrc/service/page/Page_main.cpp b/usrc/service/page/Page_main.cpp index 21e8b8c..230da8e 100644 --- a/usrc/service/page/Page_main.cpp +++ b/usrc/service/page/Page_main.cpp @@ -16,7 +16,7 @@ static CfgItermCache cfgcache; * */ -int32_t Page_main::getPageNum() { return PAGE; } +bool Page_main::isBelongThisPage(int page) { return page == PAGE; } void Page_main::OnPageLoad() { // 只有管理员能够修改,酸液通道名称 @@ -60,6 +60,7 @@ void Page_main::OnPageLoad() { // UIS->setVal(PAGE, ob_main_clock, "版本:%s", APP_VERSION); // 根据当前登录用户设置菜单页面 + if (GStateMgr::ins()->isAdmin()) { UIS->setVal(UI_UUID(gvar, menupageid), ADMIN_MENU_ID); } else { diff --git a/usrc/service/page/Page_main.hpp b/usrc/service/page/Page_main.hpp index 11650b6..c502cce 100644 --- a/usrc/service/page/Page_main.hpp +++ b/usrc/service/page/Page_main.hpp @@ -15,7 +15,7 @@ class Page_main : public IPageProcesser { } private: - virtual int32_t getPageNum() override; + virtual bool isBelongThisPage(int page)override; virtual void OnPageLoad() override; virtual void OnButton(uint8_t bid, uint8_t val) override; diff --git a/usrc/service/page/Page_menu.cpp b/usrc/service/page/Page_menu.cpp new file mode 100644 index 0000000..3997295 --- /dev/null +++ b/usrc/service/page/Page_menu.cpp @@ -0,0 +1,28 @@ +#include "Page_menu.hpp" +using namespace iflytop; + +#define PAGE pg_main +#define TAG "Page_menu" + +static CfgItermCache cfgcache; +/** + * @brief + * + * 1.对接遥控器状态 + * 2.对接阀门控制板的状态(直接隐藏掉) + * + */ + +bool Page_menu::isBelongThisPage(int page) { + if (page == pg_menuAdmin) return true; + if (page == pg_menuAdmin2) return true; + if (page == pg_menuUsr) return true; + return false; +} + +void Page_menu::OnUnLoginButtonClick(uint8_t bid) { + ZLOGI(TAG, "OnUnLoginButtonClick"); + GSM->setUnLogin(); + UIS->chpage(pg_login); + return; +}; diff --git a/usrc/service/page/Page_menu.hpp b/usrc/service/page/Page_menu.hpp new file mode 100644 index 0000000..a3ff911 --- /dev/null +++ b/usrc/service/page/Page_menu.hpp @@ -0,0 +1,25 @@ +#pragma once +#include "page_processer.hpp" + +namespace iflytop { +using namespace std; + +class Page_menu : public IPageProcesser { + private: + /* data */ + + public: + static Page_menu* ins() { + static Page_menu instance; + return &instance; + } + + private: + virtual bool isBelongThisPage(int page)override; + + + + virtual void OnUnLoginButtonClick(uint8_t bid); +}; + +} // namespace iflytop diff --git a/usrc/service/page/keyboard/Page_keybAcidCh.cpp b/usrc/service/page/keyboard/Page_keybAcidCh.cpp index 41dadcf..5c59794 100644 --- a/usrc/service/page/keyboard/Page_keybAcidCh.cpp +++ b/usrc/service/page/keyboard/Page_keybAcidCh.cpp @@ -5,7 +5,7 @@ using namespace iflytop; #define OBJ(name) ob_keybAcidCh_##name static CfgItermCache cfgcache; -int32_t Page_keybAcidCh::getPageNum() { return PAGE; } +bool Page_keybAcidCh::isBelongThisPage(int page) { return page == PAGE; } void Page_keybAcidCh::OnPageLoad() { // UIS->setVal(PAGE, OBJ(b0), getCfgStr(kcfg_acidName1)); diff --git a/usrc/service/page/keyboard/Page_keybAcidCh.hpp b/usrc/service/page/keyboard/Page_keybAcidCh.hpp index 69c5caa..6f212a2 100644 --- a/usrc/service/page/keyboard/Page_keybAcidCh.hpp +++ b/usrc/service/page/keyboard/Page_keybAcidCh.hpp @@ -13,7 +13,8 @@ class Page_keybAcidCh : public IPageProcesser { } private: - virtual int32_t getPageNum() override; + virtual bool isBelongThisPage(int page)override; + virtual void OnPageLoad() override; }; diff --git a/usrc/service/page/page.hpp b/usrc/service/page/page.hpp index eb00e70..69fea3e 100644 --- a/usrc/service/page/page.hpp +++ b/usrc/service/page/page.hpp @@ -3,4 +3,5 @@ #include "Page_login.hpp" #include "Page_main.hpp" #include "submenu/Page_muAcidType.hpp" -#include "keyboard/Page_keybAcidCh.hpp" \ No newline at end of file +#include "keyboard/Page_keybAcidCh.hpp" +#include "Page_menu.hpp" \ No newline at end of file diff --git a/usrc/service/page/page_processer.hpp b/usrc/service/page/page_processer.hpp index 62c3241..4d69ebe 100644 --- a/usrc/service/page/page_processer.hpp +++ b/usrc/service/page/page_processer.hpp @@ -14,7 +14,7 @@ class IPageProcesser { public: virtual void initialize() { UIS->regOnUsrEventCb([this](tjc::tjc_usr_event_t* event) { - if (event->pid != getPageNum()) { + if (isBelongThisPage(event->pid)) { return; } if (event->eventId == tjc::kpt_sys_event_page_id) { @@ -34,7 +34,7 @@ class IPageProcesser { }); AppEventBus::ins()->regOnEvent([this](AppEvent_t* event) { - if (UIS->getNowPage() != getPageNum()) { + if (isBelongThisPage(UIS->getNowPage())) { return; } OnAppEvent(event); @@ -42,7 +42,7 @@ class IPageProcesser { } private: - virtual int32_t getPageNum() = 0; + virtual bool isBelongThisPage(int page) = 0; virtual void OnPageLoad() { return; }; virtual void OnInputFieldContentChange(uint8_t bid, const char* text) { return; }; diff --git a/usrc/service/page/submenu/Page_muAcidType.cpp b/usrc/service/page/submenu/Page_muAcidType.cpp index e6576ec..b694880 100644 --- a/usrc/service/page/submenu/Page_muAcidType.cpp +++ b/usrc/service/page/submenu/Page_muAcidType.cpp @@ -10,7 +10,7 @@ using namespace iflytop; #define OBJ(name) ob_muAcidType_##name #define TAG "Page_muAcidType" static CfgItermCache cfgcache; -int32_t Page_muAcidType::getPageNum() { return PAGE; } +bool Page_muAcidType::isBelongThisPage(int page) { return page == PAGE; } void Page_muAcidType::OnPageLoad() { // UIS->setVal(PAGE, OBJ(t1), getCfgStr(kcfg_acidName1)); diff --git a/usrc/service/page/submenu/Page_muAcidType.hpp b/usrc/service/page/submenu/Page_muAcidType.hpp index 528b4fd..8aaa64a 100644 --- a/usrc/service/page/submenu/Page_muAcidType.hpp +++ b/usrc/service/page/submenu/Page_muAcidType.hpp @@ -15,12 +15,14 @@ class Page_muAcidType : public IPageProcesser { } private: - virtual int32_t getPageNum() override; - virtual void OnPageLoad() override; - virtual void OnInputFieldContentChange(uint8_t bid, const char* text) override; - virtual void OnButton(uint8_t bid, uint8_t val) override; - private: - void updateAcidName(uint8_t bid,config_index_t cindex,const char* txt); + virtual bool isBelongThisPage(int page) override; + + virtual void OnPageLoad() override; + virtual void OnInputFieldContentChange(uint8_t bid, const char* text) override; + virtual void OnButton(uint8_t bid, uint8_t val) override; + + private: + void updateAcidName(uint8_t bid, config_index_t cindex, const char* txt); }; } // namespace iflytop