参考 > 脚本步骤参考 > 控制脚本步骤 > 配置 NFC 读取
 

配置 NFC 读取

扫描或停止扫描 NFC(近场通信)标签。

另请参阅 

选项 

操作”指定是开始(读取)还是停止(取消)扫描 NFC 标签

以下选项仅用于读取

脚本”指定在读取标签、发生错误、用户取消操作或使用“取消”选项的另一个“配置 NFC”脚本步骤取消操作时要运行的脚本。

参数”(可选)指定脚本的脚本参数。

超时”(可选)会在指定的秒数后自动取消读取操作。

持续读取”(可选)如果该值不为零,则将脚本步骤设置为读取标签,直到用户点击“取消”按钮或满足超时参数为止。如果未指定此选项,则仅读取一个标签。

兼容性 

 

产品 

是否支持 

FileMaker Pro 

 

FileMaker Go 

 

FileMaker WebDirect 

 

FileMaker Server 

 

FileMaker Cloud 产品 

 

FileMaker Data API 

 

自定义 Web 发布 

 

原始版本 

19.0

说明 

使用此脚本步骤扫描或停止扫描使用少量数据编程的 NFC 标签。NFC 标签中的数据通常是使用 http、tel、fmp 和 mailto 等协议的 URL。

必须在“脚本”选项指定的脚本中调用 Get (脚本参数) 函数,以返回 NFC 标签的多行参数。

下表描述了参数的每一行。有关 NFC 参数的更多信息,请参见 NDEF 规范:

 

行编号

参数描述

1

调用脚本的原因。返回:

TagRead,如果已读取 NFC 标签

CanceledByUser,如果用户点击“取消”按钮

CanceledByError,如果发生错误

2

错误字符串

3

“指定脚本”对话框中指定的可选脚本参数

4

从标签读取的多行参数记录数量

5

多行参数的标识符

6

多行参数的字符串值

7

多行参数的类型

8

多行参数的类型名称格式

对于从标签读取的每个多行参数记录(第 4 行的值),重复第 5 至第 8 行。

注释 

同一时间只能进行一次读取操作。如果在执行取消操作时正在进行读取操作,则取消读取操作。

如果在扫描 NFC 标签之后使用打开 URL脚本步骤,则会使用适当的应用程序打开 URL。例如,fmp URL 打开指定的 FileMaker Go 文件并运行脚本(如果已指定),在浏览器中打开网页 URL,在“邮件”App 中打开 mailto URL,而 tel URL 则会打开“电话”App。

示例 1 

启动单个 NFC 标签的读取,并在达到 NFC::Timeout 字段中指定的超时值后停止。读取标签后,将在“解析结果”子脚本中指定的字段中设置标签中的多行参数数据,该结果将从“扫描一次完成”子脚本中调用。

主脚本:扫描一次

转到布局 [ "NFC Tag" ; 动画: 无 ]
配置 NFC 读取 [ 操作: 读取 ; 脚本: "扫描一次完成" ; 参数: "当前日期和时间是 " & Get (当前系统时间) ; 超时: NFC::Timeout ]

子脚本 1:扫描一次完成

设置变量 [ $scriptParam ; 值: Get (脚本参数) ]
执行脚本 [指定: 来自列表 ; "解析结果" ; 参数: $scriptParam ]
显示自定义对话框: [ "NFC 搜索完成" ; $scriptParam ]

子脚本 2:解析结果

新建记录/请求
设置字段 [ NFC::Text ; Get (脚本参数) ]
设置字段 [ NFC::Tag ; GetValue (NFC::Text ; 6) ]
设置字段 [ NFC::PayloadCount ; GetValue (NFC::Text ; 4) ]
设置字段 [ NFC::Result ; GetValue (NFC::Text ; 1) & GetValue (
NFC::Text ; 2) ]
设置字段 [ NFC::ReadTimestamp ; Get (当前系统时间) ]
设置字段 [ NFC::ID ; GetValue (NFC::Text ; 5) ]
设置字段 [ NFC::Type ; GetValue (NFC::Text ; 7) ]

示例 2 

启动多个 NFC 标签的读取,并在达到 NFC::Timeout 字段中指定的超时值或取消扫描时停止。读取标签时将在“解析结果”子脚本指定的字段中设置标签中的多行参数数据(请参阅示例1)。

主脚本:扫描多次

配置 NFC 读取 [ 操作: 读取 ; 脚本: "解析结果" ; 参数: "扫描开始于 " & Get (当前系统时间) ; 超时: NFC::Timeout ; 持续读取: 1 ]
转到布局 [ "NFC 扫描列表"; 动画: 无 ]

示例 3 

如果多行参数的第 6 行中存在 URL,则启动标签读取并尝试打开 URL。在达到 NFC::Timeout 字段中指定的超时值或取消扫描时停止扫描。读取标签后将在“解析结果”子脚本指定的字段中设置标签中的多行参数数据(请参阅示例 1),该结果将从“扫描一次完成”子脚本中调用。

主脚本:扫描并打开

配置 NFC 读取 [ 操作: 读取 ; 脚本: "通过扫描打开" ; 参数: "扫描开始于 " & Get (当前系统时间) ; 超时: NFC::Timeout ]
转到布局 [ "NFC 扫描列表"; 动画: 无 ]

子脚本:通过扫描打开

设置变量 [ $scriptParam ; 值: Get (脚本参数) ]
执行脚本 [指定: 来自列表 ; "解析结果" ; 参数: $scriptParam ]
提交记录/请求 [ 包括对话框: 关闭 ]
If [ NFC::PayloadCount > 1 ]
打开 URL [ 包括对话框: 开启 ; NFC::Tag ]
End If

相关主题 

脚本步骤参考(按字母顺序排序的列表)

脚本步骤参考(类别列表)