const ppScale = getApp().globalData.ppScale; import $ from "../../utils/request"; Page({ data: { progress: { index: 0, data: ['配置蓝牙', '初始化用户信息', '配备网络', '完成'] }, progressNext: false, device: null }, onLoad() { ppScale.plugin.bus.subscribe("devicesModel", (res) => { console.log("searchDevice ===》devicesModel", res); ppScale.device.mac = res.deviceMac; ppScale.plugin.bus.subscribe("deviceConnect", (res) => { console.log('connectedDevice ===》deviceConnect', res); ppScale.plugin.ScaleAction.startDataProgress(true); ppScale.activeProtocol = ppScale.plugin.ScaleAction.getActiveProtocol(); ppScale.activeProtocol.codeUpdateMTU((res) => { console.log("connectedDevice ===》codeUpdateMTU", res); ppScale.activeProtocol.codeFetchBindingState((res) => { console.log("connectedDevice ===》codeFetchBindingState", res); wx.hideLoading(); if (res === 1) { wx.showModal({ title: '提示', content: '当前设备已被绑定,你确定要覆盖绑定吗?', success: (res) => { if (res.confirm) { wx.showLoading({ title: "正在初始化设备...", mask: true }); ppScale.activeProtocol.codeClearDeviceData("00", (res) => { console.log("deviceInfo === codeClearDeviceData", res); wx.hideLoading(); if(res === 0) { let scaleDeviceId = ppScale.device.mac.replace(/:/g, ''); let params = { equipmentCode: scaleDeviceId, }; $.ajax("weighingScale/del/device", params, "POST", true, "正在初始化设备...").then(res => { wx.showToast({ icon: "none", title: "设备初始化成功,请重新绑定。", }) // device.list = []; // device.mac = null; let pages = getCurrentPages(); let prevPage = pages[pages.length - 2]; prevPage.setData({ getDeviceSetting: true }) setTimeout(() => { wx.navigateBack({ delta: 1 }) }, 1500); }); } else { wx.showToast({ icon: "none", title: "设备初始化失败。", }) } }) } else if (res.cancel) { // device.mac = null; ppScale.plugin.Blue.disconnect(); } } }) } else { ppScale.device.name = this.data.device.name; ppScale.device.connection = this.data.device; if(this.data.progressNext) { let scaleDeviceId = ppScale.device.mac.replace(/:/g, ''); let params = { sn: scaleDeviceId, }; $.ajax("weighingScale/getUserInfoBySn", params, "GET", true, "正在同步用户信息...").then(res => { if(res.result) { wx.setStorageSync("userInfo", res.result); this.setProgress(); } else { wx.removeStorageSync("userInfo"); wx.showToast({ title: "暂无用户信息,请手动补充", icon: "none" }) setTimeout(() => { this.setProgress(); }, 1500) } }).catch(() => { wx.showToast({ title: "用户信息同步失败,请手动补充", icon: "none" }) setTimeout(() => { this.setProgress(); }, 1500) }) } } }) }); }); }); }, // 选择了某个设备 deviceChange(e) { let status = e.detail.status; if(status) { wx.showLoading({ title: "蓝牙配对中...", mask: true }); this.setData({ progressNext: true }) let device = e.detail.device; this.connectedDevice_(device); } }, connectedDevice(e) { wx.showLoading({ title: "正在尝试连接...", mask: true }); this.setData({ progressNext: false }) let device = e.detail.device; this.connectedDevice_(device); }, connectedDevice_(device) { if(device) { this.setData({ device: device }) ppScale.plugin.Blue.createBLEConnection(device); } }, setDeviceUserInfo(e) { this.setData({ progressNext: true }) let status = e.detail.status; if(status) { this.setProgress(); } }, setDeviceConfig(e) { let status = e.detail.status; if(status) { this.setProgress(); } }, setConfigSuccessful() { wx.switchTab({ url: "/pages/home/home" }) }, setProgress() { this.setData({ ["progress.index"]: this.data.progress.index + 1 }) } })