初始化代码

This commit is contained in:
2025-12-22 14:33:31 +08:00
parent d02b31a8b9
commit c2c5ae2fdd
2313 changed files with 467239 additions and 0 deletions

8
public/.htaccess Normal file
View File

@@ -0,0 +1,8 @@
<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
RewriteEngine on RewriteCond % !^$
</IfModule>

View File

@@ -0,0 +1,23 @@
-----BEGIN CERTIFICATE-----
MIID4zCCAsugAwIBAgIUMB7Mhez+wbxr7Pj7Db+5gLalVXEwDQYJKoZIhvcNAQEL
BQAwXjELMAkGA1UEBhMCQ04xEzARBgNVBAoTClRlbnBheS5jb20xHTAbBgNVBAsT
FFRlbnBheS5jb20gQ0EgQ2VudGVyMRswGQYDVQQDExJUZW5wYXkuY29tIFJvb3Qg
Q0EwHhcNMjExMTIzMDY1NjU2WhcNMjYxMTIyMDY1NjU2WjB1MRMwEQYDVQQDDAox
NjE2ODcxNTkwMRswGQYDVQQKDBLlvq7kv6HllYbmiLfns7vnu58xITAfBgNVBAsM
GOmCteatpuW4guWHr+iOieWwj+WQg+W6lzELMAkGA1UEBgwCQ04xETAPBgNVBAcM
CFNoZW5aaGVuMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxZRks4tG
g0aYe0IM5mK+HNYNlgWpjAx/RX6jo05ZSxSyc/YQheij3I9EAh2tL7uuJJ3D4pAm
hxpOeACP5TNwwxZRSTpjBqAm1Oyh2PAmD5gqQCWaq1+SCnPWqoIY5g/lLECEuO8G
nmjAP1JWKZD02SwddzeBKkuExRHm5DCF/1jkyh6rKn6Hpw2jSZ/E858odJSPdFbF
Ytcp/gr9Mqnax0d8bt8+X8/VwEUXwpVIUfdLuWHcYoGUWcTeYPp5fx3CB5z7lVwj
v27e17J+72pcXVYWBA+Y7scqiQVLqHjspJ56tc182/nzu594K+vpD8Gt017PJVH3
8qf9V64Iz95oNwIDAQABo4GBMH8wCQYDVR0TBAIwADALBgNVHQ8EBAMCBPAwZQYD
VR0fBF4wXDBaoFigVoZUaHR0cDovL2V2Y2EuaXRydXMuY29tLmNuL3B1YmxpYy9p
dHJ1c2NybD9DQT0xQkQ0MjIwRTUwREJDMDRCMDZBRDM5NzU0OTg0NkMwMUMzRThF
QkQyMA0GCSqGSIb3DQEBCwUAA4IBAQCdyNEQhYvFwnT60nHk63F8ZIYfg9KQXtlg
seJviEq9JSKKxM7ONkyUq1AzVgxXN6y1SnSuoOcascTNCpqyvd6LURDIFFvDP6nB
ll6uT9WfVhZvL4rryE+GdhfO9eMF3+1Ojs8m4ZdtlRBrFHUa1nSu3rAjuLLXfnqz
e6fjlwZGHQ4RVJwnXcx41gdZlxRR3fhNqNrBDK4zew+jk83IVMyllylN4UUlM/AC
SdClTUoXBfZyd028yrNqzMNaA5qxxJ4NCsP6irNcb63wkVWEW4sHUZS3NW1iRCHp
aLqFlTGJkfztc37C97WVkefU89+JJO7HWyLSESNoETCMjlxYJI+K
-----END CERTIFICATE-----

View File

