帖子
帖子
用户
博客
课程
123下一页
返回列表 发新帖
25
帖子
0
勋章
278
Y币
技术咨询-特特 · 2022-9-26 16:29放到代代码块处试下

代代码块在哪?
回帖的时候有  </>
25
帖子
0
勋章
278
Y币
  1. <script type="text/javascript">
  2. var obj = {
  3.         //"name":"t3-p3hyyy","address":"14:6B:9C:78:4A:B1"
  4.         address : '7C:03:AB:AE:81:AA',
  5.         UUID : '00001101-0000-1000-8000-00805F9B34FB',
  6.         data : 'hello,word',
  7.         isHex : false,
  8.         charset : 'UTF-8',
  9.         bufferSize : 1024,
  10.         isReturnHex :  true,
  11.         isNoReturnData :  true,
  12.         returnStrCharset : 'UTF-8',
  13.         isConnected: false,
  14.         isConnecting: false,
  15.         isServerClient:true,
  16.         receiveDataArr:[]
  17.     }
  18. var client={
  19.     type: Object,
  20.     required: true
  21. }
  22. var SPPServerTpl = {
  23.     isServerRun: false,
  24.     Server_UUID: "00001101-0000-1000-8000-00805F9B34FB",
  25.     client: null
  26. }
  27. var  apiready = function(){
  28.     var cxgBluetoothBase = api.require('cxgBluetoothBase');
  29.     var cxgBluetoothClient = api.require('cxgBluetoothClient');
  30.     var cxgBluetoothServer = api.require('cxgBluetoothServer');
  31.     onsyncClientsInfo()
  32.     onsyncServersInfo()
  33.     onsetReadDataCallback(client)
  34.     setReadDataCallbackServerClient()
  35. }

  36. //监听蓝牙状态
  37. // function onisEnabledBluetooth(){
  38. //     // console.log(obj)
  39. //     api.require("cxgBluetoothBase").isEnabledBluetooth({}, function(ret, err) {
  40. //         if (!err) {
  41. //             alert(ret.state);
  42. //             console.log(ret.state)
  43. //         } else {
  44. //             alert("code: " + err.code + " msg: " + err.msg);
  45. //             console.log("code: " + err.code + " msg: " + err.msg)
  46. //         }
  47. //     });
  48. // }
  49. //打开蓝牙
  50. function onopenBluetooth(){
  51.     api.require("cxgBluetoothBase").openBluetooth({}, function(ret, err) {
  52.         if (!err) {
  53.             // alert(ret.state);
  54.             // onstartServer();
  55.             console.log(ret.state)
  56.         } else {
  57.             alert("code: " + err.code + " msg: " + err.msg);
  58.         }
  59.     });
  60. }
  61. //关闭蓝牙
  62. function oncloseBluetooth(){
  63.     api.require("cxgBluetoothBase").closeBluetooth({}, function(ret, err) {
  64.         if (!err) {
  65.             alert(ret.state);
  66.             console.log(ret.state)
  67.         } else {
  68.             alert("code: " + err.code + " msg: " + err.msg);
  69.             console.log("code: " + err.code + " msg: " + err.msg)
  70.         }
  71.     });
  72. }
  73. //监听蓝牙的状态变化, 多次返回
  74. // function onlistenBluetoothStatus(){
  75. //     api.require("cxgBluetoothBase").listenBluetoothStatus({}, function(ret, err) {
  76. //         if (!err) {
  77. //             alert(ret.status);
  78. //             console.log(ret.state)
  79. //         } else {
  80. //             alert("code: " + err.code + " msg: " + err.msg);
  81. //             console.log("code: " + err.code + " msg: " + err.msg)
  82. //         }
  83. //     });
  84. // }
  85. //获取已经配对的设备
  86. // function onbondedDevices(){
  87. //     api.require("cxgBluetoothBase").bondedDevices({}, function(ret, err) {
  88. //         if (!err) {
  89. //             console.log(JSON.stringify(ret.data))
  90. //             alert(JSON.stringify(ret.data));
  91. //         } else {
  92. //             alert("code: " + err.code + " msg: " + err.msg);
  93. //             console.log("code: " + err.code + " msg: " + err.msg)
  94. //         }
  95. //     });
  96. // }
  97. //搜索蓝牙中
  98. function onisScanning(){
  99.     api.require("cxgBluetoothBase").isScanning({}, function(ret, err) {
  100.         if (!err) {
  101.             alert(ret.state);
  102.             console.log(ret.state)
  103.         } else {
  104.             alert("code: " + err.code + " msg: " + err.msg);
  105.             console.log("code: " + err.code + " msg: " + err.msg)
  106.         }
  107.     });
  108. }

  109. //停止搜索蓝牙
  110. function onstopScan(obj){
  111.     api.require("cxgBluetoothBase").stopScan({}, function(ret, err) {
  112.         if (!err) {
  113.             alert("搜索成功,请开启蓝牙服务后连接设备")
  114.             console.log(ret.state)
  115.         } else {
  116.             alert("code: " + err.code + " msg: " + err.msg);
  117.             console.log("code: " + err.code + " msg: " + err.msg)
  118.         }
  119.     });
  120. }
  121. //搜索蓝牙
  122. function onscan(){
  123.     api.require("cxgBluetoothBase").scan({}, function(ret, err) {
  124.         if (!err) {
  125.             if (ret.data == "ACTION_DISCOVERY_FINISHED") {
  126.                 alert("未搜到相关设备,请重新搜索");
  127.             } else {
  128.                 if(ret.data.name == 't3-p3hyyy' || ret.data.name == 'HONOR 9X'|| ret.data.name == '红米手机'){
  129.                      obj.address = ret.data.address
  130.                     onstopScan()
  131.                 }
  132.                 console.log(JSON.stringify(ret.data))
  133.             }
  134.         } else {
  135.             alert("code: " + err.code + " msg: " + err.msg);
  136.             console.log("code: " + err.code + " msg: " + err.msg)
  137.         }
  138.     });
  139. }
  140. function ondisconnect(){
  141.     api.require("cxgBluetoothClient").disconnect({
  142.         address: obj.address,
  143.         UUID:obj.UUID
  144.     }, function(ret, err) {
  145.         if (!err) {
  146.             obj.isConnected = false;
  147.             obj.isConnecting = false;
  148.             alert("断开连接成功");
  149.         } else {
  150.             alert("code: " + err.code + " msg: " + err.msg);
  151.             console.log("code: " + err.code + " msg: " + err.msg)
  152.         }
  153.     });
  154. }
  155. //发送数据
  156. function onsendData(){
  157.     var objsendData = obj
  158.     api.require("cxgBluetoothClient").sendData({
  159.         address: objsendData.address,
  160.         UUID:objsendData.UUID,
  161.         data: objsendData.data,
  162.         isHex:false,
  163.         charset:objsendData.charset,
  164.     },function(ret, err) {
  165.         if (!err) {
  166.             alert(`${obj.data}
  167.                 发送成功`);
  168.         } else {
  169.             alert("code: " + err.code + " msg: " + err.msg);
  170.             console.log("code: " + err.code + " msg: " + err.msg)
  171.         }
  172.     });
  173. }

  174. //创建蓝牙服务UUID
  175. function onstartServer(){
  176.     var objsendData = obj
  177.     api.require("cxgBluetoothServer").startServer({
  178.         isNewStartServer: false,
  179.         Server_UUID:SPPServerTpl.Server_UUID
  180.     }, function(ret, err) {
  181.         if (!err) {
  182.            
  183.             if (typeof ret.data == "object") {
  184.                 if(ret.data.address){
  185.                     let client = obj;
  186.                     client.name = ret.data.name;
  187.                     client.address = ret.data.address;
  188.                     client.isConnected = true;
  189.                     SPPServerTpl.client = client
  190.                     setReadDataCallbackServerClient(SPPServerTpl)
  191.                     // onsetReadDataCallback(client)
  192.                     // alert(SPPServerTpl.client.data)
  193.                 }
  194.                 // alert(JSON.stringify(ret.data));
  195.                 // console.log(JSON.stringify(ret))
  196.                 // obj.isConnected = true;
  197.                 // obj.address = ret.data.address;
  198.                 // onsyncClientsInfo()
  199.                
  200.             }
  201.             if (ret.data.disconnectAddress){
  202.                 alert("外设断开");
  203.             }
  204.             if (ret.data === true) {
  205.                 SPPServerTpl.isServerRun = true;
  206.                 // onsetReadDataCallback(client)
  207.                 setReadDataCallbackServerClient(SPPServerTpl)
  208.                 // onsetReadDataCallback(objsendData)
  209.                 alert("创建服务成功");
  210.             }
  211.         } else {
  212.             console.log("code: " + err.code + " msg: " + err.msg)
  213.         }
  214.     });
  215. }
  216. //连接蓝牙
  217. function onconnect(){
  218.     var objsendData = obj
  219.     objsendData.isConnected = false;
  220.     objsendData.isConnecting = true;
  221.     api.require("cxgBluetoothClient").connect({
  222.         address: objsendData.address,
  223.         UUID:objsendData.UUID
  224.     },function(ret, err) {
  225.         if (!err) {
  226.             if (ret.data === true) {
  227.                 objsendData.isConnected = true;
  228.                 objsendData.isConnecting = false;
  229.                 // setReadDataCallbackServerClient()
  230.                 onsetReadDataCallback(objsendData)
  231.                 // onsyncClientsInfo(objsendData)
  232.                 // onsyncServersInfo(objsendData)
  233.                 alert("连接成功");
  234.                 onsyncServersInfo()
  235.                 // add()
  236.             }
  237.             if (ret.data.disconnectAddress) {
  238.                 objsendData.isConnected = false;
  239.                 objsendData.isConnecting = false;
  240.                 alert("断开连接成功");
  241.             }
  242.         } else {
  243.             if(err.code == 5){
  244.                 objsendData.isConnected = false;
  245.                 objsendData.isConnecting = false;
  246.                 alert("该客户端已连接");
  247.             }else{
  248.                 objsendData.isConnected = false;
  249.                 objsendData.isConnecting = false;
  250.                 alert('连接失败,请重新连接');
  251.                 console.log("code: " + err.code + " msg: " + err.msg)
  252.             }
  253.         }
  254.     });
  255. }
  256. //设置读取数据回调
  257. function onsetReadDataCallback(objsendData,isHex = false){
  258.     api.require("cxgBluetoothClient").setReadDataCallback(
  259.     {
  260.         address: objsendData.address,
  261.         UUID:objsendData.UUID,
  262.         bufferSize: objsendData.bufferSize,
  263.         isReturnHex: objsendData.isReturnHex,
  264.         isNoReturnData: false,
  265.         returnStrCharset:objsendData.returnStrCharset,
  266.     },
  267.     (ret, err) => {
  268.         if (!err) {
  269.             if (ret.data === true) {
  270.                 objsendData.isReturnHex = isHex
  271.                 alert("设置成功")
  272.                 return;
  273.             }
  274.             if (objsendData.receiveDataArr.length > 20) {
  275.                 objsendData.receiveDataArr = [];
  276.             }
  277.             objsendData.receiveDataArr.push(ret.data);
  278.             alert(objsendData)
  279.             // add(objsendData.receiveDataArr)
  280.             // console.log(JSON.stringify(obj))
  281.         } else {
  282.             objsendData.isConnected = false;
  283.             alert("code: " + err.codeJ + " msg: " + err.msg);
  284.             // console.log("code: " + err.code + " msg: " + err.msg)
  285.         }
  286.     });
  287. }
  288. function add(receiveDataArr){
  289.     receiveDataArr.forEach((item)=>{
  290.         alert(item)
  291.     })
  292.     // alert(JSON.stringify(obj.data))
  293. }
  294. // onsetReadDataCallback()
  295. //同步数据
  296. function onsyncClientsInfo(){
  297.     api.require("cxgBluetoothClient").syncClientsInfo({},
  298.     function(ret, err) {
  299.         if (!err) {
  300.         //具体使用方法见demo
  301.         // ret.data[0].isServerClient =obj.isServerClient
  302.         console.log(JSON.stringify(ret.data))
  303.         alert('客户端')
  304.         } else {
  305.             alert("code: " + err.code + " msg: " + err.msg);
  306.         }
  307.     });
  308. }
  309. //同步服务端数据
  310. function onsyncServersInfo(){
  311.     api.require("cxgBluetoothServer").syncServersInfo({},
  312.         function(ret, err) {
  313.             if (!err) {
  314.                 // ret.data[0].client.isNoReturnData = obj.isNoReturnData
  315.                 console.log(JSON.stringify(ret.data));
  316.                 alert(JSON.stringify(ret.data));
  317.                 alert('服务端')
  318.             } else {
  319.                 alert("code: " + err.code + " msg: " + err.msg);
  320.         }
  321.     });
  322. }
  323. //关闭蓝牙服务
  324. function onstopServer(){
  325.     api.require("cxgBluetoothServer").stopServer({
  326.         isRemove: false,
  327.         Server_UUID:obj.UUID
  328.     }, function(ret, err) {
  329.         if (!err) {
  330.             alert("服务关闭");
  331.         } else {
  332.             alert("code: " + err.code + " msg: " + err.msg);
  333.         }
  334.     });
  335. }
  336. //读取数据
  337. function setReadDataCallbackServerClient(SPPServerTpl,isHex = false){
  338.     api.require("cxgBluetoothServer").setReadDataCallbackServerClient({
  339.         address: SPPServerTpl.address,
  340.         UUID:SPPServerTpl.Server_UUID,
  341.         bufferSize: SPPServerTpl.bufferSize,
  342.         isReturnHex: SPPServerTpl.isReturnHex,
  343.         isNoReturnData: SPPServerTpl.isNoReturnData,
  344.         returnStrCharset: SPPServerTpl.returnStrCharset
  345.     },
  346.     function(ret, err) {
  347.         if (!err) {
  348.         if (ret.data === true) {
  349.             alert("设置成功");
  350.             return;
  351.         }
  352.             alert(ret.data);
  353.         } else {
  354.             alert("code: " + err.code + " msg: " + err.msg);
  355.         }
  356.   });
  357. }
  358. // setReadDataCallbackServerClient()
  359. //发送数据
  360. // function onsendDataServerClient(){
  361. //     api.require("cxgBluetoothServer").sendDataServerClient({
  362. //         Server_UUID:"00001101-0000-1000-8000-00805F9B34FB",
  363. //         data: "九星",
  364. //         isHex:false,
  365. //         charset:"UTF-8"
  366. //     },function(ret, err) {
  367. //         if (!err) {
  368. //             console.log(JSON.stringify(ret))
  369. //             alert("发送成功");
  370. //         } else {
  371. //         alert("code: " + err.code + " msg: " + err.msg);
  372. //         }
  373. //     });
  374. // }
  375. </script>
