请选择 进入手机版 | 继续访问电脑版
帖子
帖子
用户
博客
课程
123下一页
返回列表 发新帖
显示全部楼层
25
帖子
0
勋章
278
Y币

[BUG] cxgBluetooth调用setReadDataCallbackServerClient报错code: 1

[复制链接]
发表于 2022-9-25 23:16:05
cxgBluetooth调用setReadDataCallbackServerClient报错code: 1 msg: 该服务不存在
你是怎么调用的
25
帖子
0
勋章
278
Y币

开启蓝牙服务的时候调用的
8
帖子
0
勋章
1215
Y币
BIP415821 · 2022-9-26 09:51开启蓝牙服务的时候调用的

把全代码贴出来
25
帖子
0
勋章
278
Y币
cxg01 · 2022-9-26 10:44把全代码贴出来

<script type="text/javascript">
var obj = {
        //"name":"t3-p3hyyy","address":"14:6B:9C:78:4A:B1"
        address : '7C:03:AB:AE:81:AA',
        UUID : '',
        data : 'hello,word',
        isHex : false,
        charset : 'UTF-8',
        bufferSize : 1024,
        isReturnHex :  true,
        isNoReturnData :  true,
        returnStrCharset : 'UTF-8',
        isConnected: false,
        isConnecting: false,
        isServerClient:true,
        receiveDataArr:[]
    }
var client={
    type: Object,
    required: true
}
var SPPServerTpl = {
    isServerRun: false,
    Server_UUID: "00001101-0000-1000-8000-00805F9B34FB",
    client: null
}
apiready = function(){
    var cxgBluetoothBase = api.require('cxgBluetoothBase');
    var cxgBluetoothClient = api.require('cxgBluetoothClient');
    var cxgBluetoothServer = api.require('cxgBluetoothServer');
    onsyncClientsInfo()
    onsyncServersInfo()
    onsetReadDataCallback(client)
}

//监听蓝牙状态
// function onisEnabledBluetooth(){
//     // console.log(obj)
//     api.require("cxgBluetoothBase").isEnabledBluetooth({}, function(ret, err) {
//         if (!err) {
//             alert(ret.state);
//             console.log(ret.state)
//         } else {
//             alert("code: " + err.code + " msg: " + err.msg);
//             console.log("code: " + err.code + " msg: " + err.msg)
//         }
//     });
// }
//打开蓝牙
function onopenBluetooth(){
    api.require("cxgBluetoothBase").openBluetooth({}, function(ret, err) {
        if (!err) {
            // alert(ret.state);
            // onstartServer();
            // onsetReadDataCallback()
            console.log(ret.state)
        } else {
            alert("code: " + err.code + " msg: " + err.msg);
        }
    });
}
//关闭蓝牙
function oncloseBluetooth(){
    api.require("cxgBluetoothBase").closeBluetooth({}, function(ret, err) {
        if (!err) {
            alert(ret.state);
            console.log(ret.state)
        } else {
            alert("code: " + err.code + " msg: " + err.msg);
            console.log("code: " + err.code + " msg: " + err.msg)
        }
    });
}
//监听蓝牙的状态变化, 多次返回
// function onlistenBluetoothStatus(){
//     api.require("cxgBluetoothBase").listenBluetoothStatus({}, function(ret, err) {
//         if (!err) {
//             alert(ret.status);
//             console.log(ret.state)
//         } else {
//             alert("code: " + err.code + " msg: " + err.msg);
//             console.log("code: " + err.code + " msg: " + err.msg)
//         }
//     });
// }
//获取已经配对的设备
// function onbondedDevices(){
//     api.require("cxgBluetoothBase").bondedDevices({}, function(ret, err) {
//         if (!err) {
//             console.log(JSON.stringify(ret.data))
//             alert(JSON.stringify(ret.data));
//         } else {
//             alert("code: " + err.code + " msg: " + err.msg);
//             console.log("code: " + err.code + " msg: " + err.msg)
//         }
//     });
// }
//搜索蓝牙中
function onisScanning(){
    api.require("cxgBluetoothBase").isScanning({}, function(ret, err) {
        if (!err) {
            alert(ret.state);
            console.log(ret.state)
        } else {
            alert("code: " + err.code + " msg: " + err.msg);
            console.log("code: " + err.code + " msg: " + err.msg)
        }
    });
}

//停止搜索蓝牙
function onstopScan(obj){
   
    api.require("cxgBluetoothBase").stopScan({}, function(ret, err) {
        if (!err) {
            alert("搜索成功,请开启蓝牙服务后连接设备")
            console.log(ret.state)
        } else {
            alert("code: " + err.code + " msg: " + err.msg);
            console.log("code: " + err.code + " msg: " + err.msg)
        }
    });
}
//搜索蓝牙
function onscan(){
    api.require("cxgBluetoothBase").scan({}, function(ret, err) {
        if (!err) {
            if (ret.data == "ACTION_DISCOVERY_FINISHED") {
                alert("未搜到相关设备,请重新搜索");
            } else {
                if(ret.data.name == 't3-p3hyyy' || ret.data.name == 'HONOR 9X'|| ret.data.name == '红米手机'){
                     obj.address = ret.data.address
                    onstopScan()
                }
                console.log(JSON.stringify(ret.data))
            }
        } else {
            alert("code: " + err.code + " msg: " + err.msg);
            console.log("code: " + err.code + " msg: " + err.msg)
        }
    });
}
function ondisconnect(){
    api.require("cxgBluetoothClient").disconnect({
        address: obj.address,
        UUID:"00001101-0000-1000-8000-00805F9B34FB"
    }, function(ret, err) {
        if (!err) {
            obj.isConnected = false;
            obj.isConnecting = false;
            alert("断开连接成功");
        } else {
            alert("code: " + err.code + " msg: " + err.msg);
            console.log("code: " + err.code + " msg: " + err.msg)
        }
    });
}
//发送数据
function onsendData(){
    var objsendData = obj
    api.require("cxgBluetoothClient").sendData({
        address: obj.address,
        UUID:"00001101-0000-1000-8000-00805F9B34FB",
        data: obj.data,
        isHex:false,
        charsetbj.returnStrCharset,
    },function(ret, err) {
        if (!err) {
            console.log(JSON.stringify(ret))
            alert(`${obj.data}
                发送成功`);
                // objsendData.receiveDataArr.push(obj.data)
                // add()
                // onsendDataServerClient()
                // onsyncServersInfo()
            // onsetReadDataCallback(objsendData)
        } else {
            alert("code: " + err.code + " msg: " + err.msg);
            console.log("code: " + err.code + " msg: " + err.msg)
        }
    });
}

