代码拉取完成,页面将自动刷新
使用arkui提供的基本布局组件 List,Row
List({space:20,}){
...
}.height("100%").width("100%")
.onReachEnd( () => {
// 加载更多
this.ctrl.loadMore()
})
使用 @ohos.net.http
发起http请求
import http from '@ohos.net.http';
let req = http.createHttp()
return req.request(`https://cnodejs.org/api/v1/topics?tap=share&page=1&limit=1`, {
method:http.RequestMethod.GET,
})
依赖 @ohos/zxing
const pixelMap = await imageSource.createPixelMap();
let num = pixelMap.getPixelBytesNumber()
let arrayBuffer: ArrayBuffer = new ArrayBuffer(num);
await pixelMap.readPixelsToBuffer(arrayBuffer)
const int32Array = new Int32Array(arrayBuffer)
const luminanceSource = new RGBLuminanceSource(int32Array, 400, 400)
const binaryBitmap = new BinaryBitmap(new HybridBinarizer(luminanceSource))
const reader = new MultiFormatReader()
const hints: Map<DecodeHintType, Array<BarcodeFormat>> = new Map();
hints.set(DecodeHintType.POSSIBLE_FORMATS, [BarcodeFormat.QR_CODE]);
reader.setHints(hints);
let result = reader.decode(binaryBitmap);
let text = result.getText();
console.log(text)
const pickerImg = new picker.PhotoViewPicker()
const opt = new picker.PhotoSelectOptions()
opt.MIMEType = picker.PhotoViewMIMETypes.IMAGE_TYPE
opt.maxSelectNumber = 1;
pickerImg.select(opt).then( async res => {
// ...
// decode 二维码
// 验证 二维码中的accessToken
})
const manager = camera.getCameraManager(getContext(this)) // 创建相机设备manager
const device = manager.getSupportedCameras() // 获取相机
if (device.length == 0) {
promptAction.showToast({message: "没有可用相机设备"})
return
}
const defaultDevice = device[0]
const profile = manager.getSupportedOutputCapability(defaultDevice) // 获取第一个相机配置
const receiver :image.ImageReceiver = image.createImageReceiver(8192, 8192, image.ImageFormat.JPEG, 8); // 创建一个图片接收器
const surfaceId = await receiver.getReceivingSurfaceId()
const cameraInput = manager.createPreviewOutput(profile.previewProfiles[0], surfaceId) // 创建相机预览
cameraInput.start()
// ...
// loop并扫码图片中的二维码直到检测到二维码
const scan = () => {
receiver.readLatestImage().then(async img => { // 获取相机预览
const comp = await img.getComponent(image.ComponentType.JPEG); // 获取jpg图片
if (comp && comp.byteBuffer) {
const buffer: ArrayBuffer = comp.byteBuffer.slice(0, comp.byteBuffer.byteLength);
const text = await decodeQrBuff(buffer)
if (text) {
// 停止相机
}
}
})
}
验证accessToken成功之后,可以持久化保存数据。 方式:PersistentStorage.PersistProp
代码见 entry/src/main/ets/pages/AccessCodeForm.ets
其他entry 使用 @StorageLink('cn-access-code') accessToken : string = ""
获取
仅供学习。欢迎提问
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。