@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDFlGSzi0aDRph7
QgzmYr4c1g2WBamMDH9FfqOjTllLFLJz9hCF6KPcj0QCHa0vu64kncPikCaHGk54
AI/lM3DDFlFJOmMGoCbU7KHY8CYPmCpAJZqrX5IKc9aqghjmD+UsQIS47waeaMA/
UlYpkPTZLB13N4EqS4TFEebkMIX/WOTKHqsqfoenDaNJn8Tznyh0lI90VsVi1yn+
Cv0yqdrHR3xu3z5fz9XARRfClUhR90u5YdxigZRZxN5g+nl/HcIHnPuVXCO/bt7X
sn7valxdVhYED5juxyqJBUuoeOyknnq1zXzb+fO7n3gr6+kPwa3TXs8lUffyp/1X
rgjP3mg3AgMBAAECggEBAImul+H5ywBN4JH7/AtLgdmMXFlPxs9+Ie5mileRkG3e
lWBzdx4peI6JE0Y6MeZSbc68VbV66C47abT8B0ob55c65RgXZMxIK+cyorIO3yb8
zWx4B+kmJxm7kTquf/VJ3FRS/Wn1vvICYv19PeenSMhRkpLyDcNQbsv5ZqFbIvVF
XinheICZkjyl5Ctu6seaqU3bCKgefVJ+nhWkC79HpPSLr4DYMYoStCdCYYGZVmWY
QYfd4zacEn1/Es174VV2/6prgy/fL93mXMjYmORsaJkY6LN3eXNao86a8sCWBHNI
ICj8B30G3xybMldtNJe8/Ztt/tcDOfiQ0WVydsiH59ECgYEA6nNFxTVmvxDXjSqz
Qo6IAzfP6+fY38GD1V3BQ+BND2WwoskHGrm7nCS/MFhw8QtM6pV2Oz/uJ/+snzCq
YdRxQwzo+S6/ljzKddEvdiZgfjWjO2CCg9fjU1bOET/kG7IRaTy583hoITUvBLFt
9QfEFt/DK3wF9jq5j4n5yb5+lXkCgYEA172JlUmYoMqttE7ESz6Zp4qJpKWJXQ0M
OftCgHUJRqhPmQS4UHr/vEddKJRL7WeCq0R4Mw5YBUj44dBb2Ssfib1YAfSxgf77
us8tY3daTT+qR1hioFrP3fus0ccjFy2BzHIQDY/c2Keq0P9/XDGkZdPpKZ9uRgdn
CFjeStV97y8CgYAQXrwgaPojnSlv0etyWkFk+CCseCPMe9aYr1MvShoXWSJcO20j
kJRo8qfm2EYKjp9wQb9fo7cdU9zZwKwk6JB//gbGX11BQD1ivJhzx3o1Vclv++0h
B5H337fDvJJQ3L4aewMA3QdoSi5eRYVH9qLadgVKo/5GkxMh0qB+Va7BAQKBgQCY
lDYP3SMS5QUA9owhYz6snXBHf8OsiaPSBf+8dgl/bV4OLKZmVPc1I4uhPXCNkJ17
n0sbYNOjuT48Bm5PIw6FDeKGT5aTB9DlB81kAW9eHt7A4qOuIUvOBUbuflY0+DxK
aYks7kgU+k/2zBw5CerpEXxfsZ/96xJVdvSQHHmahQKBgQCKKqz5A7Z/lN1SEi9m
rmMPOHC/qSrQa8witW+CeLlNfOzHjXMzvM4OZioNYCqKh6fCmR4yv9ZcsaGXvk/O
1DVqBTMKFHWfYP2Bk1eFM/+Igj0aMX37czjuVdRfZJ7dfF6owfDBG/LO1/HQa2eU
w+dP22zWuOfRcOpX/6kOQ8+Yiw==
-----END PRIVATE KEY-----

Binary file not shown.

After

Width:  |  Height:  |  Size: 621 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 379 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 334 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 517 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 288 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 508 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 352 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 900 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 341 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 394 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 273 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 477 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 186 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 288 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 371 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 331 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 259 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 356 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 369 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 374 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 479 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 556 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 317 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 298 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 354 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 169 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 474 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 306 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 405 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 524 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 551 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1012 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 222 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 479 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 305 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 309 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 354 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 602 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 308 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 243 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 549 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 400 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 350 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 437 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 270 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 352 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 372 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 187 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 426 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 645 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 425 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 301 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 312 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 343 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 459 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 351 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 356 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 398 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 417 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 406 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 356 KiB

24
public/auth.php Normal file
View File

@@ -0,0 +1,24 @@
<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006-2018 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <liu21st@gmail.com>
// +----------------------------------------------------------------------
// [ 应用入口文件 ]
namespace think;
require __DIR__ . '/../vendor/autoload.php';
// 执行HTTP应用并响应
$http = (new App())->http;
$response = $http->name('auth')->run();
$response->send();
$http->end($response);