//创建蓝牙服务UUID
function onstartServer(){
    var objsendData = obj
    api.require("cxgBluetoothServer").startServer({
        isNewStartServer: false,
        Server_UUID:SPPServerTpl.Server_UUID
    }, function(ret, err) {
        if (!err) {
            if (typeof ret.data == "object") {
                alert(JSON.stringify(ret.data));
                console.log(JSON.stringify(ret))
                obj.isConnected = true;
                // onsetReadDataCallback(objsendData)
                obj.address = ret.data.address;
                onsyncClientsInfo()
               
                onsetReadDataCallback(objsendData)
            }
            if (ret.data.disconnectAddress){
                alert("外设断开");
            }
            if (ret.data === true) {
                objsendData.isServerRun = true;
                // setReadDataCallbackServerClient(serverData)
                onsetReadDataCallback(objsendData)
                alert("创建服务成功");
            }
        } else {
            console.log("code: " + err.code + " msg: " + err.msg)
        }
    });
}
//连接蓝牙
function onconnect(){
    var objsendData = obj
    obj.isConnected = false;
    obj.isConnecting = true;
    api.require("cxgBluetoothClient").connect({
        address: obj.address,
        UUID:"00001101-0000-1000-8000-00805F9B34FB"
    },function(ret, err) {
        if (!err) {
            if (ret.data === true) {
                obj.isConnected = true;
                obj.isConnecting = false;
                // setReadDataCallbackServerClient()
                onsetReadDataCallback(objsendData)
                // onsyncClientsInfo(objsendData)
                // onsyncServersInfo(objsendData)
                alert("连接成功");
                onsyncServersInfo()
                // add()
            }
            if (ret.data.disconnectAddress) {
                obj.isConnected = false;
                obj.isConnecting = false;
                alert("断开连接成功");
            }
        } else {
            if(err.code == 5){
                obj.isConnected = false;
                obj.isConnecting = false;
                alert("该客户端已连接");
            }else{
                obj.isConnected = false;
                obj.isConnecting = false;
                alert('连接失败,请重新连接');
                console.log("code: " + err.code + " msg: " + err.msg)
            }
        }
    });
}
//设置读取数据回调
function onsetReadDataCallback(objsendData,isHex = false){
    api.require("cxgBluetoothClient").setReadDataCallback(
    {
        address: obj.address,
        UUID:"00001101-0000-1000-8000-00805F9B34FB",
        bufferSize: obj.bufferSize,
        isReturnHex: isHex,
        isNoReturnData: obj.isNoReturnData,
        returnStrCharsetbj.returnStrCharset,
    },
    (ret, err) => {
        if (!err) {
            if (ret.data === true) {
                objsendData.isReturnHex = isHex
                alert("设置成功")
                return;
            }
            if (obj.receiveDataArr.length > 20) {
                obj.receiveDataArr = [];
            }
            objsendData.receiveDataArr.push(ret.data);
            alert(objsendData)
            add(objsendData.receiveDataArr)
            // console.log(JSON.stringify(obj))
        } else {
            objsendData.isConnected = false;
            // alert("code: " + err.codeJ + " msg: " + err.msg);
            // console.log("code: " + err.code + " msg: " + err.msg)
        }
    });
}
function add(receiveDataArr){
    receiveDataArr.forEach((item)=>{
        alert(item)
    })
    // alert(JSON.stringify(obj.data))
}
// onsetReadDataCallback()
//同步数据
function onsyncClientsInfo(){
    api.require("cxgBluetoothClient").syncClientsInfo({},
    function(ret, err) {
        if (!err) {
        //具体使用方法见demo
        // ret.data[0].isServerClient =obj.isServerClient
        console.log(JSON.stringify(ret.data))
        alert('客户端')
        } else {
            alert("code: " + err.code + " msg: " + err.msg);
        }
    });
}
//同步服务端数据
function onsyncServersInfo(){
    api.require("cxgBluetoothServer").syncServersInfo({},
        function(ret, err) {
            if (!err) {
                // ret.data[0].client.isNoReturnData = obj.isNoReturnData
                console.log(JSON.stringify(ret.data));
                alert(JSON.stringify(ret.data));
                alert('服务端')
            } else {
                alert("code: " + err.code + " msg: " + err.msg);
        }
    });
}
//关闭蓝牙服务
function onstopServer(){
    api.require("cxgBluetoothServer").stopServer({
        isRemove: false,
        Server_UUID:"00001101-0000-1000-8000-00805F9B34FB"
    }, function(ret, err) {
        if (!err) {
            alert("服务关闭");
        } else {
            alert("code: " + err.code + " msg: " + err.msg);
        }
    });
}
//读取数据
function setReadDataCallbackServerClient(serverData,isHex = false){
    console.log(JSON.stringify(serverData))
    api.require("cxgBluetoothServer").setReadDataCallbackServerClient(
    {
        address: serverData.address,
        UUID:"00001101-0000-1000-8000-00805F9B34FB",
        bufferSize: serverData.bufferSize,
        isReturnHex: serverData.isReturnHex,
        isNoReturnData: false,
    },
    function(ret, err) {
        if (!err) {
        if (ret.data === true) {
            alert("设置成功");
            return;
        }
        alert(ret.data);
        } else {
        alert("code: " + err.code + " msg: " + err.msg);
        }
  });
}
// setReadDataCallbackServerClient()
//发送数据
function onsendDataServerClient(){
    api.require("cxgBluetoothServer").sendDataServerClient({
        Server_UUID:"00001101-0000-1000-8000-00805F9B34FB",
        data: "九星",
        isHex:false,
        charset:"UTF-8"
    },function(ret, err) {
        if (!err) {
            console.log(JSON.stringify(ret))
            alert("发送成功");
        } else {
        alert("code: " + err.code + " msg: " + err.msg);
        }
    });
}
</script>
25
帖子
0
勋章
278
Y币
cxg01 · 2022-9-26 10:44把全代码贴出来

