import $store from '@/store' export default { msg, gethms, str2hex, hex2str, ab2hex, inArray, getMonth, getDate, GetDateStr, PrefixZero, validatePhoneEmail, handleBluetoothClick } function handleBluetoothClick() { uni.openBluetoothAdapter({ success: e => { $store.commit("changeBluetooth", true); uni.navigateTo({ url: "/pages/devices/devices" }) console.log('初始化蓝牙成功:' + e.errMsg); }, fail: err => { console.log('初始化蓝牙失败:' + err.errMsg); if (err.errMsg == "openBluetoothAdapter:fail auth denied" || err.errMsg === "openBluetoothAdapter:fail auth deny" || err.errMsg === "openBluetoothAdapter:fail authorize no response" ) { uni.showModal({ title: "提示", content: "需要您授权使用手机蓝牙", showCancel: false, success(modalSuccess) { uni.openSetting({ success(settingdata) { if (settingdata.authSetting["scope.bluetooth"]) { uni.openBluetoothAdapter({ success: e => { uni.showToast({ title: "获取权限成功,请继续去测量", icon: "none" }) $store.commit("changeBluetooth", true); }, fail: err => { uni.showToast({ title: "请打开手机蓝牙", icon: "none", duration: 1000, }) console.log('初始化蓝牙失败:' + err .errMsg); } }); } else { uni.showToast({ title: "获取权限失败,将无法使用手机蓝牙进行测量", icon: "none" }) } } }) } }) } else { uni.showToast({ title: "请打开手机蓝牙", icon: "none", duration: 1000, }) } } }); } // 2进制位数不足补0 function PrefixZero(num, n) { return (Array(n).join(0) + num).slice(-n); } function inArray(arr, key, val) { if (!arr || !arr.length || typeof arr != 'object' || !Array.isArray(arr)) { return -1 } for (let i = 0; i < arr.length; i++) { if (!key) { if (arr[i] == val) { return i } } else if (arr[i][key] === val) { return i } } return -1; } function validatePhoneEmail(input) { const phoneRegex = /^(\+?\d{1,4})?[-\s.]?\(?(\d{3})\)?[-\s.]?(\d{3})[-\s.]?(\d{4})$/; const emailRegex = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/; const isPhone = phoneRegex.test(input); const isEmail = emailRegex.test(input); return { isPhone, isEmail }; } function msg(str) { uni.showToast({ title: str, icon: 'none' }) } function ab2hex(buffer, split) { var hexArr = Array.prototype.map.call( new Uint8Array(buffer), function(bit) { return ('00' + bit.toString(16)).slice(-2) } ) return hexArr.join(split); } function hex2str(arr) { let decoder = new TextDecoder('utf8') let uint8 = new Uint8Array(arr) let res = decoder.decode(uint8) return res } function str2hex(str) { let encoder = new TextEncoder('utf8') return encoder.encode(str) } // 跳绳分秒时间选择 function gethms(type) { var mindata = [] var secondData = [] let timeList = [] for (var i = 1; i <= 59; i++) { i = i > 9 ? i : '0' + i mindata.push(i + '分'); } for (var i = 0; i <= 59; i++) { i = i > 9 ? i : '0' + i secondData.push(i + '秒'); } timeList[0] = mindata timeList[1] = secondData return timeList } function getMonth(dates, months) { var d = new Date(dates.substring(0, 10)); let year = d.getFullYear(); var month = d.getMonth() + 1; if (Math.abs(months) > 12) { months = months % 12; }; if (months != 0) { if (month + months > 12) { year++; month = (month + months) % 12; } else if (month + months < 1) { year--; month = 12 + month + months; } else { month = month + months; }; }; month = month < 10 ? "0" + month : month; var date = d.getDate(); if (month == "01" || month == "03" || month == "05" || month == "07" || month == "08" || month == "10" || month == "12") { return year + "-" + month + "-01" + "~" + year + "-" + month + "-31"; } else if (month == "02") { if ((year % 4 == 0 && year % 100 != 0) || (year % 100 == 0 && year % 400 == 0)) { return year + '-' + month + "-01" + "~" + year + "-" + month + "-29"; } else { return year + '-' + month + "-01" + "~" + year + "-" + month + "-28"; }; } else { return year + '-' + month + "-01" + "~" + year + "-" + month + "-30"; }; }; function getDate(type) { const date = new Date(); let year = date.getFullYear(); let month = date.getMonth() + 1; let day = date.getDate(); month = month > 9 ? month : '0' + month; day = day > 9 ? day : '0' + day; if (type === 'tow') { year = year - 2; return `${year}/${month}/${day}`; } if (type === 'start') { year = year; return `${year}-${month}-${day}`; } if (type === 'end') { year = year + 60; return `${year}-${month}-${day}`; } if (type === 'year') { year = year; return `${year}`; } if (type === 'month') { year = year; return `${year}-${month}`; } if (type == "m") { if (month == "01" || month == "03" || month == "05" || month == "07" || month == "08" || month == "10" || month == "12") { return year + "-" + month + "-01" + "~" + year + "-" + month + "-31"; } else if (month == "02") { if ((year % 4 == 0 && year % 100 != 0) || (year % 100 == 0 && year % 400 == 0)) { return year + "-" + month + "-01" + "~" + year + "-" + month + "-29"; } else { return year + "-" + month + "-01" + "~" + year + "-" + month + "-28"; }; } else { return year + "-" + month + "-01" + "~" + year + "-" + month + "-30"; }; } } //获取AddDayCount天后的日期 function GetDateStr(AddDayCount) { var dd = new Date(); dd.setDate(dd.getDate() + AddDayCount); var y = dd.getFullYear(); var m = (dd.getMonth() + 1) < 10 ? "0" + (dd.getMonth() + 1) : (dd.getMonth() + 1); //获取当前月份的日期,不足10补0 var d = dd.getDate() < 10 ? "0" + dd.getDate() : dd.getDate(); //获取当前几号,不足10补0 return y + "-" + m + "-" + d; }