复制代码
25
帖子
0
勋章
278
Y币
  1. <script type="text/javascript">
  2. var obj = {
  3.         //"name":"t3-p3hyyy","address":"14:6B:9C:78:4A:B1"
  4.         address : '7C:03:AB:AE:81:AA',
  5.         UUID : '00001101-0000-1000-8000-00805F9B34FB',
  6.         data : 'hello,word',
  7.         isHex : false,
  8.         charset : 'UTF-8',
  9.         bufferSize : 1024,
  10.         isReturnHex :  true,
  11.         isNoReturnData :  true,
  12.         returnStrCharset : 'UTF-8',
  13.         isConnected: false,
  14.         isConnecting: false,
  15.         isServerClient:true,
  16.         receiveDataArr:[]
  17.     }
  18. var client={
  19.     type: Object,
  20.     required: true
  21. }
  22. var SPPServerTpl = {
  23.     isServerRun: false,
  24.     Server_UUID: "00001101-0000-1000-8000-00805F9B34FB",
  25.     client: null
  26. }
  27. var  apiready = function(){
  28.     var cxgBluetoothBase = api.require('cxgBluetoothBase');
  29.     var cxgBluetoothClient = api.require('cxgBluetoothClient');
  30.     var cxgBluetoothServer = api.require('cxgBluetoothServer');
  31.     onsyncClientsInfo()
  32.     onsyncServersInfo()
  33.     onsetReadDataCallback(client)
  34.     setReadDataCallbackServerClient()
  35. }

  36. //监听蓝牙状态
  37. // function onisEnabledBluetooth(){
  38. //     // console.log(obj)
  39. //     api.require("cxgBluetoothBase").isEnabledBluetooth({}, function(ret, err) {
  40. //         if (!err) {
  41. //             alert(ret.state);
  42. //             console.log(ret.state)
  43. //         } else {
  44. //             alert("code: " + err.code + " msg: " + err.msg);
  45. //             console.log("code: " + err.code + " msg: " + err.msg)
  46. //         }
  47. //     });
  48. // }
  49. //打开蓝牙
  50. function onopenBluetooth(){
  51.     api.require("cxgBluetoothBase").openBluetooth({}, function(ret, err) {
  52.         if (!err) {
  53.             // alert(ret.state);
  54.             // onstartServer();
  55.             console.log(ret.state)
  56.         } else {
  57.             alert("code: " + err.code + " msg: " + err.msg);
  58.         }
  59.     });
  60. }
  61. //关闭蓝牙
  62. function oncloseBluetooth(){
  63.     api.require("cxgBluetoothBase").closeBluetooth({}, function(ret, err) {
  64.         if (!err) {
  65.             alert(ret.state);
  66.             console.log(ret.state)
  67.         } else {
  68.             alert("code: " + err.code + " msg: " + err.msg);
  69.             console.log("code: " + err.code + " msg: " + err.msg)
  70.         }
  71.     });
  72. }
  73. //监听蓝牙的状态变化, 多次返回
  74. // function onlistenBluetoothStatus(){
  75. //     api.require("cxgBluetoothBase").listenBluetoothStatus({}, function(ret, err) {
  76. //         if (!err) {
  77. //             alert(ret.status);
  78. //             console.log(ret.state)
  79. //         } else {
  80. //             alert("code: " + err.code + " msg: " + err.msg);
  81. //             console.log("code: " + err.code + " msg: " + err.msg)
  82. //         }
  83. //     });
  84. // }
  85. //获取已经配对的设备
  86. // function onbondedDevices(){
  87. //     api.require("cxgBluetoothBase").bondedDevices({}, function(ret, err) {
  88. //         if (!err) {
  89. //             console.log(JSON.stringify(ret.data))
  90. //             alert(JSON.stringify(ret.data));
  91. //         } else {
  92. //             alert("code: " + err.code + " msg: " + err.msg);
  93. //             console.log("code: " + err.code + " msg: " + err.msg)
  94. //         }
  95. //     });
  96. // }
  97. //搜索蓝牙中
  98. function onisScanning(){
  99.     api.require("cxgBluetoothBase").isScanning({}, function(ret, err) {
  100.         if (!err) {
  101.             alert(ret.state);
  102.             console.log(ret.state)
  103.         } else {
  104.             alert("code: " + err.code + " msg: " + err.msg);
  105.             console.log("code: " + err.code + " msg: " + err.msg)
  106.         }
  107.     });
  108. }

  109. //停止搜索蓝牙
  110. function onstopScan(obj){
  111.     api.require("cxgBluetoothBase").stopScan({}, function(ret, err) {
  112.         if (!err) {
  113.             alert("搜索成功,请开启蓝牙服务后连接设备")
  114.             console.log(ret.state)
  115.         } else {
  116.             alert("code: " + err.code + " msg: " + err.msg);
  117.             console.log("code: " + err.code + " msg: " + err.msg)
  118.         }
  119.     });
  120. }
  121. //搜索蓝牙
  122. function onscan(){
  123.     api.require("cxgBluetoothBase").scan({}, function(ret, err) {
  124.         if (!err) {
  125.             if (ret.data == "ACTION_DISCOVERY_FINISHED") {
  126.                 alert("未搜到相关设备,请重新搜索");
  127.             } else {
  128.                 if(ret.data.name == 't3-p3hyyy' || ret.data.name == 'HONOR 9X'|| ret.data.name == '红米手机'){
  129.                      obj.address = ret.data.address
  130.                     onstopScan()
  131.                 }
  132.                 console.log(JSON.stringify(ret.data))
  133.             }
  134.         } else {
  135.             alert("code: " + err.code + " msg: " + err.msg);
  136.             console.log("code: " + err.code + " msg: " + err.msg)
  137.         }
  138.     });
  139. }
  140. function ondisconnect(){
  141.     api.require("cxgBluetoothClient").disconnect({
  142.         address: obj.address,
  143.         UUID:obj.UUID
  144.     }, function(ret, err) {
  145.         if (!err) {
  146.             obj.isConnected = false;
  147.             obj.isConnecting = false;
  148.             alert("断开连接成功");
  149.         } else {
  150.             alert("code: " + err.code + " msg: " + err.msg);
  151.             console.log("code: " + err.code + " msg: " + err.msg)
  152.         }
  153.     });
  154. }
  155. //发送数据
  156. function onsendData(){
  157.     var objsendData = obj
  158.     api.require("cxgBluetoothClient").sendData({
  159.         address: objsendData.address,
  160.         UUID:objsendData.UUID,
  161.         data: objsendData.data,
  162.         isHex:false,
  163.         charset:objsendData.charset,
  164.     },function(ret, err) {
  165.         if (!err) {
  166.             alert(`${obj.data}
  167.                 发送成功`);
  168.         } else {
  169.             alert("code: " + err.code + " msg: " + err.msg);
  170.             console.log("code: " + err.code + " msg: " + err.msg)
  171.         }
  172.     });
  173. }

  174. //创建蓝牙服务UUID
  175. function onstartServer(){
  176.     var objsendData = obj
  177.     api.require("cxgBluetoothServer").startServer({
  178.         isNewStartServer: false,
  179.         Server_UUID:SPPServerTpl.Server_UUID
  180.     }, function(ret, err) {
  181.         if (!err) {
  182.            
  183.             if (typeof ret.data == "object") {
  184.                 if(ret.data.address){
  185.                     let client = obj;
  186.                     client.name = ret.data.name;
  187.                     client.address = ret.data.address;
  188.                     client.isConnected = true;
  189.                     SPPServerTpl.client = client
  190.                     setReadDataCallbackServerClient(SPPServerTpl)
  191.                     // onsetReadDataCallback(client)
  192.                     // alert(SPPServerTpl.client.data)
  193.                 }
  194.                 // alert(JSON.stringify(ret.data));
  195.                 // console.log(JSON.stringify(ret))
  196.                 // obj.isConnected = true;
  197.                 // obj.address = ret.data.address;
  198.                 // onsyncClientsInfo()
  199.                
  200.             }
  201.             if (ret.data.disconnectAddress){
  202.                 alert("外设断开");
  203.             }
  204.             if (ret.data === true) {
  205.                 SPPServerTpl.isServerRun = true;
  206.                 // onsetReadDataCallback(client)
  207.                 setReadDataCallbackServerClient(SPPServerTpl)
  208.                 // onsetReadDataCallback(objsendData)
  209.                 alert("创建服务成功");
  210.             }
  211.         } else {
  212.             console.log("code: " + err.code + " msg: " + err.msg)
  213.         }
  214.     });
  215. }
  216. //连接蓝牙
  217. function onconnect(){
  218.     var objsendData = obj
  219.     objsendData.isConnected = false;
  220.     objsendData.isConnecting = true;
  221.     api.require("cxgBluetoothClient").connect({
  222.         address: objsendData.address,
  223.         UUID:objsendData.UUID
  224.     },function(ret, err) {
  225.         if (!err) {
  226.             if (ret.data === true) {
  227.                 objsendData.isConnected = true;
  228.                 objsendData.isConnecting = false;
  229.                 // setReadDataCallbackServerClient()
  230.                 onsetReadDataCallback(objsendData)
  231.                 // onsyncClientsInfo(objsendData)
  232.                 // onsyncServersInfo(objsendData)
  233.                 alert("连接成功");
  234.                 onsyncServersInfo()
  235.                 // add()
  236.             }
  237.             if (ret.data.disconnectAddress) {
  238.                 objsendData.isConnected = false;
  239.                 objsendData.isConnecting = false;
  240.                 alert("断开连接成功");
  241.             }
  242.         } else {
  243.             if(err.code == 5){
  244.                 objsendData.isConnected = false;
  245.                 objsendData.isConnecting = false;
  246.                 alert("该客户端已连接");
  247.             }else{
  248.                 objsendData.isConnected = false;
  249.                 objsendData.isConnecting = false;
  250.                 alert('连接失败,请重新连接');
  251.                 console.log("code: " + err.code + " msg: " + err.msg)
  252.             }
  253.         }
  254.     });
  255. }
  256. //设置读取数据回调
  257. function onsetReadDataCallback(objsendData,isHex = false){
  258.     api.require("cxgBluetoothClient").setReadDataCallback(
  259.     {
  260.         address: objsendData.address,
  261.         UUID:objsendData.UUID,
  262.         bufferSize: objsendData.bufferSize,
  263.         isReturnHex: objsendData.isReturnHex,
  264.         isNoReturnData: false,
  265.         returnStrCharset:objsendData.returnStrCharset,
  266.     },
  267.     (ret, err) => {
  268.         if (!err) {
  269.             if (ret.data === true) {
  270.                 objsendData.isReturnHex = isHex
  271.                 alert("设置成功")
  272.                 return;
  273.             }
  274.             if (objsendData.receiveDataArr.length > 20) {
  275.                 objsendData.receiveDataArr = [];
  276.             }
  277.             objsendData.receiveDataArr.push(ret.data);
  278.             alert(objsendData)
  279.             // add(objsendData.receiveDataArr)
  280.             // console.log(JSON.stringify(obj))
  281.         } else {
  282.             objsendData.isConnected = false;
  283.             alert("code: " + err.codeJ + " msg: " + err.msg);
  284.             // console.log("code: " + err.code + " msg: " + err.msg)
  285.         }
  286.     });
  287. }
  288. function add(receiveDataArr){
  289.     receiveDataArr.forEach((item)=>{
  290.         alert(item)
  291.     })
  292.     // alert(JSON.stringify(obj.data))
  293. }
  294. // onsetReadDataCallback()
  295. //同步数据
  296. function onsyncClientsInfo(){
  297.     api.require("cxgBluetoothClient").syncClientsInfo({},
  298.     function(ret, err) {
  299.         if (!err) {
  300.         //具体使用方法见demo
  301.         // ret.data[0].isServerClient =obj.isServerClient
  302.         console.log(JSON.stringify(ret.data))
  303.         alert('客户端')
  304.         } else {
  305.             alert("code: " + err.code + " msg: " + err.msg);
  306.         }
  307.     });
  308. }
  309. //同步服务端数据
  310. function onsyncServersInfo(){
  311.     api.require("cxgBluetoothServer").syncServersInfo({},
  312.         function(ret, err) {
  313.             if (!err) {
  314.                 // ret.data[0].client.isNoReturnData = obj.isNoReturnData
  315.                 console.log(JSON.stringify(ret.data));
  316.                 alert(JSON.stringify(ret.data));
  317.                 alert('服务端')
  318.             } else {
  319.                 alert("code: " + err.code + " msg: " + err.msg);
  320.         }
  321.     });
  322. }
  323. //关闭蓝牙服务
  324. function onstopServer(){
  325.     api.require("cxgBluetoothServer").stopServer({
  326.         isRemove: false,
  327.         Server_UUID:obj.UUID
  328.     }, function(ret, err) {
  329.         if (!err) {
  330.             alert("服务关闭");
  331.         } else {
  332.             alert("code: " + err.code + " msg: " + err.msg);
  333.         }
  334.     });
  335. }
  336. //读取数据
  337. function setReadDataCallbackServerClient(SPPServerTpl,isHex = false){
  338.     api.require("cxgBluetoothServer").setReadDataCallbackServerClient({
  339.         address: SPPServerTpl.address,
  340.         UUID:SPPServerTpl.Server_UUID,
  341.         bufferSize: SPPServerTpl.bufferSize,
  342.         isReturnHex: SPPServerTpl.isReturnHex,
  343.         isNoReturnData: SPPServerTpl.isNoReturnData,
  344.         returnStrCharset: SPPServerTpl.returnStrCharset
  345.     },
  346.     function(ret, err) {
  347.         if (!err) {
  348.         if (ret.data === true) {
  349.             alert("设置成功");
  350.             return;
  351.         }
  352.             alert(ret.data);
  353.         } else {
  354.             alert("code: " + err.code + " msg: " + err.msg);
  355.         }
  356.   });
  357. }
  358. // setReadDataCallbackServerClient()
  359. //发送数据
  360. // function onsendDataServerClient(){
  361. //     api.require("cxgBluetoothServer").sendDataServerClient({
  362. //         Server_UUID:"00001101-0000-1000-8000-00805F9B34FB",
  363. //         data: "九星",
  364. //         isHex:false,
  365. //         charset:"UTF-8"
  366. //     },function(ret, err) {
  367. //         if (!err) {
  368. //             console.log(JSON.stringify(ret))
  369. //             alert("发送成功");
  370. //         } else {
  371. //         alert("code: " + err.code + " msg: " + err.msg);
  372. //         }
  373. //     });
  374. // }
  375. </script>
