智能照明系统APP-本地串口
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
LightingSystemApp-serial/.svn/pristine/19/19731422066b67fdcebacac9c61...

85 lines
2.0 KiB

import {
invoke
} from '../../bridge'
import {
showPage
} from '../page.js'
function getStatusBarStyle () {
let style = plus.navigator.getStatusBarStyle()
if (style === 'UIStatusBarStyleBlackTranslucent' || style === 'UIStatusBarStyleBlackOpaque' || style === 'null') {
style = 'light'
} else if (style === 'UIStatusBarStyleDefault') {
style = 'dark'
}
return style
}
export function scanCode (options, callbackId) {
const statusBarStyle = getStatusBarStyle()
const isDark = statusBarStyle !== 'light'
let result
const page = showPage({
url: '__uniappscan',
data: {
scanType: options.scanType
},
style: {
animationType: options.animationType || 'pop-in',
titleNView: {
autoBackButton: true,
type: 'float',
titleText: options.titleText || '扫码',
titleColor: '#ffffff',
backgroundColor: 'rgba(0,0,0,0)',
buttons: !options.onlyFromCamera ? [{
text: options.albumText || '相册',
fontSize: '17px',
width: '60px',
onclick: () => {
page.sendMessage({
type: 'gallery'
})
}
}] : []
},
popGesture: 'close',
backButtonAutoControl: 'close'
},
onMessage ({
event,
detail
}) {
result = detail
if (event === 'marked') {
result.errMsg = 'scanCode:ok'
} else {
result.errMsg = 'scanCode:fail ' + detail.message
}
},
onClose () {
if (isDark) {
plus.navigator.setStatusBarStyle('dark')
}
invoke(callbackId, result || {
errMsg: 'scanCode:fail cancel'
})
}
})
if (isDark) {
plus.navigator.setStatusBarStyle('light')
page.webview.addEventListener('popGesture', ({
type,
result
}) => {
if (type === 'start') {
plus.navigator.setStatusBarStyle('dark')
} else if (type === 'end' && !result) {
plus.navigator.setStatusBarStyle('light')
}
})
}
}