index.html 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
  5. <title>flv.js demo</title>
  6. <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
  7. <script src="jquery.base64.js"></script>
  8. <script type="text/javascript">
  9. $(document).ready(function () {
  10. let token =
  11. "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJjb21wYW55SWQiOiI1MDc0NDY2NjU1NjUyNDU0NDAiLCJsb2dpbk5hbWUiOiJhZG1pbiIsImN1cnJlbnRUaW1lTWlsbGlzIjoiMTY4MTU2OTMzNTI3MiIsImV4cCI6MTY4MTU3NjUzNSwidXNlcklkIjoiNTEzNjA0MzE2MTQ1NzE3MjQ4In0.xSg5C0tqCQfDbKnHHLKMGPgWa9k3dnfb5QmpJSOG-tg";
  12. function login() {
  13. var domain = $("#domain").val();
  14. var loginName = $("#loginName").val();
  15. var pass = $("#pass").val();
  16. // var password = $.base64.encode(pass);
  17. var password = pass;
  18. $.post(
  19. domain + "/system/login",
  20. { loginName: loginName, password: password, type: 1 },
  21. function (data, status) {
  22. if (status == "success") {
  23. if (data.errorCode == 0) {
  24. token = data.data;
  25. } else {
  26. alert(data.desc);
  27. }
  28. }
  29. }
  30. );
  31. }
  32. function close() {
  33. var domain = $("#domain").val();
  34. var deviceId = $("#deviceId").val();
  35. var channel = $("#channel").val();
  36. var curDeviceId = $("#curDeviceId").html();
  37. var curChannel = $("#curChannel").html();
  38. $.ajax(domain + "/core/Jtt808Order/videoHisControl", {
  39. type: "post",
  40. dataType: "json",
  41. contentType: "application/json",
  42. data: JSON.stringify({
  43. channel: curChannel == "" ? channel : curChannel,
  44. playback: 2,
  45. deviceId: curDeviceId == "" ? deviceId : curDeviceId,
  46. }),
  47. headers: { Authorization: token },
  48. success: function (data, status) {
  49. if (status == "success") {
  50. if (data.errorCode == 0) {
  51. alert("关闭成功");
  52. $("#curDeviceId").html("");
  53. $("#curChannel").html("");
  54. document.getElementById("playurl").value = "";
  55. mainFrame = document.getElementById("mainFrame");
  56. mainFrame.src = "iframeflv.html";
  57. mainFrame.location.reload();
  58. } else {
  59. alert(data.desc);
  60. }
  61. }
  62. },
  63. });
  64. }
  65. function order() {
  66. var domain = $("#domain").val();
  67. var deviceId = $("#deviceId").val();
  68. var channel = $("#channel").val();
  69. var start = $("#start").val();
  70. var end = $("#end").val();
  71. $.ajax(domain + "/core/Jtt808Order/videoHis", {
  72. type: "post",
  73. dataType: "json",
  74. contentType: "application/json",
  75. data: JSON.stringify({
  76. channel: channel,
  77. dataRate: 0,
  78. dataType: 0,
  79. deviceId: deviceId,
  80. startTime: start,
  81. endTime: end,
  82. fastTimes: 0,
  83. playback: 0,
  84. storageType: 0,
  85. }),
  86. headers: { Authorization: token },
  87. success: function (data, status) {
  88. if (status == "success") {
  89. if (data.errorCode == 0) {
  90. document.getElementById("playurl").value =
  91. domain +
  92. "/video/history/" +
  93. deviceId +
  94. "-" +
  95. channel +
  96. "/time1681547649168";
  97. $("#curDeviceId").html(deviceId);
  98. $("#curChannel").html(channel);
  99. } else {
  100. alert(data.desc);
  101. }
  102. }
  103. },
  104. });
  105. }
  106. function play() {
  107. var playurl = document.getElementById("playurl").value;
  108. mainFrame = document.getElementById("mainFrame");
  109. mainFrame.src = "iframeflv.html?playurl=" + playurl;
  110. mainFrame.location.reload();
  111. }
  112. function all() {
  113. var domain = $("#domain").val();
  114. var deviceId = $("#deviceId").val();
  115. var channel = $("#channel").val();
  116. var start = $("#start").val();
  117. var end = $("#end").val();
  118. var curDeviceId = $("#curDeviceId").html();
  119. var curChannel = $("#curChannel").html();
  120. $.ajax(domain + "/core/Jtt808Order/videoHisControl", {
  121. type: "post",
  122. dataType: "json",
  123. contentType: "application/json",
  124. data: JSON.stringify({
  125. channel: curChannel == "" ? channel : curChannel,
  126. playback: 2,
  127. deviceId: curDeviceId == "" ? deviceId : curDeviceId,
  128. }),
  129. headers: { Authorization: token },
  130. success: function (data, status) {
  131. if (status == "success") {
  132. if (data.errorCode == 0) {
  133. $.ajax(domain + "/core/Jtt808Order/videoHis", {
  134. type: "post",
  135. dataType: "json",
  136. contentType: "application/json",
  137. data: JSON.stringify({
  138. channel: channel,
  139. dataRate: 1,
  140. dataType: 0,
  141. deviceId: deviceId,
  142. startTime: start,
  143. endTime: end,
  144. fastTimes: 0,
  145. playback: 0,
  146. storageType: 0,
  147. }),
  148. headers: { Authorization: token },
  149. success: function (data, status) {
  150. if (status == "success") {
  151. if (data.errorCode == 0) {
  152. document.getElementById("playurl").value =
  153. domain +
  154. "/video/history/" +
  155. deviceId +
  156. "-" +
  157. channel +
  158. "/time1681547649168";
  159. $("#curDeviceId").html(deviceId);
  160. $("#curChannel").html(channel);
  161. play();
  162. } else {
  163. alert(data.desc);
  164. }
  165. }
  166. },
  167. });
  168. } else {
  169. alert(data.desc);
  170. }
  171. }
  172. },
  173. });
  174. }
  175. $("#login").click(function () {
  176. login();
  177. });
  178. $("#close").click(function () {
  179. close();
  180. });
  181. $("#order").click(function () {
  182. order();
  183. });
  184. $("#play").click(function () {
  185. play();
  186. });
  187. $("#all").click(function () {
  188. all();
  189. });
  190. });
  191. </script>
  192. <link type="text/css" rel="stylesheet" href="demo.css" />
  193. </head>
  194. <body>
  195. <div class="allcontrols">
  196. <div class="controls">
  197. 域名:<input
  198. id="domain"
  199. type="text"
  200. value="https://gdabczjk.grgbanking.com/"
  201. />
  202. 账号: <input type="text" name="" id="loginName" value="admin" /> 账号:
  203. <input
  204. type="password"
  205. name=""
  206. id="pass"
  207. value="FbhQnrFLJYnTIm/t493tsX8xMH9+Bn0k07m8Fqz/QD1ZDVRSG6aTyfcGDUtCsjB1qO5iWik1qAupd3FAA/PkY3jQ5i/w2rhNyD/Yszuq+iq3yQ/u17zGGWy42COoAWrlYfHBm+3VE5ATOCoREl4tjPOb5j5+FBoyrjJPCPRJ/wE="
  208. />
  209. <button id="login">登录获取token</button>
  210. </div>
  211. <div class="controls">
  212. 设备Id:<input id="deviceId" type="text" value="13812345012" />
  213. 通道号:<input id="channel" type="text" value="1" /> 开始时间:
  214. <input id="start" type="text" value="2023-07-22 08:13:41" />
  215. 结束时间:<input id="end" type="text" value="2023-07-22 23:00:00" />
  216. </div>
  217. <div class="controls">
  218. <input
  219. style="width: 900px"
  220. type="text"
  221. id="playurl"
  222. autofocus="autofocus"
  223. />
  224. </div>
  225. <div class="controls">
  226. <button id="close">关闭回放</button>
  227. <button id="order">下发播放指令</button>
  228. <button id="play">播放</button>
  229. <button id="all">综合关闭-下发播放指令-播放</button>
  230. </div>
  231. <div class="controls">
  232. 当前播放的信息: 设备Id:<span id="curDeviceId"></span> 通道号:
  233. <span id="curChannel"></span>
  234. </div>
  235. <iframe
  236. id="mainFrame"
  237. src="iframeflv.html"
  238. width="960px"
  239. height="500px"
  240. scrolling="no"
  241. >
  242. </iframe>
  243. </div>
  244. </body>
  245. <script>
  246. function flv_start() {}
  247. </script>
  248. </html>