Compare commits
2 Commits
497cce1e45
...
15d99211a0
| Author | SHA1 | Date | |
|---|---|---|---|
| 15d99211a0 | |||
| 17e76f9fa8 |
@ -2,7 +2,7 @@
|
||||
"name" : "星汉物联",
|
||||
"appid" : "__UNI__A21EF43",
|
||||
"description" : "设备管控",
|
||||
"versionName" : "1.0.28",
|
||||
"versionName" : "1.0.30",
|
||||
"versionCode" : "100",
|
||||
"transformPx" : false,
|
||||
/* 5+App特有相关 */
|
||||
@ -66,7 +66,8 @@
|
||||
"NSLocationAlwaysUsageDescription" : "App需要您的同意,才能始终访问位置",
|
||||
"NSLocationAlwaysAndWhenInUseUsageDescription" : "App需要您的同意,才能始终访问位置"
|
||||
},
|
||||
"dSYMs" : false
|
||||
"dSYMs" : false,
|
||||
"idfa" : false
|
||||
},
|
||||
/* SDK配置 */
|
||||
"sdkConfigs" : {
|
||||
@ -79,15 +80,17 @@
|
||||
}
|
||||
},
|
||||
"maps" : {
|
||||
"customStyle" : true,
|
||||
"amap" : {
|
||||
"name" : "amapHG8nIFW5",
|
||||
"appkey_ios" : "065c43f02c7b627a74ad7dd23b16bb4f",
|
||||
"appkey_android" : "d7d852dbda2b95f6f796fb9a711a9fee"
|
||||
},
|
||||
"customStyle" : true
|
||||
}
|
||||
},
|
||||
"oauth" : {},
|
||||
"push" : {}
|
||||
"push" : {},
|
||||
"speech" : {},
|
||||
"ad" : {}
|
||||
},
|
||||
"splashscreen" : {
|
||||
"useOriginalMsgbox" : true,
|
||||
@ -156,5 +159,6 @@
|
||||
"enable" : false
|
||||
},
|
||||
"vueVersion" : "2",
|
||||
"locale" : "auto"
|
||||
"locale" : "zh-Hans",
|
||||
"fallbackLocale" : "zh-Hans"
|
||||
}
|
||||
|
||||
@ -124,7 +124,7 @@
|
||||
:borderColor="Status.Pop.borderColor" :textColor="Status.Pop.textColor"
|
||||
:buttonBgColor="Status.Pop.buttonBgColor" :buttonTextColor="Status.Pop.buttonTextColor"
|
||||
:iconUrl="Status.Pop.iconUrl" :message="Status.Pop.message" :buttonText="Status.Pop.buttonText"
|
||||
@buttonClick="HidePop" :visiblePrompt="Status.Pop.visiblePrompt" :promptTitle="Status.Pop.promptTitle"
|
||||
@buttonClick="HidePop" @closePop="closePop" :visiblePrompt="Status.Pop.visiblePrompt" :promptTitle="Status.Pop.promptTitle"
|
||||
v-model="Status.Pop.modelValue" />
|
||||
|
||||
<!-- 下方菜单 -->
|
||||
@ -538,7 +538,7 @@
|
||||
buttonBgColor: "#E03434",
|
||||
buttonText: '去连接',
|
||||
okCallback: function() {
|
||||
console.log("1111");
|
||||
// console.log("1111");
|
||||
uni.navigateTo({
|
||||
url: "/pages/common/addBLE/addEquip",
|
||||
events: {
|
||||
@ -974,8 +974,15 @@
|
||||
})
|
||||
|
||||
},
|
||||
closePop: function() {
|
||||
this.Status.Pop.showPop = false;
|
||||
|
||||
if (this.Status.Pop.cancelCallback) {
|
||||
this.Status.Pop.cancelCallback();
|
||||
}
|
||||
},
|
||||
HidePop: function() {
|
||||
console.log("1111");
|
||||
// console.log("1111");
|
||||
if (this.Status.Pop.clickEvt == 'SendUsr') {
|
||||
|
||||
}
|
||||
|
||||
@ -146,7 +146,7 @@
|
||||
:buttonBgColor="Status.Pop.buttonBgColor" :buttonTextColor="Status.Pop.buttonTextColor"
|
||||
:iconUrl="Status.Pop.iconUrl" :message="Status.Pop.message" :buttonText="Status.Pop.buttonText"
|
||||
@buttonClick="HidePop" :visiblePrompt="Status.Pop.visiblePrompt" :promptTitle="Status.Pop.promptTitle"
|
||||
v-model="Status.Pop.modelValue" />
|
||||
v-model="Status.Pop.modelValue" @closePop="closePop" />
|
||||
|
||||
<!-- 下方菜单 -->
|
||||
<BottomSlideMenuPlus :config="Status.BottomMenu" @close="closeMenu" @itemClick="handleItemClick"
|
||||
@ -173,7 +173,10 @@
|
||||
hideLoading,
|
||||
updateLoading
|
||||
} from '@/utils/loading.js'
|
||||
import {request,baseURL} from '../../utils/request';
|
||||
import {
|
||||
request,
|
||||
baseURL
|
||||
} from '../../utils/request';
|
||||
|
||||
import usrApi from '@/api/670/HBY670.js'
|
||||
const pagePath = "pages/650/HBY650";
|
||||
@ -201,7 +204,7 @@
|
||||
promptTitle: '设备名称',
|
||||
modelValue: '',
|
||||
visibleClose: false,
|
||||
okCallback:null
|
||||
okCallback: null
|
||||
},
|
||||
BottomMenu: {
|
||||
show: false,
|
||||
@ -302,7 +305,7 @@
|
||||
|
||||
console.log("收到父页面的参数:" + JSON.stringify(data));
|
||||
var device = data.data;
|
||||
these.device=device;
|
||||
these.device = device;
|
||||
let f = ble.data.LinkedList.find((v) => {
|
||||
if (v.macAddress == device.deviceMac) {
|
||||
console.log("找到设备了", v);
|
||||
@ -579,34 +582,36 @@
|
||||
|
||||
|
||||
},
|
||||
showBleUnConnect(){
|
||||
showBleUnConnect() {
|
||||
|
||||
this.showPop({
|
||||
message: "蓝牙未连接过该设备,请使用蓝牙重新添加该设备",
|
||||
iconUrl: "/static/images/6155/DeviceDetail/uploadErr.png",
|
||||
borderColor: "#e034344d",
|
||||
buttonBgColor: "#E03434",
|
||||
buttonText:'去连接',
|
||||
okCallback:function(){
|
||||
console.log("1111");
|
||||
uni.navigateTo({
|
||||
url:"/pages/common/addBLE/addEquip",
|
||||
events: {
|
||||
BindOver: function(data) {
|
||||
console.log(data)
|
||||
}
|
||||
},
|
||||
success: function(res) {
|
||||
// 通过eventChannel向被打开页面传送数据
|
||||
res.eventChannel.emit('detailData', { data: these.device })
|
||||
},
|
||||
fail(ex){
|
||||
console.log("跳转失败",ex);
|
||||
}
|
||||
})
|
||||
this.showPop({
|
||||
message: "蓝牙未连接过该设备,请使用蓝牙重新添加该设备",
|
||||
iconUrl: "/static/images/6155/DeviceDetail/uploadErr.png",
|
||||
borderColor: "#e034344d",
|
||||
buttonBgColor: "#E03434",
|
||||
buttonText: '去连接',
|
||||
okCallback: function() {
|
||||
console.log("1111");
|
||||
uni.navigateTo({
|
||||
url: "/pages/common/addBLE/addEquip",
|
||||
events: {
|
||||
BindOver: function(data) {
|
||||
console.log(data)
|
||||
}
|
||||
});
|
||||
},
|
||||
},
|
||||
success: function(res) {
|
||||
// 通过eventChannel向被打开页面传送数据
|
||||
res.eventChannel.emit('detailData', {
|
||||
data: these.device
|
||||
})
|
||||
},
|
||||
fail(ex) {
|
||||
console.log("跳转失败", ex);
|
||||
}
|
||||
})
|
||||
}
|
||||
});
|
||||
},
|
||||
LampToggle: function() {
|
||||
|
||||
this.formData.cMode = !this.formData.cMode;
|
||||
@ -1141,6 +1146,13 @@
|
||||
this.Status.BottomMenu.activeIndex = index;
|
||||
|
||||
},
|
||||
closePop: function() {
|
||||
this.Status.Pop.showPop = false;
|
||||
|
||||
if (this.Status.Pop.cancelCallback) {
|
||||
this.Status.Pop.cancelCallback();
|
||||
}
|
||||
},
|
||||
HidePop: function() {
|
||||
if (this.Status.Pop.clickEvt == 'SendUsr') {
|
||||
|
||||
@ -1148,7 +1160,7 @@
|
||||
console.log("1111");
|
||||
|
||||
this.Status.Pop.showPop = false;
|
||||
if(this.Status.Pop.okCallback){
|
||||
if (this.Status.Pop.okCallback) {
|
||||
this.Status.Pop.okCallback();
|
||||
}
|
||||
},
|
||||
|
||||
@ -247,7 +247,8 @@
|
||||
:buttonBgColor="Status.Pop.buttonBgColor" :buttonTextColor="Status.Pop.buttonTextColor"
|
||||
:iconUrl="Status.Pop.iconUrl" :message="Status.Pop.message" :buttonText="Status.Pop.buttonText"
|
||||
@buttonClick="HidePop" @closePop="closePop" @cancelPop="closePop" :visiblePrompt="Status.Pop.visiblePrompt"
|
||||
:promptTitle="Status.Pop.promptTitle" v-model="Status.Pop.modelValue" />
|
||||
:promptTitle="Status.Pop.promptTitle" v-model="Status.Pop.modelValue" :showCancel="Status.Pop.showCancel"
|
||||
:buttonCancelText="Status.Pop.buttonCancelText" />
|
||||
|
||||
<!-- 下方菜单 -->
|
||||
<BottomSlideMenuPlus :config="Status.BottomMenu" @close="closeMenu" @itemClick="handleItemClick"
|
||||
@ -311,15 +312,19 @@
|
||||
},
|
||||
Pop: {
|
||||
showPop: false, //是否显示弹窗
|
||||
|
||||
popType: 'custom',
|
||||
bgColor: '#383934bd',
|
||||
borderColor: '#BBE600',
|
||||
textColor: '#ffffffde',
|
||||
buttonBgColor: '#BBE600',
|
||||
buttonTextColor: '#232323DE',
|
||||
|
||||
iconUrl: '',
|
||||
message: '您确定要这样做吗?',
|
||||
buttonText: '确定',
|
||||
showCancel: false,
|
||||
buttonCancelText: '取消',
|
||||
clickEvt: '',
|
||||
visiblePrompt: false,
|
||||
promptTitle: '设备名称',
|
||||
@ -485,6 +490,7 @@
|
||||
return false;
|
||||
});
|
||||
if (!f) {
|
||||
these.showBleUnConnect();
|
||||
these.getDetail();
|
||||
return;
|
||||
}
|
||||
@ -516,6 +522,40 @@
|
||||
|
||||
},
|
||||
methods: {
|
||||
showBleUnConnect() {
|
||||
|
||||
this.showPop({
|
||||
message: "蓝牙未连接过该设备,请使用蓝牙重新添加该设备",
|
||||
iconUrl: "/static/images/6155/DeviceDetail/uploadErr.png",
|
||||
borderColor: "#e034344d",
|
||||
buttonBgColor: "#E03434",
|
||||
buttonText: '去连接',
|
||||
showCancel: true,
|
||||
cancelCallback: () => {
|
||||
this.closePop();
|
||||
},
|
||||
okCallback: function() {
|
||||
console.log("1111");
|
||||
uni.navigateTo({
|
||||
url: "/pages/common/addBLE/addEquip",
|
||||
events: {
|
||||
BindOver: function(data) {
|
||||
console.log(data)
|
||||
}
|
||||
},
|
||||
success: function(res) {
|
||||
// 通过eventChannel向被打开页面传送数据
|
||||
res.eventChannel.emit('detailData', {
|
||||
data: these.device
|
||||
})
|
||||
},
|
||||
fail(ex) {
|
||||
console.log("跳转失败", ex);
|
||||
}
|
||||
})
|
||||
}
|
||||
});
|
||||
},
|
||||
gotoMap() {
|
||||
this.detailData.longitude = this.formData.Lon;
|
||||
this.detailData.latitude = this.formData.Lat;
|
||||
@ -545,12 +585,16 @@
|
||||
that.formData.address = res.address;
|
||||
let personnelInfo = res.personnelInfo;
|
||||
if (personnelInfo) {
|
||||
that.formData.company = personnelInfo.unitName;
|
||||
that.formData.usrname = personnelInfo.name;
|
||||
that.formData.company = personnelInfo.name;
|
||||
that.formData.usrname = personnelInfo.unitName;
|
||||
that.formData.job = personnelInfo.position;
|
||||
that.formData.usrid = personnelInfo.code
|
||||
}
|
||||
|
||||
that.formData.imei=res.deviceImei;
|
||||
these.device.deviceImei=res.deviceImei;
|
||||
if(that.formData.imei){
|
||||
that.initMQ();
|
||||
}
|
||||
let dic = {
|
||||
"3": "hight",
|
||||
"2": "center",
|
||||
@ -670,7 +714,7 @@
|
||||
return new Promise((resolve, reject) => {
|
||||
|
||||
if (mqttClient) {
|
||||
console.log("无需再次初始化")
|
||||
// console.log("无需再次初始化")
|
||||
resolve();
|
||||
return;
|
||||
}
|
||||
@ -735,7 +779,10 @@
|
||||
qos: 1
|
||||
});
|
||||
if (flag) {
|
||||
resolve();
|
||||
resolve({
|
||||
code: 200,
|
||||
msg: 'MQTT直连发送成功'
|
||||
});
|
||||
return;
|
||||
}
|
||||
console.log("MQTT未连接,无法发布消息")
|
||||
@ -994,6 +1041,7 @@
|
||||
});
|
||||
} else {
|
||||
requestSend();
|
||||
these.showBleUnConnect();
|
||||
}
|
||||
}
|
||||
|
||||
@ -1062,7 +1110,7 @@
|
||||
|
||||
} else {
|
||||
requestCloseSOS();
|
||||
|
||||
these.showBleUnConnect();
|
||||
}
|
||||
|
||||
}
|
||||
@ -1138,13 +1186,31 @@
|
||||
ins_SOSGrade: [dic.mqtt[type]]
|
||||
};
|
||||
|
||||
let requestSend = () => {
|
||||
this.sendMQ(json).then((res) => {
|
||||
console.log("4g发送成功");
|
||||
json.deviceId = these.device.id;
|
||||
json.deviceImei = these.device.deviceImei;
|
||||
api.sendSos(json);
|
||||
|
||||
let message = {
|
||||
instructValue: json.ins_SOSGrade[0]
|
||||
};
|
||||
|
||||
message.deviceId = these.device.id;
|
||||
message.deviceImei = these.device.deviceImei;
|
||||
|
||||
let requestSend = () => {
|
||||
|
||||
message.isBluetooth = false;
|
||||
api.sendSos(message).then((res) => {
|
||||
console.log("res=>", res);
|
||||
if (res && res.code == 200) {
|
||||
console.log("接口发送SOS指令成功");
|
||||
return Promise.resolve({
|
||||
code: 200,
|
||||
msg: '操作成功'
|
||||
});
|
||||
} else {
|
||||
return this.sendMQ(json);
|
||||
}
|
||||
|
||||
}).then((res) => {
|
||||
console.log("res=", res);
|
||||
}).catch((ex) => {
|
||||
console.log("ex=", ex);
|
||||
these.showPop({
|
||||
@ -1179,17 +1245,19 @@
|
||||
ble.sendData(f.deviceId, buffer, f.writeServiceId, f.wirteCharactId, 10).then(
|
||||
() => {
|
||||
console.log("蓝牙发送成功了");
|
||||
|
||||
|
||||
hideLoading(these);
|
||||
these.setBleFormData();
|
||||
message.isBluetooth = true;
|
||||
api.sendSos(message);
|
||||
}).catch((ex) => {
|
||||
//使用4G发送
|
||||
console.log("蓝牙发送失败,转4g发送", ex);
|
||||
requestSend();
|
||||
});
|
||||
} else {
|
||||
console.log("找不到蓝牙设备");
|
||||
requestSend();
|
||||
these.showBleUnConnect();
|
||||
}
|
||||
}
|
||||
|
||||
@ -1367,6 +1435,7 @@
|
||||
} else {
|
||||
console.log("找不到蓝牙设备,使用4G发送")
|
||||
requestSend();
|
||||
these.showBleUnConnect();
|
||||
}
|
||||
}
|
||||
|
||||
@ -1745,37 +1814,9 @@
|
||||
|
||||
var sendVideo = (videoPath) => {
|
||||
|
||||
let f = these.getDevice();
|
||||
|
||||
if (!f) {
|
||||
these.showPop({
|
||||
message: "蓝牙未连接,请连接后再试",
|
||||
iconUrl: "/static/images/6155/DeviceDetail/uploadErr.png",
|
||||
borderColor: "#e034344d",
|
||||
buttonBgColor: "#E03434",
|
||||
buttonText: '去连接',
|
||||
okCallback: function() {
|
||||
console.log("1111");
|
||||
uni.navigateTo({
|
||||
url: "/pages/common/addBLE/addEquip",
|
||||
events: {
|
||||
BindOver: function(data) {
|
||||
console.log(data)
|
||||
}
|
||||
},
|
||||
success: function(res) {
|
||||
// 通过eventChannel向被打开页面传送数据
|
||||
res.eventChannel.emit('detailData', {
|
||||
data: these.device
|
||||
})
|
||||
},
|
||||
fail(ex) {
|
||||
console.log("跳转失败", ex);
|
||||
}
|
||||
})
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
these.showBleUnConnect();
|
||||
return;
|
||||
}
|
||||
let uploadVideo = () => {
|
||||
@ -2014,6 +2055,8 @@
|
||||
cancelCallback: null,
|
||||
popType: 'custom',
|
||||
buttonText: '确定',
|
||||
showCancel: false,
|
||||
buttonCancelText: '取消',
|
||||
clickEvt: ''
|
||||
};
|
||||
if (!option) {
|
||||
@ -2102,6 +2145,7 @@
|
||||
if (!f) {
|
||||
//走4G通道
|
||||
requestSend();
|
||||
these.showBleUnConnect();
|
||||
return;
|
||||
}
|
||||
showLoading(this, {
|
||||
|
||||
@ -124,7 +124,7 @@
|
||||
:borderColor="Status.Pop.borderColor" :textColor="Status.Pop.textColor"
|
||||
:buttonBgColor="Status.Pop.buttonBgColor" :buttonTextColor="Status.Pop.buttonTextColor"
|
||||
:iconUrl="Status.Pop.iconUrl" :message="Status.Pop.message" :buttonText="Status.Pop.buttonText"
|
||||
@buttonClick="HidePop" :visiblePrompt="Status.Pop.visiblePrompt" :promptTitle="Status.Pop.promptTitle"
|
||||
@buttonClick="HidePop" @closePop="closePop" :visiblePrompt="Status.Pop.visiblePrompt" :promptTitle="Status.Pop.promptTitle"
|
||||
v-model="Status.Pop.modelValue" />
|
||||
|
||||
<!-- 下方菜单 -->
|
||||
@ -972,6 +972,13 @@
|
||||
})
|
||||
|
||||
},
|
||||
closePop: function() {
|
||||
this.Status.Pop.showPop = false;
|
||||
|
||||
if (this.Status.Pop.cancelCallback) {
|
||||
this.Status.Pop.cancelCallback();
|
||||
}
|
||||
},
|
||||
HidePop: function() {
|
||||
console.log("1111");
|
||||
if (this.Status.Pop.clickEvt == 'SendUsr') {
|
||||
|
||||
@ -102,6 +102,8 @@
|
||||
data() {
|
||||
return {
|
||||
Status: {
|
||||
intval: null,
|
||||
time: null,
|
||||
BottomMenu: {
|
||||
show: false,
|
||||
showHeader: false,
|
||||
@ -173,11 +175,15 @@
|
||||
|
||||
}
|
||||
}
|
||||
// console.log("equip=", these.EquipMents)
|
||||
// console.log("equip=", these.EquipMents)
|
||||
}, pagePath);
|
||||
// console.log("addEquip")
|
||||
ble.addReceiveCallback((receivData, f, path, arr) => {
|
||||
if (f.macAddress && these.device) {
|
||||
clearInterval(this.Status.intval);
|
||||
this.Status.intval = null;
|
||||
this.Status.time = null;
|
||||
|
||||
showLoading(these, {
|
||||
text: '正在验证设备'
|
||||
});
|
||||
@ -202,10 +208,10 @@
|
||||
|
||||
// this.EquipMents = [];
|
||||
this.PairEquip = [];
|
||||
ble && ble.StartSearch().then(res=>{
|
||||
console.log("开始搜索成功",res);
|
||||
ble && ble.StartSearch().then(res => {
|
||||
console.log("开始搜索成功", res);
|
||||
}).catch((ex) => {
|
||||
console.log("开始搜索出现异常",ex);
|
||||
console.log("开始搜索出现异常", ex);
|
||||
if (ex.code == 10001) {
|
||||
these.showOpenSetting();
|
||||
}
|
||||
@ -244,6 +250,8 @@
|
||||
ble.showBlueSetting(false);
|
||||
},
|
||||
DeviceVerdict(deviceId) { //判断是否是目标设备
|
||||
console.log("deviceid=", deviceId);
|
||||
console.log("these.device=", these.device)
|
||||
if (these.device) { //从设备详情过来的,回设备详情去
|
||||
let f = ble.data.LinkedList.find(v => {
|
||||
if (v.deviceId == deviceId) {
|
||||
@ -252,15 +260,32 @@
|
||||
}
|
||||
return false;
|
||||
});
|
||||
let removeLink=()=>{
|
||||
ble.subScribe(deviceId,false);//取消订阅消息
|
||||
ble.DropDevice(deviceId);//从缓存中删除该设备
|
||||
ble.disconnectDevice(deviceId);//断开与该设备的连接
|
||||
|
||||
let index=this.PairEquip.findIndex(function(v) {
|
||||
return v.deviceId == deviceId;
|
||||
});
|
||||
if(index>-1){
|
||||
this.PairEquip.splice(index,1);
|
||||
}
|
||||
}
|
||||
|
||||
console.log("f=", f);
|
||||
if (f.macAddress) {
|
||||
|
||||
|
||||
if (f.macAddress != these.device.deviceMac) {
|
||||
ble.disconnectDevice(deviceId);
|
||||
removeLink();
|
||||
updateLoading(these, {
|
||||
text: "设备Mac地址错误,请重选设备连接"
|
||||
})
|
||||
});
|
||||
|
||||
setTimeout(() => {
|
||||
hideLoading(these);
|
||||
}, 1000)
|
||||
return;
|
||||
}
|
||||
|
||||
@ -270,9 +295,44 @@
|
||||
uni.navigateBack();
|
||||
return true;
|
||||
} else {
|
||||
updateLoading(these, {
|
||||
text: "等待设备上报Mac地址"
|
||||
})
|
||||
this.Status.time = 30;
|
||||
|
||||
|
||||
|
||||
this.Status.intval = null;
|
||||
|
||||
this.Status.intval = setInterval(() => {
|
||||
this.Status.time = this.Status.time-1;
|
||||
if (this.Status.time < 0) {
|
||||
|
||||
clearInterval(this.Status.intval)
|
||||
this.Status.intval = null;
|
||||
this.Status.time = null;
|
||||
f = ble.data.LinkedList.find(v => {
|
||||
if (v.deviceId == deviceId) {
|
||||
v.device = these.device;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
});
|
||||
if(!f.macAddress){
|
||||
removeLink();
|
||||
updateLoading(these, {
|
||||
text: "出现错误,未收到设备Mac地址"
|
||||
});
|
||||
|
||||
setTimeout(()=>{
|
||||
hideLoading(these)
|
||||
},1000);
|
||||
}
|
||||
return;
|
||||
}
|
||||
updateLoading(these, {
|
||||
|
||||
text: "等待设备上报Mac地址," + these.Status.time + 's'
|
||||
});
|
||||
|
||||
}, 1000);
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
|
||||
@ -83,7 +83,7 @@ export default {
|
||||
id: marker.deviceImei, // 适配deviceId字段
|
||||
latitude: lat,
|
||||
longitude: lng,
|
||||
iconPath: marker.devicePic || '/static/images/common/device.png',
|
||||
iconPath: marker.devicePic || '/static/images/common/mapLocation.png',
|
||||
width: 40,
|
||||
height: 40,
|
||||
anchor: {x: 0.5, y: 0.5}, // 锚点在中心
|
||||
|
||||
BIN
static/images/common/mapLocation.png
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
unpackage/dist/dev/app-plus/__uniapperror.png
vendored
|
Before Width: | Height: | Size: 5.7 KiB |
1
unpackage/dist/dev/app-plus/__uniappes6.js
vendored
8
unpackage/dist/dev/app-plus/__uniappquill.js
vendored
1
unpackage/dist/dev/app-plus/__uniappscan.js
vendored
BIN
unpackage/dist/dev/app-plus/__uniappsuccess.png
vendored
|
Before Width: | Height: | Size: 2.0 KiB |
25
unpackage/dist/dev/app-plus/__uniappview.html
vendored
@ -1,25 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<script>
|
||||
var __UniViewStartTime__ = Date.now();
|
||||
var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') ||
|
||||
CSS.supports('top: constant(a)'))
|
||||
document.write(
|
||||
'<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' +
|
||||
(coverSupport ? ', viewport-fit=cover' : '') + '" />')
|
||||
</script>
|
||||
<title>View</title>
|
||||
<link rel="stylesheet" href="view.css" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
<script src="__uniappes6.js"></script>
|
||||
<script src="view.umd.min.js"></script>
|
||||
<script src="app-view.js"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@ -1,3 +0,0 @@
|
||||
{
|
||||
"prompt" : "template"
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
|
||||
var isReady=false;var onReadyCallbacks=[];
|
||||
var isServiceReady=false;var onServiceReadyCallbacks=[];
|
||||
var __uniConfig = {"pages":["pages/common/login/index","pages/common/index/index","pages/common/user/index","pages/common/scan/scan","pages/common/qrcode/qrcode","pages/common/send/index","pages/common/userAgreement/index","pages/common/privacyAgreement/index","pages/common/aboutUs/index","pages/6170/deviceControl/index","pages/6170/callPolice/index","pages/210/deviceControl/index","pages/common/operationVideo/index","pages/common/addvideo/index","pages/common/operatingInstruct/index","pages/common/productDes/index","pages/common/addBLE/addEquip","pages/common/addBLE/LinkBle","pages/6155/deviceDetail","pages/6155/ImgCrop","pages/common/map/index","pages/common/allType/index","pages/6170/allShare/index","pages/6170/share/index","pages/6170/shareDevices/index","pages/6170/shareManagement/index","pages/210/onlineDevice/index","pages/210/addDevice/index","pages/210/historyRecords/index","pages/210/call/index","pages/BlueTooth/ModeSetting/index","pages/BlueTooth/ModeSetting/VideoSend","pages/BlueTooth/ModeSetting/VideoSend_1","pages/BlueTooth/ModeSetting/VideoSend_670","pages/BlueTooth/ModeSetting/HBY650","pages/BlueTooth/ModeSetting/HBY650_1","pages/BlueTooth/ModeSetting/ModeSetting","pages/BlueTooth/ModeSetting/update","pages/BlueTooth/ModeSetting/HBY6155","pages/BlueTooth/ModeSetting/HBY6155V1","pages/BlueTooth/ModeSetting/HBY670V1","pages/670/HBY670","pages/650/HBY650","pages/670/History","pages/BlueTooth/ModeSetting/4877","pages/7305/BJQ7305"],"window":{"navigationBarTextStyle":"white","navigationBarTitleText":"uni-app","navigationBarBackgroundColor":"#121212","backgroundColor":"#121212"},"tabBar":{"color":"#fff","selectedColor":"#BBE600","backgroundColor":"#202020","list":[{"pagePath":"pages/common/index/index","text":"我的设备","iconPath":"/static/tabs/device.png","selectedIconPath":"/static/tabs/device-HL.png"},{"pagePath":"pages/common/user/index","text":"我的","iconPath":"/static/tabs/my.png","selectedIconPath":"/static/tabs/my-HL.png"}]},"darkmode":false,"nvueCompiler":"uni-app","nvueStyleCompiler":"uni-app","renderer":"auto","splashscreen":{"alwaysShowBeforeRender":true,"autoclose":false},"appname":"星汉物联","compilerVersion":"4.75","entryPagePath":"pages/common/login/index","networkTimeout":{"request":60000,"connectSocket":60000,"uploadFile":60000,"downloadFile":60000}};
|
||||
var __uniRoutes = [{"path":"/pages/common/login/index","meta":{"isQuit":true},"window":{"navigationStyle":"custom"}},{"path":"/pages/common/index/index","meta":{"isQuit":true,"isTabBar":true},"window":{"navigationStyle":"custom","enablePullDownRefresh":true}},{"path":"/pages/common/user/index","meta":{"isQuit":true,"isTabBar":true},"window":{"navigationBarTitleText":"我的"}},{"path":"/pages/common/scan/scan","meta":{},"window":{"navigationBarTitleText":"扫描"}},{"path":"/pages/common/qrcode/qrcode","meta":{},"window":{"navigationBarTitleText":"扫描到的设备"}},{"path":"/pages/common/send/index","meta":{},"window":{"navigationBarTitleText":"发送信息","enablePullDownRefresh":true}},{"path":"/pages/common/userAgreement/index","meta":{},"window":{"navigationBarTitleText":"用户协议"}},{"path":"/pages/common/privacyAgreement/index","meta":{},"window":{"navigationBarTitleText":"隐私协议"}},{"path":"/pages/common/aboutUs/index","meta":{},"window":{"navigationBarTitleText":"关于我们"}},{"path":"/pages/6170/deviceControl/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/6170/callPolice/index","meta":{},"window":{"navigationBarTitleText":"报警","enablePullDownRefresh":true}},{"path":"/pages/210/deviceControl/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/common/operationVideo/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/common/addvideo/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/common/operatingInstruct/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/common/productDes/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/common/addBLE/addEquip","meta":{},"window":{"navigationBarTitleText":"扫描设备"}},{"path":"/pages/common/addBLE/LinkBle","meta":{},"window":{"navigationBarTitleText":"绑定设备"}},{"path":"/pages/6155/deviceDetail","meta":{},"window":{"navigationBarTitleText":"HBY 6155"}},{"path":"/pages/6155/ImgCrop","meta":{},"window":{"navigationBarTitleText":"图像裁剪","navigationStyle":"custom","fullscreen":true}},{"path":"/pages/common/map/index","meta":{},"window":{"navigationBarTitleText":"地图"}},{"path":"/pages/common/allType/index","meta":{},"window":{"navigationBarTitleText":"所有类型"}},{"path":"/pages/6170/allShare/index","meta":{},"window":{"navigationBarTitleText":"所有分享"}},{"path":"/pages/6170/share/index","meta":{},"window":{"navigationBarTitleText":"分享"}},{"path":"/pages/6170/shareDevices/index","meta":{},"window":{"navigationBarTitleText":"分享设备"}},{"path":"/pages/6170/shareManagement/index","meta":{},"window":{"navigationBarTitleText":"分享管理"}},{"path":"/pages/210/onlineDevice/index","meta":{},"window":{"navigationBarTitleText":"联机设备"}},{"path":"/pages/210/addDevice/index","meta":{},"window":{"navigationBarTitleText":"添加联机设备"}},{"path":"/pages/210/historyRecords/index","meta":{},"window":{"navigationBarTitleText":"历史记录"}},{"path":"/pages/210/call/index","meta":{},"window":{"navigationBarTitleText":"呼叫"}},{"path":"/pages/BlueTooth/ModeSetting/index","meta":{},"window":{"navigationBarTitleText":"设备类型"}},{"path":"/pages/BlueTooth/ModeSetting/VideoSend","meta":{},"window":{"navigationBarTitleText":"发送视频"}},{"path":"/pages/BlueTooth/ModeSetting/VideoSend_1","meta":{},"window":{"navigationBarTitleText":"发送视频"}},{"path":"/pages/BlueTooth/ModeSetting/VideoSend_670","meta":{},"window":{"navigationBarTitleText":"发送视频"}},{"path":"/pages/BlueTooth/ModeSetting/HBY650","meta":{},"window":{"navigationBarTitleText":"HBY650"}},{"path":"/pages/BlueTooth/ModeSetting/HBY650_1","meta":{},"window":{"navigationBarTitleText":"HBY650"}},{"path":"/pages/BlueTooth/ModeSetting/ModeSetting","meta":{},"window":{"navigationBarTitleText":"7307-0.96TFT"}},{"path":"/pages/BlueTooth/ModeSetting/update","meta":{},"window":{"navigationBarTitleText":"版本更新"}},{"path":"/pages/BlueTooth/ModeSetting/HBY6155","meta":{},"window":{"navigationBarTitleText":"HBY6155"}},{"path":"/pages/BlueTooth/ModeSetting/HBY6155V1","meta":{},"window":{"navigationBarTitleText":"HBY6155_V1"}},{"path":"/pages/BlueTooth/ModeSetting/HBY670V1","meta":{},"window":{"navigationBarTitleText":"HBY670"}},{"path":"/pages/670/HBY670","meta":{},"window":{"navigationBarTitleText":"HBY670","navigationStyle":"custom"}},{"path":"/pages/650/HBY650","meta":{},"window":{"navigationBarTitleText":"HBY650"}},{"path":"/pages/670/History","meta":{},"window":{"navigationBarTitleText":"历史记录"}},{"path":"/pages/BlueTooth/ModeSetting/4877","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/7305/BJQ7305","meta":{},"window":{"navigationBarTitleText":"BJQ7305"}}];
|
||||
__uniConfig.onReady=function(callback){if(__uniConfig.ready){callback()}else{onReadyCallbacks.push(callback)}};Object.defineProperty(__uniConfig,"ready",{get:function(){return isReady},set:function(val){isReady=val;if(!isReady){return}const callbacks=onReadyCallbacks.slice(0);onReadyCallbacks.length=0;callbacks.forEach(function(callback){callback()})}});
|
||||
__uniConfig.onServiceReady=function(callback){if(__uniConfig.serviceReady){callback()}else{onServiceReadyCallbacks.push(callback)}};Object.defineProperty(__uniConfig,"serviceReady",{get:function(){return isServiceReady},set:function(val){isServiceReady=val;if(!isServiceReady){return}const callbacks=onServiceReadyCallbacks.slice(0);onServiceReadyCallbacks.length=0;callbacks.forEach(function(callback){callback()})}});
|
||||
service.register("uni-app-config",{create(a,b,c){if(!__uniConfig.viewport){var d=b.weex.config.env.scale,e=b.weex.config.env.deviceWidth,f=Math.ceil(e/d);Object.assign(__uniConfig,{viewport:f,defaultFontSize:Math.round(f/20)})}return{instance:{__uniConfig:__uniConfig,__uniRoutes:__uniRoutes,global:void 0,window:void 0,document:void 0,frames:void 0,self:void 0,location:void 0,navigator:void 0,localStorage:void 0,history:void 0,Caches:void 0,screen:void 0,alert:void 0,confirm:void 0,prompt:void 0,fetch:void 0,XMLHttpRequest:void 0,WebSocket:void 0,webkit:void 0,print:void 0}}}});
|
||||
154
unpackage/dist/dev/app-plus/app-config.js
vendored
@ -1,154 +0,0 @@
|
||||
/******/ (function(modules) { // webpackBootstrap
|
||||
/******/ // install a JSONP callback for chunk loading
|
||||
/******/ function webpackJsonpCallback(data) {
|
||||
/******/ var chunkIds = data[0];
|
||||
/******/ var moreModules = data[1];
|
||||
/******/ var executeModules = data[2];
|
||||
/******/
|
||||
/******/ // add "moreModules" to the modules object,
|
||||
/******/ // then flag all "chunkIds" as loaded and fire callback
|
||||
/******/ var moduleId, chunkId, i = 0, resolves = [];
|
||||
/******/ for(;i < chunkIds.length; i++) {
|
||||
/******/ chunkId = chunkIds[i];
|
||||
/******/ if(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {
|
||||
/******/ resolves.push(installedChunks[chunkId][0]);
|
||||
/******/ }
|
||||
/******/ installedChunks[chunkId] = 0;
|
||||
/******/ }
|
||||
/******/ for(moduleId in moreModules) {
|
||||
/******/ if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {
|
||||
/******/ modules[moduleId] = moreModules[moduleId];
|
||||
/******/ }
|
||||
/******/ }
|
||||
/******/ if(parentJsonpFunction) parentJsonpFunction(data);
|
||||
/******/
|
||||
/******/ while(resolves.length) {
|
||||
/******/ resolves.shift()();
|
||||
/******/ }
|
||||
/******/
|
||||
/******/ // add entry modules from loaded chunk to deferred list
|
||||
/******/ deferredModules.push.apply(deferredModules, executeModules || []);
|
||||
/******/
|
||||
/******/ // run deferred modules when all chunks ready
|
||||
/******/ return checkDeferredModules();
|
||||
/******/ };
|
||||
/******/ function checkDeferredModules() {
|
||||
/******/ var result;
|
||||
/******/ for(var i = 0; i < deferredModules.length; i++) {
|
||||
/******/ var deferredModule = deferredModules[i];
|
||||
/******/ var fulfilled = true;
|
||||
/******/ for(var j = 1; j < deferredModule.length; j++) {
|
||||
/******/ var depId = deferredModule[j];
|
||||
/******/ if(installedChunks[depId] !== 0) fulfilled = false;
|
||||
/******/ }
|
||||
/******/ if(fulfilled) {
|
||||
/******/ deferredModules.splice(i--, 1);
|
||||
/******/ result = __webpack_require__(__webpack_require__.s = deferredModule[0]);
|
||||
/******/ }
|
||||
/******/ }
|
||||
/******/
|
||||
/******/ return result;
|
||||
/******/ }
|
||||
/******/
|
||||
/******/ // The module cache
|
||||
/******/ var installedModules = {};
|
||||
/******/
|
||||
/******/ // object to store loaded and loading chunks
|
||||
/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
|
||||
/******/ // Promise = chunk loading, 0 = chunk loaded
|
||||
/******/ var installedChunks = {
|
||||
/******/ "app-config": 0
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ var deferredModules = [];
|
||||
/******/
|
||||
/******/ // The require function
|
||||
/******/ function __webpack_require__(moduleId) {
|
||||
/******/
|
||||
/******/ // Check if module is in cache
|
||||
/******/ if(installedModules[moduleId]) {
|
||||
/******/ return installedModules[moduleId].exports;
|
||||
/******/ }
|
||||
/******/ // Create a new module (and put it into the cache)
|
||||
/******/ var module = installedModules[moduleId] = {
|
||||
/******/ i: moduleId,
|
||||
/******/ l: false,
|
||||
/******/ exports: {}
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // Execute the module function
|
||||
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
||||
/******/
|
||||
/******/ // Flag the module as loaded
|
||||
/******/ module.l = true;
|
||||
/******/
|
||||
/******/ // Return the exports of the module
|
||||
/******/ return module.exports;
|
||||
/******/ }
|
||||
/******/
|
||||
/******/
|
||||
/******/ // expose the modules object (__webpack_modules__)
|
||||
/******/ __webpack_require__.m = modules;
|
||||
/******/
|
||||
/******/ // expose the module cache
|
||||
/******/ __webpack_require__.c = installedModules;
|
||||
/******/
|
||||
/******/ // define getter function for harmony exports
|
||||
/******/ __webpack_require__.d = function(exports, name, getter) {
|
||||
/******/ if(!__webpack_require__.o(exports, name)) {
|
||||
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
|
||||
/******/ }
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // define __esModule on exports
|
||||
/******/ __webpack_require__.r = function(exports) {
|
||||
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
||||
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
||||
/******/ }
|
||||
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // create a fake namespace object
|
||||
/******/ // mode & 1: value is a module id, require it
|
||||
/******/ // mode & 2: merge all properties of value into the ns
|
||||
/******/ // mode & 4: return value when already ns object
|
||||
/******/ // mode & 8|1: behave like require
|
||||
/******/ __webpack_require__.t = function(value, mode) {
|
||||
/******/ if(mode & 1) value = __webpack_require__(value);
|
||||
/******/ if(mode & 8) return value;
|
||||
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
|
||||
/******/ var ns = Object.create(null);
|
||||
/******/ __webpack_require__.r(ns);
|
||||
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
|
||||
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
|
||||
/******/ return ns;
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
||||
/******/ __webpack_require__.n = function(module) {
|
||||
/******/ var getter = module && module.__esModule ?
|
||||
/******/ function getDefault() { return module['default']; } :
|
||||
/******/ function getModuleExports() { return module; };
|
||||
/******/ __webpack_require__.d(getter, 'a', getter);
|
||||
/******/ return getter;
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // Object.prototype.hasOwnProperty.call
|
||||
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
||||
/******/
|
||||
/******/ // __webpack_public_path__
|
||||
/******/ __webpack_require__.p = "/";
|
||||
/******/
|
||||
/******/ var jsonpArray = this["webpackJsonp"] = this["webpackJsonp"] || [];
|
||||
/******/ var oldJsonpFunction = jsonpArray.push.bind(jsonpArray);
|
||||
/******/ jsonpArray.push = webpackJsonpCallback;
|
||||
/******/ jsonpArray = jsonpArray.slice();
|
||||
/******/ for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);
|
||||
/******/ var parentJsonpFunction = oldJsonpFunction;
|
||||
/******/
|
||||
/******/
|
||||
/******/ // run deferred modules from other chunks
|
||||
/******/ checkDeferredModules();
|
||||
/******/ })
|
||||
/************************************************************************/
|
||||
/******/ ([]);
|
||||
47687
unpackage/dist/dev/app-plus/app-service.js
vendored
34648
unpackage/dist/dev/app-plus/app-view.js
vendored
1
unpackage/dist/dev/app-plus/manifest.json
vendored
|
Before Width: | Height: | Size: 145 B |
|
Before Width: | Height: | Size: 268 B |
|
Before Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 275 B |
|
Before Width: | Height: | Size: 415 B |
|
Before Width: | Height: | Size: 413 B |
|
Before Width: | Height: | Size: 357 B |
|
Before Width: | Height: | Size: 289 B |
|
Before Width: | Height: | Size: 612 B |
|
Before Width: | Height: | Size: 269 B |
|
Before Width: | Height: | Size: 528 B |
|
Before Width: | Height: | Size: 500 B |
|
Before Width: | Height: | Size: 304 B |
|
Before Width: | Height: | Size: 194 B |
|
Before Width: | Height: | Size: 321 B |
|
Before Width: | Height: | Size: 282 B |
|
Before Width: | Height: | Size: 212 B |
|
Before Width: | Height: | Size: 9.7 KiB |
|
Before Width: | Height: | Size: 793 B |
|
Before Width: | Height: | Size: 670 B |
|
Before Width: | Height: | Size: 522 B |
BIN
unpackage/dist/dev/app-plus/static/images/del.png
vendored
|
Before Width: | Height: | Size: 676 B |
BIN
unpackage/dist/dev/app-plus/static/images/device.png
vendored
|
Before Width: | Height: | Size: 4.1 KiB |
BIN
unpackage/dist/dev/app-plus/static/images/path.png
vendored
|
Before Width: | Height: | Size: 454 B |
BIN
unpackage/dist/dev/app-plus/static/images/path3.png
vendored
|
Before Width: | Height: | Size: 957 B |
BIN
unpackage/dist/dev/app-plus/static/images/path5.png
vendored
|
Before Width: | Height: | Size: 282 B |
|
Before Width: | Height: | Size: 181 B |
BIN
unpackage/dist/dev/app-plus/static/tabs/device.png
vendored
|
Before Width: | Height: | Size: 190 B |
BIN
unpackage/dist/dev/app-plus/static/tabs/my-HL.png
vendored
|
Before Width: | Height: | Size: 418 B |
BIN
unpackage/dist/dev/app-plus/static/tabs/my.png
vendored
|
Before Width: | Height: | Size: 376 B |
1
unpackage/dist/dev/app-plus/view.css
vendored
6
unpackage/dist/dev/app-plus/view.umd.min.js
vendored
@ -1,7 +1,7 @@
|
||||
import receivTool from "@/utils/BleReceive.js"
|
||||
var recei = null;
|
||||
const serviceDic = [ //合作供应商的蓝牙主服务
|
||||
{
|
||||
{
|
||||
"serviceId": "0000FFE0-0000-1000-8000-00805F9B34FB",
|
||||
"writeId": "0000FFE1-0000-1000-8000-00805F9B34FB",
|
||||
"notifyId": "0000FFE2-0000-1000-8000-00805F9B34FB"
|
||||
@ -33,14 +33,16 @@ class BleHelper {
|
||||
}
|
||||
if (linkedDevices && linkedDevices.length && linkedDevices.length > 0) {
|
||||
console.log("111111", linkedDevices);
|
||||
linkedDevices.filter((v) => {
|
||||
linkedDevices=linkedDevices.filter((v) => {
|
||||
v.Linked = false;
|
||||
v.notifyState = false;
|
||||
|
||||
return v.device && v.device.id;
|
||||
});
|
||||
}
|
||||
|
||||
setTimeout(() => {
|
||||
this.OpenBlue().then(()=>{
|
||||
this.OpenBlue().then(() => {
|
||||
this.linkAllDevices();
|
||||
});
|
||||
|
||||
@ -120,7 +122,7 @@ class BleHelper {
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
//从缓存中删除某个设备,bleId蓝牙id,deviceId数据库中的设备id
|
||||
DropDevice(bleId, deviceId) {
|
||||
let flag = false;
|
||||
for (var i = 0; i < this.data.LinkedList.length; i++) {
|
||||
@ -146,6 +148,7 @@ class BleHelper {
|
||||
|
||||
}
|
||||
|
||||
//更新缓存
|
||||
updateCache() {
|
||||
// console.log("this.StorageKey=", this.StorageKey)
|
||||
uni.setStorageSync(this.StorageKey, this.data.LinkedList);
|
||||
@ -155,17 +158,23 @@ class BleHelper {
|
||||
// console.log("模块启动时,自动连接已连接过的设备", this.data.LinkedList);
|
||||
|
||||
if (this.data.LinkedList && this.data.LinkedList.length > 0) {
|
||||
let flag=false;
|
||||
for (var i = 0; i < this.data.LinkedList.length; i++) {
|
||||
let device = this.data.LinkedList[i];
|
||||
// console.log("自动连接绑定过的设备:" + device.deviceId);
|
||||
if (device.macAddress && device.device && device.device.id) {
|
||||
this.LinkBlue(device.deviceId, device.writeServiceId, device.wirteCharactId, device
|
||||
.notifyCharactId);
|
||||
flag=true;
|
||||
}
|
||||
|
||||
}
|
||||
if(!flag){
|
||||
this.updateCache();
|
||||
}
|
||||
} else {
|
||||
// console.log("无设备连接");
|
||||
console.log("蓝牙未连接过任何设备");
|
||||
this.updateCache();
|
||||
}
|
||||
}
|
||||
|
||||
@ -387,7 +396,7 @@ class BleHelper {
|
||||
}
|
||||
uni.getBluetoothAdapterState({
|
||||
success: (info) => {
|
||||
console.log("蓝牙状态获取成功,",info)
|
||||
console.log("蓝牙状态获取成功,", info)
|
||||
this.data.available = info.available;
|
||||
this.data.discovering = info.discovering;
|
||||
resolve(info);
|
||||
@ -461,8 +470,8 @@ class BleHelper {
|
||||
|
||||
if (!res.connected) {
|
||||
|
||||
console.log("蓝牙连接已断开", res);
|
||||
let f=this.data.LinkedList.find((v) => {
|
||||
console.error("蓝牙适配器已不可用", res);
|
||||
let f = this.data.LinkedList.find((v) => {
|
||||
if (v.deviceId == res.deviceId) {
|
||||
v.Linked = false;
|
||||
v.notifyState = false;
|
||||
@ -471,15 +480,19 @@ class BleHelper {
|
||||
return false;
|
||||
});
|
||||
this.updateCache();
|
||||
console.log("尝试5次恢复连接");
|
||||
this.LinkBlue(res.deviceId,f.writeServiceId,f.wirteCharactId,f.notifyCharactId,5)
|
||||
if (f.device && f.device.id) {
|
||||
console.log("尝试5次恢复连接,", f.deviceId);
|
||||
this.LinkBlue(res.deviceId, f.writeServiceId, f
|
||||
.wirteCharactId, f.notifyCharactId, 5)
|
||||
}
|
||||
|
||||
} else {
|
||||
console.log("蓝牙连接已恢复,", res);
|
||||
console.log("蓝牙适配器已恢复,", res);
|
||||
}
|
||||
});
|
||||
|
||||
uni.onBluetoothDeviceFound((devices) => {
|
||||
console.log("发现新设备:" + JSON.stringify(devices));
|
||||
// console.log("发现新设备:" + JSON.stringify(devices));
|
||||
this.data.searchList = this.data.searchList.concat(
|
||||
devices);
|
||||
if (this.cfg.onDeviceFound) {
|
||||
@ -547,7 +560,7 @@ class BleHelper {
|
||||
this.data.LinkedList.find((v) => {
|
||||
if (v.deviceId == receive
|
||||
.deviceId) {
|
||||
v.imei=imei;
|
||||
v.imei = imei;
|
||||
}
|
||||
});
|
||||
this.updateCache();
|
||||
@ -572,7 +585,7 @@ class BleHelper {
|
||||
}
|
||||
console.log("str=", str);
|
||||
} catch (ex) {
|
||||
console.log("将数据转文本失败", ex);
|
||||
console.error("将数据转文本失败", ex);
|
||||
}
|
||||
let recData = {
|
||||
deviceId: receive.deviceId,
|
||||
@ -589,31 +602,32 @@ class BleHelper {
|
||||
if (this.cfg.receivDataCallback.length > 0) {
|
||||
|
||||
let path = this.getCurrentPagePath();
|
||||
console.log("有人订阅消息")
|
||||
// console.log("有人订阅消息")
|
||||
this.cfg.receivDataCallback.forEach((
|
||||
rec) => {
|
||||
console.log("有人订阅消息111", )
|
||||
// console.log("有人订阅消息111", )
|
||||
if (rec.callback) {
|
||||
try {
|
||||
rec.callback(recData, f,
|
||||
path, this.cfg
|
||||
.receivDataCallback
|
||||
);
|
||||
);
|
||||
} catch (err) {
|
||||
console.log("订阅消息出现异常",
|
||||
console.error(
|
||||
"订阅消息出现异常",
|
||||
err);
|
||||
}
|
||||
|
||||
}
|
||||
})
|
||||
} else {
|
||||
console.log("无人订阅消息");
|
||||
// console.log("无人订阅消息");
|
||||
}
|
||||
} else {
|
||||
console.log("无人订阅receivDataCallback,不处理数据");
|
||||
// console.log("无人订阅receivDataCallback,不处理数据");
|
||||
}
|
||||
} catch (ex) {
|
||||
console.log("ex=", ex);
|
||||
console.error("处理订阅消息失败,ex=", ex);
|
||||
}
|
||||
|
||||
});
|
||||
@ -638,7 +652,7 @@ class BleHelper {
|
||||
console.log("res=", res)
|
||||
return init();
|
||||
}).then(resolve).catch((ex) => {
|
||||
console.log("22222");
|
||||
console.error("异常:", ex);
|
||||
reject(ex);
|
||||
});
|
||||
|
||||
@ -690,7 +704,7 @@ class BleHelper {
|
||||
let RunSearch = (serviceId) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
uni.startBluetoothDevicesDiscovery({
|
||||
services:serviceId? [serviceId]:[],
|
||||
services: serviceId ? [serviceId] : [],
|
||||
allowDuplicatesKey: true,
|
||||
success: (res) => {
|
||||
//console.log('开始搜索蓝牙设备成功');
|
||||
@ -715,7 +729,7 @@ class BleHelper {
|
||||
// promises.push(RunSearch(serviceIds[i]));
|
||||
|
||||
// }
|
||||
promises.push(RunSearch());
|
||||
promises.push(RunSearch());
|
||||
Promise.all(promises).then(resolve).catch(reject);
|
||||
|
||||
});
|
||||
@ -778,14 +792,29 @@ class BleHelper {
|
||||
|
||||
//订阅消息
|
||||
subScribe(deviceId, state) {
|
||||
console.log("开始订阅消息");
|
||||
console.log("开始订阅消息", state);
|
||||
return new Promise((resolve, reject) => {
|
||||
setTimeout(() => {
|
||||
|
||||
let c = this.data.LinkedList.find((v) => {
|
||||
return v.deviceId == deviceId;
|
||||
});
|
||||
|
||||
if (!deviceId) {
|
||||
console.error('deviceId无效')
|
||||
reject({
|
||||
code: 404,
|
||||
msg: 'deviceId无效'
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (!c) {
|
||||
console.error("已找不到该设备");
|
||||
reject({
|
||||
code: 404,
|
||||
msg: '已找不到该设备'
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (state) {
|
||||
if (c.notifyState) {
|
||||
resolve();
|
||||
@ -794,8 +823,8 @@ class BleHelper {
|
||||
}
|
||||
|
||||
let startSubScribe = (id, serviceId, characteristicId) => {
|
||||
console.log("serviceId=", serviceId);
|
||||
console.log("characteristicId=", characteristicId);
|
||||
// console.log("serviceId=", serviceId);
|
||||
// console.log("characteristicId=", characteristicId);
|
||||
let p1 = new Promise((succ, err) => {
|
||||
|
||||
uni.notifyBLECharacteristicValueChange({
|
||||
@ -836,6 +865,7 @@ class BleHelper {
|
||||
});
|
||||
return new Promise((succ, err) => {
|
||||
Promise.race([p1, p2]).then(succ).catch(ex => {
|
||||
// console.error("异常了:",ex);
|
||||
if (ex.code == -1) {
|
||||
succ();
|
||||
return;
|
||||
@ -845,8 +875,16 @@ class BleHelper {
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
let serv = serviceDic.find(v => {
|
||||
return v.serviceId == c.writeServiceId;
|
||||
});
|
||||
let promies = new Array();
|
||||
if (c.Characteristics && c.Characteristics.length) {
|
||||
if (c.notifyServiceid && c.notifyCharactId) {
|
||||
promies.push(startSubScribe(c.deviceId, c.notifyServiceid, c.notifyCharactId));
|
||||
} else if (serv) {
|
||||
promies.push(startSubScribe(c.deviceId, serv.serviceId, serv.notifyId));
|
||||
} else if (c.Characteristics && c.Characteristics.length) {
|
||||
for (var i = 0; i < c.Characteristics.length; i++) {
|
||||
let item = c.Characteristics[i];
|
||||
let serviceId = item.serviceId;
|
||||
@ -857,8 +895,14 @@ class BleHelper {
|
||||
|
||||
}
|
||||
}
|
||||
}else{
|
||||
promies.push(startSubScribe(c.deviceId, c.notifyServiceid, c.notifyCharactId));
|
||||
} else {
|
||||
console.log("c=", c);
|
||||
console.log("serv=", serv);
|
||||
reject({
|
||||
code: 403,
|
||||
msg: "出现错误,找不到任何通知特征"
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
if (promies.length > 0) {
|
||||
@ -868,22 +912,22 @@ class BleHelper {
|
||||
|
||||
results.forEach((result, index) => {
|
||||
if (result.status === "fulfilled") {
|
||||
// console.log(`操作${index + 1}成功:`, result.value);
|
||||
// console.log(`操作${index + 1}成功:`, result.value);
|
||||
} else {
|
||||
// console.log(`操作${index + 1}失败:`, result.reason
|
||||
// .message);
|
||||
// console.log(`操作${index + 1}失败:`, result.reason
|
||||
// .message);
|
||||
}
|
||||
});
|
||||
// console.log("订阅消息成功");
|
||||
resolve();
|
||||
}).catch((ex) => {
|
||||
console.log("ex=",ex);
|
||||
console.error("异常,ex=", ex);
|
||||
reject(ex);
|
||||
}).finally(() => {
|
||||
// console.log("finally")
|
||||
});
|
||||
} else {
|
||||
console.log("没有特征需要订阅");
|
||||
console.log("没有特征需要订阅");
|
||||
resolve();
|
||||
}
|
||||
|
||||
@ -933,7 +977,7 @@ class BleHelper {
|
||||
});
|
||||
|
||||
if (se) {
|
||||
console.log("合作供应商的",s)
|
||||
console.log("合作供应商的", s)
|
||||
this.data.LinkedList.find((v) => {
|
||||
if (v.deviceId == id) {
|
||||
v.writeServiceId = s.serviceId;
|
||||
@ -987,7 +1031,7 @@ class BleHelper {
|
||||
resolve();
|
||||
})
|
||||
.catch(error => {
|
||||
console.log("errrr", error);
|
||||
console.error("errrr=", error);
|
||||
reject(error);
|
||||
});
|
||||
}
|
||||
@ -1288,7 +1332,7 @@ class BleHelper {
|
||||
resolve();
|
||||
}, 500);
|
||||
}).catch((ex) => {
|
||||
console.log("出现异常", ex);
|
||||
console.error("出现异常", ex);
|
||||
reject(ex);
|
||||
});
|
||||
});
|
||||
@ -1429,7 +1473,7 @@ class BleHelper {
|
||||
}
|
||||
|
||||
Promise.race([timeOut(ms), promise]).then(resolve).catch((ex) => {
|
||||
// console.log("ex=", ex);
|
||||
// console.error("ex=", ex);
|
||||
if (ex.code == -1) {
|
||||
resolve(ex);
|
||||
} else {
|
||||
@ -1469,7 +1513,7 @@ class BleHelper {
|
||||
//console.log("发送成功")
|
||||
resolve();
|
||||
}).catch((ex) => {
|
||||
//console.log("出现异常", ex);
|
||||
console.error("出现异常", ex);
|
||||
reject(this.getError(ex));
|
||||
});
|
||||
});
|
||||
|
||||
@ -22,6 +22,9 @@ class BleReceive {
|
||||
setBleFormData(data,f) {
|
||||
if(data){
|
||||
let linkedList=uni.getStorageSync(this.StorageKey);
|
||||
if(!linkedList){
|
||||
return;
|
||||
}
|
||||
linkedList.find((v)=>{
|
||||
if(f.deviceId==v.deviceId){
|
||||
let keys=Object.keys(data);
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import config from '../config/index.js';
|
||||
export const env = 'development'; //production development //开发of线上 改这里就行
|
||||
export const env = 'production'; //production development //开发of线上 改这里就行
|
||||
const BASE = config[env];
|
||||
const request = (options) => {
|
||||
console.log("options"+JSON.stringify(options),BASE.BASE_URL)
|
||||
|
||||