Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392
  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 jlQZApi from '../../lib/etc/JLQZAPI/JLObuSDK.js'
  8. const atApi = require("../etc/ATAPI/ArtcBleUtil.js");
  9. // import * as atApi from '../../lib/etc/ATAPI/ArtcBleUtil.js'
  10. // import * as jtApi from '../../lib/etc/JTAPI/BleUtil.js'
  11. const wqApi = require("../etc/WQAPI/WCDObuSdk.js");
  12. // import * as wqApi from '../../lib/etc/WQAPI/WCDObuSdk.js'
  13. const cgApi = require("../etc/CGAPI/cguBle.js");
  14. // import * as cgApi from '../../lib/etc/CGAPI/cguBle.js'
  15. // const tdApi = require("../etc/TDAPI/TDRObuSDK.js");
  16. // import * as tdApi from '../../lib/etc/TDAPI/TDRObuSDK.js'
  17. // import * as zzApi from '../../lib/etc/WJAPI/wjBleAPI'
  18. const datas = require("./datas.js");
  19. const tools = require('./tools.js');
  20. let jlApi = require("../../static/etc/JLAPI/JLObuSDK.js"); //聚力SDK
  21. let wjApi = require("../etc/WJAPI/wjBleAPI");
  22. let tdApi = require("../etc/TDAPI/TDRObuSDK.js");
  23. let zzApi = require("../etc/WJAPI/wjBleAPI.js");
  24. let jtApi = require("../etc/JTAPI/BleUtil.js");
  25. const jlQZApi = require("../etc/JLQZAPI/JLObuSDK.js");
  26. let kcApi = require("../etc/kcBle/kcBleAPI.js");
  27. let mcApi = require("../etc/MCAPI/MCObuSDK.js");
  28. // let jyApiEtc = require("../etc/JYAPI-ETC/jy-bluetooth-obu-wechatmp.js"); //前装-金溢
  29. let ArtcBleUtilApi = require("../etc/ArtcBleAPI/ArtcGuiZhouAPI.js");//艾特斯 ETC- 5201 国密
  30. let mcApi9901 = require("../etc/MCSDK9901/BleUtil9901.js"); //9901 和 国密5201单片
  31. import {
  32. login
  33. } from "../../utils/network/api";
  34. import {
  35. getItem
  36. } from "../../utils/storage";
  37. // import { startHeartbeat, stopHeartbeat } from "@/pages/bluetooth/heartbeatService"
  38. if (getItem('environment') == 'ZFB') {
  39. tdApi = require("../etc/TDRAPI/TDRObuSDK.js");
  40. jlApi = require("../etc/JLObuSDK/JLObuSDK.js");
  41. wjApi = require("../etc/wjBle/WJBleAPI");
  42. zzApi = require("../etc/wjBle/WJBleAPI.js");
  43. jtApi = require("../etc/JTAPIS/BleUtil.js");
  44. }
  45. // 9901
  46. const wjApi9901 = require("../etc/WJSDK9901/wjBleAPI.js");
  47. /**
  48. * 断开蓝牙
  49. */
  50. function disconnectDevice() {
  51. var connectPrefixName = datas.getData("connectPrefixName");
  52. console.log('断开蓝牙connectPrefixName', getItem('environment'), tdApi, datas.getData("connectPrefixName"))
  53. switch (connectPrefixName) {
  54. case "ETC":
  55. let obj = ""
  56. if (datas.getData("deviceName").includes("KC") || datas.getData("deviceName").includes("K")) {
  57. obj=kcApi
  58. } else if (datas.getData("deviceName").includes("JL")) {
  59. obj=jlQZApi
  60. } else if (datas.getData("deviceName").includes("WJ")) {
  61. obj=wjApi9901
  62. } else if (datas.getData("deviceName").includes("ATS")) {
  63. obj=ArtcBleUtilApi
  64. }else if (datas.getData("deviceName").includes("MC")) {
  65. obj=mcApi9901
  66. }else if (datas.getData("deviceName").includes("WQ")) {
  67. obj=wqApi
  68. }
  69. obj.disconnectDevice(function(res) {
  70. datas.setData("bluLinkStatus", false);
  71. datas.setData("connectPrefixName", "");
  72. });
  73. // else if (datas.getData("deviceName").includes("JY")) {
  74. // jyApiEtc.disconnectDevice(function(res) {
  75. // datas.setData("bluLinkStatus", false);
  76. // datas.setData("connectPrefixName", "");
  77. // });
  78. // }
  79. break;
  80. case "WJ":
  81. wjApi.disconnectDevice(function(res) {
  82. datas.setData("bluLinkStatus", false);
  83. datas.setData("connectPrefixName", "");
  84. });
  85. break;
  86. case "JL":
  87. jlApi.disconnectDevice(function(res) {
  88. datas.setData("bluLinkStatus", false);
  89. datas.setData("connectPrefixName", "");
  90. });
  91. break;
  92. case "BY":
  93. jyApi.disconnectDevice(function(res) {
  94. datas.setData("bluLinkStatus", false);
  95. datas.setData("connectPrefixName", "");
  96. });
  97. break;
  98. case "JY":
  99. jyApi.disconnectDevice(function(res) {
  100. datas.setData("bluLinkStatus", false);
  101. datas.setData("connectPrefixName", "");
  102. });
  103. break;
  104. case "AT":
  105. atApi.disconnectDevice(function(res) {
  106. datas.setData("bluLinkStatus", false);
  107. datas.setData("connectPrefixName", "");
  108. // console.log(res)
  109. });
  110. break;
  111. case "JT":
  112. jtApi.disconnectDevice(function(res) {
  113. datas.setData("bluLinkStatus", false);
  114. datas.setData("connectPrefixName", "");
  115. });
  116. break;
  117. case "WQ":
  118. wqApi.disconnectDevice(function(res) {
  119. datas.setData("bluLinkStatus", false);
  120. datas.setData("connectPrefixName", "");
  121. });
  122. break;
  123. case "CG":
  124. cgApi.disconnectDevice(function(res) {
  125. datas.setData("bluLinkStatus", false);
  126. datas.setData("connectPrefixName", "");
  127. });
  128. break;
  129. case "TD":
  130. console.log(tdApi, '==================================')
  131. tdApi.disconnectDevice(function(res) {
  132. datas.setData("bluLinkStatus", false);
  133. datas.setData("connectPrefixName", "");
  134. console.log(res, '=============')
  135. });
  136. break;
  137. case "ZZ":
  138. zzApi.disconnectDevice(function(res) {
  139. datas.setData("bluLinkStatus", false);
  140. datas.setData("connectPrefixName", "");
  141. });
  142. break;
  143. case "MC":
  144. mcApi.disconnectDevice(function(res) {
  145. datas.setData("bluLinkStatus", false);
  146. datas.setData("connectPrefixName", "");
  147. });
  148. break;
  149. default:
  150. break;
  151. }
  152. }
  153. /**
  154. * 透传
  155. * type 10 写卡 20 写OBU
  156. */
  157. function transCmd(cmdArr, type, func, callBack = null) {
  158. var connectPrefixName = datas.getData("connectPrefixName");
  159. console.log('指令执行内容1', datas.getData("connectPrefixName"), cmdArr, type)
  160. switch (connectPrefixName) {
  161. case "ETC":
  162. //-------------deviceName前装-科畅
  163. console.log("datas.-----",datas.getData("deviceName"),datas.getData("deviceName").includes("KC"),datas.getData("deviceName").includes("K"))
  164. let obj = ""
  165. if (datas.getData("deviceName").includes("KC")|| datas.getData("deviceName").includes("K")) {
  166. console.log('kc执行内容====', cmdArr, type)
  167. obj=kcApi
  168. } else if (datas.getData("deviceName").includes("JL")) {
  169. obj=jlQZApi
  170. } else if (datas.getData("deviceName").includes("WJ")) {
  171. obj=wjApi9901
  172. } else if (datas.getData("deviceName").includes("ATS")) {
  173. obj=ArtcBleUtilApi
  174. } else if (datas.getData("deviceName").includes("MC")) {
  175. obj=mcApi9901
  176. }else if (datas.getData("deviceName").includes("WQ")) {
  177. obj=wqApi
  178. }
  179. obj.transCmd(cmdArr, type, function(res) {
  180. console.log(datas.getData("deviceName")+'执行内容====11111', res)
  181. if (res.code == 0) {
  182. func(res.data);
  183. } else {
  184. if (callBack != null) {
  185. callBack(res);
  186. } else {
  187. alertF(res.msg);
  188. }
  189. }
  190. });
  191. // else if (datas.getData("deviceName").includes("JY")) {
  192. // jyApiEtc.transCmd(cmdArr, type, function(res) {
  193. // console.log('JY执行内容====11111', res)
  194. // if (res.code == 0) {
  195. // func(res.data);
  196. // } else {
  197. // if (callBack != null) {
  198. // callBack(res);
  199. // } else {
  200. // alertF(res.msg);
  201. // }
  202. // }
  203. // });
  204. // }
  205. break;
  206. case "WJ":
  207. console.log('WJ执行内容====', cmdArr, type)
  208. wjApi.transCmd(cmdArr, type, function(res) {
  209. console.log('WJ执行内容====11111', res)
  210. if (res.code == 0) {
  211. func(res.data);
  212. } else {
  213. if (callBack != null) {
  214. callBack(res);
  215. } else {
  216. alertF(res.msg);
  217. }
  218. }
  219. });
  220. break;
  221. case "JL":
  222. console.log('JL执行内容====', cmdArr, type)
  223. jlApi.transCmd(cmdArr, type, function(res) {
  224. console.log('JL执行内容====11111', res)
  225. if (res.code == 0) {
  226. func(res.data);
  227. } else {
  228. if (callBack != null) {
  229. callBack(res);
  230. } else {
  231. alertF(res.msg);
  232. }
  233. }
  234. });
  235. break;
  236. case "BY":
  237. console.log('JL执行内容====', cmdArr, type)
  238. jyApi.transCmd(cmdArr, type, function(res) {
  239. console.log('JL执行内容====11111', res)
  240. if (res.code == 0) {
  241. func(res.data);
  242. } else {
  243. if (callBack != null) {
  244. callBack(res);
  245. } else {
  246. alertF(res.msg);
  247. }
  248. }
  249. });
  250. break;
  251. case "JY":
  252. jyApi.transCmd(cmdArr, type, function(res) {
  253. if (res.code == 0) {
  254. func(res.data);
  255. } else {
  256. if (callBack != null) {
  257. callBack(res);
  258. } else {
  259. alertF(res.msg);
  260. }
  261. }
  262. });
  263. break;
  264. case "AT":
  265. atApi.transCmd(cmdArr, type, function(res) {
  266. if (res.code == 0) {
  267. func(res.data);
  268. } else {
  269. if (callBack != null) {
  270. callBack(res);
  271. } else {
  272. alertF(res.msg);
  273. }
  274. }
  275. });
  276. break;
  277. case "JT":
  278. jtApi.transCmd(cmdArr, type, function(res) {
  279. console.log('指令执行结果:', res)
  280. if (res.code == 0) {
  281. func(res.data);
  282. } else {
  283. if (callBack != null) {
  284. callBack(res);
  285. } else {
  286. alertF(res.msg);
  287. }
  288. }
  289. });
  290. break;
  291. case "WQ":
  292. wqApi.transCmd(cmdArr, type, function(res) {
  293. console.log('握奇执行结果:===========', res)
  294. if (res.code == 0) {
  295. func(res.data);
  296. } else {
  297. if (callBack != null) {
  298. callBack(res);
  299. } else {
  300. alertF(res.msg);
  301. }
  302. }
  303. });
  304. break;
  305. case "CG":
  306. cgApi.transCmd(cmdArr, type, function(res) {
  307. if (res.code == 0) {
  308. func(res.data);
  309. } else {
  310. if (callBack != null) {
  311. callBack(res);
  312. } else {
  313. alertF(res.msg);
  314. }
  315. }
  316. });
  317. break;
  318. case "TD":
  319. console.log('TD执行内容====', cmdArr, type)
  320. tdApi.transCmd(cmdArr, type, function(res) {
  321. console.log('TD执行内容====123', cmdArr, type,res)
  322. if (res.code == 0) {
  323. func(res.data);
  324. } else {
  325. if (callBack != null) {
  326. callBack(res);
  327. } else {
  328. alertF(res.msg);
  329. }
  330. }
  331. });
  332. break;
  333. case "ZZ":
  334. zzApi.transCmd(cmdArr, type, function(res) {
  335. if (res.code == 0) {
  336. func(res.data);
  337. } else {
  338. if (callBack != null) {
  339. callBack(res);
  340. } else {
  341. alertF(res.msg);
  342. }
  343. }
  344. });
  345. break;
  346. case "MC":
  347. mcApi.transCmd(cmdArr, type, function(res) {
  348. if (res.code == 0) {
  349. func(res.data);
  350. } else {
  351. if (callBack != null) {
  352. callBack(res);
  353. } else {
  354. alertF(res.msg);
  355. }
  356. }
  357. });
  358. break;
  359. default:
  360. datas.setData("bluLinkStatus", false);
  361. datas.setData("connectPrefixName", "");
  362. if (callBack != null) {
  363. callBack("没有找到设备"+connectPrefixName);
  364. } else {
  365. alertF("没有找到设备");
  366. }
  367. break;
  368. }
  369. }
  370. /**
  371. * 提示加关蓝牙
  372. */
  373. function alertF(msg) {
  374. // 隐藏加载框
  375. // tools.hideLoadingAlert();
  376. // 提示对话框
  377. tools.showModalAlert(msg);
  378. // stopHeartbeat();
  379. }
  380. module.exports = {
  381. disconnectDevice,
  382. transCmd,
  383. };