用做网页的技术做APP! 一门提供标准化的jsbridge-mini.js库,您只需要在页面引用并执行JS即可实现各种原生APP、原生PC的功能能力。 ==================APP端================== 【APP端】(安卓版&苹果版)目前提供200+原生功能,2000+JS映射接口,用做网站的技术即可实现各种原生APP能力、APP demo地址https://www.yimenapp.com/doc/demo.cshtml下载教程: ♦ JS-SDK 引用方式: ♦ 普通网页 script 方式加载:下载最新版,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库; ♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package |
读取 NDEF Tag – NDEF_DISCOVERED 事件 APP开发实现NFC近场通信能力
核心代码示例,详情参阅demo
//Android 读取 NDEF Tag 示例数据
var android_sample = {
data: null,
tag: {
ID: "04bf87225a6680",
Technologies: {
MifareUltralight: {
MifareClassicType: "TYPE_ULTRALIGHT_C",
MaxTransceiveLength: 253,
Timeout: 618
},
NfcA: {
MaxTransceiveLength: 253,
Timeout: 618,
SAK: 0,
ATQA: "4400"
},
Ndef: {
Type: "org.nfcforum.ndef.type2",
//Ndef 消息
NdefMessage: {
//16进制的原始数据
Raw: "d1012354027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
//Ndef 消息记录数组
Records: [
{
ID: "",
//16进制记录类型
Type: "54",
Uri: null,
//16进制记录荷载(原始 byte 数据流)
Payload: "027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
//如果 Payload 为可读文本,这是里其字符串格式
Payload_String: "任意文本数据,Any Text。",
Tnf: 1,
MimeType: "text/plain"
}
],
ByteLength: 39
},
//Ndef 消息数组
NdefMessages: [
{
Raw: "d1012354027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
Records: [
{
ID: "",
Type: "54",
Uri: null,
Payload: "027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
Payload_String: "任意文本数据,Any Text。",
Tnf: 1,
MimeType: "text/plain"
}
],
ByteLength: 39
}
],
CachedNdefMessage: {
Raw: "d1012354027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
Records: [
{
ID: "",
Type: "54",
Uri: null,
Payload: "027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
Payload_String: "任意文本数据,Any Text。",
Tnf: 1,
MimeType: "text/plain"
}
],
ByteLength: 39
},
ReadOnly: true,
MaxSize: 39,
CanMakeReadOnly: true
}
}
}
};
//iOS 读取 NDEF Tag 示例数据
var ios_sample = {
data: null,
tag: {
ID: "",
Technologies: {
Ndef: {
Type: "",
//读取到都第一条 Ndef 消息
NdefMessage: {
//Ndef 消息记录数组
Records: [
{
ID: "",
//16进制记录类型
Type: "54",
Uri: null,
//16进制记录荷载(原始 byte 数据流)
Payload: "027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
//如果 Payload 为可读文本,这是里其字符串格式
Payload_String: "任意文本数据,Any Text。"
}
]
},
//读取到的所有 Ndef 消息数组
NdefMessages: [
{
Records: [
{
ID: "",
Uri: null,
Type: "54",
Payload: "027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
Payload_String: "任意文本数据,Any Text。"
}
]
}
]
}
}
}
};
A标签执行JS示例代码
<a href="javascript:void(0)" onclick="zhixing()">执行</a>
<!-- 写入一个A标签href值为"javascript:void(0)",定义点击事件onclick;-->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- 在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接;-->
<script type="text/javascript">
function zhixing() {
<!--这里可以直接复制JS核心代码到此{}括号内-->
//Android 读取 NDEF Tag 示例数据
var android_sample = {
data: null,
tag: {
ID: "04bf87225a6680",
Technologies: {
MifareUltralight: {
MifareClassicType: "TYPE_ULTRALIGHT_C",
MaxTransceiveLength: 253,
Timeout: 618
},
NfcA: {
MaxTransceiveLength: 253,
Timeout: 618,
SAK: 0,
ATQA: "4400"
},
Ndef: {
Type: "org.nfcforum.ndef.type2",
//Ndef 消息
NdefMessage: {
//16进制的原始数据
Raw: "d1012354027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
//Ndef 消息记录数组
Records: [
{
ID: "",
//16进制记录类型
Type: "54",
Uri: null,
//16进制记录荷载(原始 byte 数据流)
Payload: "027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
//如果 Payload 为可读文本,这是里其字符串格式
Payload_String: "任意文本数据,Any Text。",
Tnf: 1,
MimeType: "text/plain"
}
],
ByteLength: 39
},
//Ndef 消息数组
NdefMessages: [
{
Raw: "d1012354027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
Records: [
{
ID: "",
Type: "54",
Uri: null,
Payload: "027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
Payload_String: "任意文本数据,Any Text。",
Tnf: 1,
MimeType: "text/plain"
}
],
ByteLength: 39
}
],
CachedNdefMessage: {
Raw: "d1012354027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
Records: [
{
ID: "",
Type: "54",
Uri: null,
Payload: "027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
Payload_String: "任意文本数据,Any Text。",
Tnf: 1,
MimeType: "text/plain"
}
],
ByteLength: 39
},
ReadOnly: true,
MaxSize: 39,
CanMakeReadOnly: true
}
}
}
};
//iOS 读取 NDEF Tag 示例数据
var ios_sample = {
data: null,
tag: {
ID: "",
Technologies: {
Ndef: {
Type: "",
//读取到都第一条 Ndef 消息
NdefMessage: {
//Ndef 消息记录数组
Records: [
{
ID: "",
//16进制记录类型
Type: "54",
Uri: null,
//16进制记录荷载(原始 byte 数据流)
Payload: "027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
//如果 Payload 为可读文本,这是里其字符串格式
Payload_String: "任意文本数据,Any Text。"
}
]
},
//读取到的所有 Ndef 消息数组
NdefMessages: [
{
Records: [
{
ID: "",
Uri: null,
Type: "54",
Payload: "027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
Payload_String: "任意文本数据,Any Text。"
}
]
}
]
}
}
}
};
}
</script>
<!--执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可;-->
按钮执行JS示例代码
<button onclick="zhixing()" >执行</button>
<!-- //写一个按钮,定义点击执行事件; -->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- //在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接; -->
<script type="text/javascript">
function zhixing() {
<!--这里可以直接复制JS核心代码到此{}括号内-->
//Android 读取 NDEF Tag 示例数据
var android_sample = {
data: null,
tag: {
ID: "04bf87225a6680",
Technologies: {
MifareUltralight: {
MifareClassicType: "TYPE_ULTRALIGHT_C",
MaxTransceiveLength: 253,
Timeout: 618
},
NfcA: {
MaxTransceiveLength: 253,
Timeout: 618,
SAK: 0,
ATQA: "4400"
},
Ndef: {
Type: "org.nfcforum.ndef.type2",
//Ndef 消息
NdefMessage: {
//16进制的原始数据
Raw: "d1012354027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
//Ndef 消息记录数组
Records: [
{
ID: "",
//16进制记录类型
Type: "54",
Uri: null,
//16进制记录荷载(原始 byte 数据流)
Payload: "027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
//如果 Payload 为可读文本,这是里其字符串格式
Payload_String: "任意文本数据,Any Text。",
Tnf: 1,
MimeType: "text/plain"
}
],
ByteLength: 39
},
//Ndef 消息数组
NdefMessages: [
{
Raw: "d1012354027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
Records: [
{
ID: "",
Type: "54",
Uri: null,
Payload: "027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
Payload_String: "任意文本数据,Any Text。",
Tnf: 1,
MimeType: "text/plain"
}
],
ByteLength: 39
}
],
CachedNdefMessage: {
Raw: "d1012354027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
Records: [
{
ID: "",
Type: "54",
Uri: null,
Payload: "027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
Payload_String: "任意文本数据,Any Text。",
Tnf: 1,
MimeType: "text/plain"
}
],
ByteLength: 39
},
ReadOnly: true,
MaxSize: 39,
CanMakeReadOnly: true
}
}
}
};
//iOS 读取 NDEF Tag 示例数据
var ios_sample = {
data: null,
tag: {
ID: "",
Technologies: {
Ndef: {
Type: "",
//读取到都第一条 Ndef 消息
NdefMessage: {
//Ndef 消息记录数组
Records: [
{
ID: "",
//16进制记录类型
Type: "54",
Uri: null,
//16进制记录荷载(原始 byte 数据流)
Payload: "027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
//如果 Payload 为可读文本,这是里其字符串格式
Payload_String: "任意文本数据,Any Text。"
}
]
},
//读取到的所有 Ndef 消息数组
NdefMessages: [
{
Records: [
{
ID: "",
Uri: null,
Type: "54",
Payload: "027a68e4bbbbe6848fe69687e69cace695b0e68daeefbc8c416e792054657874e38082",
Payload_String: "任意文本数据,Any Text。"
}
]
}
]
}
}
}
};
}
</script>
<!-- //执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可; -->