Browse Source

update

sunlight
zhaohe 11 months ago
parent
commit
d86f14fc61
  1. 1
      README.md
  2. 44
      usrc/service/front_end_controler.cpp
  3. 10
      usrc/service/front_end_controler.hpp
  4. 3
      usrc/service/page/submenu/Page_changePasswd.cpp

1
README.md

@ -25,5 +25,6 @@ UI
4. 主页控制模式,支持触摸
5. 调整5s的位置
6. 首页添加加酸间隔时间单位显示
7. 修改confirm页面取消按键和确定按键位置
```

44
usrc/service/front_end_controler.cpp

@ -188,6 +188,15 @@ void FrontEndControler::processUsrButtonEvent(uint8_t* data, size_t len) {
event_cache.pid = data[1];
event_cache.bid = data[2];
if (event_cache.pid == pg_confirm && event_cache.bid == ob_confirm_confirm) {
if (m_onConfirmPageConfirmKey) m_onConfirmPageConfirmKey(true);
m_onConfirmPageConfirmKey = nullptr;
} else if (event_cache.pid == pg_confirm && event_cache.bid == ob_confirm_canclekey) {
if (m_onAlertPageConfirmKey) m_onAlertPageConfirmKey(false);
m_onAlertPageConfirmKey = nullptr;
} else if (event_cache.pid == pg_alert && event_cache.bid == ob_alert_confirmkey) {
}
callUsrEventCb(&event_cache);
}
void FrontEndControler::processUsrDoubleStateButtonEvent(uint8_t* data, size_t len) {
@ -336,18 +345,43 @@ bool FrontEndControler::vis(uint16_t buuid, int32_t val) {
return true;
}
void FrontEndControler::alert(const char* info, ...) {
void FrontEndControler::alert(const char* info, function<void(bool)> onConfirm) {
zlock_guard lg(m_cmdlock);
va_list args;
va_start(args, info);
m_onAlertPageConfirmKey = onConfirm;
static char buf[128];
vsprintf(buf, info, args);
sprintf(buf, "%s", info);
sendcmd("p[%d].b[%d].val=dp", pg_alert, ob_alert_frompage);
sendcmd("p[%d].b[%d].txt=\"%s\"", pg_alert, ob_alert_info, buf);
sendcmd("page alert");
}
void FrontEndControler::confirmNoCancle(const char* info, function<void(bool)> onConfirm) {
zlock_guard lg(m_cmdlock);
m_onConfirmPageConfirmKey = onConfirm;
static char buf[128];
sprintf(buf, "%s", info);
sendcmd("p[%d].b[%d].val=dp", pg_confirm, ob_confirm_frompage);
sendcmd("p[%d].b[%d].txt=\"%s\"", pg_confirm, ob_confirm_info, buf);
sendcmd("page confirm");
vis(ob_confirm_canclekey, 0);
}
void FrontEndControler::confirm(const char* info, function<void(bool)> onConfirm) {
zlock_guard lg(m_cmdlock);
m_onConfirmPageConfirmKey = onConfirm;
static char buf[128];
sprintf(buf, "%s", info);
sendcmd("p[%d].b[%d].val=dp", pg_confirm, ob_confirm_frompage);
sendcmd("p[%d].b[%d].txt=\"%s\"", pg_confirm, ob_confirm_info, buf);
sendcmd("page confirm");
vis(ob_confirm_canclekey, 1);
}
void FrontEndControler::chpage(uint8_t page) { sendcmd("page %d", page); }
void FrontEndControler::sendcmd(const char* format, ...) {

10
usrc/service/front_end_controler.hpp

@ -30,6 +30,9 @@ class FrontEndControler {
int32_t m_nowPage = 0;
function<void(bool)> m_onConfirmPageConfirmKey;
function<void(bool)> m_onAlertPageConfirmKey;
public:
FrontEndControler() {};
~FrontEndControler() {};
@ -61,7 +64,12 @@ class FrontEndControler {
bool readTxt(uint16_t buuid, char* txt, int32_t txtbuflen) { return readTxt(buuid >> 8, buuid & 0xff, txt, txtbuflen); }
bool readInt(uint16_t buuid, int32_t* val) { return readInt(buuid >> 8, buuid & 0xff, val); }
void alert(const char* info, ...);
void alert(const char* info) { alert(info, nullptr); }
void alert(const char* info, function<void(bool)> onConfirm);
void confirmNoCancle(const char* info) { confirmNoCancle(info, nullptr); }
void confirmNoCancle(const char* info, function<void(bool)> onConfirm);
void confirm(const char* info, function<void(bool)> onConfirm);
void chpage(uint8_t page);
void virtualClick(uint8_t pid, uint8_t bid, uint8_t event);
void setTouchEnableState(uint8_t bid, uint8_t enable);

3
usrc/service/page/submenu/Page_changePasswd.cpp

@ -13,7 +13,6 @@ static CfgItermCache cfgcache;
bool Page_changePasswd::isBelongThisPage(int page) { return page == PAGE; }
void Page_changePasswd::OnPageLoad() {
// 设置加酸间隔时间
};
void Page_changePasswd::OnInputFieldContentChange(uint8_t bid, const char* text) {
@ -46,7 +45,7 @@ void Page_changePasswd::OnButton(uint8_t bid, uint8_t val) {
return;
}
setPasswd(GSM->getLoginUsr(), newpasswdBuf);
UIS->alert("密码修改成功");
UIS->confirmNoCancle("密码修改成功");
}
};
Loading…
Cancel
Save