|
|
@@ -0,0 +1,50 @@ |
|
|
|
import promptAction from '@ohos.promptAction'; |
|
|
|
import { scanBarcode, scanCore } from '@kit.ScanKit'; |
|
|
|
import { BusinessError } from '@kit.BasicServicesKit'; |
|
|
|
import { hilog } from '@kit.PerformanceAnalysisKit'; |
|
|
|
|
|
|
|
@Component |
|
|
|
@Preview |
|
|
|
export struct ScanHome { |
|
|
|
private oldTime = 0 |
|
|
|
|
|
|
|
build() { |
|
|
|
NavDestination() { |
|
|
|
Column() { |
|
|
|
Button('扫一扫', { stateEffect: true, type: ButtonType.Normal, buttonStyle: ButtonStyleMode.NORMAL }) |
|
|
|
.width('40%') |
|
|
|
.fontColor('#333333') |
|
|
|
.height(40) |
|
|
|
.onClick(() => { |
|
|
|
// 定义扫码参数options |
|
|
|
let options: scanBarcode.ScanOptions = |
|
|
|
{ scanTypes: [scanCore.ScanType.ALL], enableMultiMode: true, enableAlbum: true }; |
|
|
|
scanBarcode.startScanForResult(getContext(this), options).then((result: scanBarcode.ScanResult) => { |
|
|
|
hilog.info(0x0001, '[Scan Sample]', |
|
|
|
`Succeeded in getting ScanResult by promise with options, result is ${JSON.stringify(result)}`); |
|
|
|
}).catch((error: BusinessError) => { |
|
|
|
hilog.error(0x0001, '[Scan Sample]', |
|
|
|
`Failed to get ScanResult by promise with options. Code: ${error.code}, message: ${error.message}`); |
|
|
|
}) |
|
|
|
}) |
|
|
|
} |
|
|
|
.width('100%') |
|
|
|
.height("100%") |
|
|
|
.padding(20) |
|
|
|
.backgroundColor("#ffffff") |
|
|
|
}.padding({ left: 15, right: 15 }).hideTitleBar(true) |
|
|
|
.onBackPressed(() => { |
|
|
|
const currentTime = new Date().getTime() |
|
|
|
|
|
|
|
if (currentTime - this.oldTime > 1500) { |
|
|
|
promptAction.showToast({ |
|
|
|
message: '双击退出', |
|
|
|
duration: 2000 |
|
|
|
}); |
|
|
|
this.oldTime = currentTime |
|
|
|
return false |
|
|
|
} |
|
|
|
return true |
|
|
|
}) |
|
|
|
} |
|
|
|
} |