代码贴不过去
25
帖子
0
勋章
278
Y币

var obj = {
        //"name":"t3-p3hyyy","address":"14:6B:9C:78:4A:B1"
        address : '7C:03:AB:AE:81:AA',
        UUID : '',
        data : 'hello,word',
        isHex : false,
        charset : 'UTF-8',
        bufferSize : 1024,
        isReturnHex :  true,
        isNoReturnData :  true,
        returnStrCharset : 'UTF-8',
        isConnected: false,
        isConnecting: false,
        isServerClient:true,
        receiveDataArr:[]
    }
var client={
    type: Object,
    required: true
}
var SPPServerTpl = {
    isServerRun: false,
    Server_UUID: "00001101-0000-1000-8000-00805F9B34FB",
    client: null
}
var  cxgBluetoothBase;
var  cxgBluetoothClient;
var  cxgBluetoothServer;
apiready = function(){
    cxgBluetoothBase = api.require('cxgBluetoothBase');
    cxgBluetoothClient = api.require('cxgBluetoothClient');
    cxgBluetoothServer = api.require('cxgBluetoothServer');
    onsyncClientsInfo()
    onsyncServersInfo()
    onsetReadDataCallback(client)
}


//监听蓝牙状态
// function onisEnabledBluetooth(){
//     // console.log(obj)
//     api.require("cxgBluetoothBase").isEnabledBluetooth({}, function(ret, err) {
//         if (!err) {
//             alert(ret.state);
//             console.log(ret.state)
//         } else {
//             alert("code: " + err.code + " msg: " + err.msg);
//             console.log("code: " + err.code + " msg: " + err.msg)
//         }
//     });
// }
//打开蓝牙
function onopenBluetooth(){
    api.require("cxgBluetoothBase").openBluetooth({}, function(ret, err) {
        if (!err) {
            // alert(ret.state);
            // onstartServer();
            // onsetReadDataCallback()
            console.log(ret.state)
        } else {
            alert("code: " + err.code + " msg: " + err.msg);
        }
    });
}
//关闭蓝牙
function oncloseBluetooth(){
    api.require("cxgBluetoothBase").closeBluetooth({}, function(ret, err) {
        if (!err) {
            alert(ret.state);
            console.log(ret.state)
        } else {
            alert("code: " + err.code + " msg: " + err.msg);
            console.log("code: " + err.code + " msg: " + err.msg)
        }
    });
}
//监听蓝牙的状态变化, 多次返回
// function onlistenBluetoothStatus(){
//     api.require("cxgBluetoothBase").listenBluetoothStatus({}, function(ret, err) {
//         if (!err) {
//             alert(ret.status);
//             console.log(ret.state)
//         } else {
//             alert("code: " + err.code + " msg: " + err.msg);
//             console.log("code: " + err.code + " msg: " + err.msg)
//         }
//     });
// }
//获取已经配对的设备
// function onbondedDevices(){
//     api.require("cxgBluetoothBase").bondedDevices({}, function(ret, err) {
//         if (!err) {
//             console.log(JSON.stringify(ret.data))
//             alert(JSON.stringify(ret.data));
//         } else {
//             alert("code: " + err.code + " msg: " + err.msg);
//             console.log("code: " + err.code + " msg: " + err.msg)
//         }
//     });
// }
//搜索蓝牙中
function onisScanning(){
    api.require("cxgBluetoothBase").isScanning({}, function(ret, err) {
        if (!err) {
            alert(ret.state);
            console.log(ret.state)
        } else {
            alert("code: " + err.code + " msg: " + err.msg);
            console.log("code: " + err.code + " msg: " + err.msg)
        }
    });
}

//停止搜索蓝牙
function onstopScan(obj){
    api.require("cxgBluetoothBase").stopScan({}, function(ret, err) {
        if (!err) {
            alert("搜索成功,请开启蓝牙服务后连接设备")
            console.log(ret.state)
        } else {
            alert("code: " + err.code + " msg: " + err.msg);
            console.log("code: " + err.code + " msg: " + err.msg)
        }
    });
}
//搜索蓝牙
function onscan(){
    api.require("cxgBluetoothBase").scan({}, function(ret, err) {
        if (!err) {
            if (ret.data == "ACTION_DISCOVERY_FINISHED") {
                alert("未搜到相关设备,请重新搜索");
            } else {
                if(ret.data.name == 't3-p3hyyy' || ret.data.name == 'HONOR 9X'|| ret.data.name == '红米手机'){
                     obj.address = ret.data.address
                    onstopScan()
                }
                console.log(JSON.stringify(ret.data))
            }
        } else {
            alert("code: " + err.code + " msg: " + err.msg);
            console.log("code: " + err.code + " msg: " + err.msg)
        }
    });
}
function ondisconnect(){
    api.require("cxgBluetoothClient").disconnect({
        address: obj.address,
        UUID:"00001101-0000-1000-8000-00805F9B34FB"
    }, function(ret, err) {
        if (!err) {
            obj.isConnected = false;
            obj.isConnecting = false;
            alert("断开连接成功");
        } else {
            alert("code: " + err.code + " msg: " + err.msg);
            console.log("code: " + err.code + " msg: " + err.msg)
        }
    });
}
//发送数据
function onsendData(){
    var objsendData = obj
    cxgBluetoothClient.sendData({
        address: obj.address,
        UUID:"00001101-0000-1000-8000-00805F9B34FB",
        data: obj.data,
        isHex:false,
        charsetbj.returnStrCharset,
    },function(ret, err) {
        if (!err) {
            console.log(JSON.stringify(ret))
            alert(`${obj.data}
                发送成功`);
                // objsendData.receiveDataArr.push(obj.data)
                // add()
                // onsendDataServerClient()
                // onsyncServersInfo()
            // onsetReadDataCallback(objsendData)
        } else {
            alert("code: " + err.code + " msg: " + err.msg);
            console.log("code: " + err.code + " msg: " + err.msg)
        }
    });
}