复制代码
25
帖子
0
勋章
278
Y币
BIP415821 · 2022-9-26 16:46代代码块在哪?
  1. <script type="text/javascript">
  2. var obj = {
  3.         //"name":"t3-p3hyyy","address":"14:6B:9C:78:4A:B1"
  4.         address : '7C:03:AB:AE:81:AA',
  5.         UUID : '00001101-0000-1000-8000-00805F9B34FB',
  6.         data : 'hello,word',
  7.         isHex : false,
  8.         charset : 'UTF-8',
  9.         bufferSize : 1024,
  10.         isReturnHex :  true,
  11.         isNoReturnData :  true,
  12.         returnStrCharset : 'UTF-8',
  13.         isConnected: false,
  14.         isConnecting: false,
  15.         isServerClient:true,
  16.         receiveDataArr:[]
  17.     }
  18. var client={
  19.     type: Object,
  20.     required: true
  21. }
  22. var SPPServerTpl = {
  23.     isServerRun: false,
  24.     Server_UUID: "00001101-0000-1000-8000-00805F9B34FB",
  25.     client: null
  26. }
  27. var  apiready = function(){
  28.     var cxgBluetoothBase = api.require('cxgBluetoothBase');
  29.     var cxgBluetoothClient = api.require('cxgBluetoothClient');
  30.     var cxgBluetoothServer = api.require('cxgBluetoothServer');
  31.     onsyncClientsInfo()
  32.     onsyncServersInfo()
  33.     onsetReadDataCallback(client)
  34.     setReadDataCallbackServerClient()
  35. }

  36. //监听蓝牙状态
  37. // function onisEnabledBluetooth(){
  38. //     // console.log(obj)
  39. //     api.require("cxgBluetoothBase").isEnabledBluetooth({}, function(ret, err) {
  40. //         if (!err) {
  41. //             alert(ret.state);
  42. //             console.log(ret.state)
  43. //         } else {
  44. //             alert("code: " + err.code + " msg: " + err.msg);
  45. //             console.log("code: " + err.code + " msg: " + err.msg)
  46. //         }
  47. //     });
  48. // }
  49. //打开蓝牙
  50. function onopenBluetooth(){
  51.     api.require("cxgBluetoothBase").openBluetooth({}, function(ret, err) {
  52.         if (!err) {
  53.             // alert(ret.state);
  54.             // onstartServer();
  55.             console.log(ret.state)
  56.         } else {
  57.             alert("code: " + err.code + " msg: " + err.msg);
  58.         }
  59.     });
  60. }
  61. //关闭蓝牙
  62. function oncloseBluetooth(){
  63.     api.require("cxgBluetoothBase").closeBluetooth({}, function(ret, err) {
  64.         if (!err) {
  65.             alert(ret.state);
  66.             console.log(ret.state)
  67.         } else {
  68.             alert("code: " + err.code + " msg: " + err.msg);
  69.             console.log("code: " + err.code + " msg: " + err.msg)
  70.         }
  71.     });
  72. }
  73. //监听蓝牙的状态变化, 多次返回
  74. // function onlistenBluetoothStatus(){
  75. //     api.require("cxgBluetoothBase").listenBluetoothStatus({}, function(ret, err) {
  76. //         if (!err) {
  77. //             alert(ret.status);
  78. //             console.log(ret.state)
  79. //         } else {
  80. //             alert("code: " + err.code + " msg: " + err.msg);
  81. //             console.log("code: " + err.code + " msg: " + err.msg)
  82. //         }
  83. //     });
  84. // }
  85. //获取已经配对的设备
  86. // function onbondedDevices(){
  87. //     api.require("cxgBluetoothBase").bondedDevices({}, function(ret, err) {
  88. //         if (!err) {
  89. //             console.log(JSON.stringify(ret.data))
  90. //             alert(JSON.stringify(ret.data));
  91. //         } else {
  92. //             alert("code: " + err.code + " msg: " + err.msg);
  93. //             console.log("code: " + err.code + " msg: " + err.msg)
  94. //         }
  95. //     });
  96. // }
  97. //搜索蓝牙中
  98. function onisScanning(){
  99.     api.require("cxgBluetoothBase").isScanning({}, function(ret, err) {
  100.         if (!err) {
  101.             alert(ret.state);
  102.             console.log(ret.state)
  103.         } else {
  104.             alert("code: " + err.code + " msg: " + err.msg);
  105.             console.log("code: " + err.code + " msg: " + err.msg)
  106.         }
  107.     });
  108. }

  109. //停止搜索蓝牙
  110. function onstopScan(obj){
  111.     api.require("cxgBluetoothBase").stopScan({}, function(ret, err) {
  112.         if (!err) {
  113.             alert("搜索成功,请开启蓝牙服务后连接设备")
  114.             console.log(ret.state)
  115.         } else {
  116.             alert("code: " + err.code + " msg: " + err.msg);
  117.             console.log("code: " + err.code + " msg: " + err.msg)
  118.         }
  119.     });
  120. }
  121. //搜索蓝牙
  122. function onscan(){
  123.     api.require("cxgBluetoothBase").scan({}, function(ret, err) {
  124.         if (!err) {
  125.             if (ret.data == "ACTION_DISCOVERY_FINISHED") {
  126.                 alert("未搜到相关设备,请重新搜索");
  127.             } else {
  128.                 if(ret.data.name == 't3-p3hyyy' || ret.data.name == 'HONOR 9X'|| ret.data.name == '红米手机'){
  129.                      obj.address = ret.data.address
  130.                     onstopScan()
  131.                 }
  132.                 console.log(JSON.stringify(ret.data))
  133.             }
  134.         } else {
  135.             alert("code: " + err.code + " msg: " + err.msg);
  136.             console.log("code: " + err.code + " msg: " + err.msg)
  137.         }
  138.     });
  139. }
  140. function ondisconnect(){
  141.     api.require("cxgBluetoothClient").disconnect({
  142.         address: obj.address,
  143.         UUID:obj.UUID
  144.     }, function(ret, err) {
  145.         if (!err) {
  146.             obj.isConnected = false;
  147.             obj.isConnecting = false;
  148.             alert("断开连接成功");
  149.         } else {
  150.             alert("code: " + err.code + " msg: " + err.msg);
  151.             console.log("code: " + err.code + " msg: " + err.msg)
  152.         }
  153.     });
  154. }
  155. //发送数据
  156. function onsendData(){
  157.     var objsendData = obj
  158.     api.require("cxgBluetoothClient").sendData({
  159.         address: objsendData.address,
  160.         UUID:objsendData.UUID,
  161.         data: objsendData.data,
  162.         isHex:false,
  163.         charset:objsendData.charset,
  164.     },function(ret, err) {
  165.         if (!err) {
  166.             alert(`${obj.data}
  167.                 发送成功`);
  168.         } else {
  169.             alert("code: " + err.code + " msg: " + err.msg);
  170.             console.log("code: " + err.code + " msg: " + err.msg)
  171.         }
  172.     });
  173. }

  174. //创建蓝牙服务UUID
  175. function onstartServer(){
  176.     var objsendData = obj
  177.     api.require("cxgBluetoothServer").startServer({
  178.         isNewStartServer: false,
  179.         Server_UUID:SPPServerTpl.Server_UUID
  180.     }, function(ret, err) {
  181.         if (!err) {
  182.            
  183.             if (typeof ret.data == "object") {
  184.                 if(ret.data.address){
  185.                     let client = obj;
  186.                     client.name = ret.data.name;
  187.                     client.address = ret.data.address;
  188.                     client.isConnected = true;
  189.                     SPPServerTpl.client = client
  190.                     setReadDataCallbackServerClient(SPPServerTpl)
  191.                     // onsetReadDataCallback(client)
  192.                     // alert(SPPServerTpl.client.data)
  193.                 }
  194.                 // alert(JSON.stringify(ret.data));
  195.                 // console.log(JSON.stringify(ret))
  196.                 // obj.isConnected = true;
  197.                 // obj.address = ret.data.address;
  198.                 // onsyncClientsInfo()
  199.                
  200.             }
  201.             if (ret.data.disconnectAddress){
  202.                 alert("外设断开");
  203.             }
  204.             if (ret.data === true) {
  205.                 SPPServerTpl.isServerRun = true;
  206.                 // onsetReadDataCallback(client)
  207.                 setReadDataCallbackServerClient(SPPServerTpl)
  208.                 // onsetReadDataCallback(objsendData)
  209.                 alert("创建服务成功");
  210.             }
  211.         } else {
  212.             console.log("code: " + err.code + " msg: " + err.msg)
  213.         }
  214.     });
  215. }
  216. //连接蓝牙
  217. function onconnect(){
  218.     var objsendData = obj
  219.     objsendData.isConnected = false;
  220.     objsendData.isConnecting = true;
  221.     api.require("cxgBluetoothClient").connect({
  222.         address: objsendData.address,
  223.         UUID:objsendData.UUID
  224.     },function(ret, err) {
  225.         if (!err) {
  226.             if (ret.data === true) {
  227.                 objsendData.isConnected = true;
  228.                 objsendData.isConnecting = false;
  229.                 // setReadDataCallbackServerClient()
  230.                 onsetReadDataCallback(objsendData)
  231.                 // onsyncClientsInfo(objsendData)
  232.                 // onsyncServersInfo(objsendData)
  233.                 alert("连接成功");
  234.                 onsyncServersInfo()
  235.                 // add()
  236.             }
  237.             if (ret.data.disconnectAddress) {
  238.                 objsendData.isConnected = false;
  239.                 objsendData.isConnecting = false;
  240.                 alert("断开连接成功");
  241.             }
  242.         } else {
  243.             if(err.code == 5){
  244.                 objsendData.isConnected = false;
  245.                 objsendData.isConnecting = false;
  246.                 alert("该客户端已连接");
  247.             }else{
  248.                 objsendData.isConnected = false;
  249.                 objsendData.isConnecting = false;
  250.                 alert('连接失败,请重新连接');
  251.                 console.log("code: " + err.code + " msg: " + err.msg)
  252.             }
  253.         }
  254.     });
  255. }
  256. //设置读取数据回调
  257. function onsetReadDataCallback(objsendData,isHex = false){
  258.     api.require("cxgBluetoothClient").setReadDataCallback(
  259.     {
  260.         address: objsendData.address,
  261.         UUID:objsendData.UUID,
  262.         bufferSize: objsendData.bufferSize,
  263.         isReturnHex: objsendData.isReturnHex,
  264.         isNoReturnData: false,
  265.         returnStrCharset:objsendData.returnStrCharset,
  266.     },
  267.     (ret, err) => {
  268.         if (!err) {
  269.             if (ret.data === true) {
  270.                 objsendData.isReturnHex = isHex
  271.                 alert("设置成功")
  272.                 return;
  273.             }
  274.             if (objsendData.receiveDataArr.length > 20) {
  275.                 objsendData.receiveDataArr = [];
  276.             }
  277.             objsendData.receiveDataArr.push(ret.data);
  278.             alert(objsendData)
  279.             // add(objsendData.receiveDataArr)
  280.             // console.log(JSON.stringify(obj))
  281.         } else {
  282.             objsendData.isConnected = false;
  283.             alert("code: " + err.codeJ + " msg: " + err.msg);
  284.             // console.log("code: " + err.code + " msg: " + err.msg)
  285.         }
  286.     });
  287. }
  288. function add(receiveDataArr){
  289.     receiveDataArr.forEach((item)=>{
  290.         alert(item)
  291.     })
  292.     // alert(JSON.stringify(obj.data))
  293. }
  294. // onsetReadDataCallback()
  295. //同步数据
  296. function onsyncClientsInfo(){
  297.     api.require("cxgBluetoothClient").syncClientsInfo({},
  298.     function(ret, err) {
  299.         if (!err) {
  300.         //具体使用方法见demo
  301.         // ret.data[0].isServerClient =obj.isServerClient
  302.         console.log(JSON.stringify(ret.data))
  303.         alert('客户端')
  304.         } else {
  305.             alert("code: " + err.code + " msg: " + err.msg);
  306.         }
  307.     });
  308. }
  309. //同步服务端数据
  310. function onsyncServersInfo(){
  311.     api.require("cxgBluetoothServer").syncServersInfo({},
  312.         function(ret, err) {
  313.             if (!err) {
  314.                 // ret.data[0].client.isNoReturnData = obj.isNoReturnData
  315.                 console.log(JSON.stringify(ret.data));
  316.                 alert(JSON.stringify(ret.data));
  317.                 alert('服务端')
  318.             } else {
  319.                 alert("code: " + err.code + " msg: " + err.msg);
  320.         }
  321.     });
  322. }
  323. //关闭蓝牙服务
  324. function onstopServer(){
  325.     api.require("cxgBluetoothServer").stopServer({
  326.         isRemove: false,
  327.         Server_UUID:obj.UUID
  328.     }, function(ret, err) {
  329.         if (!err) {
  330.             alert("服务关闭");
  331.         } else {
  332.             alert("code: " + err.code + " msg: " + err.msg);
  333.         }
  334.     });
  335. }
  336. //读取数据
  337. function setReadDataCallbackServerClient(SPPServerTpl,isHex = false){
  338.     api.require("cxgBluetoothServer").setReadDataCallbackServerClient({
  339.         address: SPPServerTpl.address,
  340.         UUID:SPPServerTpl.Server_UUID,
  341.         bufferSize: SPPServerTpl.bufferSize,
  342.         isReturnHex: SPPServerTpl.isReturnHex,
  343.         isNoReturnData: SPPServerTpl.isNoReturnData,
  344.         returnStrCharset: SPPServerTpl.returnStrCharset
  345.     },
  346.     function(ret, err) {
  347.         if (!err) {
  348.         if (ret.data === true) {
  349.             alert("设置成功");
  350.             return;
  351.         }
  352.             alert(ret.data);
  353.         } else {
  354.             alert("code: " + err.code + " msg: " + err.msg);
  355.         }
  356.   });
  357. }
  358. // setReadDataCallbackServerClient()
  359. //发送数据
  360. // function onsendDataServerClient(){
  361. //     api.require("cxgBluetoothServer").sendDataServerClient({
  362. //         Server_UUID:"00001101-0000-1000-8000-00805F9B34FB",
  363. //         data: "九星",
  364. //         isHex:false,
  365. //         charset:"UTF-8"
  366. //     },function(ret, err) {
  367. //         if (!err) {
  368. //             console.log(JSON.stringify(ret))
  369. //             alert("发送成功");
  370. //         } else {
  371. //         alert("code: " + err.code + " msg: " + err.msg);
  372. //         }
  373. //     });
  374. // }
  375. </script>
