// pages/penInfo/penInfo.js const event = require('../../tqlsdk/event') const tqlSDK = getApp().globalData.tqlSDK import Dialog from "../../miniprogram_npm/@vant/weapp/dialog/dialog" // import toast from "../../miniprogram_npm/@vant/weapp/toast/toast" const dialogMessage = ['是否切换蜂鸣器开关?', '是否切换笔尖压力唤醒?', '是否切换呼吸灯开关?', '是否切换保存日志?', '是否切换笔锋开关?', '是否切换过滤算法?'] Page({ /** * 页面的初始数据 */ data: { penName: "", macAddress: '', blueToothVersion: "", mcuVersion: '', customerId: "", penPower: "", penMemory: "", penTime: "", penBeep: false, penClickMode: "", penLed: '', penAutoOff: "", penSensor: 0, penPresure: "", penOid: '', save: "", penBifen: '', strokeOn: false, switchLoadingIndex: -1, sheetIndex: -1, showSheet: false, originalName: '', //原笔名 originalSensor: null, //原压力灵敏度 date: "", originalDate: '', //原日期 originalTime: '', //原时间 time: '', showTimeFlag: false, showDateFlag: false, oidValue: "", saveLog: false, invalidCodeNum: 0, //无效码开关 inputInvalidCode: 0, beepTime: 0, //响铃次数 beepInterval: 500, //响铃间隔 // 2022-7-14 chende penType: '', }, /** * * 生命周期函数--监听页面加载 */ onLoad: function (options) { console.log(options) options.flag === 'true' ? this.setData({ strokeOn: true }) : this.setData({ strokeOn: false }) this.setData({ penType: tqlSDK.penType, penOid: tqlSDK.penOID, saveLog: tqlSDK.saveDataFlag }) // 监听笔断开连接 event.on('pageUnconnect', this, () => { wx.navigateBack({ delta: 0, }) }) // 此处监听笔的属性值 event.on('penData', this, (data) => { console.log('笔数据', data) switch (data.cmd) { // 获取笔名 case "getPenName": this.setData({ penName: data.data, originalName: data.data }) break; // 设置笔名 case "setPenName": this.getPenName() break // 获取笔的mac地址 case "getMacAddress": this.setData({ macAddress: data.data }) break // 获取蓝牙版本 case "getBlueToothVersion": this.setData({ blueToothVersion: data.data }) break // 获取笔的电量 case "getPenBattery": console.log(data) this.setData({ penPower: data.data.penBattery }) break // 获取笔的rtc时间 case "getRTCtime": let penTime = this.formatDate(data.data) let penTimeArray = penTime.split(" "); let newtime = penTimeArray[1].split(":") newtime.pop(); let res = newtime.join(":") this.setData({ date: penTimeArray[0], time: res }) break // 设置笔的时间 case "setRTCtime": break // 获取笔是否自动关机 case "getPenAutoShutDownTime": this.setData({ penAutoOff: data.data }) break // 设置笔的自动关机时间 case "setPenAutoOff": this.getPenAutoOff() break // 设置笔的点笔开机 case "setPenClickMode": setTimeout(() => { this.setData({ switchLoadingIndex: -1 }) this.getPenClickMode(); }, 1000) break // 获取是否点笔开机 case "getPenClickMode": this.setData({ penClickMode: data.data }) break // 获取笔的内存使用情况 case "getUsedMemory": this.setData({ penMemory: data.data }) break //设置蜂鸣器是否开启 case 'setPenBeep': // console.log('setbeep') setTimeout(() => { this.setData({ switchLoadingIndex: -1 }) this.getPenBeep() }, 1000) break // 获取蜂鸣器是否开启 case "getPenBeep": this.setData({ penBeep: data.data }) break // 获取mcu固件版本 case 'getMCUVersion': this.setData({ mcuVersion: data.data }) break //获取笔的压力值 case 'getPenSensor': this.setData({ penSensor: data.data, originalSensor: data.data }) break // 设置笔的压力值 case "setPenSensor": this.getPenSensor() break // 获取笔的客户id case "customerId": this.setData({ customerId: data.data }) break // 获取点码值 // case "getOID4CodeValue": // console.log(data) // this.setData({ // oidValue: data.data // }) // break case 'getSensitivityCorrection': this.setData({ penPresure: data.data }) break // 监听无效码数量 case 'getInvalidSetting': this.setData({ invalidCodeNum: data.data }) console.log(data.data, '无效码'); break // 监听无效码设置是否成功 case "setInvalidSetting": if (data.data) { this.getInvalidSetting() } break default: break } }) // 获取自动关机时间 this.getPenAutoOff() // 获取是否点击开机 this.getPenClickMode() }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { // 此处获取笔的信息 // 获取笔名 this.getPenName() // 获取蓝牙版本 this.getPenFirmWare() // 获取蓝牙地址 this.getMacAddress() // 获取mcu版本 this.getMCUVersion() // 笔的客户id this.getCustomerId() // 获取剩余电量 this.getPenBattery() // 获取使用内存 this.getPenMemory() // 获取时间 this.getRTCTime() // 获取蜂鸣器开关 this.getPenBeep() // 获取呼吸灯 //笔的自动关机时间 this.getPenAutoOff(); // 灵敏度 this.getPenSensor() // 压力值范围 // 获取压力校正值 tqlSDK.getPenSensorRegulate() // 点读码值 this.getInvalidSetting() setTimeout(() => { this.getOID() }, 100) // }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { }, // 获取无效码设置 getInvalidSetting() { tqlSDK.getMCUsetting(() => { }, () => { }) }, // 获取笔名 getPenName() { tqlSDK.getPenName() }, // 设置笔名 setPenName(penName) { tqlSDK.setPenName(penName) }, // 获取mac地址 getMacAddress() { tqlSDK.getMACAddress() }, // 获取蓝牙固件版本 getPenFirmWare() { tqlSDK.getPenFirmWare() }, // 获取剩余电量 getPenBattery() { tqlSDK.getPenBattery() }, // 写入rtc时间 setPenTime(rtc) { tqlSDK.setRTCTime(rtc) }, // 请求RTC时间 getRTCTime() { tqlSDK.getRTCTime() }, // 设置自动关机时间 setPenAutoOff(autoOff) { tqlSDK.setPenAutoOff(autoOff) }, // 请求自动关机时间 getPenAutoOff() { tqlSDK.getPenAutoOff() }, // 获取已使用内存 getPenMemory() { tqlSDK.getPenMemory() }, // 获取是否点笔开机 getPenClickMode() { tqlSDK.getPenClickMode() }, // 设置是否点笔开机 setPenClickMode() { tqlSDK.setPenClickMode(!this.data.penClickMode) }, // 设置是否蜂鸣 setPenBeep() { // console.log(!this.data.penBeep, 'penbeep') tqlSDK.setPenBeep(!this.data.penBeep) }, // 获取是否蜂鸣 getPenBeep() { tqlSDK.getPenBeep() }, // 写入压力敏感度 setPenSensor(pensensor) { tqlSDK.setPenSensor(pensensor) }, // 获取压力敏感度 getPenSensor() { tqlSDK.getPenSensor() }, // 获取mcu固件版本 getMCUVersion() { tqlSDK.getMCUVersion() }, // 获取客户id getCustomerId() { tqlSDK.getCustomerId() }, // 获取点读码值 getOID() { tqlSDK.getOIDValue() }, // 点击转换按钮 switchButton(e) { let index = Number(e.currentTarget.dataset.swicthindex) Dialog.confirm({ title: "提示", message: dialogMessage[index] }).then(() => { this.setData({ switchLoadingIndex: index }) switch (index) { // 点击切换蜂鸣器 case 0: this.setPenBeep() break // 笔尖压力唤醒 case 1: this.setPenClickMode() break; case 2: break // 保存日志 case 3: this.switchSaveFlag(); break case 4: this.strokeSwitch(); break default: break; } }).catch(() => { }) }, // 展示下边栏 showSheet(e) { let index = Number(e.currentTarget.dataset.changeindex) this.setData({ showSheet: true, sheetIndex: index }) }, // 取消隐藏下边栏 cancleShowSheet() { this.setData({ showSheet: false, penName: this.data.originalName }) }, // 提交下边栏 submitSheet() { console.log(this.data.sheetIndex) switch (this.data.sheetIndex) { // 修改笔名 case 0: if (this.data.penName === this.data.originalName) { this.setData({ showSheet: false }) return } this.setPenName(this.data.penName); this.setData({ showSheet: false }) break // 修改时间 case 1: this.setData({ showSheet: false }) let time = `${this.data.date} ${this.data.time}:00` time = time.replace(/-/g, "/") let timeStamp = new Date(time).getTime() this.setPenTime(timeStamp) break // 修改灵敏度 case 2: if (this.data.penSensor === this.data.originalSensor) { this.setData({ showSheet: false }) return } this.setData({ showSheet: false }) this.setPenSensor(this.data.penSensor) break // 修改自动关机时间 case 3: this.setData({ showSheet: false }) this.setPenAutoOff(this.data.penAutoOff) break // 修改无效码个数 case 4: this.setData({ showSheet: false }) this.setInvalidCodeNum(this.data.invalidCodeNum) break case 5: this.setData({ showSheet: false }) this.triggerBeep(this.data.beepTime, this.data.beepInterval) break } }, // 输入笔名 inputPenName(e) { this.setData({ penName: e.detail.value }) }, // 点击输入框时将原笔名保存起来 savePenName(e) { this.setData({ originalName: e.detail.value }) }, // 点击灵敏度框 chosenSensor(e) { let index = Number(e.currentTarget.dataset.clickindex) console.log(e.currentTarget.dataset); this.setData({ penSensor: index }) }, // 灵敏度取消按钮 sensorCancle() { this.setData({ showSheet: false, penSensor: this.data.originalSensor }) }, // 时间戳转字符串 formatDate(date) { var date = new Date(date); var YY = date.getFullYear() + '-'; var MM = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; var DD = (date.getDate() < 10 ? '0' + (date.getDate()) : date.getDate()); var hh = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'; var mm = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':'; var ss = (date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds()); return YY + MM + DD + " " + hh + mm + ss; }, // 改变日期 changeDate(event) { this.setData({ date: event.detail.value }) }, // 改变时间 changeTime(event) { this.setData({ time: event.detail.value }) }, // 时间取消 timeCancel() { this.setData({ showSheet: false }) this.getRTCTime() }, // 显示datePicker showDatePicker() { this.setData({ showDateFlag: true, originalDate: this.data.date }) }, // 显示timePicker showTimePicker() { this.setData({ showTimeFlag: true, originalTime: this.data.time }) }, //自动关机时间输入 inputAutoOff(e) { this.setData({ penAutoOff: e.detail.value }) }, // 无效码个数输入 inputInvalidCode(e) { this.setData({ invalidCodeNum: e.detail.value }) }, // 自动关机时间取消 autoOffCancel() { this.setData({ showSheet: false }) this.getPenAutoOff(); }, // 笔锋开关 strokeSwitch() { event.emit('strokeSwitch', !this.data.strokeOn) this.setData({ strokeOn: !this.data.strokeOn }) }, // 保存日志开关 switchSaveFlag() { tqlSDK.saveDataFlag = !tqlSDK.saveDataFlag console.log(tqlSDK.saveDataFlag); this.setData({ saveLog: tqlSDK.saveDataFlag }) }, // 设置无效码取消 invalidCodeCancel() { this.setData({ showSheet: false }) this.getInvalidSetting() }, // 设置无效码个数 setInvalidCodeNum(num) { tqlSDK.setMCUsetting(num) }, // inputBeepTime(e) { this.setData({ beepTime: e.detail.value }) }, inputBeepInterval(e) { this.setData({ beepInterval: e.detail.value }) }, triggerBeep(num, interval) { tqlSDK.triggerPenBeep(num, interval) } })