使用 SDK
更新時間:
本文介紹如何在 HarmonyOS NEXT 中使用相關(guān) SDK。
權(quán)限添加
在 entry
的 module.json5
中添加相機(jī)權(quán)限。
"requestPermissions": [
{
"name": "ohos.permission.CAMERA",
"reason": "$string:permission_reason_camera",
"usedScene": {
"abilities": [
"EntryAbility"
],
"when": "always"
}
}
]
API 使用
實(shí)現(xiàn) ScanInterface 接口
import { ScanInterface } from '@mpaas/scanapp';
const params: Map<string, Object> = new Map()
params.set('showAlbum', true) //是否顯示相冊入口
params.set('open','輕觸照亮') // 環(huán)境提示文案 不超過4個字符
params.set('close','輕觸關(guān)閉') // 環(huán)境提示文案 不超過4個字符
params.set('more','多碼識別') // 多碼識別提示文案
params.set('targetColor',Color.Red) // 命中二維碼后 效果顏色
params.set('fullScreen',true) //是否開啟全屏渲染
class ScanDefault implements ScanInterface {
getResult(result: string): void { // 獲取掃碼結(jié)果
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
}
實(shí)現(xiàn) ScanManager
import { ScanManager } from '@mpaas/scanapp';
跳轉(zhuǎn)前對 ScanManager 初始化
ScanManager.defaultManager(new ScanDefault())
引入 Scan 組件
在組件外調(diào)用
import ('@mpaas/scanapp/Index')
重要
這里是有自定義 router
的自定義 page name 的形式跳轉(zhuǎn)目前寫死的掃一掃組件 URL 為 mPaasScanPage
。
跳轉(zhuǎn)掃一掃頁面
router.pushNamedRoute({name: 'mPaasScanPage'})
文檔內(nèi)容是否對您有幫助?