--[[ @module tsb_reflash_page @summary 刷机页面 @version 1.0 @date 2026.03.05 @author 李一玮 @usage 本文件是刷机页面,展示刷机的各种用法。 ]] local tsb_reflash_page = {} -- 页面UI元素 local main_container = nil local common_ui = require("tsb_common_page") -- 创建UI function tsb_reflash_page.create_ui() main_container = airui.container({ x = 0, y = 0, w = 480, h = 320, color = 0xF5F5F5, }) --------------------- 标题栏 ------------------------ local title_bar = airui.container({ parent = main_container, x = 0, y = 0, w = 480, h = 30, color = 0xF4511E, }) airui.label({ parent = title_bar, text = "刷机界面", x = 200, y = 8, w = 80, h = 20, font_size = 16, color = 0xFFFFFF, }) -- 标题栏公共信息展示 common_ui.add_battery_display(title_bar) common_ui.create_back_button(title_bar, tsb_reflash_page.cleanup) --------------------------------------------------- -- 滚动容器 local scroll_container = airui.container({ parent = main_container, x = 0, y = 30, w = 480, h = 270, color = 0xFFFFFF, }) --------------------- 第一行控制区 ------------------------ -- 设备类型标签 airui.label({ parent = scroll_container, text = "设备类型:", x = 30, y = 32, w = 80, h = 30, font_size = 16, }) -- 设备类型下拉框 local device_type_dropdown = airui.dropdown({ parent = scroll_container, x = 108, y = 25, w = 100, h = 30, options = {"0101", "0102", "0201", "0202", "0301", "0302", "0103", "0104", "0902", "0904"}, default_index = 0, on_change = function(self,idx) log.info("reflash_device_type", "选择了设备类型:" .. self.options[idx + 1]) end }) -- 固件类型标签 airui.label({ parent = scroll_container, text = "固件类型:", x = 255, y = 32, w = 80, h = 30, font_size = 16, }) -- 固件类型下拉框 local firmware_type_dropdown = airui.dropdown({ parent = scroll_container, x = 330, y = 25, w = 100, h = 30, options = {"产测", "app", "boot"}, default_index = 1, -- 默认选择app on_change = function(self,idx) log.info("reflash_firm_type", "选择了固件类型:" .. self.options[idx + 1]) end }) --------------------------------------------------- --------------------- 第二行控制区 ------------------------ -- 提示信息容器 local info_container = airui.container({ parent = scroll_container, x = 10, y = 90, w = 300, h = 150, color = 0xF5F5F5, radius = 5, }) -- 提示信息标题 airui.label({ parent = info_container, text = "固件信息:", x = 10, y = 10, w = 280, h = 20, font_size = 15, color = 0xF4511E, }) -- 设备类型信息 airui.label({ parent = info_container, text = "设备类型:0102", x = 10, y = 40, w = 280, h = 20, font_size = 14, color = 0x666666, }) -- 固件类型信息 airui.label({ parent = info_container, text = "固件类型:app", x = 10, y = 60, w = 280, h = 20, font_size = 14, color = 0x666666, }) -- 包版本信息 airui.label({ parent = info_container, text = "包版本:01023049", x = 10, y = 80, w = 280, h = 20, font_size = 14, color = 0x666666, }) -- 包大小信息 airui.label({ parent = info_container, text = "包大小:150084字节", x = 150, y = 80, w = 140, h = 20, font_size = 14, color = 0x666666, }) -- 操作按钮区 -- 开始刷机按钮 local start_reflash_btn = airui.button({ parent = scroll_container, x = 335, y = 110, w = 120, h = 35, text = "开始刷机", stype = { bg_color = 0x2B6FF1,border_color = 0x2B6FF1, text_color = 0xFFFFFF, radius = 8 }, on_click = function(self) log.info("reflash_start", "开始刷机按钮被点击") end }) -- 停止按钮 local stop_btn = airui.button({ parent = scroll_container, x = 335, y = 180, w = 120, h = 35, text = "停止", on_click = function(self) log.info("reflash_stop", "停止按钮被点击") end }) --------------------------------------------------- -- 底部信息 common_ui.create_status_bar(main_container) end -- 初始化页面 function tsb_reflash_page.init(params) tsb_reflash_page.create_ui() end -- 清理页面 function tsb_reflash_page.cleanup() -- 停止定时器 common_ui.cleanup() if main_container then main_container:destroy() main_container = nil end end return tsb_reflash_page