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 9.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341
  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 jyApiEtc = require("../etc/JYAPI-ETC/jy-bluetooth-obu-wechatmp.js"); //前装-金溢
  28. let ArtcBleUtilApi = require("../etc/ArtcBleAPI/ArtcGuiZhouAPI.js");//艾特斯 ETC- 5201 国密
  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. // 9901
  43. const wjApi9901 = require("../etc/WJSDK9901/wjTools.js");
  44. /**
  45. * 断开蓝牙
  46. */
  47. function disconnectDevice() {
  48. var connectPrefixName = datas.getData("connectPrefixName");
  49. console.log('断开蓝牙connectPrefixName', getItem('environment'), tdApi, datas.getData("connectPrefixName"))
  50. switch (connectPrefixName) {
  51. case "ETC":
  52. let obj = ""
  53. if (datas.getData("deviceName").includes("KC") || datas.getData("deviceName").includes("K")) {
  54. obj=kcApi
  55. } else if (datas.getData("deviceName").includes("JL")) {
  56. obj=jlQZApi
  57. } else if (datas.getData("deviceName").includes("WJ")) {
  58. obj=wjApi9901
  59. } else if (datas.getData("deviceName").includes("ATS")) {
  60. obj=ArtcBleUtilApi
  61. }
  62. obj.disconnectDevice(function(res) {
  63. datas.setData("bluLinkStatus", false);
  64. datas.setData("connectPrefixName", "");
  65. });
  66. // else if (datas.getData("deviceName").includes("JY")) {
  67. // jyApiEtc.disconnectDevice(function(res) {
  68. // datas.setData("bluLinkStatus", false);
  69. // datas.setData("connectPrefixName", "");
  70. // });
  71. // }
  72. break;
  73. case "WJ":
  74. wjApi.disconnectDevice(function(res) {
  75. datas.setData("bluLinkStatus", false);
  76. datas.setData("connectPrefixName", "");
  77. });
  78. break;
  79. case "JL":
  80. jlApi.disconnectDevice(function(res) {
  81. datas.setData("bluLinkStatus", false);
  82. datas.setData("connectPrefixName", "");
  83. });
  84. break;
  85. case "JY":
  86. jyApi.disconnectDevice(function(res) {
  87. datas.setData("bluLinkStatus", false);
  88. datas.setData("connectPrefixName", "");
  89. });
  90. break;
  91. case "AT":
  92. atApi.disconnectDevice(function(res) {
  93. datas.setData("bluLinkStatus", false);
  94. datas.setData("connectPrefixName", "");
  95. // console.log(res)
  96. });
  97. break;
  98. case "JT":
  99. jtApi.disconnectDevice(function(res) {
  100. datas.setData("bluLinkStatus", false);
  101. datas.setData("connectPrefixName", "");
  102. });
  103. break;
  104. case "WQ":
  105. wqApi.disconnectDevice(function(res) {
  106. datas.setData("bluLinkStatus", false);
  107. datas.setData("connectPrefixName", "");
  108. });
  109. break;
  110. case "CG":
  111. cgApi.disconnectDevice(function(res) {
  112. datas.setData("bluLinkStatus", false);
  113. datas.setData("connectPrefixName", "");
  114. });
  115. break;
  116. case "TD":
  117. console.log(tdApi, '==================================')
  118. tdApi.disconnectDevice(function(res) {
  119. datas.setData("bluLinkStatus", false);
  120. datas.setData("connectPrefixName", "");
  121. console.log(res, '=============')
  122. });
  123. break;
  124. case "ZZ":
  125. zzApi.disconnectDevice(function(res) {
  126. datas.setData("bluLinkStatus", false);
  127. datas.setData("connectPrefixName", "");
  128. });
  129. break;
  130. default:
  131. break;
  132. }
  133. }
  134. /**
  135. * 透传
  136. * type 10 写卡 20 写OBU
  137. */
  138. function transCmd(cmdArr, type, func, callBack = null) {
  139. var connectPrefixName = datas.getData("connectPrefixName");
  140. console.log('指令执行内容1', datas.getData("connectPrefixName"), cmdArr, type)
  141. switch (connectPrefixName) {
  142. case "ETC":
  143. //-------------deviceName前装-科畅
  144. console.log("datas.-----",datas.getData("deviceName"),datas.getData("deviceName").includes("KC"),datas.getData("deviceName").includes("K"))
  145. let obj = ""
  146. if (datas.getData("deviceName").includes("KC")|| datas.getData("deviceName").includes("K")) {
  147. console.log('kc执行内容====', cmdArr, type)
  148. obj=kcApi
  149. } else if (datas.getData("deviceName").includes("JL")) {
  150. obj=jlQZApi
  151. } else if (datas.getData("deviceName").includes("WJ")) {
  152. obj=wjApi9901
  153. } else if (datas.getData("deviceName").includes("ATS")) {
  154. obj=ArtcBleUtilApi
  155. }
  156. obj.transCmd(cmdArr, type, function(res) {
  157. console.log(datas.getData("deviceName")+'执行内容====11111', res)
  158. if (res.code == 0) {
  159. func(res.data);
  160. } else {
  161. if (callBack != null) {
  162. callBack(res.msg);
  163. } else {
  164. alertF(res.msg);
  165. }
  166. }
  167. });
  168. // else if (datas.getData("deviceName").includes("JY")) {
  169. // jyApiEtc.transCmd(cmdArr, type, function(res) {
  170. // console.log('JY执行内容====11111', res)
  171. // if (res.code == 0) {
  172. // func(res.data);
  173. // } else {
  174. // if (callBack != null) {
  175. // callBack(res.msg);
  176. // } else {
  177. // alertF(res.msg);
  178. // }
  179. // }
  180. // });
  181. // }
  182. break;
  183. case "WJ":
  184. console.log('WJ执行内容====', cmdArr, type)
  185. wjApi.transCmd(cmdArr, type, function(res) {
  186. console.log('WJ执行内容====11111', res)
  187. if (res.code == 0) {
  188. func(res.data);
  189. } else {
  190. if (callBack != null) {
  191. callBack(res.msg);
  192. } else {
  193. alertF(res.msg);
  194. }
  195. }
  196. });
  197. break;
  198. case "JL":
  199. console.log('JL执行内容====', cmdArr, type)
  200. jlApi.transCmd(cmdArr, type, function(res) {
  201. console.log('JL执行内容====11111', res)
  202. if (res.code == 0) {
  203. func(res.data);
  204. } else {
  205. if (callBack != null) {
  206. callBack(res.msg);
  207. } else {
  208. alertF(res.msg);
  209. }
  210. }
  211. });
  212. break;
  213. case "JY":
  214. jyApi.transCmd(cmdArr, type, function(res) {
  215. if (res.code == 0) {
  216. func(res.data);
  217. } else {
  218. if (callBack != null) {
  219. callBack(res.msg);
  220. } else {
  221. alertF(res.msg);
  222. }
  223. }
  224. });
  225. break;
  226. case "AT":
  227. atApi.transCmd(cmdArr, type, function(res) {
  228. if (res.code == 0) {
  229. func(res.data);
  230. } else {
  231. if (callBack != null) {
  232. callBack(res.msg);
  233. } else {
  234. alertF(res.msg);
  235. }
  236. }
  237. });
  238. break;
  239. case "JT":
  240. jtApi.transCmd(cmdArr, type, function(res) {
  241. console.log('指令执行结果:', res)
  242. if (res.code == 0) {
  243. func(res.data);
  244. } else {
  245. if (callBack != null) {
  246. callBack(res.msg);
  247. } else {
  248. alertF(res.msg);
  249. }
  250. }
  251. });
  252. break;
  253. case "WQ":
  254. wqApi.transCmd(cmdArr, type, function(res) {
  255. console.log('握奇执行结果:===========', res)
  256. if (res.code == 0) {
  257. func(res.data);
  258. } else {
  259. if (callBack != null) {
  260. callBack(res.msg);
  261. } else {
  262. alertF(res.msg);
  263. }
  264. }
  265. });
  266. break;
  267. case "CG":
  268. cgApi.transCmd(cmdArr, type, function(res) {
  269. if (res.code == 0) {
  270. func(res.data);
  271. } else {
  272. if (callBack != null) {
  273. callBack(res.msg);
  274. } else {
  275. alertF(res.msg);
  276. }
  277. }
  278. });
  279. break;
  280. case "TD":
  281. console.log('TD执行内容====', cmdArr, type)
  282. tdApi.transCmd(cmdArr, type, function(res) {
  283. console.log('TD执行内容====123', cmdArr, type,res)
  284. if (res.code == 0) {
  285. func(res.data);
  286. } else {
  287. if (callBack != null) {
  288. callBack(res.msg);
  289. } else {
  290. alertF(res.msg);
  291. }
  292. }
  293. });
  294. break;
  295. case "ZZ":
  296. zzApi.transCmd(cmdArr, type, function(res) {
  297. if (res.code == 0) {
  298. func(res.data);
  299. } else {
  300. if (callBack != null) {
  301. callBack(res.msg);
  302. } else {
  303. alertF(res.msg);
  304. }
  305. }
  306. });
  307. break;
  308. default:
  309. datas.setData("bluLinkStatus", false);
  310. datas.setData("connectPrefixName", "");
  311. if (callBack != null) {
  312. callBack("没有找到设备");
  313. } else {
  314. alertF("没有找到设备");
  315. }
  316. break;
  317. }
  318. }
  319. /**
  320. * 提示加关蓝牙
  321. */
  322. function alertF(msg) {
  323. // 隐藏加载框
  324. // tools.hideLoadingAlert();
  325. // 提示对话框
  326. tools.showModalAlert(msg);
  327. }
  328. module.exports = {
  329. disconnectDevice,
  330. transCmd,
  331. };