更新记录
1.0.0(2025-11-08)
(注:不同hx版本最好重新打包基座,以避免出现版本差异的错误)
平台兼容性
uni-app(4.61)
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|
| √ | √ | - | - | √ | √ | - | 12 | 12 |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|
| - | - | - | - | - | - | - | - | - | - | - |
uni-app x(4.61)
| Chrome | Safari | Android | iOS | 鸿蒙 | 微信小程序 |
|---|---|---|---|---|---|
| - | - | - | 12 | 12 | - |
xwe-nfc
HBuilder X 支持版本
| 支持版本 |
|---|
| 3.9.8+ |
vue版本兼容
| vue2 | vue3 | vue3+ts |
|---|---|---|
| √ | √ | √ |
平台兼容
| (uniapp、uniappX) App-Android |
(uniapp、uniappX) App-iOS |
(uniapp、uniappX) App-HarmonyOS |
|---|---|---|
| x | √(12-17+) | √(12+) |
权限说明文档
说明:如果主工程内未配置以下权限,导入插件后请重新打包基座权限方可生效。
-
【ios】
内置注册权限:插件内配置了Info.plist,内置权限如下:
注意:下面权限已经在插件内配置,项目中不需要重复配置了
<dict>
<key>NFCReaderUsageDescription</key>
<string>读取/写入nfc标签</string>
</dict>
内置敏感权限申请清单:插件内配置了UTS.entitlements,内置权限如下:
注意:下面权限已经在插件内配置,项目中不需要重复配置了
<dict>
<key>com.apple.developer.nfc.readersession.formats</key>
<array>
<string>NDEF</string>
</array>
</dict>
【特别注意】敏感权限申请清单需要到苹果开发者后台去勾选相应权限,需勾选权限如下:
- NFC Tag Reading (NFC权限)
动态申请权限:
无需要动态申请的权限
需要自行配置的配置项:
【通过 url scheme唤醒app,需自行配置如下】
- 第一种方式:项目根目录创建 Info.plist 文件配置
<dict>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLRole</key>
<string>Editor</string>
<key>CFBundleURLIdentifier</key>
<string>com.xwe.tools</string> <!-- 替换为你的 Bundle ID -->
<key>CFBundleURLSchemes</key>
<array>
<string>xwenfc</string> <!-- 核心:唤醒用的 Scheme,必须正确 -->
</array>
</dict>
</array>
</dict>
- 第二种方式:项目根目录manifest.json > app-plus > ios > urltypes
-
【harmonyOS】
需要自行配置的配置项:
【通过 url scheme唤醒app,需自行配置如下】
-
module.json5 文件配置
-
路径:项目根目录harmony-configs > entry > src > main > module.json5
-
注意:如没有相应文件自行创建,可以把 unpackage > dist > dev > app-harmony > entry > src > main > module.json5 编译后的文件复制到根目录,当然也可以直接在编译后的文件去配置,但是为了保证项目工程的规范性,最好是在根目录创建一个去修改配置。
-
特别注意:保证skills数组的增量添加,编译后已经存在的配置不要去改动。
-
scheme-唤醒用的Scheme 根据自己需求自行定义(如果是多种数据格式只需要配置scheme就行了,如果需要更多配置请参考官方skills标签)。
{
"module": {
"abilities": [
{
"skills": [
{
"entities": ["entity.system.browsable"],
"actions": ["ohos.want.action.viewData"],
"uris": [
{
"scheme": "xwenfc"
}
]
}
]
}
]
}
}
插件使用文档
-
引入插件和实例化
import {XWENfc} from '@/uni_modules/xwe-nfc';
const xweNfc = new XWENfc();
-
监听-url打开app
xweNfc.onUrlOpenApp(callback)
callback返回参数说明
| 属性 | 类型 | 说明 |
|---|---|---|
| callbackOption | MegOption | 返回状态信息、特殊数据信息 |
callbackOption结构说明
| 属性 | uniapp类型 | uniappX类型 | 说明 |
|---|---|---|---|
| code | number | number | 状态返回,详情查看 【code状态码说明】 |
| message | string | string | 状态提示消息,详情查看 【code状态码说明】 |
| data | Object | UTSJSONObject | 无数据不会返回此字段 |
data结构说明-code = 11(url打开app读取成功)
| 属性 | uniapp类型 | uniappX类型 | 说明 |
|---|---|---|---|
| source | string | string | url scheme唤醒app的url源数据 |
| scheme | string | string | 唤醒app的scheme |
| format | string | string | 唤醒app的url scheme数据类型 |
| meta | Object | UTSJSONObject | 唤醒app的url scheme元数据 |
format结构说明
| 属性 | 说明 | 平台差异 |
|---|---|---|
| json | json数据类型,例:xwenfc://{"a":1,"b":2,"c":3} | |
| path | 路径数据类型,例:xwenfc://router/home/test?a=1&b=2&c=3 | |
| text | 文本数据类型,例:xwenfc://abcderf1234 | |
| unknown | 未知数据类型,表示无法解析的数据 | |
| err | 错误数据类型,表示数据错误/解析错误 |
meta(json数据类型)结构说明
| 属性 | uniapp类型 | uniappX类型 | 说明 |
|---|---|---|---|
| json | Object | UTSJSONObject | url scheme携带的json数据 |
meta(path数据类型)结构说明
| 属性 | uniapp类型 | uniappX类型 | 说明 |
|---|---|---|---|
| path | string | string | url scheme携带的路径数据,例:router/home/test |
| params | Object | UTSJSONObject | url scheme携带的参数数据 |
meta(text数据类型)结构说明
| 属性 | 类型 | 说明 |
|---|---|---|
| text | string | url scheme携带的文本数据 |
调用代码示例
xweNfc.onUrlOpenApp((callbackOption) => {
console.log('监听-url打开app',callbackOption);
if(callbackOption.code === 10){
console.log('监听中',callbackOption);
}
if(callbackOption.code === 11){
console.log('监听-url打开app读取成功',callbackOption);
}
if(callbackOption.code === -11){
console.log('监听-url打开app读取失败',callbackOption);
}
})
插件公共code状态码说明
| code | 类型 | message | 说明 | 平台差异 |
|---|---|---|---|---|
| 10 | number | Start listening - url Open app | 开始监听-url打开app | |
| 11 | number | Listening - URL opens app and reads successfully | 监听-url打开app读取成功 | |
| -11 | number | Listening - url failed to open app for reading | 监听-url打开app读取失败 |

收藏人数:
购买源码授权版(
试用
赞赏(0)
下载 176
赞赏 0
下载 10803492
赞赏 1798
赞赏
京公网安备:11010802035340号