//创建蓝牙服务UUID
function onstartServer(){
    var objsendData = obj
    api.require("cxgBluetoothServer").startServer({
        isNewStartServer: false,
        Server_UUID:SPPServerTpl.Server_UUID
    }, function(ret, err) {
        if (!err) {
            if (typeof ret.data == "object") {
                alert(JSON.stringify(ret.data));
                console.log(JSON.stringify(ret))
                obj.isConnected = true;
                // onsetReadDataCallback(objsendData)
                obj.address = ret.data.address;
                onsyncClientsInfo()
               
                onsetReadDataCallback(objsendData)
            }
            if (ret.data.disconnectAddress){
                alert("外设断开");
            }
            if (ret.data === true) {
                objsendData.isServerRun = true;
                // setReadDataCallbackServerClient(serverData)
                onsetReadDataCallback(objsendData)
                alert("创建服务成功");
            }
        } else {
            console.log("code: " + err.code + " msg: " + err.msg)
        }
    });
}
//连接蓝牙
function onconnect(){
    var objsendData = obj
    obj.isConnected = false;
    obj.isConnecting = true;
    api.require("cxgBluetoothClient").connect({
        address: obj.address,
        UUID:"00001101-0000-1000-8000-00805F9B34FB"
    },function(ret, err) {
        if (!err) {
            if (ret.data === true) {
                obj.isConnected = true;
                obj.isConnecting = false;
                // setReadDataCallbackServerClient()
                onsetReadDataCallback(objsendData)
                // onsyncClientsInfo(objsendData)
                // onsyncServersInfo(objsendData)
                alert("连接成功");
                onsyncServersInfo()
                // add()
            }
            if (ret.data.disconnectAddress) {
                obj.isConnected = false;
                obj.isConnecting = false;
                alert("断开连接成功");
            }
        } else {
            if(err.code == 5){
                obj.isConnected = false;
                obj.isConnecting = false;
                alert("该客户端已连接");
            }else{
                obj.isConnected = false;
                obj.isConnecting = false;
                alert('连接失败,请重新连接');
                console.log("code: " + err.code + " msg: " + err.msg)
            }
        }
    });
}
//设置读取数据回调
function onsetReadDataCallback(objsendData,isHex = false){
    api.require("cxgBluetoothClient").setReadDataCallback(
    {
        address: obj.address,
        UUID:"00001101-0000-1000-8000-00805F9B34FB",
        bufferSize: obj.bufferSize,
        isReturnHex: isHex,
        isNoReturnData: obj.isNoReturnData,
        returnStrCharsetbj.returnStrCharset,
    },
    (ret, err) => {
        if (!err) {
            if (ret.data === true) {
                objsendData.isReturnHex = isHex
                alert("设置成功")
                return;
            }
            if (obj.receiveDataArr.length > 20) {
                obj.receiveDataArr = [];
            }
            objsendData.receiveDataArr.push(ret.data);
            alert(objsendData)
            add(objsendData.receiveDataArr)
            // console.log(JSON.stringify(obj))
        } else {
            objsendData.isConnected = false;
            // alert("code: " + err.codeJ + " msg: " + err.msg);
            // console.log("code: " + err.code + " msg: " + err.msg)
        }
    });
}
function add(receiveDataArr){
    receiveDataArr.forEach((item)=>{
        alert(item)
    })
    // alert(JSON.stringify(obj.data))
}
// onsetReadDataCallback()
//同步数据
function onsyncClientsInfo(){
    api.require("cxgBluetoothClient").syncClientsInfo({},
    function(ret, err) {
        if (!err) {
        //具体使用方法见demo
        // ret.data[0].isServerClient =obj.isServerClient
        console.log(JSON.stringify(ret.data))
        alert('客户端')
        } else {
            alert("code: " + err.code + " msg: " + err.msg);
        }
    });
}
//同步服务端数据
function onsyncServersInfo(){
    api.require("cxgBluetoothServer").syncServersInfo({},
        function(ret, err) {
            if (!err) {
                // ret.data[0].client.isNoReturnData = obj.isNoReturnData
                console.log(JSON.stringify(ret.data));
                alert(JSON.stringify(ret.data));
                alert('服务端')
            } else {
                alert("code: " + err.code + " msg: " + err.msg);
        }
    });
}
//关闭蓝牙服务
function onstopServer(){
    api.require("cxgBluetoothServer").stopServer({
        isRemove: false,
        Server_UUID:"00001101-0000-1000-8000-00805F9B34FB"
    }, function(ret, err) {
        if (!err) {
            alert("服务关闭");
        } else {
            alert("code: " + err.code + " msg: " + err.msg);
        }
    });
}
//读取数据
function setReadDataCallbackServerClient(serverData,isHex = false){
    console.log(JSON.stringify(serverData))
    api.require("cxgBluetoothServer").setReadDataCallbackServerClient(
    {
        address: serverData.address,
        UUID:"00001101-0000-1000-8000-00805F9B34FB",
        bufferSize: serverData.bufferSize,
        isReturnHex: serverData.isReturnHex,
        isNoReturnData: false,
    },
    function(ret, err) {
        if (!err) {
        if (ret.data === true) {
            alert("设置成功");
            return;
        }
        alert(ret.data);
        } else {
        alert("code: " + err.code + " msg: " + err.msg);
        }
  });
}
// setReadDataCallbackServerClient()
//发送数据
function onsendDataServerClient(){
    api.require("cxgBluetoothServer").sendDataServerClient({
        Server_UUID:"00001101-0000-1000-8000-00805F9B34FB",
        data: "九星",
        isHex:false,
        charset:"UTF-8"
    },function(ret, err) {
        if (!err) {
            console.log(JSON.stringify(ret))
            alert("发送成功");
        } else {
        alert("code: " + err.code + " msg: " + err.msg);
        }
    });
}
</script>
25
帖子
0
勋章
278
Y币
<script type="text/javascript">
var obj = {
        //"name":"t3-p3hyyy","address":"14:6B:9C:78:4A:B1"
        address : '7C:03:AB:AE:81:AA',
        UUID : '',
        data : 'hello,word',
        isHex : false,
        charset : 'UTF-8',
        bufferSize : 1024,
        isReturnHex :  true,
        isNoReturnData :  true,
        returnStrCharset : 'UTF-8',
        isConnected: false,
        isConnecting: false,
        isServerClient:true,
        receiveDataArr:[]
    }