复制代码
25
帖子
0
勋章
278
Y币
63318c979fb02.png
25
帖子
0
勋章
278
Y币
  1. <script type="text/javascript">
  2. var obj = {
  3.         //"name":"t3-p3hyyy","address":"14:6B:9C:78:4A:B1"
  4.         address : '7C:03:AB:AE:81:AA',
  5.         UUID : '00001101-0000-1000-8000-00805F9B34FB',
  6.         data : 'hello,word',
  7.         isHex : false,
  8.         charset : 'UTF-8',
  9.         bufferSize : 1024,
  10.         isReturnHex :  true,
  11.         isNoReturnData :  true,
  12.         returnStrCharset : 'UTF-8',
  13.         isConnected: false,
  14.         isConnecting: false,
  15.         isServerClient:true,
  16.         receiveDataArr:[]
  17.     }
  18. var client={
  19.     type: Object,
  20.     required: true
  21. }
  22. var SPPServerTpl = {
  23.     isServerRun: false,
  24.     Server_UUID: "00001101-0000-1000-8000-00805F9B34FB",
  25.     client: null
  26. }
  27. var  apiready = function(){
  28.     var cxgBluetoothBase = api.require('cxgBluetoothBase');
  29.     var cxgBluetoothClient = api.require('cxgBluetoothClient');
  30.     var cxgBluetoothServer = api.require('cxgBluetoothServer');
  31.     onsyncClientsInfo()
  32.     onsyncServersInfo()
  33.     onsetReadDataCallback(client)
  34.     setReadDataCallbackServerClient()
  35. }

  36. //监听蓝牙状态
  37. // function onisEnabledBluetooth(){
  38. //     // console.log(obj)
  39. //     api.require("cxgBluetoothBase").isEnabledBluetooth({}, function(ret, err) {
  40. //         if (!err) {
  41. //             alert(ret.state);
  42. //             console.log(ret.state)
  43. //         } else {
  44. //             alert("code: " + err.code + " msg: " + err.msg);
  45. //             console.log("code: " + err.code + " msg: " + err.msg)
  46. //         }
  47. //     });
  48. // }
  49. //打开蓝牙
  50. function onopenBluetooth(){
  51.     api.require("cxgBluetoothBase").openBluetooth({}, function(ret, err) {
  52.         if (!err) {
  53.             // alert(ret.state);
  54.             // onstartServer();
  55.             console.log(ret.state)
  56.         } else {
  57.             alert("code: " + err.code + " msg: " + err.msg);
  58.         }
  59.     });
  60. }
  61. //关闭蓝牙
  62. function oncloseBluetooth(){
  63.     api.require("cxgBluetoothBase").closeBluetooth({}, function(ret, err) {
  64.         if (!err) {
  65.             alert(ret.state);
  66.             console.log(ret.state)
  67.         } else {
  68.             alert("code: " + err.code + " msg: " + err.msg);
  69.             console.log("code: " + err.code + " msg: " + err.msg)
  70.         }
  71.     });
  72. }
  73. //监听蓝牙的状态变化, 多次返回
  74. // function onlistenBluetoothStatus(){
  75. //     api.require("cxgBluetoothBase").listenBluetoothStatus({}, function(ret, err) {
  76. //         if (!err) {
  77. //             alert(ret.status);
  78. //             console.log(ret.state)
  79. //         } else {
  80. //             alert("code: " + err.code + " msg: " + err.msg);
  81. //             console.log("code: " + err.code + " msg: " + err.msg)
  82. //         }
  83. //     });
  84. // }
  85. //获取已经配对的设备
  86. // function onbondedDevices(){
  87. //     api.require("cxgBluetoothBase").bondedDevices({}, function(ret, err) {
  88. //         if (!err) {
  89. //             console.log(JSON.stringify(ret.data))
  90. //             alert(JSON.stringify(ret.data));
  91. //         } else {
  92. //             alert("code: " + err.code + " msg: " + err.msg);
  93. //             console.log("code: " + err.code + " msg: " + err.msg)
  94. //         }
  95. //     });
  96. // }
  97. //搜索蓝牙中
  98. function onisScanning(){
  99.     api.require("cxgBluetoothBase").isScanning({}, function(ret, err) {
  100.         if (!err) {
  101.             alert(ret.state);
  102.             console.log(ret.state)
  103.         } else {
  104.             alert("code: " + err.code + " msg: " + err.msg);
  105.             console.log("code: " + err.code + " msg: " + err.msg)
  106.         }
  107.     });
  108. }

  109. //停止搜索蓝牙
  110. function onstopScan(obj){
  111.     api.require("cxgBluetoothBase").stopScan({}, function(ret, err) {
  112.         if (!err) {
  113.             alert("搜索成功,请开启蓝牙服务后连接设备")
  114.             console.log(ret.state)
  115.         } else {
  116.             alert("code: " + err.code + " msg: " + err.msg);
  117.             console.log("code: " + err.code + " msg: " + err.msg)
  118.         }
  119.     });
  120. }
  121. //搜索蓝牙
  122. function onscan(){
  123.     api.require("cxgBluetoothBase").scan({}, function(ret, err) {
  124.         if (!err) {
  125.             if (ret.data == "ACTION_DISCOVERY_FINISHED") {
  126.                 alert("未搜到相关设备,请重新搜索");
  127.             } else {
  128.                 if(ret.data.name == 't3-p3hyyy' || ret.data.name == 'HONOR 9X'|| ret.data.name == '红米手机'){
  129.                      obj.address = ret.data.address
  130.                     onstopScan()
  131.                 }
  132.                 console.log(JSON.stringify(ret.data))
  133.             }
  134.         } else {
  135.             alert("code: " + err.code + " msg: " + err.msg);
  136.             console.log("code: " + err.code + " msg: " + err.msg)
  137.         }
  138.     });
  139. }
  140. function ondisconnect(){
  141.     api.require("cxgBluetoothClient").disconnect({
  142.         address: obj.address,
  143.         UUID:obj.UUID
  144.     }, function(ret, err) {
  145.         if (!err) {
  146.             obj.isConnected = false;
  147.             obj.isConnecting = false;
  148.             alert("断开连接成功");
  149.         } else {
  150.             alert("code: " + err.code + " msg: " + err.msg);
  151.             console.log("code: " + err.code + " msg: " + err.msg)
  152.         }
  153.     });
  154. }
  155. //发送数据
  156. function onsendData(){
  157.     var objsendData = obj
  158.     api.require("cxgBluetoothClient").sendData({
  159.         address: objsendData.address,
  160.         UUID:objsendData.UUID,
  161.         data: objsendData.data,
  162.         isHex:false,
  163.         charset:objsendData.charset,
  164.     },function(ret, err) {
  165.         if (!err) {
  166.             alert(`${obj.data}
  167.                 发送成功`);
  168.         } else {
  169.             alert("code: " + err.code + " msg: " + err.msg);
  170.             console.log("code: " + err.code + " msg: " + err.msg)
  171.         }
  172.     });
  173. }

  174. //创建蓝牙服务UUID
  175. function onstartServer(){
  176.     var objsendData = obj
  177.     api.require("cxgBluetoothServer").startServer({
  178.         isNewStartServer: false,
  179.         Server_UUID:SPPServerTpl.Server_UUID
  180.     }, function(ret, err) {
  181.         if (!err) {
  182.            
  183.             if (typeof ret.data == "object") {
  184.                 if(ret.data.address){
  185.                     let client = obj;
  186.                     client.name = ret.data.name;
  187.                     client.address = ret.data.address;
  188.                     client.isConnected = true;
  189.                     SPPServerTpl.client = client
  190.                     setReadDataCallbackServerClient(SPPServerTpl)
  191.                     // onsetReadDataCallback(client)
  192.                     // alert(SPPServerTpl.client.data)
  193.                 }
  194.                 // alert(JSON.stringify(ret.data));
  195.                 // console.log(JSON.stringify(ret))
  196.                 // obj.isConnected = true;
  197.                 // obj.address = ret.data.address;
  198.                 // onsyncClientsInfo()
  199.                
  200.             }
  201.             if (ret.data.disconnectAddress){
  202.                 alert("外设断开");
  203.             }
  204.             if (ret.data === true) {
  205.                 SPPServerTpl.isServerRun = true;
  206.                 // onsetReadDataCallback(client)
  207.                 setReadDataCallbackServerClient(SPPServerTpl)
  208.                 // onsetReadDataCallback(objsendData)
  209.                 alert("创建服务成功");
  210.             }
  211.         } else {
  212.             console.log("code: " + err.code + " msg: " + err.msg)
  213.         }
  214.     });
  215. }
  216. //连接蓝牙
  217. function onconnect(){
  218.     var objsendData = obj
  219.     objsendData.isConnected = false;
  220.     objsendData.isConnecting = true;
  221.     api.require("cxgBluetoothClient").connect({
  222.         address: objsendData.address,
  223.         UUID:objsendData.UUID
  224.     },function(ret, err) {
  225.         if (!err) {
  226.             if (ret.data === true) {
  227.                 objsendData.isConnected = true;
  228.                 objsendData.isConnecting = false;
  229.                 // setReadDataCallbackServerClient()
  230.                 onsetReadDataCallback(objsendData)
  231.                 // onsyncClientsInfo(objsendData)
  232.                 // onsyncServersInfo(objsendData)
  233.                 alert("连接成功");
  234.                 onsyncServersInfo()
  235.                 // add()
  236.             }
  237.             if (ret.data.disconnectAddress) {
  238.                 objsendData.isConnected = false;
  239.                 objsendData.isConnecting = false;
  240.                 alert("断开连接成功");
  241.             }
  242.         } else {
  243.             if(err.code == 5){
  244.                 objsendData.isConnected = false;
  245.                 objsendData.isConnecting = false;
  246.                 alert("该客户端已连接");
  247.             }else{
  248.                 objsendData.isConnected = false;
  249.                 objsendData.isConnecting = false;
  250.                 alert('连接失败,请重新连接');
  251.                 console.log("code: " + err.code + " msg: " + err.msg)
  252.             }
  253.         }
  254.     });
  255. }
  256. //设置读取数据回调
  257. function onsetReadDataCallback(objsendData,isHex = false){
  258.     api.require("cxgBluetoothClient").setReadDataCallback(
  259.     {
  260.         address: objsendData.address,
  261.         UUID:objsendData.UUID,
  262.         bufferSize: objsendData.bufferSize,
  263.         isReturnHex: objsendData.isReturnHex,
  264.         isNoReturnData: false,
  265.         returnStrCharset:objsendData.returnStrCharset,
  266.     },
  267.     (ret, err) => {
  268.         if (!err) {
  269.             if (ret.data === true) {
  270.                 objsendData.isReturnHex = isHex
  271.                 alert("设置成功")
  272.                 return;
  273.             }
  274.             if (objsendData.receiveDataArr.length > 20) {
  275.                 objsendData.receiveDataArr = [];
  276.             }
  277.             objsendData.receiveDataArr.push(ret.data);
  278.             alert(objsendData)
  279.             // add(objsendData.receiveDataArr)
  280.             // console.log(JSON.stringify(obj))
  281.         } else {
  282.             objsendData.isConnected = false;
  283.             alert("code: " + err.codeJ + " msg: " + err.msg);
  284.             // console.log("code: " + err.code + " msg: " + err.msg)
  285.         }
  286.     });
  287. }
  288. function add(receiveDataArr){
  289.     receiveDataArr.forEach((item)=>{
  290.         alert(item)
  291.     })
  292.     // alert(JSON.stringify(obj.data))
  293. }
  294. // onsetReadDataCallback()
  295. //同步数据
  296. function onsyncClientsInfo(){
  297.     api.require("cxgBluetoothClient").syncClientsInfo({},
  298.     function(ret, err) {
  299.         if (!err) {
  300.         //具体使用方法见demo
  301.         // ret.data[0].isServerClient =obj.isServerClient
  302.         console.log(JSON.stringify(ret.data))
  303.         alert('客户端')
  304.         } else {
  305.             alert("code: " + err.code + " msg: " + err.msg);
  306.         }
  307.     });
  308. }
  309. //同步服务端数据
  310. function onsyncServersInfo(){
  311.     api.require("cxgBluetoothServer").syncServersInfo({},
  312.         function(ret, err) {
  313.             if (!err) {
  314.                 // ret.data[0].client.isNoReturnData = obj.isNoReturnData
  315.                 console.log(JSON.stringify(ret.data));
  316.                 alert(JSON.stringify(ret.data));
  317.                 alert('服务端')
  318.             } else {
  319.                 alert("code: " + err.code + " msg: " + err.msg);
  320.         }
  321.     });
  322. }
  323. //关闭蓝牙服务
  324. function onstopServer(){
  325.     api.require("cxgBluetoothServer").stopServer({
  326.         isRemove: false,
  327.         Server_UUID:obj.UUID
  328.     }, function(ret, err) {
  329.         if (!err) {
  330.             alert("服务关闭");
  331.         } else {
  332.             alert("code: " + err.code + " msg: " + err.msg);
  333.         }
  334.     });
  335. }
  336. //读取数据
  337. function setReadDataCallbackServerClient(SPPServerTpl,isHex = false){
  338.     api.require("cxgBluetoothServer").setReadDataCallbackServerClient({
  339.         address: SPPServerTpl.address,
  340.         UUID:SPPServerTpl.Server_UUID,
  341.         bufferSize: SPPServerTpl.bufferSize,
  342.         isReturnHex: SPPServerTpl.isReturnHex,
  343.         isNoReturnData: SPPServerTpl.isNoReturnData,
  344.         returnStrCharset: SPPServerTpl.returnStrCharset
  345.     },
  346.     function(ret, err) {
  347.         if (!err) {
  348.         if (ret.data === true) {
  349.             alert("设置成功");
  350.             return;
  351.         }
  352.             alert(ret.data);
  353.         } else {
  354.             alert("code: " + err.code + " msg: " + err.msg);
  355.         }
  356.   });
  357. }
  358. // setReadDataCallbackServerClient()
  359. //发送数据
  360. // function onsendDataServerClient(){
  361. //     api.require("cxgBluetoothServer").sendDataServerClient({
  362. //         Server_UUID:"00001101-0000-1000-8000-00805F9B34FB",
  363. //         data: "九星",
  364. //         isHex:false,
  365. //         charset:"UTF-8"
  366. //     },function(ret, err) {
  367. //         if (!err) {
  368. //             console.log(JSON.stringify(ret))
  369. //             alert("发送成功");
  370. //         } else {
  371. //         alert("code: " + err.code + " msg: " + err.msg);
  372. //         }
  373. //     });
  374. // }
  375. </script>
