本文介绍如何在 HarmonyOS NEXT 中使用相关 SDK。
权限添加
在 entry
的 module.json5
中添加相机权限。
"requestPermissions": [
{
"name": "ohos.permission.CAMERA",
"reason": "$string:permission_reason_camera",
"usedScene": {
"abilities": [
"EntryAbility"
],
"when": "always"
}
}
]
API 使用
实现 ScanInterface 接口
import { ScanInterface } from '@mpaas/scanapp';
const params: Map<string, Object> = new Map()
params.set('showAlbum', true) //是否显示相册入口
params.set('open','轻触照亮') // 环境提示文案 不超过4个字符
params.set('close','轻触关闭') // 环境提示文案 不超过4个字符
params.set('more','多码识别') // 多码识别提示文案
params.set('targetColor',Color.Red) // 命中二维码后 效果颜色
params.set('fullScreen',true) //是否开启全屏渲染
class ScanDefault implements ScanInterface {
getResult(result: string): void { // 获取扫码结果
try {
promptAction.showDialog({
message: result,
})
} catch (error) {
console.error('start fail error = ' + JSON.stringify(error))
}
处理路由逻辑
router.back() || router.pushUrl()
}
customParams?: Map<string, Object> | undefined = params
}
实现 ScanManager
import { ScanManager } from '@mpaas/scanapp';
跳转前对 ScanManager 初始化
ScanManager.defaultManager(new ScanDefault())
引入 Scan 组件
在组件外调用
import ('@mpaas/scanapp/Index')
重要
这里是有自定义 router
的自定义 page name 的形式跳转目前写死的扫一扫组件 URL 为 mPaasScanPage
。
跳转扫一扫页面
router.pushNamedRoute({name: 'mPaasScanPage'})
文档内容是否对您有帮助?