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.

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