简介
对微信小程序中,进场通信(NFC)能力读写功能模块进行类封装。
适用于:NDEF数据传输格式的芯片
优势
1、类的封装方式能够很好地避免全局变量的污染
2、能够让开发者方便调用其读写等方法,提高开发效率
设计实现
useNfc.ts -- ts版本
/*
* @Autor: Niki.Y
* @Description: nfc类封装
* @Date: 2023-04-20 17:47:54
* @LastEditTime: 2023-04-23 15:49:01
*/
import { byteToString, string2ArrayBuffer, ab2hex } from "./nfcDataFormate";
class useNFC {
// NFC实例
public NFCAdapter;
//Ndef实例
public NDEF;
//当前nfc的id
public NFCID;
//当前nfc携带的信息
public NFCINFO: {};
//构造函数
constructor() {}
public handler?: (params: any) => void;
// 创建nfc监听
createNfcAdaptor(read?: string) {
return new Promise((resolve, reject) => {
this.NFCAdapter = wx.getNFCAdapter();
this.NFCAdapter.startDiscovery({
success: (res: any) => {
// title.value = "请将设备放入识别区NFC";
this.NFCAdapter.onDiscovered(async (callback: any) => {
console.log("onDiscovered callback=>", callback);
let aid = parseInt(ab2hex(callback.id), 16);
if (aid === this.NFCID) {
// 处理返回多余的空对象payload
resolve(this.NFCINFO);
return;
}
this.NFCID = aid;
let obj = {
payload: "",
id: "",
type: "",
};
console.log(aid);
if (callback.messages) {
let cordsArray = callback.messages[0].records;
cordsArray.find((item: any) => {
obj.payload = byteToString(new Uint8Array(i

最低0.47元/天 解锁文章
8849

被折叠的 条评论
为什么被折叠?