var client={
    type: Object,
    required: true
}
var SPPServerTpl = {
    isServerRun: false,
    Server_UUID: "00001101-0000-1000-8000-00805F9B34FB",
    client: null
}
var  apiready = function(){
    var cxgBluetoothBase = api.require('cxgBluetoothBase');
    var cxgBluetoothClient = api.require('cxgBluetoothClient');
    var cxgBluetoothServer = api.require('cxgBluetoothServer');
    onsyncClientsInfo()
    onsyncServersInfo()
    onsetReadDataCallback(client)
}

//监听蓝牙状态
// function onisEnabledBluetooth(){
//     // console.log(obj)
//     api.require("cxgBluetoothBase").isEnabledBluetooth({}, function(ret, err) {
//         if (!err) {
//             alert(ret.state);
//             console.log(ret.state)
//         } else {
//             alert("code: " + err.code + " msg: " + err.msg);
//             console.log("code: " + err.code + " msg: " + err.msg)
//         }
//     });
// }
//打开蓝牙
function onopenBluetooth(){
    api.require("cxgBluetoothBase").openBluetooth({}, function(ret, err) {
        if (!err) {
            // alert(ret.state);
            // onstartServer();
            // onsetReadDataCallback()
            console.log(ret.state)
        } else {
            alert("code: " + err.code + " msg: " + err.msg);
        }
    });
}
//关闭蓝牙
function oncloseBluetooth(){
    api.require("cxgBluetoothBase").closeBluetooth({}, function(ret, err) {
        if (!err) {
            alert(ret.state);
            console.log(ret.state)
        } else {
            alert("code: " + err.code + " msg: " + err.msg);
            console.log("code: " + err.code + " msg: " + err.msg)
        }
    });
}
//监听蓝牙的状态变化, 多次返回
// function onlistenBluetoothStatus(){
//     api.require("cxgBluetoothBase").listenBluetoothStatus({}, function(ret, err) {
//         if (!err) {
//             alert(ret.status);
//             console.log(ret.state)
//         } else {
//             alert("code: " + err.code + " msg: " + err.msg);
//             console.log("code: " + err.code + " msg: " + err.msg)
//         }
//     });
// }
//获取已经配对的设备
// function onbondedDevices(){
//     api.require("cxgBluetoothBase").bondedDevices({}, function(ret, err) {
//         if (!err) {
//             console.log(JSON.stringify(ret.data))
//             alert(JSON.stringify(ret.data));
//         } else {
//             alert("code: " + err.code + " msg: " + err.msg);
//             console.log("code: " + err.code + " msg: " + err.msg)
//         }
//     });
// }
//搜索蓝牙中
function onisScanning(){
    api.require("cxgBluetoothBase").isScanning({}, function(ret, err) {
        if (!err) {
            alert(ret.state);
            console.log(ret.state)
        } else {
            alert("code: " + err.code + " msg: " + err.msg);
            console.log("code: " + err.code + " msg: " + err.msg)
        }
    });
}

//停止搜索蓝牙
function onstopScan(obj){
    api.require("cxgBluetoothBase").stopScan({}, function(ret, err) {
        if (!err) {
            alert("搜索成功,请开启蓝牙服务后连接设备")
            console.log(ret.state)
        } else {
            alert("code: " + err.code + " msg: " + err.msg);
            console.log("code: " + err.code + " msg: " + err.msg)
        }
    });
}
//搜索蓝牙
function onscan(){
    api.require("cxgBluetoothBase").scan({}, function(ret, err) {
        if (!err) {
            if (ret.data == "ACTION_DISCOVERY_FINISHED") {
                alert("未搜到相关设备,请重新搜索");
            } else {
                if(ret.data.name == 't3-p3hyyy' || ret.data.name == 'HONOR 9X'|| ret.data.name == '红米手机'){
                     obj.address = ret.data.address
                    onstopScan()
                }
                console.log(JSON.stringify(ret.data))
            }
        } else {
            alert("code: " + err.code + " msg: " + err.msg);
            console.log("code: " + err.code + " msg: " + err.msg)
        }
    });
}
function ondisconnect(){
    api.require("cxgBluetoothClient").disconnect({
        address: obj.address,
        UUID:"00001101-0000-1000-8000-00805F9B34FB"
    }, function(ret, err) {
        if (!err) {
            obj.isConnected = false;
            obj.isConnecting = false;
            alert("断开连接成功");
        } else {
            alert("code: " + err.code + " msg: " + err.msg);
            console.log("code: " + err.code + " msg: " + err.msg)
        }
    });
}
//发送数据
function onsendData(){
    var objsendData = obj
    api.require("cxgBluetoothClient").sendData({
        address: obj.address,
        UUID:"00001101-0000-1000-8000-00805F9B34FB",
        data: obj.data,
        isHex:false,
        charsetbj.returnStrCharset,
    },function(ret, err) {
        if (!err) {
            console.log(JSON.stringify(ret))
            alert(`${obj.data}
                发送成功`);
                // objsendData.receiveDataArr.push(obj.data)
                // add()
                // onsendDataServerClient()
                // onsyncServersInfo()
            // onsetReadDataCallback(objsendData)
        } else {
            alert("code: " + err.code + " msg: " + err.msg);
            console.log("code: " + err.code + " msg: " + err.msg)
        }
    });
}