181
public/demo/ezuikit-talk.js Normal file
View File

@@ -0,0 +1,181 @@
/**
* ezuikit-talk v0.0.1-beta
*/
(function (global, factory) {
"use strict";
if (typeof module === "object" && typeof module.exports === "object") {
module.exports = global.document ?
factory(global, true) :
function (w) {
if (!w.document) {
throw new Error("EZUIPlayer requires a window with a document");
}
return factory(w);
};
} else {
factory(global);
}
// Pass this if window is not defined yet
})(typeof window !== "undefined" ? window : this, function (window, noGlobal) {
// 加载js
function addJs(filepath, callback) {
var oJs = document.createElement("script");
oJs.setAttribute("src", filepath);
oJs.onload = callback;
document.getElementsByTagName("head")[0].appendChild(oJs);
}
// 通用请求方法
function request(url, method, params, header, success, error) {
var _url = url;
var http_request = new XMLHttpRequest();
http_request.onreadystatechange = function () {
if (http_request.readyState == 4) {
if (http_request.status == 200) {
var _data = JSON.parse(http_request.responseText);
success(_data);
}
}
};
http_request.open(method, _url, true);
// http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
var data = new FormData();
for (i in params) {
data.append(i, params[i]);
}
http_request.send(data);
};
var EZUITalk = function (params) {
console.log("params",params);
// this.opt = {
// apiDomain: 'https://test12open.ys7.com/api/lapp/live/talk/url'
// }
this.opt = {
apiDomain: 'https://open.ys7.com/api/lapp/live/talk/url',
filePath: '',
accessToken: undefined,
deviceSerial: undefined,
channelNo: undefined,
talkLink: '',
rtcUrl: '',
ttsUrl: '',
stream: '',
}
if(params.accessToken){
this.opt.accessToken = params.accessToken;
}
if(params.url){
this.opt.deviceSerial = params.url.split("/")[3];
this.opt.channelNo = params.url.split("/")[4].split(".")[0];
}
if(params.filePath){
this.opt.filePath = params.filePath;
}
var _this = this;
function apiSuccess(data){
console.log("data",data);
if(data.code == 200){
var apiResult = data.data;
if(apiResult){
// 临时将https转换为websocket
var rtcTrunk = apiResult.rtcUrl;
if(rtcTrunk.indexOf("ws") === -1){
rtcTrunk = rtcTrunk.replace("https","wss").replace("rtcgw","rtcgw-ws");
}
_this.opt.rtcUrl = rtcTrunk;
_this.opt.ttsUrl = "tts://" + apiResult.ttsUrl;
var talk = "talk://" + _this.opt.deviceSerial + ":0:" + _this.opt.channelNo + ":cas.ys7.com:6500";
_this.opt.talkLink = _this.opt.ttsUrl + "/" + talk;
_this.opt.stream = apiResult.stream;
console.log("_this.opt",_this.opt)
// 加载依赖
// this.init();
var adapeterJS = _this.opt.filePath + '/adapeter.js';
var janusJS = _this.opt.filePath + '/janus.js';
var ttsJS = _this.opt.filePath + '/tts.js';
console.log("加载jquery.js");
addJs(adapeterJS,function(){
console.log("加载adapeter.js");
addJs(janusJS,function(){
console.log("加载janus.js");
addJs(ttsJS,function(){
console.log("加载tts.js");
// 文件加载完毕;
})
})
})
}
}
}
function apiError(err){
if(params.handleError){
params.handleError(err);
}
}
request(
this.opt.apiDomain,
'POST',
{
accessToken: this.opt.accessToken,
deviceSerial: this.opt.deviceSerial,
channelNo: this.opt.channelNo
},
'',
apiSuccess,
apiError
);
console.log("this.opt",this.opt)
}
// EZUITalk.prototype.init = function () {
// console.log();
// $.ajax({
// type: 'POST',
// url: 'https://test12open.ys7.com/api/lapp/live/talk/url',
// // contentType: "application/json;charset=utf-8",
// dataType: 'json',
// data: {
// accessToken: accessToken,
// deviceSerial: serial,
// channelNo: channelNo,
// },
// success: function (data) {
// log("对讲api调用成功" + JSON.stringify(data));
// if (data.code == 200) {
// var result = data.data;
// ttsUrl = result.ttsUrl,
// rtcUrl = "wss://test12.ys7.com/rtcgw-ws", //result.ttsUrl
// stream = result.stream;
// $('#tts_url').attr("value", matchTalkLink);
// $("#start").attr('disabled', false);
// } else {
// }
// },
// error: function (err) {
// },
// })
// }
// this.prototype.init = function(){
// var adapeterJS = this.opt.filepath + '/js/adapeter.js';
// addJs(adapeterJS,function(){
// console.log("加载adapeter.js")
// })
// }
EZUITalk.prototype.startTalk = function(){
window.startTalk();
}
EZUITalk.prototype.stopTalk = function(){
window.stopTalk();
}
if (!noGlobal) {
window.EZUITalk = EZUITalk;
}
return EZUITalk;
})

