扫描或停止扫描 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。
启动单个 NFC 标签的读取,并在达到 NFC::Timeout 字段中指定的超时值后停止。读取标签后,将在“解析结果”子脚本中指定的字段中设置标签中的多行参数数据,该结果将从“扫描一次完成”子脚本中调用。
转到布局 [ "NFC Tag" ; 动画: 无 ]
配置 NFC 读取 [ 操作: 读取 ; 脚本: "扫描一次完成" ; 参数: "当前日期和时间是 " & Get (当前系统时间) ; 超时: NFC::Timeout ]
设置变量 [ $scriptParam ; 值: Get (脚本参数) ]
执行脚本 [指定: 来自列表 ; "解析结果" ; 参数: $scriptParam ]
显示自定义对话框: [ "NFC 搜索完成" ; $scriptParam ]
新建记录/请求
设置字段 [ 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) ]
启动多个 NFC 标签的读取,并在达到 NFC::Timeout 字段中指定的超时值或取消扫描时停止。读取标签时将在“解析结果”子脚本指定的字段中设置标签中的多行参数数据(请参阅示例1)。
配置 NFC 读取 [ 操作: 读取 ; 脚本: "解析结果" ; 参数: "扫描开始于 " & Get (当前系统时间) ; 超时: NFC::Timeout ; 持续读取: 1 ]
转到布局 [ "NFC 扫描列表"; 动画: 无 ]
如果多行参数的第 6 行中存在 URL,则启动标签读取并尝试打开 URL。在达到 NFC::Timeout 字段中指定的超时值或取消扫描时停止扫描。读取标签后将在“解析结果”子脚本指定的字段中设置标签中的多行参数数据(请参阅示例 1),该结果将从“扫描一次完成”子脚本中调用。
配置 NFC 读取 [ 操作: 读取 ; 脚本: "通过扫描打开" ; 参数: "扫描开始于 " & Get (当前系统时间) ; 超时: NFC::Timeout ]
转到布局 [ "NFC 扫描列表"; 动画: 无 ]
设置变量 [ $scriptParam ; 值: Get (脚本参数) ]
执行脚本 [指定: 来自列表 ; "解析结果" ; 参数: $scriptParam ]
提交记录/请求 [ 包括对话框: 关闭 ]
If [ NFC::PayloadCount > 1 ]
打开 URL [ 包括对话框: 开启 ; NFC::Tag ]
End If