//创建蓝牙服务UUID
function onstartServer(){
    var objsendData = obj
    api.require("cxgBluetoothServer").startServer({
        isNewStartServer: false,
        Server_UUID:SPPServerTpl.Server_UUID
    }, function(ret, err) {
        if (!err) {
            if (typeof ret.data == "object") {
                alert(JSON.stringify(ret.data));
                console.log(JSON.stringify(ret))
                obj.isConnected = true;
                // onsetReadDataCallback(objsendData)
                obj.address = ret.data.address;
                onsyncClientsInfo()
               
                onsetReadDataCallback(objsendData)
            }
            if (ret.data.disconnectAddress){
                alert("外设断开");
            }
            if (ret.data === true) {
                objsendData.isServerRun = true;
                // setReadDataCallbackServerClient(serverData)
                onsetReadDataCallback(objsendData)
                alert("创建服务成功");
            }
        } else {
            console.log("code: " + err.code + " msg: " + err.msg)
        }
    });
}
//连接蓝牙
function onconnect(){
    var objsendData = obj
    obj.isConnected = false;
    obj.isConnecting = true;
    api.require("cxgBluetoothClient").connect({
        address: obj.address,
        UUID:"00001101-0000-1000-8000-00805F9B34FB"
    },function(ret, err) {
        if (!err) {
            if (ret.data === true) {
                obj.isConnected = true;
                obj.isConnecting = false;
                // setReadDataCallbackServerClient()
                onsetReadDataCallback(objsendData)
                // onsyncClientsInfo(objsendData)
                // onsyncServersInfo(objsendData)
                alert("连接成功");
                onsyncServersInfo()
                // add()
            }
            if (ret.data.disconnectAddress) {
                obj.isConnected = false;
                obj.isConnecting = false;
                alert("断开连接成功");
            }
        } else {
            if(err.code == 5){
                obj.isConnected = false;
                obj.isConnecting = false;
                alert("该客户端已连接");
            }else{
                obj.isConnected = false;
                obj.isConnecting = false;
                alert('连接失败,请重新连接');
                console.log("code: " + err.code + " msg: " + err.msg)
            }
        }
    });
}
//设置读取数据回调
function onsetReadDataCallback(objsendData,isHex = false){
    api.require("cxgBluetoothClient").setReadDataCallback(
    {
        address: obj.address,
        UUID:"00001101-0000-1000-8000-00805F9B34FB",
        bufferSize: obj.bufferSize,
        isReturnHex: isHex,
        isNoReturnData: obj.isNoReturnData,
        returnStrCharsetbj.returnStrCharset,
    },
    (ret, err) => {
        if (!err) {
            if (ret.data === true) {
                objsendData.isReturnHex = isHex
                alert("设置成功")
                // return;
            }
            if (obj.receiveDataArr.length > 20) {
                obj.receiveDataArr = [];
            }
            objsendData.receiveDataArr.push(ret.data);
            alert(objsendData)
            add(objsendData.receiveDataArr)
            // console.log(JSON.stringify(obj))
        } else {
            objsendData.isConnected = false;
            // alert("code: " + err.codeJ + " msg: " + err.msg);
            // console.log("code: " + err.code + " msg: " + err.msg)
        }
    });
}
function add(receiveDataArr){
    receiveDataArr.forEach((item)=>{
        alert(item)
    })
    // alert(JSON.stringify(obj.data))
}
// onsetReadDataCallback()
//同步数据
function onsyncClientsInfo(){
    api.require("cxgBluetoothClient").syncClientsInfo({},
    function(ret, err) {
        if (!err) {
        //具体使用方法见demo
        // ret.data[0].isServerClient =obj.isServerClient
        console.log(JSON.stringify(ret.data))
        alert('客户端')
        } else {
            alert("code: " + err.code + " msg: " + err.msg);
        }
    });
}
//同步服务端数据
function onsyncServersInfo(){
    api.require("cxgBluetoothServer").syncServersInfo({},
        function(ret, err) {
            if (!err) {
                // ret.data[0].client.isNoReturnData = obj.isNoReturnData
                console.log(JSON.stringify(ret.data));
                alert(JSON.stringify(ret.data));
                alert('服务端')
            } else {
                alert("code: " + err.code + " msg: " + err.msg);
        }
    });
}
//关闭蓝牙服务
function onstopServer(){
    api.require("cxgBluetoothServer").stopServer({
        isRemove: false,
        Server_UUID:"00001101-0000-1000-8000-00805F9B34FB"
    }, function(ret, err) {
        if (!err) {
            alert("服务关闭");
        } else {
            alert("code: " + err.code + " msg: " + err.msg);
        }
    });
}
//读取数据
function setReadDataCallbackServerClient(serverData,isHex = false){
    console.log(JSON.stringify(serverData))
    api.require("cxgBluetoothServer").setReadDataCallbackServerClient(
    {
        address: serverData.address,
        UUID:"00001101-0000-1000-8000-00805F9B34FB",
        bufferSize: serverData.bufferSize,
        isReturnHex: serverData.isReturnHex,
        isNoReturnData: false,
    },
    function(ret, err) {
        if (!err) {
        if (ret.data === true) {
            alert("设置成功");
            return;
        }
        alert(ret.data);
        } else {
        alert("code: " + err.code + " msg: " + err.msg);
        }
  });
}
// setReadDataCallbackServerClient()
//发送数据
function onsendDataServerClient(){
    api.require("cxgBluetoothServer").sendDataServerClient({
        Server_UUID:"00001101-0000-1000-8000-00805F9B34FB",
        data: "九星",
        isHex:false,
        charset:"UTF-8"
    },function(ret, err) {
        if (!err) {
            console.log(JSON.stringify(ret))
            alert("发送成功");
        } else {
        alert("code: " + err.code + " msg: " + err.msg);
        }
    });
}
</script>
放到代代码块处试下
25
帖子
0
勋章
278
Y币