2080
public/demo/ezuikit.js Normal file

File diff suppressed because it is too large Load Diff

223
public/demo/index.html Normal file
View File

@@ -0,0 +1,223 @@
<!--
* @Description:
* @Author: xiao li
* @Date: 2020-07-20 14:08:46
* @LastEditTime: 2022-04-15 10:21:17
* @LastEditors: xiao li
-->
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
<meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
<meta name="referrer" content="never">
<title>监控详情</title>
<script src="./ezuikit.js"></script>
<script src="../js/jquery.min.js"></script>
<style>
body{
padding: 0;
margin: 0;
font-size: 15px;
}
.page-main{
width: 100%;
height: auto;
margin: 0 auto;
}
.play-box,
#myPlayer{
width: 100%;
height: 40vh;
background: #000;
}
.flex-center{
display: flex;
align-items: center;
justify-content: center;
}
.mt-lg{
margin-top: 30px;
}
.text{
color: #999;
}
.console-bg{
width: 150px;
height: 150px;
border-radius: 50%;
border: 20px solid #f4f6f8;
}
.center{
width: 30px;
height: 30px;
top: 50%;
left: 50%;
margin-top: -15px;
margin-left: -15px;
border: 2px solid #eee;
border-radius: 50%;
}
.top{
width: 10px;
height: 10px;
top: 0%;
left: 50%;
margin-top: 10px;
margin-left: -5px;
border-width: 2px 0 0 2px;
border-color: #999;
border-style: solid;
transform: rotate(45deg);
}
.bottom{
width: 10px;
height: 10px;
bottom: 0%;
left: 50%;
margin-bottom: 10px;
margin-left: -5px;
border-width: 0 2px 2px 0;
border-color: #999;
border-style: solid;
transform: rotate(45deg);
}
.left{
width: 10px;
height: 10px;
top: 50%;
left: 50%;
margin-top: -5px;
margin-left: -65px;
border-width: 0 0 2px 2px;
border-color: #999;
border-style: solid;
transform: rotate(45deg);
}
.right{
width: 10px;
height: 10px;
top: 50%;
right: 50%;
margin-top: -5px;
margin-right: -65px;
border-width: 2px 2px 0 0;
border-color: #999;
border-style: solid;
transform: rotate(45deg);
}
.rel{
position: relative;
}
.abs{
position: absolute;
}
</style>
<script src="./ezuikit.js"></script>
<script src="../js/jquery.min.js"></script>
</head>
<body>
<div class="page-main">
<div class="play-box"></div>
<div class="flex-center mt-lg">
<div class="text">请通过操控云台来调整摄像机视角</div>
</div>
<div class="flex-center" style="margin-top: 50px;">
<div class="console-bg rel">
<div class="center abs"></div>
<div onclick="toStartTurn(0)" class="top abs"></div>
<div onclick="toStartTurn(1)" class="bottom abs"></div>
<div onclick="toStartTurn(2)" class="left abs" data-key="left"></div>
<div onclick="toStartTurn(3)" class="right abs"></div>
</div>
</div>
</div>
<script>
let _href = window.location.href
let url = _href.split('/demo/index.html?')[0]
let {0:id,1:uniacid} = _href.split('/demo/index.html?')[1].split('&')
let ajax_url = `${url}/index.php?i=${uniacid}&m=farm&s=`
let player = null
$(function() {
$.ajax({
type: 'get',
url: `${ajax_url}farm/app/Index/getMonitorInfo`,
dataType: 'json',
data: {
id
},
success: function(data) {
let {token:accessToken,url} = data.data
let html = `<video id="myPlayer" autoplay controls playsInline webkit-playsinline src=`
html += url
html += ` ></video>`
$('.play-box').append(html)
player = new EZUIKit.EZUIPlayer('myPlayer');
player.play()
// player = new EZUIKit.EZUIKitPlayer({
// id: 'video-container', // 视频容器ID
// accessToken,
// url: 'ezopen://open.ys7.com/J59194950/1.hd.live',
// autoplay: true ,
// audio: 1, // 是否默认开启声音 0 - 关闭 1 - 开启
// plugin: ['talk'], // 加载插件talk-对讲
// openSoundCallBack: (data) => console.log("开启声音回调",data),
// closeSoundCallBack: (data) => console.log("关闭声音回调",data),
// startSaveCallBack: (data) => console.log("开始录像回调",data),
// stopSaveCallBack: (data) => console.log("录像回调",data),
// capturePictureCallBack: (data) => console.log("截图成功回调",data),
// fullScreenCallBack: (data) => console.log("全屏回调",data),
// getOSDTimeCallBack: (data) => console.log("获取OSDTime回调",data),
// handleSuccess: (data) = function(){console.log("播放成功回调",data)},
// handleError: (data) => console.log("播放失败回调",data),
// })
}
})
})
function toStartTurn(direction) {
$.ajax({
type: 'get',
url: `${ajax_url}farm/app/Index/ysStartTurn`,
dataType: 'json',
data: {
id,
direction
},
success: function(data) {
let {msg=''} = data.data
if(msg && msg!='操作成功'){
alert(msg)
}
setTimeout(()=>{
toStopTurn()
},500)
}
})
}
function toStopTurn() {
$.ajax({
type: 'get',
url: `${ajax_url}farm/app/Index/ysStopTurn`,
dataType: 'json',
data: {id},
success: function(data) {
}
})
}
</script>
</body>
</html>

