#提示词
alipay_invite_label = lv.label(alipay_invite_bg)
-alipay_invite_label.set_pos(6, 8)
-alipay_invite_label.set_size(228, 48)
+alipay_invite_label.set_pos(0, 8)
+alipay_invite_label.set_size(240, 50)
alipay_invite_label.set_long_mode(lv.label.LONG.WRAP)
alipay_invite_label.set_text("请家长用手机支付宝扫一扫")
alipay_invite_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
#提示词
alipay_inviting_label = lv.label(alipay_inviting_screen)
-alipay_inviting_label.set_pos(30, 158)
-alipay_inviting_label.set_size(180, 24)
+alipay_inviting_label.set_pos(0, 158)
+alipay_inviting_label.set_size(240, 24)
alipay_inviting_label.set_long_mode(lv.label.LONG.WRAP)
alipay_inviting_label.set_text("绑定中,不要走开")
alipay_inviting_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
#提示词
alipay_success_label = lv.label(alipay_success_screen)
-alipay_success_label.set_pos(68, 168)
-alipay_success_label.set_size(104, 29)
+alipay_success_label.set_pos(0, 168)
+alipay_success_label.set_size(240, 29)
alipay_success_label.set_long_mode(lv.label.LONG.WRAP)
alipay_success_label.set_text("绑定成功")
alipay_success_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
def initialization(self):
self.timer_Alipay_success.start(1000, 0, self.timeout_Alipay_success)
- pass
def post_processor_after_initialization(self):
pass
#提示词
alipay_paycode_label = lv.label(alipay_barcode)
-alipay_paycode_label.set_pos(10, 33)
-alipay_paycode_label.set_size(220, 24)
+alipay_paycode_label.set_pos(0, 33)
+alipay_paycode_label.set_size(240, 24)
alipay_paycode_label.set_long_mode(lv.label.LONG.WRAP)
alipay_paycode_label.set_text("收银员扫一扫,完成付款")
alipay_paycode_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
#提示词
alipay_paycode_label1 = lv.label(alipay_qrcode)
-alipay_paycode_label1.set_pos(10, 33)
-alipay_paycode_label1.set_size(220, 24)
+alipay_paycode_label1.set_pos(0, 33)
+alipay_paycode_label1.set_size(240, 24)
alipay_paycode_label1.set_long_mode(lv.label.LONG.WRAP)
alipay_paycode_label1.set_text("收银员扫一扫,完成付款")
alipay_paycode_label1.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
# add style for watchface
alipay_pay_success_screen.add_style(style_alipay_screen_default, lv.PART.MAIN|lv.STATE.DEFAULT)
-#支付成功LOGO
-alipay_pay_success_bg = lv.img(alipay_pay_success_screen)
-alipay_pay_success_bg.center()
-alipay_pay_success_bg.set_size(240,240)
-alipay_pay_success_bg.set_src("E:/static/APP/alipay/1_13_1_1.png")
-alipay_pay_success_bg.add_style(style_alipay_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
+ #支付成功LOGO
+alipay_pay_bg = lv.img(alipay_pay_success_screen)
+alipay_pay_bg.set_pos(82, 120)
+alipay_pay_bg.set_size(78,78)
+alipay_pay_bg.set_src("E:/static/APP/alipay/1_13_1_1.png")
+alipay_pay_bg.add_flag(lv.obj.FLAG.CLICKABLE)
+alipay_pay_bg.add_style(style_alipay_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
+
#付款金额
-alipay_pay_success_label = lv.label(alipay_pay_success_screen)
-alipay_pay_success_label.set_pos(78, 114)
-alipay_pay_success_label.set_size(84, 43)
-alipay_pay_success_label.set_long_mode(lv.label.LONG.WRAP)
+alipay_pay_label = lv.label(alipay_pay_success_screen)
+alipay_pay_label.set_pos(0, 220)
+alipay_pay_label.set_size(240, 45)
+alipay_pay_label.set_long_mode(lv.label.LONG.WRAP)
+alipay_pay_label.set_text(" ")
+alipay_pay_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+alipay_pay_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-alipay_pay_success_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-alipay_pay_success_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
#完成按钮
-alipay_pay_success_btn = lv.btn(alipay_pay_success_screen)
-alipay_pay_success_btn.set_size(224,58)
-alipay_pay_success_btn.set_pos(8,174)
-alipay_pay_success_btn.remove_style_all()
-alipay_pay_success_btn.add_style(style_btn_alipay,0)
-
-alipay_pay_success_label_btn = lv.label(alipay_pay_success_btn)
-alipay_pay_success_label_btn.set_text("支付完成")
-alipay_pay_success_label_btn.center()
-alipay_pay_success_label_btn.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+alipay_pay_text = lv.label(alipay_pay_success_screen)
+alipay_pay_text.set_text("支付完成")
+alipay_pay_text.set_pos(8, 10)
+alipay_pay_text.set_size(220,40)
+alipay_pay_text.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0)
+alipay_pay_text.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
class Alipay_pay_success(Screen):
NAME = "alipay_pay_success"
def __init__(self):
super().__init__()
self.meta = alipay_pay_success_screen
-
+ alipay_pay_bg.add_event_cb(lambda e: self.button_cb(e), lv.EVENT.CLICKED, None)
def post_processor_after_initialization(self):
print("money:",str(self.meta_info))
- alipay_pay_success_label.set_text(str(self.meta_info))
+ alipay_pay_label.set_text(str(self.meta_info))
+
+ def button_cb(self,e):
+ EventMesh.publish("load_screen", {"screen": "main_menu"})
-
def initialization(self):
pass
#提示词
alipay_collect_label = lv.label(alipay_collect_screen)
-alipay_collect_label.set_pos(20, 204)
-alipay_collect_label.set_size(200, 24)
+alipay_collect_label.set_pos(0, 204)
+alipay_collect_label.set_size(240, 50)
alipay_collect_label.set_long_mode(lv.label.LONG.WRAP)
alipay_collect_label.set_text("请对方使用支付宝扫码")
alipay_collect_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
TEMP_SEND = "temp_SEND"
TEMP_RECV = "temp_RECV"
+ DLT_SEND = "DLT_SEND"
+ DLT_RECV = "DLT_RECV"
+
+ UPLOAD_SEND = "UPLOAD_SEND"
+ UPLOAD_RECV = "UPLOAD_RECV"
+
class EVENT:
CHANNEL_SOCKET_SEND = "CHANNEL_SOCKET_SEND"
START_LOCATION = "START_LOCATION"
from ext.lcd import tp_cst816
print("init3:{}".format(utime.localtime()))
from ext.btn_device_ec800m import BtnDevice
- from ext.protocol import LK_ProtoCol,PING_ProtoCol,HEART_ProtoCol,OXYGEN_ProtoCol,OXYGEN_One_ProtoCol,HRSTART_ProtoCol,temp_ProtoCol,\
+ from ext.protocol import LK_ProtoCol,PING_ProtoCol,HEART_ProtoCol,OXYGEN_ProtoCol,OXYGEN_One_ProtoCol,HRSTART_ProtoCol,UPLOAD_ProtoCol,TEMP_ProtoCol,DLT_ProtoCol,\
WT_ProtoCol,UD_ProtoCol,REMIND_ProtoCol, CR_ProtoCol,KA_ProtoCol,FIND_ProtoCol,POWEROFF_ProtoCol,ProtoColResolver,PHL_ProtoCol
import ext.mgr as mgr
print("init1:{}".format(utime.localtime()))
app.append_manager(getHrTimeManager())
app.append_manager(getBrightnessManager())
app.append_manager(getStorageDataManager())
+
print("init10:{}".format(utime.localtime()))
pcr = ProtoColResolver()
pcr.add_support(LK_ProtoCol())
pcr.add_support(HEART_ProtoCol())
pcr.add_support(OXYGEN_ProtoCol())
pcr.add_support(OXYGEN_One_ProtoCol())
- pcr.add_support(temp_ProtoCol())
+ pcr.add_support(TEMP_ProtoCol())
+ pcr.add_support(DLT_ProtoCol())
+ pcr.add_support(UPLOAD_ProtoCol())
sm = SockManager()
sm.add_support_resolver(pcr)
app.append_manager(sm)
if msg_nums >= 50:
EventMesh.publish("load_screen", {"screen": "message_full"})
- print("hr......01....{}\r\n".format(hr_time))
+ #print("hr......01....{}\r\n".format(hr_time))
if hr_time != None:
# print("hr......01....{}\r\n".format(hr_time))
if hr_time > 0:
def get_volum_size(self, event, msg):
return self.volume_size
+
EventMesh.publish("set_spo2_state",3)#3代表单次测量
EventMesh.publish(constants.PROTOCOL.OXSTART_SEND)
-class temp_ProtoCol(ProtoCol):
+class TEMP_ProtoCol(ProtoCol):
"""上传体温测试数据"""
TYPE = "temp"
def send(self, event, msg):
"""
# print("HRSTART_ProtoCol RECV msg:")
#EventMesh.publish(constants.PROTOCOL.TEMP_SEND)
+
+#解绑
+# [XT*334588000000156*0003*DLT]
+def reset_factory(msg):
+ if msg == 1:
+ Power.powerRestart()
+class DLT_ProtoCol(ProtoCol):
+ """解绑数据"""
+ TYPE = "DLT"
+ def send(self, event, msg):
+ # [XT*334588000000156*0004*temp]
+ send_data = "SZKW*%s*0003*DLT"%(self.imei)
+ MD5_SIGN = self.pack_MD5_head(send_data)
+ data = "[%s%s]"%(str(MD5_SIGN),send_data)
+ print("temp:data:%s"%(data))
+ # 通过socket发送到服务器端
+ EventMesh.publish(constants.EVENT.CHANNEL_SOCKET_SEND,data)
+
+ def recv(self, event, msg):
+ """
+ @param event:
+ @param msg: 接收到的下行数据
+ """
+ # print("DLT_ProtoCol RECV msg:")
+ reset_factory(1)
+
+#定位频率
+class UPLOAD_ProtoCol(ProtoCol):
+ """定位频率数据"""
+ TYPE = "UPLOAD"
+ def send(self, event, msg):
+ # [XT*334588000000156*0004*temp]
+ send_data = "SZKW*%s*0006*UPLOAD"%(self.imei)
+ MD5_SIGN = self.pack_MD5_head(send_data)
+ data = "[%s%s]"%(str(MD5_SIGN),send_data)
+ print("UPLOAD:data:%s"%(data))
+ # 通过socket发送到服务器端
+ EventMesh.publish(constants.EVENT.CHANNEL_SOCKET_SEND,data)
+
+ def recv(self, event, msg):
+ """
+ @param event:
+ @param msg: 接收到的下行数据
+ """
+ # b'[SZKW*867387060319166*000A*UPLOAD,600]'
+ # print("DLT_ProtoCol RECV msg:".format(msg))
+ msg = msg[1:-1]
+ msg_tmp = msg.decode('ascii')
+ msg_tmp = msg_tmp.split(',')
+ msg_tmp = msg_tmp[1]
+ # print("HRSTART_ProtoCol RECV msg:{} msg_:{}".format(msg,msg_tmp))
+ upload_time = int(msg_tmp)
+ storage_tmp = EventMesh.publish("get_storage_data")
+ storage_tmp["upload_time"] = upload_time
+ EventMesh.publish("set_storage_data", storage_tmp)
+ with open("/ext/static/storage_file/config.json","w",encoding="utf-8") as fd:
+ ujson.dump(storage_tmp,fd)
+ EventMesh.publish(constants.PROTOCOL.UPLOAD_SEND)
+
+
class ProtoColResolver(object):
def __init__(self):
self.protocol_list = []
# elif data.startswith("Update;"):
# data = data[7:]
# EventMesh.publish(constants.PROTOCOL.H04_RECV, data)
- # print("handler:{}".format(type(data)))
+ print("handler:{}".format(type(data)))
data_tmp = data.decode('ascii')
data_tmp = data_tmp.split(']')[0] #去掉]
ProtoCol_type = data_tmp.split('*')[3] #拿到协议标识
ProtoCol_type = ProtoCol_type.split(',')[0]
ProtoCol_type = "%s_RECV"%(ProtoCol_type)
- #print("ProtoColResolver:ProtoCol_type:%s\r\ndata:%s"%(ProtoCol_type,data))
+ # print("ProtoColResolver:ProtoCol_type:%s\r\ndata:%s"%(ProtoCol_type,data))
EventMesh.publish(ProtoCol_type, data) #返回协议read
phone.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-line_points = [{"x":0,"y":0},{"x":0,"y":20}]
+line_points = [{"x":0,"y":0},{"x":0,"y":35}]
phone_line = lv.line(phone)
phone_line.set_points(line_points,2)
-phone_line.set_pos(235,74)
-phone_line.set_size(2,20)
+phone_line.set_pos(235,58)
+phone_line.set_size(2,35)
phone_line.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
phone_line.add_style(style_line,0)
phone_label = lv.label(phone)
-phone_label.set_pos(0, 76)
-phone_label.set_size(0, 30)
+phone_label.set_pos(0, 45)
+phone_label.set_size(0, 55)
phone_label.set_text(" ")
-phone_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+phone_label.add_style(style_font_youyuan_40, lv.PART.MAIN | lv.STATE.DEFAULT)
phone_label.set_long_mode(lv.label.LONG.CLIP)
phone_label.set_style_text_align(lv.TEXT_ALIGN.RIGHT, 0)
voiceCall.callStart(self.phone_num)
def show_num(self):
- len_t = len(self.phone_list)*20
- if len_t > 230:
- len_t = 230
- phone_label.set_size(len_t,30)
- phone_label.set_pos(230-len_t,76)
+ len_t = len(self.phone_list)*40
+ if len_t > 235:
+ len_t = 235
+ phone_label.set_size(len_t,45)
+ phone_label.set_pos(235-len_t,60)
phone_label.set_text(self.phone_num)
def done_return(self):
if ret == True:
ql_fs.rmdirs("/ext/static/storage_file")
ql_fs.mkdirs("/ext/static/storage_file")
- Power.powerRestart()
+ # [XT*334588000000156*0003*DLT]
+ EventMesh.publish(constants.PROTOCOL.DLT_SEND)
+ dlt_flag = EventMesh.publish("get_dlt_flag")
+ if dlt_flag == 1:
+ Power.powerRestart()
+
# EventMesh.publish("load_screen", {"screen": "setting"})
def concel(self, e):