<script type="text/javascript">
var obj = {
        //"name":"t3-p3hyyy","address":"14:6B:9C:78:4A:B1"
        address : '7C:03:AB:AE:81:AA',
        UUID : '',
        data : 'hello,word',
        isHex : false,
        charset : 'UTF-8',
        bufferSize : 1024,
        isReturnHex :  true,
        isNoReturnData :  true,
        returnStrCharset : 'UTF-8',
        isConnected: false,
        isConnecting: false,
        isServerClient:true,
        receiveDataArr:[]
    }
var client={
    type: Object,
    required: true
}
var SPPServerTpl = {
    isServerRun: false,
    Server_UUID: "00001101-0000-1000-8000-00805F9B34FB",
    client: null
}
var  apiready = function(){
    var cxgBluetoothBase = api.require('cxgBluetoothBase');
    var cxgBluetoothClient = api.require('cxgBluetoothClient');
    var cxgBluetoothServer = api.require('cxgBluetoothServer');
    onsyncClientsInfo()
    onsyncServersInfo()
    onsetReadDataCallback(client)
}

//监听蓝牙状态
// function onisEnabledBluetooth(){
//     // console.log(obj)
//     api.require("cxgBluetoothBase").isEnabledBluetooth({}, function(ret, err) {
//         if (!err) {
//             alert(ret.state);
//             console.log(ret.state)
//         } else {
//             alert("code: " + err.code + " msg: " + err.msg);
//             console.log("code: " + err.code + " msg: " + err.msg)
//         }
//     });
// }
//打开蓝牙
function onopenBluetooth(){
    api.require("cxgBluetoothBase").openBluetooth({}, function(ret, err) {
        if (!err) {
            // alert(ret.state);
            // onstartServer();
            // onsetReadDataCallback()
            console.log(ret.state)
        } else {
            alert("code: " + err.code + " msg: " + err.msg);
        }
    });
}
//关闭蓝牙
function oncloseBluetooth(){
    api.require("cxgBluetoothBase").closeBluetooth({}, function(ret, err) {
        if (!err) {
            alert(ret.state);
            console.log(ret.state)
        } else {
            alert("code: " + err.code + " msg: " + err.msg);
            console.log("code: " + err.code + " msg: " + err.msg)
        }
    });
}
//监听蓝牙的状态变化, 多次返回
// function onlistenBluetoothStatus(){
//     api.require("cxgBluetoothBase").listenBluetoothStatus({}, function(ret, err) {
//         if (!err) {
//             alert(ret.status);
//             console.log(ret.state)
//         } else {
//             alert("code: " + err.code + " msg: " + err.msg);
//             console.log("code: " + err.code + " msg: " + err.msg)
//         }
//     });
// }
//获取已经配对的设备
// function onbondedDevices(){
//     api.require("cxgBluetoothBase").bondedDevices({}, function(ret, err) {
//         if (!err) {
//             console.log(JSON.stringify(ret.data))
//             alert(JSON.stringify(ret.data));
//         } else {
//             alert("code: " + err.code + " msg: " + err.msg);
//             console.log("code: " + err.code + " msg: " + err.msg)
//         }
//     });
// }
//搜索蓝牙中
function onisScanning(){
    api.require("cxgBluetoothBase").isScanning({}, function(ret, err) {
        if (!err) {
            alert(ret.state);
            console.log(ret.state)
        } else {
            alert("code: " + err.code + " msg: " + err.msg);
            console.log("code: " + err.code + " msg: " + err.msg)
        }
    });
}

//停止搜索蓝牙
function onstopScan(obj){
    api.require("cxgBluetoothBase").stopScan({}, function(ret, err) {
        if (!err) {
            alert("搜索成功,请开启蓝牙服务后连接设备")
            console.log(ret.state)
        } else {
            alert("code: " + err.code + " msg: " + err.msg);
            console.log("code: " + err.code + " msg: " + err.msg)
        }
    });
}
//搜索蓝牙
function onscan(){
    api.require("cxgBluetoothBase").scan({}, function(ret, err) {
        if (!err) {
            if (ret.data == "ACTION_DISCOVERY_FINISHED") {
                alert("未搜到相关设备,请重新搜索");
            } else {
                if(ret.data.name == 't3-p3hyyy' || ret.data.name == 'HONOR 9X'|| ret.data.name == '红米手机'){
                     obj.address = ret.data.address
                    onstopScan()
                }
                console.log(JSON.stringify(ret.data))
            }
        } else {
            alert("code: " + err.code + " msg: " + err.msg);
            console.log("code: " + err.code + " msg: " + err.msg)
        }
    });
}
function ondisconnect(){
    api.require("cxgBluetoothClient").disconnect({
        address: obj.address,
        UUID:"00001101-0000-1000-8000-00805F9B34FB"
    }, function(ret, err) {
        if (!err) {
            obj.isConnected = false;
            obj.isConnecting = false;
            alert("断开连接成功");
        } else {
            alert("code: " + err.code + " msg: " + err.msg);
            console.log("code: " + err.code + " msg: " + err.msg)
        }
    });
}
//发送数据
function onsendData(){
    var objsendData = obj
    api.require("cxgBluetoothClient").sendData({
        address: obj.address,
        UUID:"00001101-0000-1000-8000-00805F9B34FB",
        data: obj.data,
        isHex:false,
        charset:obj.returnStrCharset,
    },function(ret, err) {
        if (!err) {
            console.log(JSON.stringify(ret))
            alert(`${obj.data}
                发送成功`);
                // objsendData.receiveDataArr.push(obj.data)
                // add()
                // onsendDataServerClient()
                // onsyncServersInfo()
            // onsetReadDataCallback(objsendData)
        } else {
            alert("code: " + err.code + " msg: " + err.msg);
            console.log("code: " + err.code + " msg: " + err.msg)
        }
    });
}