复制代码
25
帖子
0
勋章
278
Y币
  1. <script type="text/javascript">
  2. var obj = {
  3.         //"name":"t3-p3hyyy","address":"14:6B:9C:78:4A:B1"
  4.         address : '7C:03:AB:AE:81:AA',
  5.         UUID : '00001101-0000-1000-8000-00805F9B34FB',
  6.         data : 'hello,word',
  7.         isHex : false,
  8.         charset : 'UTF-8',
  9.         bufferSize : 1024,
  10.         isReturnHex :  true,
  11.         isNoReturnData :  true,
  12.         returnStrCharset : 'UTF-8',
  13.         isConnected: false,
  14.         isConnecting: false,
  15.         isServerClient:true,
  16.         receiveDataArr:[]
  17.     }
  18. var client={
  19.     type: Object,
  20.     required: true
  21. }
  22. var SPPServerTpl = {
  23.     isServerRun: false,
  24.     Server_UUID: "00001101-0000-1000-8000-00805F9B34FB",
  25.     client: null
  26. }
  27. var  apiready = function(){
  28.     var cxgBluetoothBase = api.require('cxgBluetoothBase');
  29.     var cxgBluetoothClient = api.require('cxgBluetoothClient');
  30.     var cxgBluetoothServer = api.require('cxgBluetoothServer');
  31.     onsyncClientsInfo()
  32.     onsyncServersInfo()
  33.     onsetReadDataCallback(client)
  34.     setReadDataCallbackServerClient()
  35. }

  36. //监听蓝牙状态
  37. // function onisEnabledBluetooth(){
  38. //     // console.log(obj)
  39. //     api.require("cxgBluetoothBase").isEnabledBluetooth({}, function(ret, err) {
  40. //         if (!err) {
  41. //             alert(ret.state);
  42. //             console.log(ret.state)
  43. //         } else {
  44. //             alert("code: " + err.code + " msg: " + err.msg);
  45. //             console.log("code: " + err.code + " msg: " + err.msg)
  46. //         }
  47. //     });
  48. // }
  49. //打开蓝牙
  50. function onopenBluetooth(){
  51.     api.require("cxgBluetoothBase").openBluetooth({}, function(ret, err) {
  52.         if (!err) {
  53.             // alert(ret.state);
  54.             // onstartServer();
  55.             console.log(ret.state)
  56.         } else {
  57.             alert("code: " + err.code + " msg: " + err.msg);
  58.         }
  59.     });
  60. }
  61. //关闭蓝牙
  62. function oncloseBluetooth(){
  63.     api.require("cxgBluetoothBase").closeBluetooth({}, function(ret, err) {
  64.         if (!err) {
  65.             alert(ret.state);
  66.             console.log(ret.state)
  67.         } else {
  68.             alert("code: " + err.code + " msg: " + err.msg);
  69.             console.log("code: " + err.code + " msg: " + err.msg)
  70.         }
  71.     });
  72. }
  73. //监听蓝牙的状态变化, 多次返回
  74. // function onlistenBluetoothStatus(){
  75. //     api.require("cxgBluetoothBase").listenBluetoothStatus({}, function(ret, err) {
  76. //         if (!err) {
  77. //             alert(ret.status);
  78. //             console.log(ret.state)
  79. //         } else {
  80. //             alert("code: " + err.code + " msg: " + err.msg);
  81. //             console.log("code: " + err.code + " msg: " + err.msg)
  82. //         }
  83. //     });
  84. // }
  85. //获取已经配对的设备
  86. // function onbondedDevices(){
  87. //     api.require("cxgBluetoothBase").bondedDevices({}, function(ret, err) {
  88. //         if (!err) {
  89. //             console.log(JSON.stringify(ret.data))
  90. //             alert(JSON.stringify(ret.data));
  91. //         } else {
  92. //             alert("code: " + err.code + " msg: " + err.msg);
  93. //             console.log("code: " + err.code + " msg: " + err.msg)
  94. //         }
  95. //     });
  96. // }
  97. //搜索蓝牙中
  98. function onisScanning(){
  99.     api.require("cxgBluetoothBase").isScanning({}, function(ret, err) {
  100.         if (!err) {
  101.             alert(ret.state);
  102.             console.log(ret.state)
  103.         } else {
  104.             alert("code: " + err.code + " msg: " + err.msg);
  105.             console.log("code: " + err.code + " msg: " + err.msg)
  106.         }
  107.     });
  108. }

  109. //停止搜索蓝牙
  110. function onstopScan(obj){
  111.     api.require("cxgBluetoothBase").stopScan({}, function(ret, err) {
  112.         if (!err) {
  113.             alert("搜索成功,请开启蓝牙服务后连接设备")
  114.             console.log(ret.state)
  115.         } else {
  116.             alert("code: " + err.code + " msg: " + err.msg);
  117.             console.log("code: " + err.code + " msg: " + err.msg)
  118.         }
  119.     });
  120. }
  121. //搜索蓝牙
  122. function onscan(){
  123.     api.require("cxgBluetoothBase").scan({}, function(ret, err) {
  124.         if (!err) {
  125.             if (ret.data == "ACTION_DISCOVERY_FINISHED") {
  126.                 alert("未搜到相关设备,请重新搜索");
  127.             } else {
  128.                 if(ret.data.name == 't3-p3hyyy' || ret.data.name == 'HONOR 9X'|| ret.data.name == '红米手机'){
  129.                      obj.address = ret.data.address
  130.                     onstopScan()
  131.                 }
  132.                 console.log(JSON.stringify(ret.data))
  133.             }
  134.         } else {
  135.             alert("code: " + err.code + " msg: " + err.msg);
  136.             console.log("code: " + err.code + " msg: " + err.msg)
  137.         }
  138.     });
  139. }
  140. function ondisconnect(){
  141.     api.require("cxgBluetoothClient").disconnect({
  142.         address: obj.address,
  143.         UUID:obj.UUID
  144.     }, function(ret, err) {
  145.         if (!err) {
  146.             obj.isConnected = false;
  147.             obj.isConnecting = false;
  148.             alert("断开连接成功");
  149.         } else {
  150.             alert("code: " + err.code + " msg: " + err.msg);
  151.             console.log("code: " + err.code + " msg: " + err.msg)
  152.         }
  153.     });
  154. }
  155. //发送数据
  156. function onsendData(){
  157.     var objsendData = obj
  158.     api.require("cxgBluetoothClient").sendData({
  159.         address: objsendData.address,
  160.         UUID:objsendData.UUID,
  161.         data: objsendData.data,
  162.         isHex:false,
  163.         charset:objsendData.charset,
  164.     },function(ret, err) {
  165.         if (!err) {
  166.             alert(`${obj.data}
  167.                 发送成功`);
  168.         } else {
  169.             alert("code: " + err.code + " msg: " + err.msg);
  170.             console.log("code: " + err.code + " msg: " + err.msg)
  171.         }
  172.     });
  173. }

  174. //创建蓝牙服务UUID
  175. function onstartServer(){
  176.     var objsendData = obj
  177.     api.require("cxgBluetoothServer").startServer({
  178.         isNewStartServer: false,
  179.         Server_UUID:SPPServerTpl.Server_UUID
  180.     }, function(ret, err) {
  181.         if (!err) {
  182.            
  183.             if (typeof ret.data == "object") {
  184.                 if(ret.data.address){
  185.                     let client = obj;
  186.                     client.name = ret.data.name;
  187.                     client.address = ret.data.address;
  188.                     client.isConnected = true;
  189.                     SPPServerTpl.client = client
  190.                     setReadDataCallbackServerClient(SPPServerTpl)
  191.                     // onsetReadDataCallback(client)
  192.                     // alert(SPPServerTpl.client.data)
  193.                 }
  194.                 // alert(JSON.stringify(ret.data));
  195.                 // console.log(JSON.stringify(ret))
  196.                 // obj.isConnected = true;
  197.                 // obj.address = ret.data.address;
  198.                 // onsyncClientsInfo()
  199.                
  200.             }
  201.             if (ret.data.disconnectAddress){
  202.                 alert("外设断开");
  203.             }
  204.             if (ret.data === true) {
  205.                 SPPServerTpl.isServerRun = true;
  206.                 // onsetReadDataCallback(client)
  207.                 setReadDataCallbackServerClient(SPPServerTpl)
  208.                 // onsetReadDataCallback(objsendData)
  209.                 alert("创建服务成功");
  210.             }
  211.         } else {
  212.             console.log("code: " + err.code + " msg: " + err.msg)
  213.         }
  214.     });
  215. }
  216. //连接蓝牙
  217. function onconnect(){
  218.     var objsendData = obj
  219.     objsendData.isConnected = false;
  220.     objsendData.isConnecting = true;
  221.     api.require("cxgBluetoothClient").connect({
  222.         address: objsendData.address,
  223.         UUID:objsendData.UUID
  224.     },function(ret, err) {
  225.         if (!err) {
  226.             if (ret.data === true) {
  227.                 objsendData.isConnected = true;
  228.                 objsendData.isConnecting = false;
  229.                 // setReadDataCallbackServerClient()
  230.                 onsetReadDataCallback(objsendData)
  231.                 // onsyncClientsInfo(objsendData)
  232.                 // onsyncServersInfo(objsendData)
  233.                 alert("连接成功");
  234.                 onsyncServersInfo()
  235.                 // add()
  236.             }
  237.             if (ret.data.disconnectAddress) {
  238.                 objsendData.isConnected = false;
  239.                 objsendData.isConnecting = false;
  240.                 alert("断开连接成功");
  241.             }
  242.         } else {
  243.             if(err.code == 5){
  244.                 objsendData.isConnected = false;
  245.                 objsendData.isConnecting = false;
  246.                 alert("该客户端已连接");
  247.             }else{
  248.                 objsendData.isConnected = false;
  249.                 objsendData.isConnecting = false;
  250.                 alert('连接失败,请重新连接');
  251.                 console.log("code: " + err.code + " msg: " + err.msg)
  252.             }
  253.         }
  254.     });
  255. }
  256. //设置读取数据回调
  257. function onsetReadDataCallback(objsendData,isHex = false){
  258.     api.require("cxgBluetoothClient").setReadDataCallback(
  259.     {
  260.         address: objsendData.address,
  261.         UUID:objsendData.UUID,
  262.         bufferSize: objsendData.bufferSize,
  263.         isReturnHex: objsendData.isReturnHex,
  264.         isNoReturnData: false,
  265.         returnStrCharset:objsendData.returnStrCharset,
  266.     },
  267.     (ret, err) => {
  268.         if (!err) {
  269.             if (ret.data === true) {
  270.                 objsendData.isReturnHex = isHex
  271.                 alert("设置成功")
  272.                 return;
  273.             }
  274.             if (objsendData.receiveDataArr.length > 20) {
  275.                 objsendData.receiveDataArr = [];
  276.             }
  277.             objsendData.receiveDataArr.push(ret.data);
  278.             alert(objsendData)
  279.             // add(objsendData.receiveDataArr)
  280.             // console.log(JSON.stringify(obj))
  281.         } else {
  282.             objsendData.isConnected = false;
  283.             alert("code: " + err.codeJ + " msg: " + err.msg);
  284.             // console.log("code: " + err.code + " msg: " + err.msg)
  285.         }
  286.     });
  287. }
  288. function add(receiveDataArr){
  289.     receiveDataArr.forEach((item)=>{
  290.         alert(item)
  291.     })
  292.     // alert(JSON.stringify(obj.data))
  293. }
  294. // onsetReadDataCallback()
  295. //同步数据
  296. function onsyncClientsInfo(){
  297.     api.require("cxgBluetoothClient").syncClientsInfo({},
  298.     function(ret, err) {
  299.         if (!err) {
  300.         //具体使用方法见demo
  301.         // ret.data[0].isServerClient =obj.isServerClient
  302.         console.log(JSON.stringify(ret.data))
  303.         alert('客户端')
  304.         } else {
  305.             alert("code: " + err.code + " msg: " + err.msg);
  306.         }
  307.     });
  308. }
  309. //同步服务端数据
  310. function onsyncServersInfo(){
  311.     api.require("cxgBluetoothServer").syncServersInfo({},
  312.         function(ret, err) {
  313.             if (!err) {
  314.                 // ret.data[0].client.isNoReturnData = obj.isNoReturnData
  315.                 console.log(JSON.stringify(ret.data));
  316.                 alert(JSON.stringify(ret.data));
  317.                 alert('服务端')
  318.             } else {
  319.                 alert("code: " + err.code + " msg: " + err.msg);
  320.         }
  321.     });
  322. }
  323. //关闭蓝牙服务
  324. function onstopServer(){
  325.     api.require("cxgBluetoothServer").stopServer({
  326.         isRemove: false,
  327.         Server_UUID:obj.UUID
  328.     }, function(ret, err) {
  329.         if (!err) {
  330.             alert("服务关闭");
  331.         } else {
  332.             alert("code: " + err.code + " msg: " + err.msg);
  333.         }
  334.     });
  335. }
  336. //读取数据
  337. function setReadDataCallbackServerClient(SPPServerTpl,isHex = false){
  338.     api.require("cxgBluetoothServer").setReadDataCallbackServerClient({
  339.         address: SPPServerTpl.address,
  340.         UUID:SPPServerTpl.Server_UUID,
  341.         bufferSize: SPPServerTpl.bufferSize,
  342.         isReturnHex: SPPServerTpl.isReturnHex,
  343.         isNoReturnData: SPPServerTpl.isNoReturnData,
  344.         returnStrCharset: SPPServerTpl.returnStrCharset
  345.     },
  346.     function(ret, err) {
  347.         if (!err) {
  348.         if (ret.data === true) {
  349.             alert("设置成功");
  350.             return;
  351.         }
  352.             alert(ret.data);
  353.         } else {
  354.             alert("code: " + err.code + " msg: " + err.msg);
  355.         }
  356.   });
  357. }
  358. // setReadDataCallbackServerClient()
  359. //发送数据
  360. // function onsendDataServerClient(){
  361. //     api.require("cxgBluetoothServer").sendDataServerClient({
  362. //         Server_UUID:"00001101-0000-1000-8000-00805F9B34FB",
  363. //         data: "九星",
  364. //         isHex:false,
  365. //         charset:"UTF-8"
  366. //     },function(ret, err) {
  367. //         if (!err) {
  368. //             console.log(JSON.stringify(ret))
  369. //             alert("发送成功");
  370. //         } else {
  371. //         alert("code: " + err.code + " msg: " + err.msg);
  372. //         }
  373. //     });
  374. // }
  375. </script>
