You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

index.js 7.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320
  1. /**obu蓝牙设备SDK */
  2. // const wjApi = require("../etc/WJAPI/wjBleAPI");
  3. // import * as wjApi from '../../lib/etc/WJAPI/wjBleAPI'
  4. // const jlApi = require("../etc/JLAPI/JLObuSDK.js");
  5. // import * as jlApi from '../../lib/etc/JLAPI/JLObuSDK.js'
  6. const jyApi = require("../etc/JYAPI/GenvictBleUtil.js");
  7. // import * as jyApi from '../../lib/etc/JYAPI/GenvictBleUtil.js'
  8. const jlQZApi = require("../etc/JLQZAPI/JLObuSDK.js");
  9. // import * as jlQZApi from '../../lib/etc/JLQZAPI/JLObuSDK.js'
  10. const atApi = require("../etc/ATAPI/ArtcBleUtil.js");
  11. // import * as atApi from '../../lib/etc/ATAPI/ArtcBleUtil.js'
  12. const jtApi = require("../etc/JTAPI/BleUtil.js");
  13. // import * as jtApi from '../../lib/etc/JTAPI/BleUtil.js'
  14. const wqApi = require("../etc/WQAPI/WCDObuSdk.js");
  15. // import * as wqApi from '../../lib/etc/WQAPI/WCDObuSdk.js'
  16. const cgApi = require("../etc/CGAPI/cguBle.js");
  17. // import * as cgApi from '../../lib/etc/CGAPI/cguBle.js'
  18. // const tdApi = require("../etc/TDAPI/TDRObuSDK.js");
  19. // import * as tdApi from '../../lib/etc/TDAPI/TDRObuSDK.js'
  20. const zzApi = require("../etc/WJAPI/wjBleAPI.js");
  21. // import * as zzApi from '../../lib/etc/WJAPI/wjBleAPI'
  22. const datas = require("./datas.js");
  23. // import * as datas from '../../../utils/common/datas.js';
  24. const tools = require('./tools.js');
  25. const jlApi = require("../../static/etc/JLAPI/JLObuSDK.js"); //聚力SDK
  26. const wjApi = require("../etc/WJAPI/wjBleAPI");
  27. let tdApi = require("../etc/TDAPI/TDRObuSDK.js");
  28. const datas = require("../../static/etcUtil/datas.js");
  29. // #ifdef MP-ALIPAY
  30. // 这部分代码将仅在支付宝小程序平台下执行
  31. // jlApi = require("../../static/etc/JLObuSDK/JLObuSDK.js");
  32. // wjApi = require("../etc/WJBLE/WJBleAPI");
  33. tdApi = require("../etc/TDRAPI/TDRObuSDK.js");
  34. // 执行支付宝小程序的特定功能
  35. // #endif
  36. /**
  37. * 断开蓝牙
  38. */
  39. function disconnectDevice() {
  40. // #ifdef MP-ALIPAY
  41. my.cancelBluetoothPair({
  42. deviceId: device.deviceId,
  43. success: (res) => {
  44. console.log('解除蓝牙配对123', res);
  45. my.disconnectBLEDevice({
  46. deviceId: device.deviceId,
  47. success: (res) => {
  48. console.log(res, "连接情况");
  49. my.alert({ content: "断开成功" });
  50. },
  51. fail: (error) => {
  52. console.log(error, "断开情况");
  53. my.alert({ content: JSON.stringify(error) });
  54. }
  55. });
  56. },
  57. fail: (err) => {
  58. console.log('解除蓝牙配对456', err);
  59. },
  60. });
  61. // #endif
  62. var connectPrefixName = datas.getData("connectPrefixName");
  63. switch (connectPrefixName) {
  64. case "WJ":
  65. wjApi.disconnectDevice(function(res) {
  66. datas.setData("bluLinkStatus", false);
  67. datas.setData("connectPrefixName", "");
  68. // console.log(res)
  69. });
  70. break;
  71. case "JL":
  72. jlApi.disconnectDevice(function(res) {
  73. datas.setData("bluLinkStatus", false);
  74. datas.setData("connectPrefixName", "");
  75. // console.log(res)
  76. });
  77. break;
  78. case "ETC":
  79. jlQZApi.disconnectDevice(function(res) {
  80. datas.setData("bluLinkStatus", false);
  81. datas.setData("connectPrefixName", "");
  82. // console.log(res)
  83. });
  84. break;
  85. case "JY":
  86. jyApi.disconnectDevice(function(res) {
  87. datas.setData("bluLinkStatus", false);
  88. datas.setData("connectPrefixName", "");
  89. // console.log(res)
  90. });
  91. break;
  92. case "AT":
  93. atApi.disconnectDevice(function(res) {
  94. datas.setData("bluLinkStatus", false);
  95. datas.setData("connectPrefixName", "");
  96. // console.log(res)
  97. });
  98. break;
  99. case "JT":
  100. jtApi.disconnectDevice(function(res) {
  101. datas.setData("bluLinkStatus", false);
  102. datas.setData("connectPrefixName", "");
  103. // console.log(res)
  104. });
  105. break;
  106. case "WQ":
  107. wqApi.disconnectDevice(function(res) {
  108. datas.setData("bluLinkStatus", false);
  109. datas.setData("connectPrefixName", "");
  110. // console.log(res)
  111. });
  112. break;
  113. case "CG":
  114. cgApi.disconnectDevice(function(res) {
  115. datas.setData("bluLinkStatus", false);
  116. datas.setData("connectPrefixName", "");
  117. // console.log(res)
  118. });
  119. break;
  120. case "TD":
  121. tdApi.disConnectDevice(function(res) {
  122. datas.setData("bluLinkStatus", false);
  123. datas.setData("connectPrefixName", "");
  124. console.log(res,'=============')
  125. });
  126. break;
  127. case "ZZ":
  128. zzApi.disconnectDevice(function(res) {
  129. datas.setData("bluLinkStatus", false);
  130. datas.setData("connectPrefixName", "");
  131. // console.log(res)
  132. });
  133. break;
  134. default:
  135. break;
  136. }
  137. }
  138. /**
  139. * 透传
  140. * type 10 写卡 20 写OBU
  141. */
  142. function transCmd(cmdArr, type, func, callBack = null) {
  143. var connectPrefixName = datas.getData("connectPrefixName");
  144. switch (connectPrefixName) {
  145. case "WJ":
  146. // #ifdef MP-ALIPAY
  147. wjApi.transCmd(cmdArr, '00', type == '10' ? 'A3' : 'AC', function(res) {
  148. if (res.code == 0) {
  149. func(res.data);
  150. } else {
  151. if (callBack != null) {
  152. callBack(res.msg);
  153. } else {
  154. alertF(res.msg);
  155. }
  156. }
  157. });
  158. // #endif
  159. // #ifdef MP-WEIXIN
  160. wjApi.transCmd(cmdArr, type, function(res) {
  161. if (res.code == 0) {
  162. func(res.data);
  163. } else {
  164. if (callBack != null) {
  165. callBack(res.msg);
  166. } else {
  167. alertF(res.msg);
  168. }
  169. }
  170. });
  171. // #endif
  172. break;
  173. case "JL":
  174. jlApi.transCmd(cmdArr, type, function(res) {
  175. if (res.code == 0) {
  176. func(res.data);
  177. } else {
  178. if (callBack != null) {
  179. callBack(res.msg);
  180. } else {
  181. alertF(res.msg);
  182. }
  183. }
  184. });
  185. break;
  186. case "ETC":
  187. jlQZApi.transCmd(cmdArr, type, function(res) {
  188. if (res.code == 0) {
  189. func(res.data);
  190. } else {
  191. if (callBack != null) {
  192. callBack(res.msg);
  193. } else {
  194. alertF(res.msg);
  195. }
  196. }
  197. });
  198. break;
  199. case "JY":
  200. jyApi.transCmd(cmdArr, type, function(res) {
  201. if (res.code == 0) {
  202. func(res.data);
  203. } else {
  204. if (callBack != null) {
  205. callBack(res.msg);
  206. } else {
  207. alertF(res.msg);
  208. }
  209. }
  210. });
  211. break;
  212. case "AT":
  213. atApi.transCmd(cmdArr, type, function(res) {
  214. if (res.code == 0) {
  215. func(res.data);
  216. } else {
  217. if (callBack != null) {
  218. callBack(res.msg);
  219. } else {
  220. alertF(res.msg);
  221. }
  222. }
  223. });
  224. break;
  225. case "JT":
  226. jtApi.transCmd(cmdArr, type, function(res) {
  227. if (res.code == 0) {
  228. func(res.data);
  229. } else {
  230. if (callBack != null) {
  231. callBack(res.msg);
  232. } else {
  233. alertF(res.msg);
  234. }
  235. }
  236. });
  237. break;
  238. case "WQ":
  239. wqApi.transCmd(cmdArr, type, function(res) {
  240. if (res.code == 0) {
  241. func(res.data);
  242. } else {
  243. if (callBack != null) {
  244. callBack(res.msg);
  245. } else {
  246. alertF(res.msg);
  247. }
  248. }
  249. });
  250. break;
  251. case "CG":
  252. cgApi.transCmd(cmdArr, type, function(res) {
  253. if (res.code == 0) {
  254. func(res.data);
  255. } else {
  256. if (callBack != null) {
  257. callBack(res.msg);
  258. } else {
  259. alertF(res.msg);
  260. }
  261. }
  262. });
  263. break;
  264. case "TD":
  265. tdApi.transCmd(cmdArr, type, function(res) {
  266. if (res.code == 0) {
  267. func(res.data);
  268. } else {
  269. if (callBack != null) {
  270. callBack(res.msg);
  271. } else {
  272. alertF(res.msg);
  273. }
  274. }
  275. });
  276. break;
  277. case "ZZ":
  278. zzApi.transCmd(cmdArr, type, function(res) {
  279. if (res.code == 0) {
  280. func(res.data);
  281. } else {
  282. if (callBack != null) {
  283. callBack(res.msg);
  284. } else {
  285. alertF(res.msg);
  286. }
  287. }
  288. });
  289. break;
  290. default:
  291. datas.setData("bluLinkStatus", false);
  292. datas.setData("connectPrefixName", "");
  293. if (callBack != null) {
  294. callBack("没有找到设备");
  295. } else {
  296. alertF("没有找到设备");
  297. }
  298. break;
  299. }
  300. }
  301. /**
  302. * 提示加关蓝牙
  303. */
  304. function alertF(msg) {
  305. // 隐藏加载框
  306. tools.hideLoadingAlert();
  307. // 提示对话框
  308. tools.showModalAlert(msg);
  309. }
  310. module.exports = {
  311. disconnectDevice,
  312. transCmd,
  313. };