//创建蓝牙服务UUID
function onstartServer(){
    var objsendData = obj
    api.require("cxgBluetoothServer").startServer({
        isNewStartServer: false,
        Server_UUID:SPPServerTpl.Server_UUID
    }, function(ret, err) {
        if (!err) {
            if (typeof ret.data == "object") {
                alert(JSON.stringify(ret.data));
                console.log(JSON.stringify(ret))
                obj.isConnected = true;
                // onsetReadDataCallback(objsendData)
                obj.address = ret.data.address;
                onsyncClientsInfo()
               
                onsetReadDataCallback(objsendData)
            }
            if (ret.data.disconnectAddress){
                alert("外设断开");
            }
            if (ret.data === true) {
                objsendData.isServerRun = true;
                // setReadDataCallbackServerClient(serverData)
                onsetReadDataCallback(objsendData)
                alert("创建服务成功");
            }
        } else {
            console.log("code: " + err.code + " msg: " + err.msg)
        }
    });
}
//连接蓝牙
function onconnect(){
    var objsendData = obj
    obj.isConnected = false;
    obj.isConnecting = true;
    api.require("cxgBluetoothClient").connect({
        address: obj.address,
        UUID:"00001101-0000-1000-8000-00805F9B34FB"
    },function(ret, err) {
        if (!err) {
            if (ret.data === true) {
                obj.isConnected = true;
                obj.isConnecting = false;
                // setReadDataCallbackServerClient()
                onsetReadDataCallback(objsendData)
                // onsyncClientsInfo(objsendData)
                // onsyncServersInfo(objsendData)
                alert("连接成功");
                onsyncServersInfo()
                // add()
            }
            if (ret.data.disconnectAddress) {
                obj.isConnected = false;
                obj.isConnecting = false;
                alert("断开连接成功");
            }
        } else {
            if(err.code == 5){
                obj.isConnected = false;
                obj.isConnecting = false;
                alert("该客户端已连接");
            }else{
                obj.isConnected = false;
                obj.isConnecting = false;
                alert('连接失败,请重新连接');
                console.log("code: " + err.code + " msg: " + err.msg)
            }
        }
    });
}
//设置读取数据回调
function onsetReadDataCallback(objsendData,isHex = false){
    api.require("cxgBluetoothClient").setReadDataCallback(
    {
        address: obj.address,
        UUID:"00001101-0000-1000-8000-00805F9B34FB",
        bufferSize: obj.bufferSize,
        isReturnHex: isHex,
        isNoReturnData: obj.isNoReturnData,
        returnStrCharset:obj.returnStrCharset,
    },
    (ret, err) => {
        if (!err) {
            if (ret.data === true) {
                objsendData.isReturnHex = isHex
                alert("设置成功")
                // return;
            }
            if (obj.receiveDataArr.length > 20) {
                obj.receiveDataArr = [];
            }
            objsendData.receiveDataArr.push(ret.data);
            alert(objsendData)
            add(objsendData.receiveDataArr)
            // console.log(JSON.stringify(obj))
        } else {
            objsendData.isConnected = false;
            // alert("code: " + err.codeJ + " msg: " + err.msg);
            // console.log("code: " + err.code + " msg: " + err.msg)
        }
    });
}
function add(receiveDataArr){
    receiveDataArr.forEach((item)=>{
        alert(item)
    })
    // alert(JSON.stringify(obj.data))
}
// onsetReadDataCallback()
//同步数据
function onsyncClientsInfo(){
    api.require("cxgBluetoothClient").syncClientsInfo({},
    function(ret, err) {
        if (!err) {
        //具体使用方法见demo
        // ret.data[0].isServerClient =obj.isServerClient
        console.log(JSON.stringify(ret.data))
        alert('客户端')
        } else {
            alert("code: " + err.code + " msg: " + err.msg);
        }
    });
}
//同步服务端数据
function onsyncServersInfo(){
    api.require("cxgBluetoothServer").syncServersInfo({},
        function(ret, err) {
            if (!err) {
                // ret.data[0].client.isNoReturnData = obj.isNoReturnData
                console.log(JSON.stringify(ret.data));
                alert(JSON.stringify(ret.data));
                alert('服务端')
            } else {
                alert("code: " + err.code + " msg: " + err.msg);
        }
    });
}
//关闭蓝牙服务
function onstopServer(){
    api.require("cxgBluetoothServer").stopServer({
        isRemove: false,
        Server_UUID:"00001101-0000-1000-8000-00805F9B34FB"
    }, function(ret, err) {
        if (!err) {
            alert("服务关闭");
        } else {
            alert("code: " + err.code + " msg: " + err.msg);
        }
    });
}
//读取数据
function setReadDataCallbackServerClient(serverData,isHex = false){
    console.log(JSON.stringify(serverData))
    api.require("cxgBluetoothServer").setReadDataCallbackServerClient(
    {
        address: serverData.address,
        UUID:"00001101-0000-1000-8000-00805F9B34FB",
        bufferSize: serverData.bufferSize,
        isReturnHex: serverData.isReturnHex,
        isNoReturnData: false,
    },
    function(ret, err) {
        if (!err) {
        if (ret.data === true) {
            alert("设置成功");
            return;
        }
        alert(ret.data);
        } else {
        alert("code: " + err.code + " msg: " + err.msg);
        }
  });
}
// setReadDataCallbackServerClient()
//发送数据
// function onsendDataServerClient(){
//     api.require("cxgBluetoothServer").sendDataServerClient({
//         Server_UUID:"00001101-0000-1000-8000-00805F9B34FB",
//         data: "九星",
//         isHex:false,
//         charset:"UTF-8"
//     },function(ret, err) {
//         if (!err) {
//             console.log(JSON.stringify(ret))
//             alert("发送成功");
//         } else {
//         alert("code: " + err.code + " msg: " + err.msg);
//         }
//     });
// }
</script>


123下一页
您需要登录后才可以回帖 登录

本版积分规则