socket.html 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>车辆显示大屏</title>
  6. <link rel="stylesheet" href="./css/border.css">
  7. <link rel="stylesheet" href="./css/reset.css">
  8. <style>
  9. .hello{
  10. width: 1920px;
  11. height: 1080px;
  12. position: absolute;
  13. background-size: 100% 100%;
  14. background-color: #132949;
  15. }
  16. .title{
  17. display: flex;
  18. color: #FEFEFE;
  19. font-size: 140px;
  20. font-weight: 400;
  21. text-align: center;
  22. height: 270px;
  23. line-height: 270px;
  24. }
  25. .scroll {
  26. width: 1920px;
  27. height:270px;
  28. white-space: nowrap; /*文字不折行*/
  29. overflow: hidden; /*文字溢出隐藏*/
  30. }
  31. .scroll .scroll_span1 {
  32. display: inline-block;
  33. white-space: nowrap;
  34. /*inline样式不能使用动画*/
  35. animation: scroll 10s linear infinite; /*滚动动画*/
  36. }
  37. @keyframes scroll {
  38. from {
  39. transform: translateX(1920px); /*div多宽就写多宽*/
  40. }
  41. to {
  42. transform: translateX(-100%);
  43. }
  44. }
  45. /* 车辆列表信息 */
  46. .car_list{
  47. width: 1920px;
  48. height: 810px;
  49. margin-top: 0;
  50. }
  51. .car_item1{
  52. display: flex;
  53. font-size: 0;
  54. }
  55. .car_item2{
  56. display: flex;
  57. font-size: 0;
  58. }
  59. .car_item3{
  60. display: flex;
  61. font-size: 0;
  62. }
  63. .car_card_txt{
  64. display: inline-block;
  65. z-index: 2;
  66. width: 160px;
  67. /* height: 320px; */
  68. line-height: 270px;
  69. text-align: center;
  70. font-size: 140px;
  71. font-family: Microsoft YaHei-3970(82674968);
  72. font-weight: 400;
  73. color: white;
  74. }
  75. .car_type{
  76. margin-left: 39px;
  77. color: #f8751f;
  78. font-size: 40px;
  79. font-family: Microsoft YaHei;
  80. font-weight: bold;
  81. }
  82. .green{
  83. color: #29e122;
  84. }
  85. .blue{
  86. color: #3388f9;
  87. }
  88. .yellow{
  89. color: #f8ce35;
  90. }
  91. .white{
  92. color: #FFFFFF;
  93. }
  94. .VIP{
  95. color: #2BFFDF;
  96. }
  97. </style>
  98. </head>
  99. <body>
  100. <div class="hello">
  101. <div class="title">
  102. <div class="scroll">
  103. <span class="scroll_span1" id="scroll_span1"></span>
  104. </div>
  105. <!-- width: 1003px; -->
  106. </div>
  107. <!-- 车辆列表信息 -->
  108. <div class="car_list" id="car_list">
  109. <div class="car_item1">
  110. <span class="car_card">
  111. <div class="car_card_txt" id="car_card_txt1"></div>
  112. <div class="car_card_txt" id="car_card_txt2"></div>
  113. <div class="car_card_txt" id="car_card_txt3"></div>
  114. <div class="car_card_txt" id="car_card_txt4"></div>
  115. <div class="car_card_txt" id="car_card_txt5"></div>
  116. <div class="car_card_txt" id="car_card_txt6"></div>
  117. <div class="car_card_txt" id="car_card_txt7"></div>
  118. <div class="car_card_txt" id="car_card_txt8"></div>
  119. <div class="car_card_txt" id="car_card_txt9"></div>
  120. <div class="car_card_txt" id="car_card_txt10"></div>
  121. <div class="car_card_txt" id="car_card_txt11"></div>
  122. <div class="car_card_txt" id="car_card_txt12"></div>
  123. </span>
  124. </div>
  125. <div class="car_item2">
  126. <span class="car_card">
  127. <div class="car_card_txt" id="car_card_txt21"></div>
  128. <div class="car_card_txt" id="car_card_txt22" ></div>
  129. <div class="car_card_txt" id="car_card_txt23"></div>
  130. <div class="car_card_txt" id="car_card_txt24"></div>
  131. <div class="car_card_txt" id="car_card_txt25"></div>
  132. <div class="car_card_txt" id="car_card_txt26"></div>
  133. <div class="car_card_txt" id="car_card_txt27"></div>
  134. <div class="car_card_txt" id="car_card_txt28"></div>
  135. <div class="car_card_txt" id="car_card_txt29"></div>
  136. <div class="car_card_txt" id="car_card_txt210"></div>
  137. <div class="car_card_txt" id="car_card_txt211"></div>
  138. <div class="car_card_txt" id="car_card_txt212"></div>
  139. </span>
  140. </div>
  141. <div class="car_item3">
  142. <span class="car_card">
  143. <div class="car_card_txt" id="car_card_txt31"></div>
  144. <div class="car_card_txt" id="car_card_txt32" ></div>
  145. <div class="car_card_txt" id="car_card_txt33"></div>
  146. <div class="car_card_txt" id="car_card_txt34"></div>
  147. <div class="car_card_txt" id="car_card_txt35"></div>
  148. <div class="car_card_txt" id="car_card_txt36"></div>
  149. <div class="car_card_txt" id="car_card_txt37"></div>
  150. <div class="car_card_txt" id="car_card_txt38"></div>
  151. <div class="car_card_txt" id="car_card_txt39"></div>
  152. <div class="car_card_txt" id="car_card_txt310"></div>
  153. <div class="car_card_txt" id="car_card_txt311"></div>
  154. <div class="car_card_txt" id="car_card_txt312"></div>
  155. </span>
  156. </div>
  157. </div>
  158. </div>
  159. <script src="./js/jquery.min.js"></script>
  160. <script type="text/javascript">
  161. var socket;
  162. var all=[]//获取到的所有数据
  163. var hou=[]//后三项数据
  164. resultArr = [];//去重后的数组
  165. var arr=[]
  166. var carNumber =[]
  167. var arr_type =[]
  168. var carType =[]
  169. var car_list=[
  170. {id:1,car_card:'',car_type:''},
  171. {id:2,car_card:'',car_type:''},
  172. {id:3,car_card:'',car_type:''},
  173. // {id:7,car_card:'',car_type:''},
  174. // {id:8,car_card:'',car_type:''},
  175. ];
  176. if(typeof(WebSocket) == "undefined") {
  177. console.log("您的浏览器不支持WebSocket");
  178. }else{
  179. console.log("您的浏览器支持WebSocket");
  180. //实现化WebSocket对象,指定要连接的服务器地址与端口 建立连接
  181. //等同于socket = new WebSocket("ws://localhost:8083/checkcentersys/websocket/20");
  182. /*var id3=setInterval(function function_name () {
  183. socket = new WebSocket("http://172.16.20.76:8080/websocket/543edaa433ee4d94813fd0ec7527f3ea".replace("http","ws"));
  184. },43200000)*/
  185. var id3=setInterval(function function_name () {
  186. var url = window.location.href;
  187. var hour = new Date().getHours();
  188. var minute = new Date().getMinutes();
  189. var second = new Date().getSeconds();
  190. try{
  191. socket.send('666');
  192. }catch{
  193. window.location.href=url;
  194. }
  195. console.log(123)
  196. if (hour == '05' && minute == '10' && second == '10'){
  197. // socket = new WebSocket("http://172.16.20.76:8080/websocket/543edaa433ee4d94813fd0ec7527525p".replace("http","ws"));
  198. window.location.href=url;
  199. }
  200. },1000)
  201. socket = new WebSocket("http://172.16.20.76:8080/websocket/543edaa433ee4d94813fd0ec7527525p".replace("http","ws"));
  202. //打开事件
  203. socket.onopen = function() {
  204. console.log("Socket 已打开");
  205. //socket.send("这是来自客户端的消息" + location.href + new Date());
  206. };
  207. //获得消息事件
  208. socket.onmessage = function(msg) {
  209. console.log("服务端链接成功,返回信息"+msg.data)
  210. if(msg.data!='666') {
  211. var data=msg.data.replace(/=/g,':')
  212. console.log(eval("("+data+")"))
  213. var title=''
  214. title=eval("("+data+")").direction
  215. console.log(title)
  216. console.log(title.length)
  217. document.getElementById("scroll_span1").innerHTML=eval("("+data+")").direction;
  218. all.push(eval("("+data+")"))
  219. // const map = new Map()
  220. // resultArr=all.filter(key => !map.has(key.carPlate) && map.set(key.carPlate, 1))//去重
  221. // console.log("去重后:",resultArr)
  222. // carNumber.push(eval("("+data+")").carPlate)
  223. // carType.push(eval("("+data+")").vehicleType)
  224. // arr=carNumber.reverse()
  225. arr=all.reverse()
  226. var obj = window.sessionStorage.getItem('arr');
  227. if (obj == null){
  228. arr = all;
  229. window.sessionStorage.setItem('arr',JSON.stringify(arr));
  230. } else if(all==null){
  231. var obj2_ = JSON.parse(obj);
  232. arr = obj2_;
  233. window.sessionStorage.setItem('arr',JSON.stringify(arr));
  234. }else{
  235. var obj_ = JSON.parse(obj);
  236. var se = []
  237. se.push(eval("("+data+")"))
  238. se.push(...obj_)
  239. arr = se;
  240. window.sessionStorage.setItem('arr',JSON.stringify(arr));
  241. }
  242. // var obj = window.sessionStorage.getItem('arr');
  243. // if (obj == null){
  244. // arr = carNumber;
  245. // window.sessionStorage.setItem('arr',JSON.stringify(arr));
  246. // } else if(carNumber==null){
  247. // var obj2_ = JSON.parse(obj);
  248. // arr = obj2_;
  249. // window.sessionStorage.setItem('arr',JSON.stringify(arr));
  250. // }else{
  251. // var obj_ = JSON.parse(obj);
  252. // var se = []
  253. // se.push(eval("("+data+")").carPlate)
  254. // se.push(...obj_)
  255. // arr = se;
  256. // window.sessionStorage.setItem('arr',JSON.stringify(arr));
  257. // }
  258. // arr_type=carType.reverse()
  259. // var obj_type = window.sessionStorage.getItem('arr_type');
  260. // if (obj_type == null){
  261. // arr_type = carType;
  262. // window.sessionStorage.setItem('arr_type',JSON.stringify(arr_type));
  263. // } else if(carType==null){
  264. // var obj_type2_ = JSON.parse(obj_type);
  265. // arr_type = obj_type2_;
  266. // window.sessionStorage.setItem('arr_type',JSON.stringify(arr_type));
  267. // } else {
  268. // var obj_type_ = JSON.parse(obj_type);
  269. // var se_type = []
  270. // se_type.push(eval("("+data+")").vehicleType)
  271. // se_type.push(...obj_type_)
  272. // arr_type = se_type;
  273. // window.sessionStorage.setItem('arr_type',JSON.stringify(arr_type));
  274. // }
  275. // if(arr.length>=6){
  276. // car_list[5].car_card=arr[arr.length - 1]
  277. // car_list[4].car_card=arr[arr.length - 2]
  278. // car_list[3].car_card=arr[arr.length - 3]
  279. // car_list[2].car_card=arr[arr.length - 4]
  280. // car_list[1].car_card=arr[arr.length - 5]
  281. // car_list[0].car_card=arr[arr.length - 6]
  282. // // car_list[0].car_card=arr[arr.length - 7]
  283. // }else{
  284. // console.log(arr)
  285. if(arr[1].carPlate!=eval("("+data+")").carPlate){
  286. arr[0].carPlate=eval("("+data+")").carPlate
  287. arr[0].vehicleType=eval("("+data+")").vehicleType
  288. }else{
  289. arr[0].carPlate=arr[1].carPlate
  290. arr[1].carPlate=arr[2].carPlate
  291. arr[2].carPlate=arr[3].carPlate
  292. arr[0].vehicleType=arr[1].vehicleType
  293. arr[1].vehicleType=arr[2].vehicleType
  294. arr[2].vehicleType=arr[3].vehicleType
  295. }
  296. // console.log(arr[1].carPlate==eval("("+data+")").carPlate)
  297. car_list[0].car_card=arr[0].carPlate
  298. car_list[1].car_card=arr[1].carPlate
  299. car_list[2].car_card=arr[2].carPlate
  300. // car_list[6].car_card=arr[6]
  301. // }
  302. // if(arr_type.length>=6){
  303. // car_list[5].car_type=arr_type[arr_type.length - 1]
  304. // car_list[4].car_type=arr_type[arr_type.length - 2]
  305. // car_list[3].car_type=arr_type[arr_type.length - 3]
  306. // car_list[2].car_type=arr_type[arr_type.length - 4]
  307. // car_list[1].car_type=arr_type[arr_type.length - 5]
  308. // car_list[0].car_type=arr_type[arr_type.length - 6]
  309. // // car_list[0].car_type=arr_type[arr_type.length - 7]
  310. // }else{
  311. car_list[0].car_type=arr[0].vehicleType
  312. car_list[1].car_type=arr[1].vehicleType
  313. car_list[2].car_type=arr[2].vehicleType
  314. // car_list[6].car_type=arr_type[6]
  315. // }
  316. document.getElementById("car_card_txt1").innerHTML = (car_list[0].car_card).slice(0,1);
  317. document.getElementById("car_card_txt2").innerHTML = (car_list[0].car_card).slice(1,2);
  318. document.getElementById("car_card_txt3").innerHTML = (car_list[0].car_card).slice(2,3);
  319. document.getElementById("car_card_txt4").innerHTML = (car_list[0].car_card).slice(3,4);
  320. document.getElementById("car_card_txt5").innerHTML = (car_list[0].car_card).slice(4,5);
  321. document.getElementById("car_card_txt6").innerHTML = (car_list[0].car_card).slice(5,6);
  322. document.getElementById("car_card_txt7").innerHTML = (car_list[0].car_card).slice(6,7);
  323. document.getElementById("car_card_txt8").innerHTML = (car_list[0].car_card).slice(7,8);
  324. document.getElementById("car_card_txt10").innerHTML = (car_list[0].car_type).slice(0,1);
  325. document.getElementById("car_card_txt11").innerHTML = (car_list[0].car_type).slice(1,2);
  326. document.getElementById("car_card_txt12").innerHTML = (car_list[0].car_type).slice(2,3);
  327. if(car_list[0].car_type=='月租车') {
  328. document.getElementById("car_card_txt10").style.color='#29e122'
  329. document.getElementById("car_card_txt11").style.color='#29e122'
  330. document.getElementById("car_card_txt12").style.color='#29e122'
  331. } else if(car_list[0].car_type=='访客车') {
  332. document.getElementById("car_card_txt10").style.color='#3388f9'
  333. document.getElementById("car_card_txt11").style.color='#3388f9'
  334. document.getElementById("car_card_txt12").style.color='#3388f9'
  335. }else if(car_list[0].car_type=='免费车') {
  336. document.getElementById("car_card_txt10").style.color='#FFFFFF'
  337. document.getElementById("car_card_txt11").style.color='#FFFFFF'
  338. document.getElementById("car_card_txt12").style.color='#FFFFFF'
  339. }else if(car_list[0].car_type=='vip') {
  340. document.getElementById("car_card_txt10").style.color='#2BFFDF'
  341. document.getElementById("car_card_txt11").style.color='#2BFFDF'
  342. document.getElementById("car_card_txt12").style.color='#2BFFDF'
  343. }else if(car_list[0].car_type=='领导车') {
  344. document.getElementById("car_card_txt10").style.color='#fcff00'
  345. document.getElementById("car_card_txt11").style.color='#fcff00'
  346. document.getElementById("car_card_txt12").style.color='#fcff00'
  347. }else if(car_list[0].car_type=='临时车') {
  348. document.getElementById("car_card_txt10").style.color='#f8751f'
  349. document.getElementById("car_card_txt11").style.color='#f8751f'
  350. document.getElementById("car_card_txt12").style.color='#f8751f'
  351. }
  352. document.getElementById("car_card_txt21").innerHTML = (car_list[1].car_card).slice(0,1);
  353. document.getElementById("car_card_txt22").innerHTML = (car_list[1].car_card).slice(1,2);
  354. document.getElementById("car_card_txt23").innerHTML = (car_list[1].car_card).slice(2,3);
  355. document.getElementById("car_card_txt24").innerHTML = (car_list[1].car_card).slice(3,4);
  356. document.getElementById("car_card_txt25").innerHTML = (car_list[1].car_card).slice(4,5);
  357. document.getElementById("car_card_txt26").innerHTML = (car_list[1].car_card).slice(5,6);
  358. document.getElementById("car_card_txt27").innerHTML = (car_list[1].car_card).slice(6,7);
  359. document.getElementById("car_card_txt28").innerHTML = (car_list[1].car_card).slice(7,8);
  360. document.getElementById("car_card_txt210").innerHTML = (car_list[1].car_type).slice(0,1);
  361. document.getElementById("car_card_txt211").innerHTML = (car_list[1].car_type).slice(1,2);
  362. document.getElementById("car_card_txt212").innerHTML = (car_list[1].car_type).slice(2,3);
  363. if(car_list[1].car_type=='月租车') {
  364. document.getElementById("car_card_txt210").style.color ='#29e122'
  365. document.getElementById("car_card_txt211").style.color ='#29e122'
  366. document.getElementById("car_card_txt212").style.color ='#29e122'
  367. } else if(car_list[1].car_type=='访客车') {
  368. document.getElementById("car_card_txt210").style.color ='#3388f9'
  369. document.getElementById("car_card_txt211").style.color ='#3388f9'
  370. document.getElementById("car_card_txt212").style.color ='#3388f9'
  371. }else if(car_list[1].car_type=='免费车') {
  372. document.getElementById("car_card_txt210").style.color ='#FFFFFF'
  373. document.getElementById("car_card_txt211").style.color ='#FFFFFF'
  374. document.getElementById("car_card_txt212").style.color ='#FFFFFF'
  375. }else if(car_list[1].car_type=='vip') {
  376. document.getElementById("car_card_txt210").style.color ='#2BFFDF'
  377. document.getElementById("car_card_txt211").style.color ='#2BFFDF'
  378. document.getElementById("car_card_txt212").style.color ='#2BFFDF'
  379. }else if(car_list[1].car_type=='领导车') {
  380. document.getElementById("car_card_txt210").style.color ='#fcff00'
  381. document.getElementById("car_card_txt211").style.color ='#fcff00'
  382. document.getElementById("car_card_txt212").style.color ='#fcff00'
  383. }else if(car_list[1].car_type=='临时车') {
  384. document.getElementById("car_card_txt210").style.color ='#f8751f'
  385. document.getElementById("car_card_txt211").style.color ='#f8751f'
  386. document.getElementById("car_card_txt212").style.color ='#f8751f'
  387. }
  388. document.getElementById("car_card_txt31").innerHTML = (car_list[2].car_card).slice(0,1);
  389. document.getElementById("car_card_txt32").innerHTML = (car_list[2].car_card).slice(1,2);
  390. document.getElementById("car_card_txt33").innerHTML = (car_list[2].car_card).slice(2,3);
  391. document.getElementById("car_card_txt34").innerHTML = (car_list[2].car_card).slice(3,4);
  392. document.getElementById("car_card_txt35").innerHTML = (car_list[2].car_card).slice(4,5);
  393. document.getElementById("car_card_txt36").innerHTML = (car_list[2].car_card).slice(5,6);
  394. document.getElementById("car_card_txt37").innerHTML = (car_list[2].car_card).slice(6,7);
  395. document.getElementById("car_card_txt38").innerHTML = (car_list[2].car_card).slice(7,8);
  396. document.getElementById("car_card_txt310").innerHTML = (car_list[2].car_type).slice(0,1);
  397. document.getElementById("car_card_txt311").innerHTML = (car_list[2].car_type).slice(1,2);
  398. document.getElementById("car_card_txt312").innerHTML = (car_list[2].car_type).slice(2,3);
  399. if(car_list[2].car_type=='月租车') {
  400. document.getElementById("car_card_txt310").style.color ='#29e122'
  401. document.getElementById("car_card_txt311").style.color ='#29e122'
  402. document.getElementById("car_card_txt312").style.color ='#29e122'
  403. } else if(car_list[2].car_type=='访客车') {
  404. document.getElementById("car_card_txt310").style.color ='#3388f9'
  405. document.getElementById("car_card_txt311").style.color ='#3388f9'
  406. document.getElementById("car_card_txt312").style.color ='#3388f9'
  407. }else if(car_list[2].car_type=='免费车') {
  408. document.getElementById("car_card_txt310").style.color ='#FFFFFF'
  409. document.getElementById("car_card_txt311").style.color ='#FFFFFF'
  410. document.getElementById("car_card_txt312").style.color ='#FFFFFF'
  411. }else if(car_list[2].car_type=='vip') {
  412. document.getElementById("car_card_txt310").style.color ='#2BFFDF'
  413. document.getElementById("car_card_txt311").style.color ='#2BFFDF'
  414. document.getElementById("car_card_txt312").style.color ='#2BFFDF'
  415. }else if(car_list[2].car_type=='领导车') {
  416. document.getElementById("car_card_txt310").style.color ='#fcff00'
  417. document.getElementById("car_card_txt311").style.color ='#fcff00'
  418. document.getElementById("car_card_txt312").style.color ='#fcff00'
  419. }else if(car_list[2].car_type=='临时车') {
  420. document.getElementById("car_card_txt310").style.color ='#f8751f'
  421. document.getElementById("car_card_txt311").style.color ='#f8751f'
  422. document.getElementById("car_card_txt312").style.color ='#f8751f'
  423. }
  424. }
  425. };
  426. //监听是否连接成功
  427. socket.onopen = function () {
  428. console.log('连接状态:');
  429. },
  430. //关闭事件
  431. socket.onclose = function() {
  432. console.log("Socket已关闭");
  433. };
  434. //发生了错误事件
  435. socket.onerror = function() {
  436. alert("Socket发生了错误");
  437. }
  438. }
  439. </script>
  440. <script type="text/javascript">
  441. function tianqi() {
  442. var url = "https://restapi.amap.com/v3/weather/weatherInfo?key=5411d59a86689ed2053d7e7a224ea1a6&city=360925&extensions=all";
  443. $.ajax({
  444. url: url,
  445. type: 'GET',
  446. dataType: 'JSON',
  447. success: function (result) {
  448. var City = result.data.forecasts[0]
  449. if(result.data.forecasts[0].reporttime.slice(11,13)<19) {
  450. document.getElementById("weather").innerHTML = City.casts[0].dayweather
  451. document.getElementById("wendu").innerHTML = City.casts[0].daytemp
  452. }else{
  453. document.getElementById("weather").innerHTML = City.casts[0].dayweather
  454. document.getElementById("wendu").innerHTML = City.casts[0].daytemp
  455. }
  456. },
  457. error: function (msg) {
  458. console.log('接口出错')
  459. }
  460. });
  461. }
  462. </script>
  463. </body>
  464. </html>