更新记录

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读取失败

隐私、权限声明

1. 本插件需要申请的系统权限列表:

【ios】 NFC权限-NFCReaderUsageDescription

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无用户评论。