BIN
public/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

31
public/index.php Normal file
View File

@@ -0,0 +1,31 @@
<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006-2018 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <liu21st@gmail.com>
// +----------------------------------------------------------------------
// [ 应用入口文件 ]
namespace think;
require __DIR__ . '/../vendor/autoload.php';
header( "Access-Control-Allow-Origin: *" );
header( "Access-Control-Allow-Headers: content-type,token , autograph, Origin, X-Requested-With, Content-Type, Accept, Authorization" );
header( 'Access-Control-Allow-Methods: GET,POST,PUT,DELETE,OPTIONS,PATCH' );
// 执行HTTP应用并响应
$http = ( new App() )->http;
$response = $http->run();
$response->send();
$http->end( $response );

56
public/information.html Normal file
View File

@@ -0,0 +1,56 @@
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>个人信息保护指引</title>
<style>
body {
padding: 20px 10px;
margin: 0;
}
p {
padding: 0px;
margin-block-start: 0px;
margin-block-end: 0px;
margin-inline-start: 0px;
margin-inline-end: 0px;
}
img{
max-width: 100% !important;
height: auto !important;
display: block;
}
</style>
</head>
<body>
<div class="html-box"></div>
<script src="/js/jquery-3.5.1.min.js"></script>
<script>
let _href = window.location.href
let url = _href.split('/information.html')[0]
let ajax_url = `${url}/index.php?i=1&m=farm&s=index/getConfig`
$(function() {
$.ajax({
type: 'get',
url: `${ajax_url}`,
dataType: 'json',
async: false,
data: {},
success: function(res) {
let {
information_protection
} = res.data
$(".html-box").html(information_protection)
}
})
})
</script>
</body>
</html>

Binary file not shown.

Binary file not shown.

1
public/js/index.min.css vendored Normal file

File diff suppressed because one or more lines are too long

1
public/js/index.min.js vendored Normal file

File diff suppressed because one or more lines are too long

2
public/js/jquery-3.5.1.min.js vendored Normal file

File diff suppressed because one or more lines are too long

2
public/js/jquery.min.js vendored Normal file

File diff suppressed because one or more lines are too long

1
public/js/moment.min.js vendored Normal file

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More