import { defineStore } from 'pinia'; import { reactive, ref } from 'vue'; import utils from '@/utils/utils.js'; // 创建hooks函数仓库 const useBluetoothStore = defineStore('useBluetoothStore', () => { /** * 已连接的蓝牙 && 打印链接成功的蓝牙信息 */ const bluetoothInfo = reactive({ name: '', address: '', status: '', uuids: [], op: {}, }) /** * 设备内已匹配的蓝牙信息组成的数组 */ const bluetoothList = ref([]) /** * 蓝牙信息初始化, 获取设备内已匹配的蓝牙信息 */ const HANDLE_INITBLUETOOTH = () => { // #ifdef APP bluetoothList.value = utils.initbl_App() console.log('bluetoothList.value :>> ', bluetoothList.value); // #endif } /** * 选择蓝牙 * @index 蓝牙数组中被选中的索引 */ const CHOOSE_BLUETOOTH = (index) => { // 将被选中的值赋给蓝牙信息中 for (let key in bluetoothInfo) { bluetoothInfo[key] = bluetoothList.value[index][key] } console.log('bluetoothInfo :>> ', bluetoothInfo); } /** * 重置已选中蓝牙信息 */ const CLEAR_BL_INFO = () => { bluetoothInfo.name = '' bluetoothInfo.address = '' bluetoothInfo.status = '' bluetoothInfo.uuids = [] bluetoothInfo.op = {} } return { bluetoothInfo, bluetoothList, HANDLE_INITBLUETOOTH, CHOOSE_BLUETOOTH } }) // 导出仓库 export default useBluetoothStore