复制代码
25
帖子
0
勋章
278
Y币

一直在审核
25
帖子
0
勋章
278
Y币
  1. <script type="text/javascript">
  2. var obj = {
  3.         //"name":"t3-p3hyyy","address":"14:6B:9C:78:4A:B1"
  4.         address : '7C:03:AB:AE:81:AA',
  5.         UUID : '00001101-0000-1000-8000-00805F9B34FB',
  6.         data : 'hello,word',
  7.         isHex : false,
  8.         charset : 'UTF-8',
  9.         bufferSize : 1024,
  10.         isReturnHex :  true,
  11.         isNoReturnData :  true,
  12.         returnStrCharset : 'UTF-8',
  13.         isConnected: false,
  14.         isConnecting: false,
  15.         isServerClient:true,
  16.         receiveDataArr:[]
  17.     }
  18. var client={
  19.     type: Object,
  20.     required: true
  21. }
  22. var SPPServerTpl = {
  23.     isServerRun: false,
  24.     Server_UUID: "00001101-0000-1000-8000-00805F9B34FB",
  25.     client: null
  26. }
  27. var  apiready = function(){
  28.     var cxgBluetoothBase = api.require('cxgBluetoothBase');
  29.     var cxgBluetoothClient = api.require('cxgBluetoothClient');
  30.     var cxgBluetoothServer = api.require('cxgBluetoothServer');
  31.     onsyncClientsInfo()
  32.     onsyncServersInfo()
  33.     onsetReadDataCallback(client)
  34.     setReadDataCallbackServerClient()
  35. }

  36. //打开蓝牙
  37. function onopenBluetooth(){
  38.     api.require("cxgBluetoothBase").openBluetooth({}, function(ret, err) {
  39.         if (!err) {
  40.             // alert(ret.state);
  41.             // onstartServer();
  42.             console.log(ret.state)
  43.         } else {
  44.             alert("code: " + err.code + " msg: " + err.msg);
  45.         }
  46.     });
  47. }
  48. //关闭蓝牙
  49. function oncloseBluetooth(){
  50.     api.require("cxgBluetoothBase").closeBluetooth({}, function(ret, err) {
  51.         if (!err) {
  52.             alert(ret.state);
  53.             console.log(ret.state)
  54.         } else {
  55.             alert("code: " + err.code + " msg: " + err.msg);
  56.             console.log("code: " + err.code + " msg: " + err.msg)
  57.         }
  58.     });
  59. }

  60. //搜索蓝牙中
  61. function onisScanning(){
  62.     api.require("cxgBluetoothBase").isScanning({}, function(ret, err) {
  63.         if (!err) {
  64.             alert(ret.state);
  65.             console.log(ret.state)
  66.         } else {
  67.             alert("code: " + err.code + " msg: " + err.msg);
  68.             console.log("code: " + err.code + " msg: " + err.msg)
  69.         }
  70.     });
  71. }

  72. //停止搜索蓝牙
  73. function onstopScan(obj){
  74.     api.require("cxgBluetoothBase").stopScan({}, function(ret, err) {
  75.         if (!err) {
  76.             alert("搜索成功,请开启蓝牙服务后连接设备")
  77.             console.log(ret.state)
  78.         } else {
  79.             alert("code: " + err.code + " msg: " + err.msg);
  80.             console.log("code: " + err.code + " msg: " + err.msg)
  81.         }
  82.     });
  83. }
  84. //搜索蓝牙
  85. function onscan(){
  86.     api.require("cxgBluetoothBase").scan({}, function(ret, err) {
  87.         if (!err) {
  88.             if (ret.data == "ACTION_DISCOVERY_FINISHED") {
  89.                 alert("未搜到相关设备,请重新搜索");
  90.             } else {
  91.                 if(ret.data.name == 't3-p3hyyy' || ret.data.name == 'HONOR 9X'|| ret.data.name == '红米手机'){
  92.                      obj.address = ret.data.address
  93.                     onstopScan()
  94.                 }
  95.                 console.log(JSON.stringify(ret.data))
  96.             }
  97.         } else {
  98.             alert("code: " + err.code + " msg: " + err.msg);
  99.             console.log("code: " + err.code + " msg: " + err.msg)
  100.         }
  101.     });
  102. }
  103. function ondisconnect(){
  104.     api.require("cxgBluetoothClient").disconnect({
  105.         address: obj.address,
  106.         UUID:obj.UUID
  107.     }, function(ret, err) {
  108.         if (!err) {
  109.             obj.isConnected = false;
  110.             obj.isConnecting = false;
  111.             alert("断开连接成功");
  112.         } else {
  113.             alert("code: " + err.code + " msg: " + err.msg);
  114.             console.log("code: " + err.code + " msg: " + err.msg)
  115.         }
  116.     });
  117. }
  118. //发送数据
  119. function onsendData(){
  120.     var objsendData = obj
  121.     api.require("cxgBluetoothClient").sendData({
  122.         address: objsendData.address,
  123.         UUID:objsendData.UUID,
  124.         data: objsendData.data,
  125.         isHex:false,
  126.         charset:objsendData.charset,
  127.     },function(ret, err) {
  128.         if (!err) {
  129.             alert(`${obj.data}
  130.                 发送成功`);
  131.         } else {
  132.             alert("code: " + err.code + " msg: " + err.msg);
  133.             console.log("code: " + err.code + " msg: " + err.msg)
  134.         }
  135.     });
  136. }

  137. //创建蓝牙服务UUID
  138. function onstartServer(){
  139.     var objsendData = obj
  140.     api.require("cxgBluetoothServer").startServer({
  141.         isNewStartServer: false,
  142.         Server_UUID:SPPServerTpl.Server_UUID
  143.     }, function(ret, err) {
  144.         if (!err) {
  145.            
  146.             if (typeof ret.data == "object") {
  147.                 if(ret.data.address){
  148.                     let client = obj;
  149.                     client.name = ret.data.name;
  150.                     client.address = ret.data.address;
  151.                     client.isConnected = true;
  152.                     SPPServerTpl.client = client
  153.                     setReadDataCallbackServerClient(SPPServerTpl)
  154.                 }   
  155.             }
  156.             if (ret.data.disconnectAddress){
  157.                 alert("外设断开");
  158.             }
  159.             if (ret.data === true) {
  160.                 SPPServerTpl.isServerRun = true;
  161.                 setReadDataCallbackServerClient(SPPServerTpl)
  162.                 alert("创建服务成功");
  163.             }
  164.         } else {
  165.             console.log("code: " + err.code + " msg: " + err.msg)
  166.         }
  167.     });
  168. }
  169. //连接蓝牙
  170. function onconnect(){
  171.     var objsendData = obj
  172.     objsendData.isConnected = false;
  173.     objsendData.isConnecting = true;
  174.     api.require("cxgBluetoothClient").connect({
  175.         address: objsendData.address,
  176.         UUID:objsendData.UUID
  177.     },function(ret, err) {
  178.         if (!err) {
  179.             if (ret.data === true) {
  180.                 objsendData.isConnected = true;
  181.                 objsendData.isConnecting = false;
  182.                 onsetReadDataCallback(objsendData)
  183.                 alert("连接成功");
  184.                 onsyncServersInfo()
  185.             }
  186.             if (ret.data.disconnectAddress) {
  187.                 objsendData.isConnected = false;
  188.                 objsendData.isConnecting = false;
  189.                 alert("断开连接成功");
  190.             }
  191.         } else {
  192.             if(err.code == 5){
  193.                 objsendData.isConnected = false;
  194.                 objsendData.isConnecting = false;
  195.                 alert("该客户端已连接");
  196.             }else{
  197.                 objsendData.isConnected = false;
  198.                 objsendData.isConnecting = false;
  199.                 alert('连接失败,请重新连接');
  200.                 console.log("code: " + err.code + " msg: " + err.msg)
  201.             }
  202.         }
  203.     });
  204. }
  205. //设置读取数据回调
  206. function onsetReadDataCallback(objsendData,isHex = false){
  207.     api.require("cxgBluetoothClient").setReadDataCallback(
  208.     {
  209.         address: objsendData.address,
  210.         UUID:objsendData.UUID,
  211.         bufferSize: objsendData.bufferSize,
  212.         isReturnHex: objsendData.isReturnHex,
  213.         isNoReturnData: false,
  214.         returnStrCharset:objsendData.returnStrCharset,
  215.     },
  216.     (ret, err) => {
  217.         if (!err) {
  218.             if (ret.data === true) {
  219.                 objsendData.isReturnHex = isHex
  220.                 alert("设置成功")
  221.                 return;
  222.             }
  223.             if (objsendData.receiveDataArr.length > 20) {
  224.                 objsendData.receiveDataArr = [];
  225.             }
  226.             objsendData.receiveDataArr.push(ret.data);
  227.             alert(objsendData)
  228.         } else {
  229.             objsendData.isConnected = false;
  230.             alert("code: " + err.codeJ + " msg: " + err.msg);
  231.         }
  232.     });
  233. }
  234. function add(receiveDataArr){
  235.     receiveDataArr.forEach((item)=>{
  236.         alert(item)
  237.     })
  238. }
  239. //同步数据
  240. function onsyncClientsInfo(){
  241.     api.require("cxgBluetoothClient").syncClientsInfo({},
  242.     function(ret, err) {
  243.         if (!err) {
  244.         console.log(JSON.stringify(ret.data))
  245.         alert('客户端')
  246.         } else {
  247.             alert("code: " + err.code + " msg: " + err.msg);
  248.         }
  249.     });
  250. }
  251. //同步服务端数据
  252. function onsyncServersInfo(){
  253.     api.require("cxgBluetoothServer").syncServersInfo({},
  254.         function(ret, err) {
  255.             if (!err) {
  256.                 console.log(JSON.stringify(ret.data));
  257.                 alert(JSON.stringify(ret.data));
  258.                 alert('服务端')
  259.             } else {
  260.                 alert("code: " + err.code + " msg: " + err.msg);
  261.         }
  262.     });
  263. }
  264. //关闭蓝牙服务
  265. function onstopServer(){
  266.     api.require("cxgBluetoothServer").stopServer({
  267.         isRemove: false,
  268.         Server_UUID:obj.UUID
  269.     }, function(ret, err) {
  270.         if (!err) {
  271.             alert("服务关闭");
  272.         } else {
  273.             alert("code: " + err.code + " msg: " + err.msg);
  274.         }
  275.     });
  276. }
  277. //读取数据
  278. function setReadDataCallbackServerClient(SPPServerTpl,isHex = false){
  279.     api.require("cxgBluetoothServer").setReadDataCallbackServerClient({
  280.         address: SPPServerTpl.address,
  281.         UUID:SPPServerTpl.Server_UUID,
  282.         bufferSize: SPPServerTpl.bufferSize,
  283.         isReturnHex: SPPServerTpl.isReturnHex,
  284.         isNoReturnData: SPPServerTpl.isNoReturnData,
  285.         returnStrCharset: SPPServerTpl.returnStrCharset
  286.     },
  287.     function(ret, err) {
  288.         if (!err) {
  289.         if (ret.data === true) {
  290.             alert("设置成功");
  291.             return;
  292.         }
  293.             alert(ret.data);
  294.         } else {
  295.             alert("code: " + err.code + " msg: " + err.msg);
  296.         }
  297.   });
  298. }
  299. </script>
复制代码
123下一页
您需要登录后才可以回帖 登录

本版积分规则