import dxui from '../../../../../dxmodules/dxUi.js'
|
import viewUtils from "../../../viewUtils.js"
|
import topView from "../../../topView.js"
|
import configView from '../../configView.js'
|
import screen from '../../../../screen.js'
|
import developerView from '../developerView.js'
|
import std from '../../../../../dxmodules/dxStd.js'
|
import i18n from "../../../i18n.js"
|
|
const capcalView = {}
|
capcalView.init = function () {
|
/**************************************************创建屏幕*****************************************************/
|
const screenMain = dxui.View.build('capcalView', dxui.Utils.LAYER.MAIN)
|
capcalView.screenMain = screenMain
|
screenMain.scroll(false)
|
screenMain.bgColor(0xffffff)
|
capcalView.isRunning = false
|
|
screenMain.on(dxui.Utils.ENUM.LV_EVENT_SCREEN_LOADED, () => {
|
capcalView.timeout = new Date().getTime()
|
capcalView.isRunning = true
|
topView.changeTheme(true)
|
screen.getCapcal().init()
|
capcalView1.show()
|
capcalView2.hide()
|
|
if (capcalView.timer) {
|
std.clearInterval(capcalView.timer)
|
}
|
let cnt = 0
|
capcalView.timer = std.setInterval(() => {
|
// 执行标定
|
let flag = screen.getCapcal().calculate(cnt)
|
if (flag) {
|
let language=screen.getConfig()["base.language"]||"CN"
|
if (cnt >= 1) {
|
// 标定成功
|
screen.updateFaceConfig({ capcal_path: "/etc/.cameraCalibration" })
|
dxui.loadMain(developerView.screenMain)
|
|
screen.driver.audio.play(`/app/code/resource/wav/${language}/calibration_2s.wav`)
|
}else{
|
capcalView1.hide()
|
capcalView2.show()
|
cnt++
|
screen.driver.audio.play(`/app/code/resource/wav/${language}/calibration_1s.wav`)
|
}
|
}
|
if (new Date().getTime() - capcalView.timeout > 30000) {
|
// 超时退出
|
dxui.loadMain(developerView.screenMain)
|
}
|
const remaining = 55 - Math.floor((new Date().getTime() - capcalView.timeout) / 1000)
|
const timeoutMsg = i18n.t('capcalView.timeoutMessage')
|
capcaltimeout.text(remaining + timeoutMsg)
|
}, 500)
|
capcaltimeout.dataI18n = 'capcalView.timeoutPrefix'
|
capcaltimeout.text(i18n.t('capcalView.timeoutPrefix'))
|
})
|
|
screenMain.on(dxui.Utils.ENUM.LV_EVENT_SCREEN_UNLOADED, () => {
|
capcalView.isRunning = false
|
screen.getCapcal().deinit()
|
if (capcalView.timer) {
|
std.clearInterval(capcalView.timer)
|
capcalView.timer = null
|
}
|
})
|
|
const topMask = dxui.View.build('topMask', screenMain)
|
viewUtils._clearStyle(topMask)
|
topMask.setSize(screen.screenSize.width, screen.screenSize.height * (70 / 1024))
|
topMask.bgColor(0xffffff)
|
|
const titleBox = viewUtils.title(screenMain, configView.screenMain, 'capcalViewTitle', 'capcalView.title')
|
titleBox.align(dxui.Utils.ALIGN.TOP_MID, 0, screen.screenSize.height * (50 / 1024))
|
|
const capcalBox = dxui.View.build('capcalBox', screenMain)
|
viewUtils._clearStyle(capcalBox)
|
capcalBox.setSize(screen.screenSize.width, screen.screenSize.height - screen.screenSize.height * (140 / 1024))
|
capcalBox.align(dxui.Utils.ALIGN.TOP_MID, 0, screen.screenSize.height * (140 / 1024))
|
capcalBox.bgColor(0xf7f737)
|
capcalBox.bgOpa(0)
|
|
let box1 = screen.getCapcal().getBox(0)
|
let box2 = screen.getCapcal().getBox(1)
|
|
const capcalView1 = dxui.View.build('capcalView1', capcalBox)
|
capcalView1.bgOpa(0)
|
capcalView1.borderWidth(screen.screenSize.width * (5 / 600))
|
capcalView1.setSize(box1.w, box1.h)
|
capcalView1.setPos(box1.x, box1.y - screen.screenSize.height * (140 / 1024))
|
capcalView1.setBorderColor(0xAE2011)
|
// capcalView1.hide()
|
|
const capcalViewLab1 = dxui.Label.build('capcalViewLab1', capcalView1)
|
capcalViewLab1.align(dxui.Utils.ALIGN.BOTTOM_MID, 0, 0)
|
capcalViewLab1.textFont(viewUtils.font(26))
|
capcalViewLab1.dataI18n = 'capcalView.firstCalibration'
|
capcalViewLab1.text(i18n.t('capcalView.firstCalibration'))
|
capcalViewLab1.textColor(0xffffff)
|
|
const capcalView2 = dxui.View.build('capcalView2', capcalBox)
|
capcalView2.bgOpa(0)
|
capcalView2.borderWidth(screen.screenSize.width * (5 / 600))
|
capcalView2.setSize(box2.w, box2.h)
|
capcalView2.setPos(box2.x, box2.y - screen.screenSize.height * (140 / 1024))
|
capcalView2.setBorderColor(0xAE2011)
|
capcalView2.hide()
|
|
const capcalViewLab2 = dxui.Label.build('capcalViewLab2', capcalView2)
|
capcalViewLab2.align(dxui.Utils.ALIGN.BOTTOM_MID, 0, 0)
|
capcalViewLab2.textFont(viewUtils.font(26))
|
capcalViewLab2.dataI18n = 'capcalView.secondCalibration'
|
capcalViewLab2.text(i18n.t('capcalView.secondCalibration'))
|
capcalViewLab2.textColor(0xffffff)
|
|
const capcaltimeout = dxui.Label.build('capcaltimeout', screenMain)
|
capcaltimeout.align(dxui.Utils.ALIGN.CENTER, 0, 0)
|
capcaltimeout.textFont(viewUtils.font(26))
|
capcaltimeout.text("55秒后超时退出")
|
capcaltimeout.textColor(0xffffff)
|
}
|
|
|
export default capcalView
|