import dxui from '../../../../../dxmodules/dxUi.js' import std from '../../../../../dxmodules/dxStd.js' import viewUtils from "../../../viewUtils.js" import topView from "../../../topView.js" import systemSettingView from '../systemSettingView.js' import i18n from "../../../i18n.js" import screen from '../../../../screen.js' import logger from '../../../../../dxmodules/dxLogger.js' const displaySettingView = {} const languageData = ['CN', 'EN'] const languageData2 = ['中文', '英文'] const themeModeData = ['标准模式', '简洁模式'] const themeModeData2 = ['StandardMode', 'SimpleMode'] displaySettingView.init = function () { /**************************************************创建屏幕*****************************************************/ const screenMain = dxui.View.build('displaySettingView', dxui.Utils.LAYER.MAIN) displaySettingView.screenMain = screenMain screenMain.scroll(false) screenMain.bgColor(0xffffff) screenMain.on(dxui.Utils.ENUM.LV_EVENT_SCREEN_LOADED, () => { topView.changeTheme(true) refreshLanguage() const configAll = screen.getConfig() // 自动调节屏幕亮度 displaySettingView.info[0].switch.select(configAll['base.brightnessAuto'] == 1) if (configAll['base.brightnessAuto'] == 1) { displaySettingView.info[1].slider.disable(true) } else { displaySettingView.info[1].slider.disable(false) } // 屏幕亮度 displaySettingView.info[1].slider.value(configAll['base.brightness']) displaySettingView.info[1].slider.send(dxui.Utils.EVENT.VALUE_CHANGED) // 自动关屏 displaySettingView.info[2].switch.select(configAll['base.screenOff'] != 0) // 关屏时间 displaySettingView.info[3].input.text(configAll['base.screenOff'] + '') // 自动屏保 displaySettingView.info[4].switch.select(configAll['base.screensaver'] != 0) // 屏保时间 displaySettingView.info[5].input.text(configAll['base.screensaver'] + '') // 显示IP displaySettingView.info[6].switch.select(configAll['base.showIp'] == 1) // 显示SN displaySettingView.info[7].switch.select(configAll['base.showSn'] == 1) // 显示小程序码 displaySettingView.info[9].switch.select(configAll['base.showProgramCode'] == 1) // app模式 displaySettingView.info[10].dropdown.setSelected(configAll['base.appMode']) }) const titleBox = viewUtils.title(screenMain, systemSettingView.screenMain, 'displaySettingViewTitle', 'systemSettingView.displaySetting') titleBox.align(dxui.Utils.ALIGN.TOP_MID, 0, 70) displaySettingView.info = [ { title: "systemSettingView.autoAdjustScreenBrightness", type: 'switch', }, { title: "systemSettingView.screenBrightness", type: 'slider', unit: '%' }, { title: "systemSettingView.autoTurnOffScreen", type: 'switch', }, { title: "systemSettingView.autoTurnOffScreenTime", type: 'input', i18nUnit: 'systemSettingView.min' }, { title: "systemSettingView.autoScreenSaver", type: 'switch', }, { title: "systemSettingView.autoScreenSaverTime", type: 'input', i18nUnit: 'systemSettingView.min' }, { title: "systemSettingView.displayIp", type: 'switch', }, { title: "systemSettingView.displayDeviceSn", type: 'switch', }, { title: "systemSettingView.language", type: 'dropdown', }, { title: "systemSettingView.displayCode", type: 'switch', }, { title: "systemSettingView.themeMode", type: 'dropdown', }, ] const displaySettingBox = dxui.View.build('displaySettingBox', screenMain) viewUtils._clearStyle(displaySettingBox) displaySettingBox.align(dxui.Utils.ALIGN.TOP_MID, 0, 140) displaySettingBox.setSize(screen.screenSize.width, 850) displaySettingBox.bgOpa(0) displaySettingBox.flexFlow(dxui.Utils.FLEX_FLOW.ROW_WRAP) displaySettingBox.flexAlign(dxui.Utils.FLEX_ALIGN.CENTER, dxui.Utils.FLEX_ALIGN.START, dxui.Utils.FLEX_ALIGN.START) displaySettingBox.obj.lvObjSetStylePadGap(0, dxui.Utils.ENUM._LV_STYLE_STATE_CMP_SAME) displaySettingBox.borderWidth(1) displaySettingBox.setBorderColor(0xDEDEDE) displaySettingBox.obj.setStyleBorderSide(dxui.Utils.ENUM.LV_BORDER_SIDE_TOP, 0) displaySettingView.info.forEach(item => { const itemBox = dxui.View.build(item.title, displaySettingBox) viewUtils._clearStyle(itemBox) itemBox.setSize(760, 76) itemBox.borderWidth(1) itemBox.setBorderColor(0xDEDEDE) itemBox.obj.setStyleBorderSide(dxui.Utils.ENUM.LV_BORDER_SIDE_BOTTOM, 0) const itemLabel = dxui.Label.build(item.title + 'Label', itemBox) itemLabel.dataI18n = item.title itemLabel.align(dxui.Utils.ALIGN.LEFT_MID, 0, 0) itemLabel.textFont(viewUtils.font(26)) if (item.unit) { const unitLabel = dxui.Label.build(item.title + 'UnitLabel', itemBox) unitLabel.text(item.unit) unitLabel.align(dxui.Utils.ALIGN.RIGHT_MID, 0, 0) unitLabel.textFont(viewUtils.font(26)) } if (item.i18nUnit) { const unitLabel = dxui.Label.build(item.title + 'UnitLabel', itemBox) unitLabel.dataI18n = item.i18nUnit unitLabel.align(dxui.Utils.ALIGN.RIGHT_MID, 0, 0) unitLabel.textFont(viewUtils.font(26)) } switch (item.type) { case 'switch': const __switch = dxui.Switch.build(item.title + 'switch', itemBox) __switch.align(dxui.Utils.ALIGN.RIGHT_MID, 0, 0) __switch.setSize(70, 35) item.switch = __switch if (item.title == 'systemSettingView.autoAdjustScreenBrightness') { __switch.on(dxui.Utils.EVENT.VALUE_CHANGED, () => { screen.saveConfig({ base: { brightnessAuto: __switch.isSelect() ? 1 : 0 } }) if (__switch.isSelect()) { displaySettingView.info[1].slider.disable(true) } else { displaySettingView.info[1].slider.disable(false) } }) } if (item.title == 'systemSettingView.autoTurnOffScreen') { __switch.on(dxui.Utils.EVENT.VALUE_CHANGED, () => { if (!__switch.isSelect()) { displaySettingView.info[3].input.text("0") } }) } if (item.title == 'systemSettingView.autoScreenSaver') { __switch.on(dxui.Utils.EVENT.VALUE_CHANGED, () => { if (!__switch.isSelect()) { displaySettingView.info[5].input.text("0") } }) } break; case 'input': const input = viewUtils.input(itemBox, item.title + 'input', undefined, undefined, undefined) input.align(dxui.Utils.ALIGN.RIGHT_MID, -60, 0) input.setSize(100, 55) item.input = input break; case 'dropdown': const dropdown = dxui.Dropdown.build(item.title + 'dropdown', itemBox) dropdown.align(dxui.Utils.ALIGN.RIGHT_MID, 0, 0) dropdown.textFont(viewUtils.font(26)) dropdown.getList().textFont(viewUtils.font(26)) dropdown.setSize(230,55) dropdown.setSymbol('/app/code/resource/image/down.png') item.dropdown = dropdown break; case 'slider': const sliderLabel = dxui.Label.build(item.title + 'sliderLabel', itemBox) sliderLabel.align(dxui.Utils.ALIGN.RIGHT_MID, -30, 0) sliderLabel.width(50) sliderLabel.text('0') sliderLabel.textFont(viewUtils.font(26)) sliderLabel.textAlign(dxui.Utils.TEXT_ALIGN.RIGHT) const slider = dxui.Slider.build(item.title + 'slider', itemBox) slider.align(dxui.Utils.ALIGN.RIGHT_MID, -90, 0) slider.width(150) slider.range(0, 100) slider.on(dxui.Utils.EVENT.VALUE_CHANGED, () => { sliderLabel.text(slider.value() + '') if (screen.getConfig()['base.brightness'] == slider.value()) { return } screen.saveConfig({ base: { brightness: slider.value() } }) }) item.slider = slider break; } }) const saveBtn = viewUtils.bottomBtn(screenMain, screenMain.id + 'saveBtn', 'systemSettingView.save', () => { const saveConfigData = { base: { language: languageData[displaySettingView.info[8].dropdown.getSelected()], brightnessAuto: displaySettingView.info[0].switch.isSelect() ? 1 : 0, brightness: displaySettingView.info[1].slider.value(), screenOff: parseInt(displaySettingView.info[3].input.text()), screensaver: parseInt(displaySettingView.info[5].input.text()), showIp: displaySettingView.info[6].switch.isSelect() ? 1 : 0, showSn: displaySettingView.info[7].switch.isSelect() ? 1 : 0, showProgramCode: displaySettingView.info[9].switch.isSelect() ? 1 : 0, appMode: displaySettingView.info[10].dropdown.getSelected(), } } const res = screen.saveConfig(saveConfigData) if (res === true) { displaySettingView.statusPanel.success() i18n.setLanguage(screen.getConfig()['base.language']) refreshLanguage() std.setTimeout(() => { // 成功返回上一层界面 dxui.loadMain(systemSettingView.screenMain) }, 500) if (displaySettingView.info[0].switch.isSelect()) { displaySettingView.info[1].slider.disable(true) } else { displaySettingView.info[1].slider.disable(false) } } else { displaySettingView.statusPanel.fail() } }) saveBtn.align(dxui.Utils.ALIGN.BOTTOM_MID, 0, -83) displaySettingView.statusPanel = viewUtils.statusPanel(screenMain, 'systemSettingView.success', 'systemSettingView.fail') } function refreshLanguage() { switch (screen.getConfig()['base.language']) { case 'CN': displaySettingView.info[8].dropdown.setOptions(languageData2) displaySettingView.info[8].dropdown.setSelected(0) displaySettingView.info[10].dropdown.setOptions(themeModeData) displaySettingView.info[10].dropdown.setSelected(0) break; case 'EN': displaySettingView.info[8].dropdown.setOptions(languageData) displaySettingView.info[8].dropdown.setSelected(1) displaySettingView.info[10].dropdown.setOptions(themeModeData2) displaySettingView.info[10].dropdown.setSelected(1) break; default: break; } } export default displaySettingView