1.1.25 • Published 5 years ago
dalitek.native v1.1.25
dsan_npm
项目介绍
邦奇超级app原生-h5交互接口 npm包
注意!!! 如果想调用原生方法,必须在项目启动时调用 async/await isReady()方法;
注意事项
注意!!! 如果想调用原生方法,必须在项目启动时调用 async/await isReady()方法;
接口说明
isReady()
说明: 同步返回是否原生提供的方法和对象是否准备好了,仅会返回一个结果:true
参数: 无参数
用法: 直接调用,async/await
sendUDP(sport,rport,data,callback)
说明: 发送UDP广播
参数:
1. sport: int/string 发送端口号;
2. rport: int/string 接收端口号;
3. data: 类型没有限制 发送UPD广播所需的报文;
4. callback: function 回调函数;
用法:
async/await调用,但是直接返回的结果没有实际意义,由于UPD广播可能会不同时的,多次返回的数据,所以UDP广播每返回一条数据,会调用一次callback,携带参数为UPD广播给的参数直接转发过来的.
savePreference(preference)
说明: 保存偏好设置
参数: preference: object/array 需要保存的偏好字段
preference内部的参数有两种形式;
第一种: 固定键值对;例如:
[
{ key: "name", value: "angle"},
{ key: "age", value: "21" },
{key: "sex", value: "male"}
];
第二种: 不固定键值对;例如:
[
{name:"angle"},
{age:"21"},
{sex:"male"}
]
用法:async/await调用,直接返回true/false,表示保存成功/失败;
queryPreference()
说明: 查询偏好设置
参数: keys: string/array 需要查询的偏好字段的key值
keys有三种形式都支持;
第一种: 多个object元素组成的数组;例如:
[
{key:'key1'},
{key:'key2'},
...
];
调用示例:
let queryList = [{ key: "name" },{ key: "sex" }]
console.log(await this.native.queryPreference(queryList))
第二种: 多个字符串元素组成的数组;例如
["name", "age"]
第三种: 多个字符串;例如
console.log(await this.native.queryPreference("name","age"))
用法: async/await调用,返回结果即查询结果
deletePreference()
说明: 删除偏好设置
参数: 同查询
用法: async/await调用,返回true/false表示成功/失败;
getDeviceImsi()
说明: 获取设备IMSI
参数: 无
用法: async/await调用,直接返回string类型的结果;
scanQcode()
说明: 扫描二维码
参数: 无
用法: async/await调用 同步返回扫描结果;示例:
let result = await this.native.scanQcode();
alert(result);
new native.Mqtt()
说明: 创建MQTT实例,建议创建了过后直接挂载在vue实例上面;
属性: 三个属性
mqttid: 实例id
connectStatus: 连接状态
topics: 已经订阅的topic(由于只考虑单个连接,这个属性这个版本没有实际意义)
方法:
connect(con)
说明: 连接MQTT服务器
参数:
con: object 连接mqtt服务器所需参数
con.url: string, mqtt服务器地址(注意:带上协议头)
con.clientid: string, 客户端id
con.username: string, 用户名
con.password: string, 密码
提示: url需要带上协议头,安卓必须带上协议头才能连接到,IOS必须没有协议头才能连接到,在业务中使用时,统一带上协议头,执行IOS方法时会自动把协议头去掉;
关于断后重连,需要在业务中通过connectStatus判断当前连接状态,如果connectStatus为false,则是连接已经断开,重新调用connect()方法重新连接;
返回: true/false 表示连接成功/失败
subscribe(topic,qos)
说明: 订阅主题
参数:
topic: string 需要连接到的主题
qos: number 可选,如果没有传入,默认为0;可选值为0/1/2
返回: true/false 表示订阅成功/失败
on(callback)
说明: 监听和接收mqtt消息
会传入回调的参数:
topic: string 来自主题
content: string/object 消息体
返回: 无
publish(pub)
说明: 发布消息
参数: pub: object 发布所需的所有数据,包括发布的主题和消息体
pub.topic: string 发布消息的主题
pub.payload: object 发布的消息体
参数示例:
let pub = {};
pub.topic="testTopic";
pub.payload={
msg:"hallo hallo",
msg1:"world world",
...
}
返回: true/false 表示代码是否去执行了发布操作,并不代表发布成功或失败.
dissubscribe(topic)
说明: 取消订阅
参数: topic: string 需要取消订阅的主题
返回: true/false 取消订阅成功或失败
disconnect()
说明: 断开连接
参数: 无
返回: true/false 断开连接成功或失败
用法示例:
// 导入
import native from "dalitek.native";
// mqtt实例挂载到vue实例
Vue.prototype.native = native;
Vue.prototype.mqtt = new native.Mqtt();
// 连接
async connect() {
let con = {};
con.url = "tcp://www.dalitek.online:1883";
con.clientid = "b52e1250_app_001497171862_IOSTER";
con.username = "default_user";
con.password = "defalut_password";
let res = await this.mqtt.connect(con);
if (res) {
alert("MQTT连接成功!");
}else{
alert("MQTT连接失败!");
}
}
// 订阅 建议先监听消息返回再去订阅
async subscribe() {
await this.mqtt.on(this.mqttR);
await this.mqtt.subscribe("jeffrey_test");
},
mqttR(topic, content) {
alert("MQTT RECEIVED TOPIC===>" + topic);
alert("MQTT RECEIVED CONTENT===>" + JSON.stringify(content));
}
// 发布
async publish() {
await this.mqtt.publish({
topic:"jeffrey_test",
payload:{
msg:"jeffrey_test_content"
}
})
}
// 取消订阅
async dissubscribe() {
await this.mqtt.unsubscribe("jeffrey_test");
}
// 断开连接
async disconnect() {
await this.mqtt.disconnect();
}
showSettingLayout()
说明: 调用原生方法打开侧边栏
参数: 无
用法: 直接调用,无返回结果,无回调方法
openSassApp()
说明: 调用原生方法打开其他应用
参数: String url
用法: 直接调用,无返回结果,无回调方法
distanceTop()
说明: 异形屏适配方法
参数: 无参数
用法: 直接调用,返回 Object (json) 结果,无回调方法
requestLBSLocation()
说明: 获取定位方法
参数: 无参数
用法:async/await调用,直接返回json;
1.1.25
5 years ago
1.1.24
5 years ago
1.1.23
5 years ago
1.1.22
5 years ago
1.1.21
5 years ago
1.1.20
5 years ago
1.1.19
5 years ago
1.1.18
5 years ago
1.1.17
5 years ago
1.1.16
5 years ago
1.1.15
5 years ago
1.1.14
5 years ago
1.1.13
5 years ago
1.1.12
5 years ago
1.1.11
5 years ago
1.1.10
5 years ago
1.1.9
5 years ago
1.1.8
5 years ago
1.1.7
5 years ago
1.11.6
5 years ago
1.1.5
5 years ago
1.1.4
6 years ago
1.1.3
6 years ago
1.1.2
6 years ago
1.1.1
6 years ago
1.1.0
6 years ago
1.0.9
6 years ago
1.0.8
6 years ago
1.0.7
6 years ago
1.0.6
6 years ago
1.0.5
6 years ago
1.0.4
6 years ago
1.0.3
6 years ago
1.0.2
6 years ago
1.0.1
6 years ago
1.0.0
6 years ago