前言
在移动应用开发中,NFC 功能越来越常见,无论是门禁卡读取、标签识别还是数据交换,NFC 都扮演着重要角色。今天为大家推荐一款专为 uni-app-x 打造的 NFC 读取插件,让你轻松实现 NFC 标签读取功能。
插件简介
dj-nfc是一款专为 uni-app-x 平台设计的 NFC 读取插件,目前已支持 Android 平台。该插件功能完善,集成简单,可以快速帮助开发者实现 NFC 标签数据的读取。
核心特性
- ✅真实 NFC 支持:基于原生 Android NFC SDK 开发,支持真实 NFC 标签读取
- ✅简洁 API:提供直观易用的 API 接口,上手零门槛
- ✅实时监听:支持 NFC 标签实时监听,贴近即可读取
- ✅状态检查:支持设备 NFC 支持检查和开关状态检测
- ✅uni-app-x 原生支持:完全兼容 uni-app-x 开发规范
快速开始
1. 安装插件
插件已发布到 DCloud 插件市场,直接下载引入即可:
🔗插件下载地址:NFC 原生插件 支持uni-app x - DCloud 插件市场
2. 引入 API
在页面中引入所需的 API:
import { isNfcSupported, isNfcEnabled, open, close, setOnNfcDataListener } from '@/uni_modules/dj-nfc'3. 基础使用
// 检查设备是否支持 NFC isNfcSupported({ success: (res) => { if (res.supported) { console.log('设备支持 NFC') } } }) // 设置 NFC 数据监听 setOnNfcDataListener((data: string) => { console.log('读取到的 NFC 数据:', data) // 这里可以处理读取到的数据 }) // 开启 NFC 监听 open({ success: (res) => { console.log(res.msg) } })API 详解
isNfcSupported(options)
检查设备是否支持 NFC 功能。
参数说明:
- options.success: 成功回调
- 返回 { code: 0, msg: 'success', supported: boolean }
isNfcEnabled(options)
检查 NFC 开关是否已开启。
参数说明:
- options.success: 成功回调
- 返回 { code: 0, msg: 'success', enabled: boolean }
open(options)
开启 NFC 监听,开始等待 NFC 标签。
参数说明:
- options.success: 成功回调
- 返回 { code: 0, msg: 'NFC 监听已开启' }
close(options)
关闭 NFC 监听。
参数说明:
- options.success: 成功回调
- 返回 { code: 0, msg: 'NFC 监听已关闭' }
setOnNfcDataListener(callback)
设置 NFC 数据监听回调,当 NFC 标签贴近手机时会自动触发。
参数说明:
- callback: 回调函数,接收读取到的 NFC 数据字符串
完整示例页面
以下是一个完整的使用示例,包含状态显示、数据读取和复制功能:
<template> <view class="container"> <view class="header"> <text class="title">NFC 读取工具</text> </view> <view class="status-card"> <view class="status-item"> <text class="label">设备支持:</text> <text :class="['value', isSupportedState ? 'success' : 'error']"> {{ isSupportedState ? '是' : '否' }} </text> </view> <view class="status-item"> <text class="label">监听状态:</text> <text :class="['value', isNfcReady ? 'success' : 'error']"> {{ isNfcReady ? '已开启' : '已关闭' }} </text> </view> </view> <button type="primary" @click="toggleNFC"> {{ isNfcReady ? '关闭监听' : '开启监听' }} </button> <view class="result-box"> <text class="result-label">读取结果:</text> <text class="result-text">{{ readResult.length > 0 ? readResult : '暂无数据' }}</text> </view> <button v-if="readResult.length > 0" @click="copyResult">复制结果</button> </view> </template> <script setup lang="uts"> import { isNfcSupported, isNfcEnabled, open, close, setOnNfcDataListener } from '@/uni_modules/dj-nfc' const readResult = ref('') const isNfcReady = ref(false) const isSupportedState = ref(false) const isEnabledState = ref(false) const checkNfcStatus = () => { isNfcSupported({ success: (res) => { isSupportedState.value = res.supported === true } }) isNfcEnabled({ success: (res) => { isEnabledState.value = res.enabled === true } }) } const setupNfcListener = () => { setOnNfcDataListener((data: string) => { readResult.value = data uni.showToast({ title: '读取成功', icon: 'success' }) }) } const toggleNFC = () => { if (isNfcReady.value) { close({ success: () => { isNfcReady.value = false } }) } else { open({ success: () => { isNfcReady.value = true } }) } } const copyResult = () => { uni.setClipboardData({ data: readResult.value, success: () => { uni.showToast({ title: '已复制', icon: 'success' }) } }) } onLoad((_) => { checkNfcStatus() setupNfcListener() }) </script>应用场景
这款 NFC 读取插件适用于多种场景:
- 🏷️标签识别:读取 NFC 标签中的 URL、文本等信息
- 🎫门禁/票务:读取门禁卡、电子票证信息
- 🏪商品溯源:读取商品 NFC 标签的溯源信息
- 📱设备配对:快速读取设备信息进行蓝牙/WiFi 配对
- 📋信息采集:读取身份卡、员工卡等信息
平台支持
| 平台 | 支持状态 |
|---|---|
| Android | ✅ 已支持 |
| iOS | ❌ 待开发 |
| Harmony | ❌ 待开发 |
注意事项
- 使用前请确保设备支持 NFC 功能
- 需要在系统设置中开启 NFC 开关
- 本插件专注于读取功能,不支持写入操作
- NFC 标签需要贴近手机背面 NFC 天线区域才能读取
总结
dj-nfc插件为 uni-app-x 开发者提供了简单、高效的 NFC 读取解决方案。如果你正在开发需要 NFC 功能的应用,不妨试试这款插件!
📦立即下载使用:NFC 原生插件 支持uni-app x - DCloud 插件市场
如果你觉得这篇文章对你有帮助,欢迎点赞、收藏、分享!有任何问题也可以在评论区留言交流~