更新mqtt
This commit is contained in:
6
package-lock.json
generated
6
package-lock.json
generated
@ -8,6 +8,7 @@
|
|||||||
"axios": "^1.9.0",
|
"axios": "^1.9.0",
|
||||||
"cordova-sqlite-storage": "^7.0.0",
|
"cordova-sqlite-storage": "^7.0.0",
|
||||||
"iconv-lite": "^0.6.3",
|
"iconv-lite": "^0.6.3",
|
||||||
|
"mescroll-uni": "^1.3.7",
|
||||||
"paho-mqtt": "^1.1.0",
|
"paho-mqtt": "^1.1.0",
|
||||||
"text-encoding": "^0.7.0",
|
"text-encoding": "^0.7.0",
|
||||||
"vk-uview-ui": "^1.5.2"
|
"vk-uview-ui": "^1.5.2"
|
||||||
@ -268,6 +269,11 @@
|
|||||||
"node": ">= 0.4"
|
"node": ">= 0.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/mescroll-uni": {
|
||||||
|
"version": "1.3.7",
|
||||||
|
"resolved": "https://registry.npmjs.org/mescroll-uni/-/mescroll-uni-1.3.7.tgz",
|
||||||
|
"integrity": "sha512-1pQMtGA+iVRKhfJZZNXdBx05NnthIk6zm3hRbumswSA54eaKOMgpUDb9AQ2+rRdXmS6kLkEYSbW/fkb7/IyoAg=="
|
||||||
|
},
|
||||||
"node_modules/mime-db": {
|
"node_modules/mime-db": {
|
||||||
"version": "1.52.0",
|
"version": "1.52.0",
|
||||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
|
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
|
||||||
|
@ -300,8 +300,6 @@ export default {
|
|||||||
touchStartX: 0,
|
touchStartX: 0,
|
||||||
touchStartY: 0,
|
touchStartY: 0,
|
||||||
pageLoading: true,
|
pageLoading: true,
|
||||||
mainMode: 'string',
|
|
||||||
secondaryMode: 'string',
|
|
||||||
navBarHeight: 70 + uni.getSystemInfoSync().statusBarHeight,
|
navBarHeight: 70 + uni.getSystemInfoSync().statusBarHeight,
|
||||||
navTitle: "",
|
navTitle: "",
|
||||||
sliderValue: 25,
|
sliderValue: 25,
|
||||||
@ -331,16 +329,17 @@ export default {
|
|||||||
popupConfirmText: '确认',
|
popupConfirmText: '确认',
|
||||||
showUploadPopup: false,
|
showUploadPopup: false,
|
||||||
selectedImage: null, // 添加这个变量来存储选择的图片
|
selectedImage: null, // 添加这个变量来存储选择的图片
|
||||||
file: '',
|
|
||||||
selectedItemIndex: 0,
|
selectedItemIndex: 0,
|
||||||
popupType: 'person', //弹框类型
|
popupType: 'person', //弹框类型
|
||||||
isLaserOn: false,
|
isLaserOn: false,
|
||||||
isSending: false,
|
isSending: false,
|
||||||
isGettingStatus: false,
|
|
||||||
isProcessing: false
|
isProcessing: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
computedDeviceId() {
|
||||||
|
return this.apiType === 'listA' ? this.deviceID : this.itemInfo.deviceId;
|
||||||
|
},
|
||||||
popupTitle() {
|
popupTitle() {
|
||||||
return this.modeType === 'main' ? '灯光模式' : '激光模式';
|
return this.modeType === 'main' ? '灯光模式' : '激光模式';
|
||||||
}
|
}
|
||||||
@ -350,11 +349,17 @@ export default {
|
|||||||
* 获取设备状态(带自动轮询)
|
* 获取设备状态(带自动轮询)
|
||||||
* @param {number} val - 功能模式
|
* @param {number} val - 功能模式
|
||||||
* @param {string} batchId - 批次ID
|
* @param {string} batchId - 批次ID
|
||||||
* @param {number} [interval=1000] - 轮询间隔(毫秒)
|
* @param {number} [interval=800] - 轮询间隔(毫秒)
|
||||||
|
* @param {number} [maxRetries=10] - 最大重试次数
|
||||||
*/
|
*/
|
||||||
async getdeviceSTatus(val, batchId, interval = 800) {
|
async getdeviceSTatus(val, batchId, interval = 800, maxRetries = 10) {
|
||||||
let retries = 0;
|
let retries = 0;
|
||||||
const checkStatus = async () => {
|
const checkStatus = async () => {
|
||||||
|
if (retries >= maxRetries) {
|
||||||
|
throw new Error('超过最大重试次数');
|
||||||
|
}
|
||||||
|
retries++;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const data = {
|
const data = {
|
||||||
functionMode: val,
|
functionMode: val,
|
||||||
@ -473,7 +478,7 @@ export default {
|
|||||||
type: 'light'
|
type: 'light'
|
||||||
});
|
});
|
||||||
let data = {
|
let data = {
|
||||||
deviceId: this.deviceID,
|
deviceId: this.computedDeviceId,
|
||||||
instructValue: this.sliderValue + '.00',
|
instructValue: this.sliderValue + '.00',
|
||||||
deviceImei: this.itemInfo.deviceImei,
|
deviceImei: this.itemInfo.deviceImei,
|
||||||
}
|
}
|
||||||
@ -491,7 +496,7 @@ export default {
|
|||||||
}
|
}
|
||||||
this.sliderValue = value;
|
this.sliderValue = value;
|
||||||
let data = {
|
let data = {
|
||||||
deviceId: this.apiType === 'listA' ? this.deviceID : this.itemInfo.deviceId,
|
deviceId: this.computedDeviceId,
|
||||||
instructValue: this.sliderValue + '.00',
|
instructValue: this.sliderValue + '.00',
|
||||||
deviceImei: this.itemInfo.deviceImei,
|
deviceImei: this.itemInfo.deviceImei,
|
||||||
}
|
}
|
||||||
@ -579,7 +584,7 @@ export default {
|
|||||||
const selectedItem = this.items[this.selectedItemIndex];
|
const selectedItem = this.items[this.selectedItemIndex];
|
||||||
// 准备请求数据
|
// 准备请求数据
|
||||||
let data = {
|
let data = {
|
||||||
deviceId: this.apiType === 'listA' ? this.deviceID : this.itemInfo.deviceId,
|
deviceId: this.computedDeviceId,
|
||||||
instructValue: selectedItem.instructValue,
|
instructValue: selectedItem.instructValue,
|
||||||
deviceImei: this.itemInfo.deviceImei,
|
deviceImei: this.itemInfo.deviceImei,
|
||||||
typeName: this.itemInfo.typeName,
|
typeName: this.itemInfo.typeName,
|
||||||
@ -631,7 +636,7 @@ export default {
|
|||||||
this.isProcessing = true
|
this.isProcessing = true
|
||||||
const instructValue = this.isLaserOn ? 0 : 1;
|
const instructValue = this.isLaserOn ? 0 : 1;
|
||||||
let data = {
|
let data = {
|
||||||
deviceId: this.apiType === 'listA' ? this.deviceID : this.itemInfo.deviceId,
|
deviceId: this.computedDeviceId,
|
||||||
instructValue: instructValue,
|
instructValue: instructValue,
|
||||||
deviceImei: this.itemInfo.deviceImei,
|
deviceImei: this.itemInfo.deviceImei,
|
||||||
typeName: this.itemInfo.typeName,
|
typeName: this.itemInfo.typeName,
|
||||||
@ -727,7 +732,7 @@ export default {
|
|||||||
filePath: this.selectedImage,
|
filePath: this.selectedImage,
|
||||||
name: 'file',
|
name: 'file',
|
||||||
formData: {
|
formData: {
|
||||||
deviceId: this.apiType === 'listA' ? this.deviceID : this.itemInfo.deviceId,
|
deviceId: this.computedDeviceId,
|
||||||
deviceImei: this.itemInfo.deviceImei,
|
deviceImei: this.itemInfo.deviceImei,
|
||||||
typeName: this.itemInfo.typeName,
|
typeName: this.itemInfo.typeName,
|
||||||
},
|
},
|
||||||
@ -735,49 +740,46 @@ export default {
|
|||||||
'Authorization': 'Bearer ' + getToken(),
|
'Authorization': 'Bearer ' + getToken(),
|
||||||
'clientid': clientid(),
|
'clientid': clientid(),
|
||||||
},
|
},
|
||||||
complete: async (res) => {
|
complete: (res) => { // 使用 complete 确保 hideLoading 总能被调用
|
||||||
try {
|
try {
|
||||||
const responseData = JSON.parse(res.data);
|
const responseData = JSON.parse(res.data);
|
||||||
if (responseData.code === 200) {
|
if (responseData.code === 200) {
|
||||||
try {
|
// 异步操作链
|
||||||
// 获取设备状态
|
this.getdeviceSTatus(1)
|
||||||
const statusRes = await this.getdeviceSTatus(1);
|
.then(statusRes => {
|
||||||
if (statusRes.data.functionAccess === 'OK') {
|
if (statusRes.data.functionAccess === 'OK') {
|
||||||
uni.hideLoading(); // ✅ 只有成功才关闭
|
|
||||||
this.selectedImage = '';
|
this.selectedImage = '';
|
||||||
this.file = null;
|
|
||||||
this.popupType = 'logo';
|
this.popupType = 'logo';
|
||||||
this.showPopupFlag = true;
|
this.showPopupFlag = true;
|
||||||
this.popupMessage = '上传成功';
|
this.popupMessage = '上传成功';
|
||||||
this.lightModeB = false
|
this.lightModeB = false;
|
||||||
}
|
}
|
||||||
} catch (error) {
|
})
|
||||||
uni.hideLoading();
|
.catch(error => {
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: error.message,
|
title: error.message,
|
||||||
icon: 'none'
|
icon: 'none'
|
||||||
});
|
});
|
||||||
}
|
})
|
||||||
|
.finally(() => {
|
||||||
|
uni.hideLoading(); // 在所有异步操作完成后关闭loading
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
uni.hideLoading();
|
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: responseData.msg,
|
title: responseData.msg || '上传失败',
|
||||||
icon: 'none'
|
icon: 'none'
|
||||||
});
|
});
|
||||||
|
uni.hideLoading();
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
uni.hideLoading();
|
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: e.message,
|
title: '解析响应失败',
|
||||||
icon: 'none'
|
icon: 'none'
|
||||||
});
|
});
|
||||||
|
uni.hideLoading();
|
||||||
}
|
}
|
||||||
// finally {
|
|
||||||
// uni.hideLoading();
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
},
|
},
|
||||||
// 分享
|
// 分享
|
||||||
shareUp() {
|
shareUp() {
|
||||||
@ -842,7 +844,7 @@ export default {
|
|||||||
name: this.personnelInfo.name,
|
name: this.personnelInfo.name,
|
||||||
position: this.personnelInfo.position,
|
position: this.personnelInfo.position,
|
||||||
unitName: this.personnelInfo.unitName,
|
unitName: this.personnelInfo.unitName,
|
||||||
deviceId: this.apiType === 'listA' ? this.deviceID : this.itemInfo.deviceId,
|
deviceId: this.computedDeviceId,
|
||||||
deviceImei: this.itemInfo.deviceImei
|
deviceImei: this.itemInfo.deviceImei
|
||||||
};
|
};
|
||||||
// 3. 注册人员信息
|
// 3. 注册人员信息
|
||||||
@ -892,7 +894,7 @@ export default {
|
|||||||
// 2. 准备请求数据
|
// 2. 准备请求数据
|
||||||
const batchId = generateShortId();
|
const batchId = generateShortId();
|
||||||
const data = {
|
const data = {
|
||||||
deviceIds: this.apiType === 'listA' ? [this.deviceID] : [this.itemInfo.deviceId],
|
deviceIds: [this.computedDeviceId],
|
||||||
batchId: batchId,
|
batchId: batchId,
|
||||||
typeName: this.itemInfo.typeName,
|
typeName: this.itemInfo.typeName,
|
||||||
deviceImeiList: [this.itemInfo.deviceImei],
|
deviceImeiList: [this.itemInfo.deviceImei],
|
||||||
@ -915,7 +917,7 @@ export default {
|
|||||||
icon: 'none'
|
icon: 'none'
|
||||||
});
|
});
|
||||||
// 刷新详情接口
|
// 刷新详情接口
|
||||||
this.fetchDeviceDetail(this.deviceID);
|
this.fetchDeviceDetail(this.computedDeviceId, true);
|
||||||
uni.$emit('deviceStatusUpdate', {});
|
uni.$emit('deviceStatusUpdate', {});
|
||||||
this.showPopupFlag = false
|
this.showPopupFlag = false
|
||||||
}
|
}
|
||||||
@ -951,7 +953,7 @@ export default {
|
|||||||
const batchId = generateShortId();
|
const batchId = generateShortId();
|
||||||
const data = {
|
const data = {
|
||||||
sendMsg: this.messageToSend,
|
sendMsg: this.messageToSend,
|
||||||
deviceIds: this.apiType === 'listA' ? [this.deviceID] : [this.itemInfo.deviceId],
|
deviceIds: [this.computedDeviceId],
|
||||||
typeName: this.itemInfo.typeName,
|
typeName: this.itemInfo.typeName,
|
||||||
batchId: batchId,
|
batchId: batchId,
|
||||||
deviceImeiList: [this.itemInfo.deviceImei]
|
deviceImeiList: [this.itemInfo.deviceImei]
|
||||||
@ -984,27 +986,29 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 统一处理返回方法
|
// 统一处理返回方法
|
||||||
handleDeviceData(res, isFromShared = false) {
|
handleDeviceData(res, isFromShared = false, isUpdate = false) {
|
||||||
if (res.code == 200) {
|
if (res.code == 200) {
|
||||||
// 最后关闭加载状态
|
// 最后关闭加载状态
|
||||||
this.pageLoading = false
|
this.pageLoading = false
|
||||||
this.deviceInfo = res.data
|
this.deviceInfo = res.data
|
||||||
|
if (!isUpdate) {
|
||||||
this.personnelInfo = {
|
this.personnelInfo = {
|
||||||
unitName: res.data.personnelInfo?.unitName || '',
|
unitName: res.data.personnelInfo.unitName || '',
|
||||||
name: res.data.personnelInfo?.name || '',
|
name: res.data.personnelInfo.name || '',
|
||||||
code: res.data.personnelInfo?.code || '',
|
code: res.data.personnelInfo.code || '',
|
||||||
position: res.data.personnelInfo?.position || '',
|
position: res.data.personnelInfo.position || '',
|
||||||
|
};
|
||||||
|
this.messageToSend = res.data.sendMsg || '';
|
||||||
}
|
}
|
||||||
// 将权限字符串转换为数组 ["1", "2"]
|
// 将权限字符串转换为数组 ["1", "2"]
|
||||||
if (isFromShared) {
|
if (isFromShared) {
|
||||||
this.isSharedDevice = true
|
this.isSharedDevice = true;
|
||||||
this.activePermissions = res.data.permission ?
|
this.activePermissions = res.data.permission ? res.data.permission.split(',') : [];
|
||||||
res.data.permission.split(',') : []
|
|
||||||
} else {
|
} else {
|
||||||
this.isSharedDevice = false
|
this.isSharedDevice = false;
|
||||||
this.activePermissions = [] // 非分享设备清空权限
|
this.activePermissions = []; // 非分享设备清空权限
|
||||||
}
|
}
|
||||||
this.messageToSend = res.data.sendMsg || ''
|
|
||||||
// 关闭加载中
|
// 关闭加载中
|
||||||
uni.hideLoading()
|
uni.hideLoading()
|
||||||
}
|
}
|
||||||
@ -1018,10 +1022,10 @@ export default {
|
|||||||
return this.activePermissions.includes(permissionCode)
|
return this.activePermissions.includes(permissionCode)
|
||||||
},
|
},
|
||||||
// 获取设备详情(普通详情)
|
// 获取设备详情(普通详情)
|
||||||
async fetchDeviceDetail(id) {
|
async fetchDeviceDetail(id, isUpdate = false) {
|
||||||
try {
|
try {
|
||||||
const res = await deviceDetail(id)
|
const res = await deviceDetail(id)
|
||||||
this.handleDeviceData(res, false)
|
this.handleDeviceData(res, false, isUpdate)
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: '获取详情失败',
|
title: '获取详情失败',
|
||||||
@ -1043,25 +1047,37 @@ export default {
|
|||||||
},
|
},
|
||||||
// 操作说明
|
// 操作说明
|
||||||
operatingInst() {
|
operatingInst() {
|
||||||
let id = this.apiType === 'listA' ? this.deviceID : this.itemInfo.deviceId
|
let id = this.computedDeviceId
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: `/pages/common/operatingInstruct/index?id=${id}`
|
url: `/pages/common/operatingInstruct/index?id=${id}`
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 产品参数
|
// 产品参数
|
||||||
productparams() {
|
productparams() {
|
||||||
let id = this.apiType === 'listA' ? this.deviceID : this.itemInfo.deviceId
|
let id = this.computedDeviceId
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: `/pages/common/productDes/index?id=${id}`
|
url: `/pages/common/productDes/index?id=${id}`
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 操作视频
|
// 操作视频
|
||||||
operatingVideo() {
|
operatingVideo() {
|
||||||
let id = this.apiType === 'listA' ? this.deviceID : this.itemInfo.deviceId
|
let id = this.computedDeviceId
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: `/pages/common/operationVideo/index?id=${id}`
|
url: `/pages/common/operationVideo/index?id=${id}`
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
// 发送mqtt查询设备信息
|
||||||
|
queryDeviceStatus() {
|
||||||
|
if (this.mqttClient && this.mqttClient.isConnected()) {
|
||||||
|
const topic = `B/${this.itemInfo.deviceImei}`;
|
||||||
|
const message = '{"instruct":[12,0,0,0,0]}';
|
||||||
|
this.mqttClient.publish(topic, message, {
|
||||||
|
qos: 1
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
console.log('MQTT not connected, cannot query status.');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
},
|
},
|
||||||
onLoad(options) {
|
onLoad(options) {
|
||||||
@ -1086,22 +1102,57 @@ export default {
|
|||||||
this.mqttClient.subscribe(statusTopic, (payload) => {
|
this.mqttClient.subscribe(statusTopic, (payload) => {
|
||||||
try {
|
try {
|
||||||
console.log(`收到来自 ${statusTopic} 的消息:`, payload);
|
console.log(`收到来自 ${statusTopic} 的消息:`, payload);
|
||||||
//收到电量上报。延迟20s请求接口数据
|
//收到电量上报。
|
||||||
const parsedMessage = typeof payload === 'string' ? JSON.parse(
|
const parsedMessage = typeof payload === 'string' ? JSON.parse(
|
||||||
payload) :
|
payload) :
|
||||||
payload;
|
payload;
|
||||||
const deviceState = parsedMessage.state; // 直接取 state 数组
|
const deviceState = parsedMessage.state; // 直接取 state 数组
|
||||||
if (deviceState[0] === 12) {
|
if (deviceState && deviceState[0] === 12) {
|
||||||
// 这里延迟20s解决,经纬度,逆解析问题
|
// 根据协议直接更新设备状态,提供即时反馈
|
||||||
|
const mainLightMode = deviceState[1];
|
||||||
|
switch (mainLightMode) {
|
||||||
|
case 0:
|
||||||
|
this.currentMainMode = '关闭';
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
this.currentMainMode = '强光';
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
this.currentMainMode = '弱光';
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
this.currentMainMode = '爆闪';
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
this.currentMainMode = '泛光';
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
console.log('未知的灯光模式:', mainLightMode);
|
||||||
|
}
|
||||||
|
const laserMode = deviceState[2];
|
||||||
|
this.isLaserOn = laserMode === 1;
|
||||||
|
this.currentlaserMode = this.isLaserOn ? "开启" : "关闭";
|
||||||
|
|
||||||
|
if (this.deviceInfo) {
|
||||||
|
this.deviceInfo.batteryPercentage = deviceState[3];
|
||||||
|
this.deviceInfo.chargeState = deviceState[4];
|
||||||
|
this.deviceInfo.batteryRemainingTime = deviceState[5];
|
||||||
|
}
|
||||||
|
// 这里的10秒延迟是为了解决一个特定的后端问题:
|
||||||
|
// GPS坐标上报后,逆地址解析(将坐标转换为地址)需要一些时间。
|
||||||
|
// 如果立即请求设备详情,地址字段可能尚未更新。
|
||||||
|
// 这是一个临时解决方案,理想情况下应由后端通过消息通知或其他机制来确保数据一致性。
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
this.fetchDeviceDetail(data.data.id);
|
this.fetchDeviceDetail(data.data.id, true).then(() => {
|
||||||
}, 20000);
|
// 在获取到最新信息后,再判断电量
|
||||||
// 这里判断电量低于20%,弹框提示
|
|
||||||
if (this.deviceInfo.batteryPercentage < 20) {
|
if (this.deviceInfo.batteryPercentage < 20) {
|
||||||
this.popupType = 'bettery'
|
this.popupType = 'bettery';
|
||||||
this.popupMessage = '请及时充电';
|
this.popupMessage = '请及时充电';
|
||||||
this.showPopupFlag = true;
|
this.showPopupFlag = true;
|
||||||
}
|
}
|
||||||
|
});
|
||||||
|
}, 10000);
|
||||||
|
|
||||||
// ✅ 发送全局事件通知主页面更新
|
// ✅ 发送全局事件通知主页面更新
|
||||||
uni.$emit('deviceStatusUpdate', {
|
uni.$emit('deviceStatusUpdate', {
|
||||||
message: parsedMessage, // 消息内容
|
message: parsedMessage, // 消息内容
|
||||||
@ -1112,6 +1163,8 @@ export default {
|
|||||||
console.log('解析MQTT消息失败:', error, '原始消息:', payload);
|
console.log('解析MQTT消息失败:', error, '原始消息:', payload);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
// 连接成功后,立即查询一次设备状态
|
||||||
|
this.queryDeviceStatus();
|
||||||
})
|
})
|
||||||
if (this.apiType === 'listA') {
|
if (this.apiType === 'listA') {
|
||||||
this.fetchDeviceDetail(data.data.id)
|
this.fetchDeviceDetail(data.data.id)
|
||||||
@ -1132,9 +1185,6 @@ export default {
|
|||||||
if (this.mqttClient) {
|
if (this.mqttClient) {
|
||||||
this.mqttClient.disconnect();
|
this.mqttClient.disconnect();
|
||||||
}
|
}
|
||||||
if (this.mqttClient) {
|
|
||||||
this.mqttClient.disconnect();
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
|
|
||||||
var isReady=false;var onReadyCallbacks=[];
|
var isReady=false;var onReadyCallbacks=[];
|
||||||
var isServiceReady=false;var onServiceReadyCallbacks=[];
|
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"],"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":"JingQuan","compilerVersion":"4.66","entryPagePath":"pages/common/login/index","networkTimeout":{"request":60000,"connectSocket":60000,"uploadFile":60000,"downloadFile":60000}};
|
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"],"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":"JingQuan","compilerVersion":"4.66","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"}},{"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":"发送信息"}},{"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":"报警"}},{"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":"添加联机设备"}}];
|
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":"发送信息"}},{"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":"报警"}},{"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":"呼叫"}}];
|
||||||
__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.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()})}});
|
__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}}}});
|
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}}}});
|
||||||
|
6865
unpackage/dist/dev/app-plus/app-service.js
vendored
6865
unpackage/dist/dev/app-plus/app-service.js
vendored
File diff suppressed because one or more lines are too long
4785
unpackage/dist/dev/app-plus/app-view.js
vendored
4785
unpackage/dist/dev/app-plus/app-view.js
vendored
File diff suppressed because one or more lines are too long
2
unpackage/dist/dev/app-plus/manifest.json
vendored
2
unpackage/dist/dev/app-plus/manifest.json
vendored
File diff suppressed because one or more lines are too long
@ -177,6 +177,10 @@ class MqttClient {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
isConnected() {
|
||||||
|
return this.client && this.client.isConnected();
|
||||||
|
}
|
||||||
|
|
||||||
connect(onConnectCallback) {
|
connect(onConnectCallback) {
|
||||||
if (this.client && this.client.isConnected()) {
|
if (this.client && this.client.isConnected()) {
|
||||||
console.log('MQTT客户端已连接。');
|
console.log('MQTT客户端已连接。');
|
||||||
|
@ -164,6 +164,11 @@ math-intrinsics@^1.1.0:
|
|||||||
resolved "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz"
|
resolved "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz"
|
||||||
integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==
|
integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==
|
||||||
|
|
||||||
|
mescroll-uni@^1.3.7:
|
||||||
|
version "1.3.7"
|
||||||
|
resolved "https://registry.npmjs.org/mescroll-uni/-/mescroll-uni-1.3.7.tgz"
|
||||||
|
integrity sha512-1pQMtGA+iVRKhfJZZNXdBx05NnthIk6zm3hRbumswSA54eaKOMgpUDb9AQ2+rRdXmS6kLkEYSbW/fkb7/IyoAg==
|
||||||
|
|
||||||
mime-db@1.52.0:
|
mime-db@1.52.0:
|
||||||
version "1.52.0"
|
version "1.52.0"
|
||||||
resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz"
|
resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz"
|
||||||
|
Reference in New Issue
Block a user