初始化代码
This commit is contained in:
5
uniapp/uni-app/node_modules/ezuikit-js/CHANGELOG.md
generated
vendored
Normal file
5
uniapp/uni-app/node_modules/ezuikit-js/CHANGELOG.md
generated
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
V 0.5.1
|
||||
Date: 2022年3月31日 19:39:49
|
||||
[feat]支持切换主题
|
||||
[fix]修复对讲结束问题问题
|
||||
[feat]移动端主题支持隐藏回放时间轴
|
||||
429
uniapp/uni-app/node_modules/ezuikit-js/README.md
generated
vendored
Normal file
429
uniapp/uni-app/node_modules/ezuikit-js/README.md
generated
vendored
Normal file
@@ -0,0 +1,429 @@
|
||||
# [EZUIKit-JavaScript-npm][ezuikit-js]
|
||||
>轻应用npm版本,降低接入难度,适配自定义UI,适配主流框架
|
||||
|
||||
> 低延时预览,云存储回放,SD卡回放
|
||||
|
||||
> 功能API丰富,如:播放控制,音频控制,视频截图,实时获取视频OSDTime,视频录制,设备对讲,电子放大,全屏等
|
||||
|
||||
|
||||
|
||||
### 获取ezuikit-js
|
||||
|
||||
```
|
||||
$ npm install ezuikit-js
|
||||
```
|
||||
### 引入ezuikit-js
|
||||
|
||||
```
|
||||
import EZUIKit from 'ezuikit-js';
|
||||
```
|
||||
|
||||
#### 如果你使用原生方法,可以通过标签引用
|
||||
```
|
||||
<script src="./ezuikit.js"></script>
|
||||
```
|
||||
|
||||
### 开始使用 - 初始化
|
||||
>基本使用
|
||||
|
||||
创建DOM
|
||||
|
||||
```
|
||||
<div id="video-container"></div>
|
||||
```
|
||||
|
||||
## 播放器初始化
|
||||
### 直播
|
||||
```
|
||||
var player = new EZUIKit.EZUIKitPlayer({
|
||||
id: 'video-container', // 视频容器ID
|
||||
accessToken: 'at.3bvmj4ycamlgdwgw1ig1jruma0wpohl6-48zifyb39c-13t5am6-yukyi86mz',
|
||||
url: 'ezopen://open.ys7.com/G39444019/1.live',
|
||||
width: 600,
|
||||
height: 400,
|
||||
})
|
||||
```
|
||||
### 回放
|
||||
```
|
||||
var player = new EZUIKit.EZUIKitPlayer({
|
||||
id: 'video-container', // 视频容器ID
|
||||
width: 600,
|
||||
height: 400,
|
||||
accessToken: 'at.3bvmj4ycamlgdwgw1ig1jruma0wpohl6-48zifyb39c-13t5am6-yukyi86mz',
|
||||
url: 'ezopen://open.ys7.com/G39444019/1.rec'
|
||||
})
|
||||
```
|
||||
#### tips
|
||||
为方便开发者快速接入
|
||||
|
||||
我们提供了测试accessToken,测试播放地址,并提供了几种常用场景使用示例。你可以通过使用示例,使用测试播放地址,测试accessToken,在你的应用快速接入。
|
||||
|
||||
<b>测试播放地址:</b> ezopen://open.ys7.com/G39444019/1.live
|
||||
|
||||
你可以通过以下地址获取到测试accessToken <a href="https://open.ys7.com/jssdk/ezopen/demo/token" target="_blank">获取测试accessToken</a> 用来播放上述测试播放地址。
|
||||
|
||||
### 使用示例
|
||||
<b>基本使用:</b> <a href="https://github.com/Ezviz-OpenBiz/EZUIKit-JavaScript-npm/blob/master/demos/base-demo/base.html" target="_blank">基本使用示例</a>
|
||||
|
||||
<b>自定义主题:</b> <a href="https://github.com/Ezviz-OpenBiz/EZUIKit-JavaScript-npm/blob/master/demos/base-demo/template.html" target="_blank">自定义主题示例</a>
|
||||
|
||||
<b>本地主题配置:</b> <a href="https://github.com/Ezviz-OpenBiz/EZUIKit-JavaScript-npm/blob/master/demos/base-demo/themeData.html" target="_blank">本地主题配置示例</a>
|
||||
|
||||
<b>PC端预览-固定主题:</b>
|
||||
<a href="https://github.com/Ezviz-OpenBiz/EZUIKit-JavaScript-npm/blob/master/demos/base-demo/pcLive.html" target="_blank">PC端预览-固定主题示例</a>
|
||||
|
||||
<b>PC端回放-固定主题:</b>
|
||||
<a href="https://github.com/Ezviz-OpenBiz/EZUIKit-JavaScript-npm/blob/master/demos/base-demo/pcRec.html" target="_blank">PC端回放-固定主题示例</a>
|
||||
|
||||
<b>移动端预览-固定主题:</b>
|
||||
<a href="https://github.com/Ezviz-OpenBiz/EZUIKit-JavaScript-npm/blob/master/demos/base-demo/mobileLive.html" target="_blank">移动端预览-固定主题示例</a>
|
||||
|
||||
<b>移动端回放-固定主题:</b>
|
||||
<a href="https://github.com/Ezviz-OpenBiz/EZUIKit-JavaScript-npm/blob/master/demos/base-demo/mobileRec.html" target="_blank">移动端回放-固定主题示例</a>
|
||||
|
||||
<b>单页面多实例(视频多窗口):</b>
|
||||
<a href="https://github.com/Ezviz-OpenBiz/EZUIKit-JavaScript-npm/blob/master/demos/base-demo/multi.html" target="_blank">单页面多实例(视频多窗口)示例</a>
|
||||
|
||||
#### 附录: 初始化参数说明
|
||||
|
||||
<table>
|
||||
<tr><th>参数名</th><th>类型</th><th>描述</th><th>是否必选</th></tr>
|
||||
<tr><td>id</td><td>String</td><td>播放器容器DOM的id</td><td>Y</td></tr>
|
||||
<tr><td>accessToken</td><td>String</td><td>授权过程获取的access_token</td><td>Y</td></tr>
|
||||
<tr><td>url</td><td>String</td><td>
|
||||
|
||||
#### 直播
|
||||
##### 标清
|
||||
ezopen://open.ys7.com/${设备序列号}/{通道号}.live<br/>
|
||||
##### 高清
|
||||
ezopen://open.ys7.com/${设备序列号}/{通道号}.hd.live<br/>
|
||||
|
||||
#### 回放
|
||||
##### sd卡回放
|
||||
初始化参数 url值为:<br/>
|
||||
ezopen://open.ys7.com/${设备序列号}/{通道号}.rec?begin=yyyyMMddhhmmss
|
||||
##### 云存储回放
|
||||
初始化参数 url值为:<br/>
|
||||
ezopen://open.ys7.com/${设备序列号}/{通道号}.cloud.rec?begin=yyyyMMddhhmmss
|
||||
视频ezopen协议播放地址 详见:<a href="http://open.ys7.com/doc/zh/readme/ezopen.html" target="_blank">ezopen协议</a> </td><td>Y</td></tr>
|
||||
<tr><td>audio</td><td>int</td><td>是否默认开启声音 1:打开(默认) 0:关闭 </td><td>N</td></tr>
|
||||
<tr><td>width</td><td>int</td><td>视频宽度,默认值为容器容器DOM宽度 </td><td>Y</td></tr>
|
||||
<tr><td>height</td><td>int</td><td>视频高度,默认值为容器容器DOM高度</td><td>Y</td></tr>
|
||||
<tr><td>template</td><td>String</td><td>
|
||||
|
||||
|
||||
<table style="display:inline-block;width:700px">
|
||||
<tr><th>模板值</th><th>描述</th></tr>
|
||||
|
||||
<tr><td>simple</td><td>极简版 *固定模板 仅包含视频播放窗口,创建实例后通过方法集控制视频播<br />放相关功能</td></tr>
|
||||
|
||||
<tr><td>standard</td><td>标准版; *固定模板 包含视频窗口,叠加了停止,录制,全屏控件(通过<br />控件快捷调用方法集合控制视频播放相关功能,但你仍然可以通过方法集直接控制视频播放相关功<br />能。下同)</td></tr>
|
||||
|
||||
<tr><td>security</td><td>安防版(预览回放); *固定模板 包含视频窗口,叠加了录制,全屏控件,<br />标清/高清切换,预览录制切换控件*</td></tr>
|
||||
<tr><td>voice</td><td>语音版; *固定模板 包含视频窗口,叠加了录制,全屏控件,语音播报,语音<br />对讲控件*</td></tr>
|
||||
<tr><td>pcLive</td><td> *固定模板 按钮列表,颜色,底部头部背景色固定,可用于pc端预览,如需<br />修改按钮配置,头部底部背景色,可参考 {{自定义themeId}},或者使用<br />themeData本地配置*</td></tr>
|
||||
<tr><td>pcRec</td><td> *固定模板 按钮列表,颜色,底部头部背景色固定, 可用于pc端回放,如需<br />修改按钮配置,头部底部背景色,可参考 {{自定义themeId}},或者使用themeData<br />本地配置*</td></tr>
|
||||
<tr><td>mobileLive</td><td> *固定模板 按钮列表,颜色,底部头部背景色固定,可用于移动端预<br />览,如需修改按钮配置,头部底部背景色,可参考 {{自定义themeId}},或者使用themeData<br />本地配置*</td></tr>
|
||||
<tr><td>mobileRec</td><td>*固定模板 按钮列表,颜色,底部头部背景色固定, 可用于移动端回放,<br />如需修改按钮配置,头部底部背景色,可参考 {{自定义themeId}},或者使用themeData<br />本地配置*</td></tr>
|
||||
<tr><td>{{自定义themeId}}</td><td>(建议使用)开放平台提供了查询账号下主题列表,增加主题<br />,修改主题,删除主题接口。<br />你可以通过调用开放平台提供的接口自定义创建多个主题,根据主题Id动<br />态渲染头部,底部样式,按钮隐藏显示,排布及按钮样式<br />
|
||||
<a href="https://resource.eziot.com/group2/M00/00/79/CtwQFmI8d_mAC8-eAAA1PBGvsds71.json" target="_blank">接口示例下载(请导入postman查看示例)</a>
|
||||
</td></tr>
|
||||
<tr><td>theme</td><td>自定义主题,<a href="https://open.ys7.com/console/ezopenIframe.html" target="_blank">开放平台控制台配置</a><br />(v0.3.0版本及以上支持,建议使用 自定义themeId,或者使用themeData本地<br />配置);</td></tr>
|
||||
</table>
|
||||
|
||||
</td></tr>
|
||||
<tr><td>themeData</td><td>Object</td><td>
|
||||
themeData将主题数据本地化,设置本地数据,需要删除template参数 <br />
|
||||
你可以通过themeData修改按钮位置,颜色,头部底部颜色等配置。
|
||||
|
||||
配置示例:
|
||||
|
||||
<pre><code>
|
||||
|
||||
{
|
||||
"header": {
|
||||
"color": "#1890ff",
|
||||
"activeColor": "#FFFFFF",
|
||||
"backgroundColor": "#000000",
|
||||
"btnList": [
|
||||
{
|
||||
"iconId": "deviceID",
|
||||
"part": "left",
|
||||
"defaultActive": 0,
|
||||
"memo": "顶部设备名称",
|
||||
"isrender": 1
|
||||
},
|
||||
{
|
||||
"iconId": "deviceName",
|
||||
"part": "left",
|
||||
"defaultActive": 0,
|
||||
"memo": "顶部设备ID",
|
||||
"isrender": 1
|
||||
},
|
||||
{
|
||||
"iconId": "cloudRec",
|
||||
"part": "right",
|
||||
"defaultActive": 0,
|
||||
"memo": "顶部设备ID",
|
||||
"isrender": 0
|
||||
},
|
||||
{
|
||||
"iconId": "rec",
|
||||
"part": "right",
|
||||
"defaultActive": 0,
|
||||
"memo": "顶部设备ID",
|
||||
"isrender": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
"footer": {
|
||||
"color": "#FFFFFF",
|
||||
"activeColor": "#1890FF",
|
||||
"backgroundColor": "#00000021",
|
||||
"btnList": [
|
||||
{
|
||||
"iconId": "play",
|
||||
"part": "left",
|
||||
"defaultActive": 1,
|
||||
"memo": "播放",
|
||||
"isrender": 1
|
||||
},
|
||||
{
|
||||
"iconId": "capturePicture",
|
||||
"part": "left",
|
||||
"defaultActive": 0,
|
||||
"memo": "截屏按钮",
|
||||
"isrender": 1
|
||||
},
|
||||
{
|
||||
"iconId": "sound",
|
||||
"part": "left",
|
||||
"defaultActive": 0,
|
||||
"memo": "声音按钮",
|
||||
"isrender": 1
|
||||
},
|
||||
{
|
||||
"iconId": "pantile",
|
||||
"part": "left",
|
||||
"defaultActive": 0,
|
||||
"memo": "云台控制按钮",
|
||||
"isrender": 1
|
||||
},
|
||||
{
|
||||
"iconId": "recordvideo",
|
||||
"part": "left",
|
||||
"defaultActive": 0,
|
||||
"memo": "录制按钮",
|
||||
"isrender": 1
|
||||
},
|
||||
{
|
||||
"iconId": "talk",
|
||||
"part": "left",
|
||||
"defaultActive": 0,
|
||||
"memo": "对讲按钮",
|
||||
"isrender": 1
|
||||
},
|
||||
{
|
||||
"iconId": "hd",
|
||||
"part": "right",
|
||||
"defaultActive": 0,
|
||||
"memo": "清晰度切换按钮",
|
||||
"isrender": 1
|
||||
},
|
||||
{
|
||||
"iconId": "webExpend",
|
||||
"part": "right",
|
||||
"defaultActive": 0,
|
||||
"memo": "网页全屏按钮",
|
||||
"isrender": 1
|
||||
},
|
||||
{
|
||||
"iconId": "expend",
|
||||
"part": "right",
|
||||
"defaultActive": 0,
|
||||
"memo": "全局全屏按钮",
|
||||
"isrender": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
</code></pre>
|
||||
|
||||
</td><td>N</td></tr>
|
||||
<tr><td>plugin</td><td>String</td><td>按需加载插件,可选值: talk:对讲,示例:plugin:["talk"] </td><td>N</td></tr>
|
||||
<tr><td>handleSuccess</td><td>function</td><td>自动播放成功回调</td><td>N</td></tr>
|
||||
<tr><td>poster</td><td>String</td><td>视频默认封面 版本号> v0.4.6 </td><td>N</td></tr>
|
||||
</table>
|
||||
|
||||
|
||||
### 方法调用
|
||||
> 同步方法(方式1)
|
||||
> 方法支持通过promise回调,可通过回调方式执行下一步动作(方式2)。
|
||||
|
||||
#### 开始播放
|
||||
```
|
||||
// 方式1
|
||||
player.play();
|
||||
// 方式2
|
||||
player.play()
|
||||
.then(()=>{
|
||||
console.log("执行播放成功后其他动作");
|
||||
});
|
||||
```
|
||||
#### 停止播放
|
||||
|
||||
```
|
||||
// 方式1
|
||||
player.stop();
|
||||
// 方式2
|
||||
player.stop()
|
||||
.then(()=>{
|
||||
console.log("执行停止成功后其他动作");
|
||||
});
|
||||
```
|
||||
#### 开启声音
|
||||
|
||||
```
|
||||
// 方式1
|
||||
player.openSound();
|
||||
// 方式2
|
||||
player.openSound()
|
||||
.then(()=>{
|
||||
console.log("执行开启声音成功后其他动作");
|
||||
});
|
||||
```
|
||||
#### 开始录制
|
||||
|
||||
```
|
||||
// 方式1
|
||||
player.startSave("唯一文件名");
|
||||
// 方式2
|
||||
player.startSave("唯一文件名")
|
||||
.then(()=>{
|
||||
console.log("执行开始录制成功后其他动作");
|
||||
});
|
||||
```
|
||||
#### 停止录制并下载文件
|
||||
|
||||
```
|
||||
// 方式1
|
||||
player.stopSave();
|
||||
// 方式2
|
||||
player.stopSave()
|
||||
.then(()=>{
|
||||
console.log("执行停止录制成功后其他动作");
|
||||
});
|
||||
```
|
||||
#### 抓图
|
||||
|
||||
```
|
||||
// 方式1 - 下载到本地
|
||||
player.capturePicture("文件名");
|
||||
// 方式2 - 返回base64格式
|
||||
const capCallback = (data) => {
|
||||
console.log("data",data)
|
||||
}
|
||||
player.capturePicture('default',capCallback)
|
||||
```
|
||||
#### 开始对讲
|
||||
|
||||
```
|
||||
player.startTalk();
|
||||
```
|
||||
|
||||
#### 结束对讲
|
||||
|
||||
```
|
||||
player.stopTalk();
|
||||
```
|
||||
|
||||
#### 全屏
|
||||
|
||||
```
|
||||
player.fullScreen();
|
||||
```
|
||||
#### 取消全屏
|
||||
|
||||
```
|
||||
player.cancelFullScreen();
|
||||
```
|
||||
#### 获取OSD时间
|
||||
|
||||
```
|
||||
player.getOSDTime()
|
||||
.then((time)=>{
|
||||
console.log("获取到的当前播放时间", time);
|
||||
});
|
||||
```
|
||||
|
||||
#### 切换地址播放
|
||||
|
||||
> 可用于在播放中切换设备,切换播放参数,以及直播切换回放等
|
||||
|
||||
```
|
||||
player.changePlayUrl(options)
|
||||
.then(()=>{
|
||||
console.log("切换成功")
|
||||
});
|
||||
```
|
||||
options参数说明
|
||||
|
||||
|参数名|类型|描述|是否必选|
|
||||
|:--|:--|:--|:--|
|
||||
|type| String| 播放地址类型,"live":预览,"rec":回放;“cloud.rec”:云存储回放| Y|
|
||||
|accessToken| String| 授权过程获取的access_token| Y|
|
||||
|deviceSerial | String | 设备序列号,存在英文字母的设备序列号,字母需为大写 | Y |
|
||||
|channelNo | int | 通道号 | Y |
|
||||
|hd | boolean | 是否为高清 true-主码流(高清) false-子码流(标清) | Y |
|
||||
|validCode |String| 设备验证码(加密设备播放需要输入验证码) |Y|
|
||||
|begin| String | type类型为回放有效,开始时间 格式为“YYYYMMDDHHmmss” |N|
|
||||
|end| String | type类型为回放有效,结束时间 格式为 “YYYYMMDDHHmmss” |N|
|
||||
|
||||
#### 设置封面
|
||||
|
||||
>你可以在初始化时,通过参数poster设置默认封面
|
||||
>实例初始化后可以调用设置封面方法再次更改封面
|
||||
|
||||
```
|
||||
player.setPoster(pictureUrl)
|
||||
.then(()=>{
|
||||
console.log("更改封面成功");
|
||||
});
|
||||
```
|
||||
|
||||
#### 开启电子放大
|
||||
|
||||
```
|
||||
// 方式1
|
||||
player.enableZoom();
|
||||
// 方式2
|
||||
player.enableZoom()
|
||||
.then(()=>{
|
||||
console.log("开启电子放大成功");
|
||||
});
|
||||
```
|
||||
#### 关闭电子放大
|
||||
|
||||
```
|
||||
// 方式1
|
||||
player.closeZoom();
|
||||
// 方式2
|
||||
player.closeZoom()
|
||||
.then(()=>{
|
||||
console.log("关闭电子放大成功");
|
||||
});
|
||||
```
|
||||
|
||||
#### 重置画面宽高
|
||||
|
||||
```
|
||||
player.reSize(width, height);
|
||||
```
|
||||
|
||||
### 使用示例
|
||||
|
||||
> 如果使用原生js,可参考demos => base-demo
|
||||
|
||||
> 如果使用react,可参考demos => react-demo
|
||||
|
||||
> 如果使用vue,可参考demos => vue-demo
|
||||
111
uniapp/uni-app/node_modules/ezuikit-js/demos/base-demo/base.html
generated
vendored
Normal file
111
uniapp/uni-app/node_modules/ezuikit-js/demos/base-demo/base.html
generated
vendored
Normal file
@@ -0,0 +1,111 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
|
||||
<title>Document</title>
|
||||
<script src="./ezuikit.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div className="demo">
|
||||
<h2>视频模式使用示例:</h2>
|
||||
<div id="video-container" style="width:600px;">
|
||||
</div>
|
||||
<div>
|
||||
<button onClick="play()">play</button>
|
||||
<button onClick="stop()">stop</button>
|
||||
<button onClick="getOSDTime()">getOSDTime</button>
|
||||
<button onClick="getOSDTime2()">getOSDTime2</button>
|
||||
<button onClick="capturePicture()">capturePicture</button>
|
||||
<button onClick="openSound()">openSound</button>
|
||||
<button onClick="closeSound()">closeSound</button>
|
||||
<button onClick="startSave()">startSave</button>
|
||||
<button onClick="stopSave()">stopSave</button>
|
||||
<button onClick="startTalk()">开始对讲</button>
|
||||
<button onClick="stopTalk()">结束对讲</button>
|
||||
<button onClick="fullScreen()">全屏</button>
|
||||
</div>
|
||||
<p style="font-style: italic;">播放多个视频,可初始化多个实例,参考:/demos/base-demo/multi-demo</p>
|
||||
</div>
|
||||
<script>
|
||||
var playr;
|
||||
fetch('https://open.ys7.com/jssdk/ezopen/demo/token')
|
||||
.then(response => response.json())
|
||||
.then(res => {
|
||||
var accessToken = res.data.accessToken;
|
||||
playr = new EZUIKit.EZUIKitPlayer({
|
||||
id: 'video-container', // 视频容器ID
|
||||
accessToken: accessToken,
|
||||
url: 'ezopen://open.ys7.com/G39444019/1.live',
|
||||
template: 'simple', // simple - 极简版;standard-标准版;security - 安防版(预览回放);voice-语音版; theme-可配置主题;
|
||||
plugin: ['talk'], // 加载插件,talk-对讲
|
||||
width: 600,
|
||||
height: 400,
|
||||
});
|
||||
});
|
||||
function fullScreen() {
|
||||
var playPromise = playr.fullScreen();
|
||||
playPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function play() {
|
||||
var playPromise = playr.play();
|
||||
playPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function stop() {
|
||||
var stopPromise = playr.stop();
|
||||
stopPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function getOSDTime() {
|
||||
var getOSDTimePromise = playr.getOSDTime();
|
||||
getOSDTimePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function getOSDTime2() {
|
||||
var getOSDTimePromise = playr2.getOSDTime();
|
||||
getOSDTimePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function capturePicture() {
|
||||
var capturePicturePromise = playr.capturePicture();
|
||||
capturePicturePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function openSound() {
|
||||
var openSoundPromise = playr.openSound();
|
||||
openSoundPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function closeSound() {
|
||||
var closeSoundPromise = playr.closeSound();
|
||||
closeSoundPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function startSave() {
|
||||
var startSavePromise = playr.startSave();
|
||||
startSavePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function stopSave() {
|
||||
var stopSavePromise = playr.stopSave();
|
||||
stopSavePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
30445
uniapp/uni-app/node_modules/ezuikit-js/demos/base-demo/ezuikit.js
generated
vendored
Normal file
30445
uniapp/uni-app/node_modules/ezuikit-js/demos/base-demo/ezuikit.js
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
111
uniapp/uni-app/node_modules/ezuikit-js/demos/base-demo/index.html
generated
vendored
Normal file
111
uniapp/uni-app/node_modules/ezuikit-js/demos/base-demo/index.html
generated
vendored
Normal file
@@ -0,0 +1,111 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
|
||||
<title>Document</title>
|
||||
<script src="./ezuikit.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div className="demo">
|
||||
<h2>视频模式使用示例:</h2>
|
||||
<div id="video-container" style="width:600px;">
|
||||
</div>
|
||||
<div>
|
||||
<button onClick="play()">play</button>
|
||||
<button onClick="stop()">stop</button>
|
||||
<button onClick="getOSDTime()">getOSDTime</button>
|
||||
<button onClick="getOSDTime2()">getOSDTime2</button>
|
||||
<button onClick="capturePicture()">capturePicture</button>
|
||||
<button onClick="openSound()">openSound</button>
|
||||
<button onClick="closeSound()">closeSound</button>
|
||||
<button onClick="startSave()">startSave</button>
|
||||
<button onClick="stopSave()">stopSave</button>
|
||||
<button onClick="startTalk()">开始对讲</button>
|
||||
<button onClick="stopTalk()">结束对讲</button>
|
||||
<button onClick="fullScreen()">全屏</button>
|
||||
</div>
|
||||
<p style="font-style: italic;">播放多个视频,可初始化多个实例,参考:/demos/base-demo/multi-demo</p>
|
||||
</div>
|
||||
<script>
|
||||
var playr;
|
||||
fetch('https://open.ys7.com/jssdk/ezopen/demo/token')
|
||||
.then(response => response.json())
|
||||
.then(res => {
|
||||
var accessToken = res.data.accessToken;
|
||||
playr = new EZUIKit.EZUIKitPlayer({
|
||||
id: 'video-container', // 视频容器ID
|
||||
accessToken: accessToken,
|
||||
url: 'ezopen://open.ys7.com/G39444019/1.live',
|
||||
template: 'simple', // simple - 极简版;standard-标准版;security - 安防版(预览回放);voice-语音版; theme-可配置主题;
|
||||
plugin: ['talk'], // 加载插件,talk-对讲
|
||||
width: 600,
|
||||
height: 400,
|
||||
});
|
||||
});
|
||||
function fullScreen() {
|
||||
var playPromise = playr.fullScreen();
|
||||
playPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function play() {
|
||||
var playPromise = playr.play();
|
||||
playPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function stop() {
|
||||
var stopPromise = playr.stop();
|
||||
stopPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function getOSDTime() {
|
||||
var getOSDTimePromise = playr.getOSDTime();
|
||||
getOSDTimePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function getOSDTime2() {
|
||||
var getOSDTimePromise = playr2.getOSDTime();
|
||||
getOSDTimePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function capturePicture() {
|
||||
var capturePicturePromise = playr.capturePicture();
|
||||
capturePicturePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function openSound() {
|
||||
var openSoundPromise = playr.openSound();
|
||||
openSoundPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function closeSound() {
|
||||
var closeSoundPromise = playr.closeSound();
|
||||
closeSoundPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function startSave() {
|
||||
var startSavePromise = playr.startSave();
|
||||
startSavePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function stopSave() {
|
||||
var stopSavePromise = playr.stopSave();
|
||||
stopSavePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
111
uniapp/uni-app/node_modules/ezuikit-js/demos/base-demo/mobileLive.html
generated
vendored
Normal file
111
uniapp/uni-app/node_modules/ezuikit-js/demos/base-demo/mobileLive.html
generated
vendored
Normal file
@@ -0,0 +1,111 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
|
||||
<title>Document</title>
|
||||
<script src="./ezuikit.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div className="demo">
|
||||
<h2>视频模式使用示例:</h2>
|
||||
<div id="video-container">
|
||||
</div>
|
||||
<div>
|
||||
<button onClick="play()">play</button>
|
||||
<button onClick="stop()">stop</button>
|
||||
<button onClick="getOSDTime()">getOSDTime</button>
|
||||
<button onClick="getOSDTime2()">getOSDTime2</button>
|
||||
<button onClick="capturePicture()">capturePicture</button>
|
||||
<button onClick="openSound()">openSound</button>
|
||||
<button onClick="closeSound()">closeSound</button>
|
||||
<button onClick="startSave()">startSave</button>
|
||||
<button onClick="stopSave()">stopSave</button>
|
||||
<button onClick="startTalk()">开始对讲</button>
|
||||
<button onClick="stopTalk()">结束对讲</button>
|
||||
<button onClick="fullScreen()">全屏</button>
|
||||
</div>
|
||||
<p style="font-style: italic;">播放多个视频,可初始化多个实例,参考:/demos/base-demo/multi-demo</p>
|
||||
</div>
|
||||
<script>
|
||||
var playr;
|
||||
fetch('https://open.ys7.com/jssdk/ezopen/demo/token')
|
||||
.then(response => response.json())
|
||||
.then(res => {
|
||||
var accessToken = res.data.accessToken;
|
||||
playr = new EZUIKit.EZUIKitPlayer({
|
||||
id: 'video-container', // 视频容器ID
|
||||
accessToken: accessToken,
|
||||
url: 'ezopen://open.ys7.com/G39444019/1.live',
|
||||
template: 'mobileLive', // simple - 极简版;standard-标准版;security - 安防版(预览回放);voice-语音版; theme-可配置主题;
|
||||
plugin: ['talk'], // 加载插件,talk-对讲
|
||||
width: 375,
|
||||
height: 210,
|
||||
});
|
||||
});
|
||||
function fullScreen() {
|
||||
var playPromise = playr.fullScreen();
|
||||
playPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function play() {
|
||||
var playPromise = playr.play();
|
||||
playPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function stop() {
|
||||
var stopPromise = playr.stop();
|
||||
stopPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function getOSDTime() {
|
||||
var getOSDTimePromise = playr.getOSDTime();
|
||||
getOSDTimePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function getOSDTime2() {
|
||||
var getOSDTimePromise = playr2.getOSDTime();
|
||||
getOSDTimePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function capturePicture() {
|
||||
var capturePicturePromise = playr.capturePicture();
|
||||
capturePicturePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function openSound() {
|
||||
var openSoundPromise = playr.openSound();
|
||||
openSoundPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function closeSound() {
|
||||
var closeSoundPromise = playr.closeSound();
|
||||
closeSoundPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function startSave() {
|
||||
var startSavePromise = playr.startSave();
|
||||
startSavePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function stopSave() {
|
||||
var stopSavePromise = playr.stopSave();
|
||||
stopSavePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
110
uniapp/uni-app/node_modules/ezuikit-js/demos/base-demo/mobileRec.html
generated
vendored
Normal file
110
uniapp/uni-app/node_modules/ezuikit-js/demos/base-demo/mobileRec.html
generated
vendored
Normal file
@@ -0,0 +1,110 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
|
||||
<title>Document</title>
|
||||
<script src="./ezuikit.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div className="demo">
|
||||
<h2>视频模式使用示例:</h2>
|
||||
<div id="video-container">
|
||||
</div>
|
||||
<div>
|
||||
<button onClick="play()">play</button>
|
||||
<button onClick="stop()">stop</button>
|
||||
<button onClick="getOSDTime()">getOSDTime</button>
|
||||
<button onClick="getOSDTime2()">getOSDTime2</button>
|
||||
<button onClick="capturePicture()">capturePicture</button>
|
||||
<button onClick="openSound()">openSound</button>
|
||||
<button onClick="closeSound()">closeSound</button>
|
||||
<button onClick="startSave()">startSave</button>
|
||||
<button onClick="stopSave()">stopSave</button>
|
||||
<button onClick="startTalk()">开始对讲</button>
|
||||
<button onClick="stopTalk()">结束对讲</button>
|
||||
<button onClick="fullScreen()">全屏</button>
|
||||
</div>
|
||||
<p style="font-style: italic;">播放多个视频,可初始化多个实例,参考:/demos/base-demo/multi-demo</p>
|
||||
</div>
|
||||
<script>
|
||||
var playr;
|
||||
fetch('https://open.ys7.com/jssdk/ezopen/demo/token')
|
||||
.then(response => response.json())
|
||||
.then(res => {
|
||||
var accessToken = res.data.accessToken;
|
||||
playr = new EZUIKit.EZUIKitPlayer({
|
||||
id: 'video-container', // 视频容器ID
|
||||
accessToken: accessToken,
|
||||
url: 'ezopen://open.ys7.com/G39444019/1.rec',
|
||||
template: 'mobileRec', // simple - 极简版;standard-标准版;security - 安防版(预览回放);voice-语音版; theme-可配置主题;
|
||||
width: 375,
|
||||
height: 210,
|
||||
});
|
||||
});
|
||||
function fullScreen() {
|
||||
var playPromise = playr.fullScreen();
|
||||
playPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function play() {
|
||||
var playPromise = playr.play();
|
||||
playPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function stop() {
|
||||
var stopPromise = playr.stop();
|
||||
stopPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function getOSDTime() {
|
||||
var getOSDTimePromise = playr.getOSDTime();
|
||||
getOSDTimePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function getOSDTime2() {
|
||||
var getOSDTimePromise = playr2.getOSDTime();
|
||||
getOSDTimePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function capturePicture() {
|
||||
var capturePicturePromise = playr.capturePicture();
|
||||
capturePicturePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function openSound() {
|
||||
var openSoundPromise = playr.openSound();
|
||||
openSoundPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function closeSound() {
|
||||
var closeSoundPromise = playr.closeSound();
|
||||
closeSoundPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function startSave() {
|
||||
var startSavePromise = playr.startSave();
|
||||
startSavePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function stopSave() {
|
||||
var stopSavePromise = playr.stopSave();
|
||||
stopSavePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
213
uniapp/uni-app/node_modules/ezuikit-js/demos/base-demo/multi-demo.html
generated
vendored
Normal file
213
uniapp/uni-app/node_modules/ezuikit-js/demos/base-demo/multi-demo.html
generated
vendored
Normal file
@@ -0,0 +1,213 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
|
||||
<title>Document</title>
|
||||
<script src="./ezuikit.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div className="demo">
|
||||
<h2>多个视频窗口模式使用示例:</h2>
|
||||
<div style="display: inline-block;vertical-align: top;width: 40%;">
|
||||
<h3>窗口1:</h3>
|
||||
<div id="video-container" style="width:400px;">
|
||||
</div>
|
||||
<div>
|
||||
<button onClick="play()">play</button>
|
||||
<button onClick="stop()">stop</button>
|
||||
<button onClick="getOSDTime()">getOSDTime</button>
|
||||
<button onClick="capturePicture()">capturePicture</button>
|
||||
<button onClick="openSound()">openSound</button>
|
||||
<button onClick="closeSound()">closeSound</button>
|
||||
<button onClick="startSave()">startSave</button>
|
||||
<button onClick="stopSave()">stopSave</button>
|
||||
</div>
|
||||
</div>
|
||||
<div style="display: inline-block;vertical-align: top;width: 40%;">
|
||||
<h3>窗口2:</h3>
|
||||
<div id="video-container2" style="width:400px;">
|
||||
</div>
|
||||
<div>
|
||||
<button onClick="play2()">play</button>
|
||||
<button onClick="stop2()">stop</button>
|
||||
<button onClick="getOSDTime2()">getOSDTime2</button>
|
||||
<button onClick="capturePicture2()">capturePicture</button>
|
||||
<button onClick="openSound2()">openSound</button>
|
||||
<button onClick="closeSound2()">closeSound</button>
|
||||
<button onClick="startSave2()">startSave</button>
|
||||
<button onClick="stopSave2()">stopSave</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
var playr1 = new EZUIKit.EZUIKitPlayer({
|
||||
id: 'video-container', // 视频容器ID
|
||||
accessToken: 'xx.16xf4zx0598fciw0delqzohqxxz6u8ei-1vxaom5kzu-1lz6z9x-uboj6tj3a',
|
||||
url: 'ezopen://open.ys7.com/xxx/1.live',
|
||||
template: 'simple', // simple - 极简版;standard-标准版;security - 安防版(预览回放);voice-语音版;
|
||||
autoplay: true,
|
||||
// 视频上方头部控件
|
||||
header: ['capturePicture', 'save', 'zoom'], // 如果templete参数不为simple,该字段将被覆盖
|
||||
// 视频下方底部控件
|
||||
footer: ['talk', 'broadcast', 'hd', 'fullScreen'], // 如果template参数不为simple,该字段将被覆盖
|
||||
// audio: 1, // 是否默认开启声音 0 - 关闭 1 - 开启
|
||||
// plugin: ['talk'], // 加载插件,talk-对讲
|
||||
// controls: true, //['play','voice','hd','fullScreen'], // 视频控制相关控件,如果template参数不为simple,该字段将被覆盖
|
||||
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),
|
||||
handleTalkSuccess: () => console.log("对讲成功回掉"),
|
||||
handleTalkError: (data) = function () { console.log("对讲失败", data) },
|
||||
width: 400,
|
||||
height: 300,
|
||||
});
|
||||
function play() {
|
||||
var playPromise = playr.play();
|
||||
playPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function stop() {
|
||||
var stopPromise = playr.stop();
|
||||
stopPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function getOSDTime() {
|
||||
var getOSDTimePromise = playr.getOSDTime();
|
||||
getOSDTimePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function getOSDTime2() {
|
||||
var getOSDTimePromise = playr2.getOSDTime();
|
||||
getOSDTimePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function capturePicture() {
|
||||
var capturePicturePromise = playr.capturePicture();
|
||||
capturePicturePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function openSound() {
|
||||
var openSoundPromise = playr.openSound();
|
||||
openSoundPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function closeSound() {
|
||||
var closeSoundPromise = playr.closeSound();
|
||||
closeSoundPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function startSave() {
|
||||
var startSavePromise = playr.startSave();
|
||||
startSavePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function stopSave() {
|
||||
var stopSavePromise = playr.stopSave();
|
||||
stopSavePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
</script>
|
||||
<script>
|
||||
var playr2 = new EZUIKit.EZUIKitPlayer({
|
||||
id: 'video-container2', // 视频容器ID
|
||||
accessToken: 'xx.16xf4zx0598fciw0delqzohqxxz6u8ei-1vxaom5kzu-1lz6z9x-uboj6tj3aa',
|
||||
url: 'ezopen://open.ys7.com/xxx/1.live',
|
||||
template: 'simple', // simple - 极简版;standard-标准版;security - 安防版(预览回放);voice-语音版;
|
||||
autoplay: true,
|
||||
// 视频上方头部控件
|
||||
header: ['capturePicture', 'save', 'zoom'], // 如果templete参数不为simple,该字段将被覆盖
|
||||
// 视频下方底部控件
|
||||
footer: ['talk', 'broadcast', 'hd', 'fullScreen'], // 如果template参数不为simple,该字段将被覆盖
|
||||
// audio: 1, // 是否默认开启声音 0 - 关闭 1 - 开启
|
||||
// plugin: ['talk'], // 加载插件,talk-对讲
|
||||
// controls: true, //['play','voice','hd','fullScreen'], // 视频控制相关控件,如果template参数不为simple,该字段将被覆盖
|
||||
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),
|
||||
handleTalkSuccess: () => console.log("对讲成功回掉"),
|
||||
handleTalkError: (data) = function () { console.log("对讲失败", data) },
|
||||
width: 400,
|
||||
height: 300,
|
||||
});
|
||||
function play2() {
|
||||
var playPromise = playr2.play();
|
||||
playPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function stop2() {
|
||||
var stopPromise = playr2.stop();
|
||||
stopPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function getOSDTime2() {
|
||||
var getOSDTimePromise = playr2.getOSDTime();
|
||||
getOSDTimePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function getOSDTime2() {
|
||||
var getOSDTimePromise = playr2.getOSDTime();
|
||||
getOSDTimePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function capturePicture2() {
|
||||
var capturePicturePromise = playr2.capturePicture();
|
||||
capturePicturePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function openSound2() {
|
||||
var openSoundPromise = playr2.openSound();
|
||||
openSoundPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function closeSound2() {
|
||||
var closeSoundPromise = playr2.closeSound();
|
||||
closeSoundPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function startSave2() {
|
||||
var startSavePromise = playr2.startSave();
|
||||
startSavePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function stopSave2() {
|
||||
var stopSavePromise = playr2.stopSave();
|
||||
stopSavePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
123
uniapp/uni-app/node_modules/ezuikit-js/demos/base-demo/multi.html
generated
vendored
Normal file
123
uniapp/uni-app/node_modules/ezuikit-js/demos/base-demo/multi.html
generated
vendored
Normal file
@@ -0,0 +1,123 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
|
||||
<title>Document</title>
|
||||
<script src="./ezuikit.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div className="demo">
|
||||
<h2>视频模式使用示例:</h2>
|
||||
<div id="video-container" style="width:600px;">
|
||||
</div>
|
||||
<div id="video-container2" style="width:600px;">
|
||||
</div>
|
||||
<div>
|
||||
<button onClick="play()">play</button>
|
||||
<button onClick="stop()">stop</button>
|
||||
<button onClick="getOSDTime()">getOSDTime</button>
|
||||
<button onClick="getOSDTime2()">getOSDTime2</button>
|
||||
<button onClick="capturePicture()">capturePicture</button>
|
||||
<button onClick="openSound()">openSound</button>
|
||||
<button onClick="closeSound()">closeSound</button>
|
||||
<button onClick="startSave()">startSave</button>
|
||||
<button onClick="stopSave()">stopSave</button>
|
||||
<button onClick="startTalk()">开始对讲</button>
|
||||
<button onClick="stopTalk()">结束对讲</button>
|
||||
<button onClick="fullScreen()">全屏</button>
|
||||
</div>
|
||||
<p style="font-style: italic;">播放多个视频,可初始化多个实例,参考:/demos/base-demo/multi-demo</p>
|
||||
</div>
|
||||
<script>
|
||||
var playr;
|
||||
var playr2;
|
||||
fetch('https://open.ys7.com/jssdk/ezopen/demo/token')
|
||||
.then(response => response.json())
|
||||
.then(res => {
|
||||
var accessToken = res.data.accessToken;
|
||||
playr = new EZUIKit.EZUIKitPlayer({
|
||||
id: 'video-container', // 视频容器ID
|
||||
accessToken: accessToken,
|
||||
url: 'ezopen://open.ys7.com/G39444019/1.live',
|
||||
template: 'pcLive', // simple - 极简版;standard-标准版;security - 安防版(预览回放);voice-语音版; theme-可配置主题;
|
||||
plugin: ['talk'], // 加载插件,talk-对讲
|
||||
width: 600,
|
||||
height: 400,
|
||||
});
|
||||
playr2 = new EZUIKit.EZUIKitPlayer({
|
||||
id: 'video-container2', // 视频容器ID
|
||||
accessToken: "at.e0mnhu50d7bwohb40358mchq13aobjm2-6m2v78jd7m-1g22scv-lcn0rdqm1",
|
||||
url: 'ezopen://open.ys7.com/G39444019/1.live',
|
||||
template: 'pcLive', // simple - 极简版;standard-标准版;security - 安防版(预览回放);voice-语音版; theme-可配置主题;
|
||||
plugin: ['talk'], // 加载插件,talk-对讲
|
||||
width: 600,
|
||||
height: 400,
|
||||
});
|
||||
});
|
||||
function fullScreen() {
|
||||
var playPromise = playr.fullScreen();
|
||||
playPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function play() {
|
||||
var playPromise = playr.play();
|
||||
playPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function stop() {
|
||||
var stopPromise = playr.stop();
|
||||
stopPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function getOSDTime() {
|
||||
var getOSDTimePromise = playr.getOSDTime();
|
||||
getOSDTimePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function getOSDTime2() {
|
||||
var getOSDTimePromise = playr2.getOSDTime();
|
||||
getOSDTimePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function capturePicture() {
|
||||
var capturePicturePromise = playr.capturePicture();
|
||||
capturePicturePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function openSound() {
|
||||
var openSoundPromise = playr.openSound();
|
||||
openSoundPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function closeSound() {
|
||||
var closeSoundPromise = playr.closeSound();
|
||||
closeSoundPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function startSave() {
|
||||
var startSavePromise = playr.startSave();
|
||||
startSavePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function stopSave() {
|
||||
var stopSavePromise = playr.stopSave();
|
||||
stopSavePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
111
uniapp/uni-app/node_modules/ezuikit-js/demos/base-demo/pcLive.html
generated
vendored
Normal file
111
uniapp/uni-app/node_modules/ezuikit-js/demos/base-demo/pcLive.html
generated
vendored
Normal file
@@ -0,0 +1,111 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
|
||||
<title>Document</title>
|
||||
<script src="./ezuikit.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div className="demo">
|
||||
<h2>视频模式使用示例:</h2>
|
||||
<div id="video-container" style="width:600px;">
|
||||
</div>
|
||||
<div>
|
||||
<button onClick="play()">play</button>
|
||||
<button onClick="stop()">stop</button>
|
||||
<button onClick="getOSDTime()">getOSDTime</button>
|
||||
<button onClick="getOSDTime2()">getOSDTime2</button>
|
||||
<button onClick="capturePicture()">capturePicture</button>
|
||||
<button onClick="openSound()">openSound</button>
|
||||
<button onClick="closeSound()">closeSound</button>
|
||||
<button onClick="startSave()">startSave</button>
|
||||
<button onClick="stopSave()">stopSave</button>
|
||||
<button onClick="startTalk()">开始对讲</button>
|
||||
<button onClick="stopTalk()">结束对讲</button>
|
||||
<button onClick="fullScreen()">全屏</button>
|
||||
</div>
|
||||
<p style="font-style: italic;">播放多个视频,可初始化多个实例,参考:/demos/base-demo/multi-demo</p>
|
||||
</div>
|
||||
<script>
|
||||
var playr;
|
||||
fetch('https://open.ys7.com/jssdk/ezopen/demo/token')
|
||||
.then(response => response.json())
|
||||
.then(res => {
|
||||
var accessToken = res.data.accessToken;
|
||||
playr = new EZUIKit.EZUIKitPlayer({
|
||||
id: 'video-container', // 视频容器ID
|
||||
accessToken: accessToken,
|
||||
url: 'ezopen://open.ys7.com/G39444019/1.live',
|
||||
template: 'pcLive', // simple - 极简版;standard-标准版;security - 安防版(预览回放);voice-语音版; theme-可配置主题;
|
||||
plugin: ['talk'], // 加载插件,talk-对讲
|
||||
width: 600,
|
||||
height: 400,
|
||||
});
|
||||
});
|
||||
function fullScreen() {
|
||||
var playPromise = playr.fullScreen();
|
||||
playPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function play() {
|
||||
var playPromise = playr.play();
|
||||
playPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function stop() {
|
||||
var stopPromise = playr.stop();
|
||||
stopPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function getOSDTime() {
|
||||
var getOSDTimePromise = playr.getOSDTime();
|
||||
getOSDTimePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function getOSDTime2() {
|
||||
var getOSDTimePromise = playr2.getOSDTime();
|
||||
getOSDTimePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function capturePicture() {
|
||||
var capturePicturePromise = playr.capturePicture();
|
||||
capturePicturePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function openSound() {
|
||||
var openSoundPromise = playr.openSound();
|
||||
openSoundPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function closeSound() {
|
||||
var closeSoundPromise = playr.closeSound();
|
||||
closeSoundPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function startSave() {
|
||||
var startSavePromise = playr.startSave();
|
||||
startSavePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function stopSave() {
|
||||
var stopSavePromise = playr.stopSave();
|
||||
stopSavePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
110
uniapp/uni-app/node_modules/ezuikit-js/demos/base-demo/pcRec.html
generated
vendored
Normal file
110
uniapp/uni-app/node_modules/ezuikit-js/demos/base-demo/pcRec.html
generated
vendored
Normal file
@@ -0,0 +1,110 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
|
||||
<title>Document</title>
|
||||
<script src="./ezuikit.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div className="demo">
|
||||
<h2>视频模式使用示例:</h2>
|
||||
<div id="video-container" style="width:600px;">
|
||||
</div>
|
||||
<div>
|
||||
<button onClick="play()">play</button>
|
||||
<button onClick="stop()">stop</button>
|
||||
<button onClick="getOSDTime()">getOSDTime</button>
|
||||
<button onClick="getOSDTime2()">getOSDTime2</button>
|
||||
<button onClick="capturePicture()">capturePicture</button>
|
||||
<button onClick="openSound()">openSound</button>
|
||||
<button onClick="closeSound()">closeSound</button>
|
||||
<button onClick="startSave()">startSave</button>
|
||||
<button onClick="stopSave()">stopSave</button>
|
||||
<button onClick="startTalk()">开始对讲</button>
|
||||
<button onClick="stopTalk()">结束对讲</button>
|
||||
<button onClick="fullScreen()">全屏</button>
|
||||
</div>
|
||||
<p style="font-style: italic;">播放多个视频,可初始化多个实例,参考:/demos/base-demo/multi-demo</p>
|
||||
</div>
|
||||
<script>
|
||||
var playr;
|
||||
fetch('https://open.ys7.com/jssdk/ezopen/demo/token')
|
||||
.then(response => response.json())
|
||||
.then(res => {
|
||||
var accessToken = res.data.accessToken;
|
||||
playr = new EZUIKit.EZUIKitPlayer({
|
||||
id: 'video-container', // 视频容器ID
|
||||
accessToken: accessToken,
|
||||
url: 'ezopen://open.ys7.com/G39444019/1.rec',
|
||||
template: 'pcRec', // simple - 极简版;standard-标准版;security - 安防版(预览回放);voice-语音版; theme-可配置主题;
|
||||
width: 600,
|
||||
height: 400,
|
||||
});
|
||||
});
|
||||
function fullScreen() {
|
||||
var playPromise = playr.fullScreen();
|
||||
playPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function play() {
|
||||
var playPromise = playr.play();
|
||||
playPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function stop() {
|
||||
var stopPromise = playr.stop();
|
||||
stopPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function getOSDTime() {
|
||||
var getOSDTimePromise = playr.getOSDTime();
|
||||
getOSDTimePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function getOSDTime2() {
|
||||
var getOSDTimePromise = playr2.getOSDTime();
|
||||
getOSDTimePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function capturePicture() {
|
||||
var capturePicturePromise = playr.capturePicture();
|
||||
capturePicturePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function openSound() {
|
||||
var openSoundPromise = playr.openSound();
|
||||
openSoundPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function closeSound() {
|
||||
var closeSoundPromise = playr.closeSound();
|
||||
closeSoundPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function startSave() {
|
||||
var startSavePromise = playr.startSave();
|
||||
startSavePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function stopSave() {
|
||||
var stopSavePromise = playr.stopSave();
|
||||
stopSavePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
118
uniapp/uni-app/node_modules/ezuikit-js/demos/base-demo/template.html
generated
vendored
Normal file
118
uniapp/uni-app/node_modules/ezuikit-js/demos/base-demo/template.html
generated
vendored
Normal file
@@ -0,0 +1,118 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
|
||||
<title>Document</title>
|
||||
<script src="./ezuikit.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div className="demo">
|
||||
<h2>视频模式使用示例:</h2>
|
||||
<div id="video-container" style="width:600px;">
|
||||
</div>
|
||||
<div>
|
||||
<button onClick="play()">play</button>
|
||||
<button onClick="stop()">stop</button>
|
||||
<button onClick="getOSDTime()">getOSDTime</button>
|
||||
<button onClick="getOSDTime2()">getOSDTime2</button>
|
||||
<button onClick="capturePicture()">capturePicture</button>
|
||||
<button onClick="openSound()">openSound</button>
|
||||
<button onClick="closeSound()">closeSound</button>
|
||||
<button onClick="startSave()">startSave</button>
|
||||
<button onClick="stopSave()">stopSave</button>
|
||||
<button onClick="startTalk()">开始对讲</button>
|
||||
<button onClick="stopTalk()">结束对讲</button>
|
||||
<button onClick="fullScreen()">全屏</button>
|
||||
</div>
|
||||
<p style="font-style: italic;">播放多个视频,可初始化多个实例,参考:/demos/base-demo/multi-demo</p>
|
||||
</div>
|
||||
<script>
|
||||
var playr;
|
||||
// 获取测试token
|
||||
fetch('https://open.ys7.com/jssdk/ezopen/demo/token')
|
||||
.then(response => response.json())
|
||||
.then(res => {
|
||||
var accessToken = res.data.accessToken;
|
||||
// 获取主题
|
||||
fetch(`https://open.ys7.com/jssdk/ezopen/template/get?pageStart=1&pageSize=10&accessToken=${accessToken}`)
|
||||
.then(response => response.json())
|
||||
.then(res => {
|
||||
var template = res.data.result[0].themeId;
|
||||
playr = new EZUIKit.EZUIKitPlayer({
|
||||
id: 'video-container', // 视频容器ID
|
||||
accessToken: accessToken,
|
||||
url: 'ezopen://open.ys7.com/G39444019/1.live',
|
||||
template: template, // simple - 极简版;standard-标准版;security - 安防版(预览回放);voice-语音版; theme-可配置主题;
|
||||
plugin: ['talk'], // 加载插件,talk-对讲
|
||||
width: 600,
|
||||
height: 400,
|
||||
});
|
||||
})
|
||||
});
|
||||
function fullScreen() {
|
||||
var playPromise = playr.fullScreen();
|
||||
playPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function play() {
|
||||
var playPromise = playr.play();
|
||||
playPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function stop() {
|
||||
var stopPromise = playr.stop();
|
||||
stopPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function getOSDTime() {
|
||||
var getOSDTimePromise = playr.getOSDTime();
|
||||
getOSDTimePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function getOSDTime2() {
|
||||
var getOSDTimePromise = playr2.getOSDTime();
|
||||
getOSDTimePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function capturePicture() {
|
||||
var capturePicturePromise = playr.capturePicture();
|
||||
capturePicturePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function openSound() {
|
||||
var openSoundPromise = playr.openSound();
|
||||
openSoundPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function closeSound() {
|
||||
var closeSoundPromise = playr.closeSound();
|
||||
closeSoundPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function startSave() {
|
||||
var startSavePromise = playr.startSave();
|
||||
startSavePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function stopSave() {
|
||||
var stopSavePromise = playr.stopSave();
|
||||
stopSavePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
219
uniapp/uni-app/node_modules/ezuikit-js/demos/base-demo/themeData.html
generated
vendored
Normal file
219
uniapp/uni-app/node_modules/ezuikit-js/demos/base-demo/themeData.html
generated
vendored
Normal file
@@ -0,0 +1,219 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
|
||||
<title>Document</title>
|
||||
<script src="./ezuikit.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div className="demo">
|
||||
<h2>视频模式使用示例:</h2>
|
||||
<div id="video-container" style="width:600px;">
|
||||
</div>
|
||||
<div>
|
||||
<button onClick="play()">play</button>
|
||||
<button onClick="stop()">stop</button>
|
||||
<button onClick="getOSDTime()">getOSDTime</button>
|
||||
<button onClick="getOSDTime2()">getOSDTime2</button>
|
||||
<button onClick="capturePicture()">capturePicture</button>
|
||||
<button onClick="openSound()">openSound</button>
|
||||
<button onClick="closeSound()">closeSound</button>
|
||||
<button onClick="startSave()">startSave</button>
|
||||
<button onClick="stopSave()">stopSave</button>
|
||||
<button onClick="startTalk()">开始对讲</button>
|
||||
<button onClick="stopTalk()">结束对讲</button>
|
||||
<button onClick="fullScreen()">全屏</button>
|
||||
</div>
|
||||
<p style="font-style: italic;">播放多个视频,可初始化多个实例,参考:/demos/base-demo/multi-demo</p>
|
||||
</div>
|
||||
<script>
|
||||
var themeData = {
|
||||
"header": {
|
||||
"color": "#1890ff",
|
||||
"activeColor": "#FFFFFF",
|
||||
"backgroundColor": "#000000",
|
||||
"btnList": [
|
||||
{
|
||||
"iconId": "deviceID",
|
||||
"part": "left",
|
||||
"defaultActive": 0,
|
||||
"memo": "顶部设备序列号",
|
||||
"isrender": 1
|
||||
},
|
||||
{
|
||||
"iconId": "deviceName",
|
||||
"part": "left",
|
||||
"defaultActive": 0,
|
||||
"memo": "顶部设备名称",
|
||||
"isrender": 1
|
||||
},
|
||||
{
|
||||
"iconId": "cloudRec",
|
||||
"part": "right",
|
||||
"defaultActive": 0,
|
||||
"memo": "云存储",
|
||||
"isrender": 0
|
||||
},
|
||||
{
|
||||
"iconId": "rec",
|
||||
"part": "right",
|
||||
"defaultActive": 0,
|
||||
"memo": "SD卡回放",
|
||||
"isrender": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
"footer": {
|
||||
"color": "#FFFFFF",
|
||||
"activeColor": "#1890FF",
|
||||
"backgroundColor": "#00000021",
|
||||
"btnList": [
|
||||
{
|
||||
"iconId": "play",
|
||||
"part": "left",
|
||||
"defaultActive": 1,
|
||||
"memo": "播放",
|
||||
"isrender": 1
|
||||
},
|
||||
{
|
||||
"iconId": "capturePicture",
|
||||
"part": "left",
|
||||
"defaultActive": 0,
|
||||
"memo": "截屏按钮",
|
||||
"isrender": 1
|
||||
},
|
||||
{
|
||||
"iconId": "sound",
|
||||
"part": "left",
|
||||
"defaultActive": 0,
|
||||
"memo": "声音按钮",
|
||||
"isrender": 1
|
||||
},
|
||||
{
|
||||
"iconId": "pantile",
|
||||
"part": "left",
|
||||
"defaultActive": 0,
|
||||
"memo": "云台控制按钮",
|
||||
"isrender": 1
|
||||
},
|
||||
{
|
||||
"iconId": "recordvideo",
|
||||
"part": "left",
|
||||
"defaultActive": 0,
|
||||
"memo": "录制按钮",
|
||||
"isrender": 1
|
||||
},
|
||||
{
|
||||
"iconId": "talk",
|
||||
"part": "left",
|
||||
"defaultActive": 0,
|
||||
"memo": "对讲按钮",
|
||||
"isrender": 1
|
||||
},
|
||||
{
|
||||
"iconId": "hd",
|
||||
"part": "right",
|
||||
"defaultActive": 0,
|
||||
"memo": "清晰度切换按钮",
|
||||
"isrender": 1
|
||||
},
|
||||
{
|
||||
"iconId": "webExpend",
|
||||
"part": "right",
|
||||
"defaultActive": 0,
|
||||
"memo": "网页全屏按钮",
|
||||
"isrender": 1
|
||||
},
|
||||
{
|
||||
"iconId": "expend",
|
||||
"part": "right",
|
||||
"defaultActive": 0,
|
||||
"memo": "全局全屏按钮",
|
||||
"isrender": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
};
|
||||
var playr;
|
||||
fetch('https://open.ys7.com/jssdk/ezopen/demo/token')
|
||||
.then(response => response.json())
|
||||
.then(res => {
|
||||
var accessToken = res.data.accessToken;
|
||||
playr = new EZUIKit.EZUIKitPlayer({
|
||||
id: 'video-container', // 视频容器ID
|
||||
accessToken: accessToken,
|
||||
url: 'ezopen://open.ys7.com/G39444019/1.live',
|
||||
//template: 'simple', // simple - 极简版;standard-标准版;security - 安防版(预览回放);voice-语音版; theme-可配置主题;
|
||||
themeData: themeData,
|
||||
plugin: ['talk'], // 加载插件,talk-对讲
|
||||
width: 600,
|
||||
height: 400,
|
||||
});
|
||||
});
|
||||
function fullScreen() {
|
||||
var playPromise = playr.fullScreen();
|
||||
playPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function play() {
|
||||
var playPromise = playr.play();
|
||||
playPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function stop() {
|
||||
var stopPromise = playr.stop();
|
||||
stopPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function getOSDTime() {
|
||||
var getOSDTimePromise = playr.getOSDTime();
|
||||
getOSDTimePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function getOSDTime2() {
|
||||
var getOSDTimePromise = playr2.getOSDTime();
|
||||
getOSDTimePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function capturePicture() {
|
||||
var capturePicturePromise = playr.capturePicture();
|
||||
capturePicturePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function openSound() {
|
||||
var openSoundPromise = playr.openSound();
|
||||
openSoundPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function closeSound() {
|
||||
var closeSoundPromise = playr.closeSound();
|
||||
closeSoundPromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function startSave() {
|
||||
var startSavePromise = playr.startSave();
|
||||
startSavePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
function stopSave() {
|
||||
var stopSavePromise = playr.stopSave();
|
||||
stopSavePromise.then((data) => {
|
||||
console.log("promise 获取 数据", data)
|
||||
})
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
68
uniapp/uni-app/node_modules/ezuikit-js/demos/react-demo/README.md
generated
vendored
Normal file
68
uniapp/uni-app/node_modules/ezuikit-js/demos/react-demo/README.md
generated
vendored
Normal file
@@ -0,0 +1,68 @@
|
||||
This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).
|
||||
|
||||
## Available Scripts
|
||||
|
||||
In the project directory, you can run:
|
||||
|
||||
### `npm start`
|
||||
|
||||
Runs the app in the development mode.<br />
|
||||
Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
|
||||
|
||||
The page will reload if you make edits.<br />
|
||||
You will also see any lint errors in the console.
|
||||
|
||||
### `npm test`
|
||||
|
||||
Launches the test runner in the interactive watch mode.<br />
|
||||
See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.
|
||||
|
||||
### `npm run build`
|
||||
|
||||
Builds the app for production to the `build` folder.<br />
|
||||
It correctly bundles React in production mode and optimizes the build for the best performance.
|
||||
|
||||
The build is minified and the filenames include the hashes.<br />
|
||||
Your app is ready to be deployed!
|
||||
|
||||
See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.
|
||||
|
||||
### `npm run eject`
|
||||
|
||||
**Note: this is a one-way operation. Once you `eject`, you can’t go back!**
|
||||
|
||||
If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project.
|
||||
|
||||
Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own.
|
||||
|
||||
You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it.
|
||||
|
||||
## Learn More
|
||||
|
||||
You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started).
|
||||
|
||||
To learn React, check out the [React documentation](https://reactjs.org/).
|
||||
|
||||
### Code Splitting
|
||||
|
||||
This section has moved here: https://facebook.github.io/create-react-app/docs/code-splitting
|
||||
|
||||
### Analyzing the Bundle Size
|
||||
|
||||
This section has moved here: https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size
|
||||
|
||||
### Making a Progressive Web App
|
||||
|
||||
This section has moved here: https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app
|
||||
|
||||
### Advanced Configuration
|
||||
|
||||
This section has moved here: https://facebook.github.io/create-react-app/docs/advanced-configuration
|
||||
|
||||
### Deployment
|
||||
|
||||
This section has moved here: https://facebook.github.io/create-react-app/docs/deployment
|
||||
|
||||
### `npm run build` fails to minify
|
||||
|
||||
This section has moved here: https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify
|
||||
30468
uniapp/uni-app/node_modules/ezuikit-js/demos/react-demo/package-lock.json
generated
vendored
Normal file
30468
uniapp/uni-app/node_modules/ezuikit-js/demos/react-demo/package-lock.json
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
36
uniapp/uni-app/node_modules/ezuikit-js/demos/react-demo/package.json
generated
vendored
Normal file
36
uniapp/uni-app/node_modules/ezuikit-js/demos/react-demo/package.json
generated
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"name": "my-app",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"@testing-library/jest-dom": "^4.2.4",
|
||||
"@testing-library/react": "^9.5.0",
|
||||
"@testing-library/user-event": "^7.2.1",
|
||||
"axios": "^0.19.2",
|
||||
"ezuikit-js": "^0.5.2",
|
||||
"react": "^16.13.1",
|
||||
"react-dom": "^16.13.1",
|
||||
"react-scripts": "3.4.1"
|
||||
},
|
||||
"scripts": {
|
||||
"start": "react-scripts start",
|
||||
"build": "react-scripts build",
|
||||
"test": "react-scripts test",
|
||||
"eject": "react-scripts eject"
|
||||
},
|
||||
"eslintConfig": {
|
||||
"extends": "react-app"
|
||||
},
|
||||
"browserslist": {
|
||||
"production": [
|
||||
">0.2%",
|
||||
"not dead",
|
||||
"not op_mini all"
|
||||
],
|
||||
"development": [
|
||||
"last 1 chrome version",
|
||||
"last 1 firefox version",
|
||||
"last 1 safari version"
|
||||
]
|
||||
}
|
||||
}
|
||||
BIN
uniapp/uni-app/node_modules/ezuikit-js/demos/react-demo/public/favicon.ico
generated
vendored
Normal file
BIN
uniapp/uni-app/node_modules/ezuikit-js/demos/react-demo/public/favicon.ico
generated
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.1 KiB |
43
uniapp/uni-app/node_modules/ezuikit-js/demos/react-demo/public/index.html
generated
vendored
Normal file
43
uniapp/uni-app/node_modules/ezuikit-js/demos/react-demo/public/index.html
generated
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<meta name="theme-color" content="#000000" />
|
||||
<meta
|
||||
name="description"
|
||||
content="Web site created using create-react-app"
|
||||
/>
|
||||
<link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
|
||||
<!--
|
||||
manifest.json provides metadata used when your web app is installed on a
|
||||
user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
|
||||
-->
|
||||
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
|
||||
<!--
|
||||
Notice the use of %PUBLIC_URL% in the tags above.
|
||||
It will be replaced with the URL of the `public` folder during the build.
|
||||
Only files inside the `public` folder can be referenced from the HTML.
|
||||
|
||||
Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will
|
||||
work correctly both with client-side routing and a non-root public URL.
|
||||
Learn how to configure a non-root public URL by running `npm run build`.
|
||||
-->
|
||||
<title>React App</title>
|
||||
</head>
|
||||
<body>
|
||||
<noscript>You need to enable JavaScript to run this app.</noscript>
|
||||
<div id="root"></div>
|
||||
<!--
|
||||
This HTML file is a template.
|
||||
If you open it directly in the browser, you will see an empty page.
|
||||
|
||||
You can add webfonts, meta tags, or analytics to this file.
|
||||
The build step will place the bundled scripts into the <body> tag.
|
||||
|
||||
To begin the development, run `npm start` or `yarn start`.
|
||||
To create a production bundle, use `npm run build` or `yarn build`.
|
||||
-->
|
||||
</body>
|
||||
</html>
|
||||
BIN
uniapp/uni-app/node_modules/ezuikit-js/demos/react-demo/public/logo192.png
generated
vendored
Normal file
BIN
uniapp/uni-app/node_modules/ezuikit-js/demos/react-demo/public/logo192.png
generated
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.2 KiB |
BIN
uniapp/uni-app/node_modules/ezuikit-js/demos/react-demo/public/logo512.png
generated
vendored
Normal file
BIN
uniapp/uni-app/node_modules/ezuikit-js/demos/react-demo/public/logo512.png
generated
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 9.4 KiB |
25
uniapp/uni-app/node_modules/ezuikit-js/demos/react-demo/public/manifest.json
generated
vendored
Normal file
25
uniapp/uni-app/node_modules/ezuikit-js/demos/react-demo/public/manifest.json
generated
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"short_name": "React App",
|
||||
"name": "Create React App Sample",
|
||||
"icons": [
|
||||
{
|
||||
"src": "favicon.ico",
|
||||
"sizes": "64x64 32x32 24x24 16x16",
|
||||
"type": "image/x-icon"
|
||||
},
|
||||
{
|
||||
"src": "logo192.png",
|
||||
"type": "image/png",
|
||||
"sizes": "192x192"
|
||||
},
|
||||
{
|
||||
"src": "logo512.png",
|
||||
"type": "image/png",
|
||||
"sizes": "512x512"
|
||||
}
|
||||
],
|
||||
"start_url": ".",
|
||||
"display": "standalone",
|
||||
"theme_color": "#000000",
|
||||
"background_color": "#ffffff"
|
||||
}
|
||||
3
uniapp/uni-app/node_modules/ezuikit-js/demos/react-demo/public/robots.txt
generated
vendored
Normal file
3
uniapp/uni-app/node_modules/ezuikit-js/demos/react-demo/public/robots.txt
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
# https://www.robotstxt.org/robotstxt.html
|
||||
User-agent: *
|
||||
Disallow:
|
||||
38
uniapp/uni-app/node_modules/ezuikit-js/demos/react-demo/src/App.css
generated
vendored
Normal file
38
uniapp/uni-app/node_modules/ezuikit-js/demos/react-demo/src/App.css
generated
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
.App {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.App-logo {
|
||||
height: 40vmin;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
@media (prefers-reduced-motion: no-preference) {
|
||||
.App-logo {
|
||||
animation: App-logo-spin infinite 20s linear;
|
||||
}
|
||||
}
|
||||
|
||||
.App-header {
|
||||
background-color: #282c34;
|
||||
min-height: 100vh;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: calc(10px + 2vmin);
|
||||
color: white;
|
||||
}
|
||||
|
||||
.App-link {
|
||||
color: #61dafb;
|
||||
}
|
||||
|
||||
@keyframes App-logo-spin {
|
||||
from {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
to {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
54
uniapp/uni-app/node_modules/ezuikit-js/demos/react-demo/src/App.js
generated
vendored
Normal file
54
uniapp/uni-app/node_modules/ezuikit-js/demos/react-demo/src/App.js
generated
vendored
Normal file
@@ -0,0 +1,54 @@
|
||||
import React from 'react';
|
||||
import EZUIKit from 'ezuikit-js';
|
||||
|
||||
import './App.css';
|
||||
|
||||
|
||||
class App extends React.Component{
|
||||
constructor(props){
|
||||
super(props);
|
||||
this.playr = null; //定义播放器
|
||||
}
|
||||
componentDidMount(){
|
||||
fetch('https://open.ys7.com/jssdk/ezopen/demo/token')
|
||||
.then(response => response.json())
|
||||
.then(res => {
|
||||
var accessToken = res.data.accessToken;
|
||||
this.player = new EZUIKit.EZUIKitPlayer({
|
||||
id: 'video-container', // 视频容器ID
|
||||
accessToken: accessToken,
|
||||
url: 'ezopen://open.ys7.com/G39444019/1.live',
|
||||
template: 'simple', // simple - 极简版;standard-标准版;security - 安防版(预览回放);voice-语音版; theme-可配置主题;
|
||||
plugin: ['talk'], // 加载插件,talk-对讲
|
||||
width: 600,
|
||||
height: 400,
|
||||
});
|
||||
});
|
||||
}
|
||||
render(){
|
||||
return(
|
||||
<div className="demo">
|
||||
<h2>视频模式使用示例:</h2>
|
||||
<div id="video-container"
|
||||
style={{width:600,height:600}}
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<button onClick={()=> this.playr.stop()}>stop</button>
|
||||
<button onClick={()=> this.playr.openSound()}>openSound</button>
|
||||
<button onClick={()=> this.playr.closeSound()}>closeSound</button>
|
||||
<button onClick={()=> this.playr.startSave()}>startSave</button>
|
||||
<button onClick={()=> this.playr.stopSave()}>stopSave</button>
|
||||
<button onClick={()=> this.playr.capturePicture()}>capturePicture</button>
|
||||
<button onClick={()=> this.playr.fullScreen()}>fullScreen</button>
|
||||
<button onClick={()=> this.playr.getOSDTime()}>getOSDTime</button>
|
||||
<button onClick={()=> this.playr.startTalk()}>开始对讲</button>
|
||||
<button onClick={()=> this.playr.stopTalk()}>结束对讲</button>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
export default App;
|
||||
9
uniapp/uni-app/node_modules/ezuikit-js/demos/react-demo/src/App.test.js
generated
vendored
Normal file
9
uniapp/uni-app/node_modules/ezuikit-js/demos/react-demo/src/App.test.js
generated
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
import React from 'react';
|
||||
import { render } from '@testing-library/react';
|
||||
import App from './App';
|
||||
|
||||
test('renders learn react link', () => {
|
||||
const { getByText } = render(<App />);
|
||||
const linkElement = getByText(/learn react/i);
|
||||
expect(linkElement).toBeInTheDocument();
|
||||
});
|
||||
1113
uniapp/uni-app/node_modules/ezuikit-js/demos/react-demo/src/ezuikit/index.js
generated
vendored
Normal file
1113
uniapp/uni-app/node_modules/ezuikit-js/demos/react-demo/src/ezuikit/index.js
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
12
uniapp/uni-app/node_modules/ezuikit-js/demos/react-demo/src/ezuikit/package.json
generated
vendored
Normal file
12
uniapp/uni-app/node_modules/ezuikit-js/demos/react-demo/src/ezuikit/package.json
generated
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"name": "@ezviz/ezuikit",
|
||||
"version": "0.0.1",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"keywords": [],
|
||||
"author": "yujianbo",
|
||||
"license": "ISC"
|
||||
}
|
||||
13
uniapp/uni-app/node_modules/ezuikit-js/demos/react-demo/src/index.css
generated
vendored
Normal file
13
uniapp/uni-app/node_modules/ezuikit-js/demos/react-demo/src/index.css
generated
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
body {
|
||||
margin: 0;
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
|
||||
'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
|
||||
sans-serif;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
code {
|
||||
font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
|
||||
monospace;
|
||||
}
|
||||
17
uniapp/uni-app/node_modules/ezuikit-js/demos/react-demo/src/index.js
generated
vendored
Normal file
17
uniapp/uni-app/node_modules/ezuikit-js/demos/react-demo/src/index.js
generated
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
import React from 'react';
|
||||
import ReactDOM from 'react-dom';
|
||||
import './index.css';
|
||||
import App from './App';
|
||||
import * as serviceWorker from './serviceWorker';
|
||||
|
||||
ReactDOM.render(
|
||||
<React.StrictMode>
|
||||
<App />
|
||||
</React.StrictMode>,
|
||||
document.getElementById('root')
|
||||
);
|
||||
|
||||
// If you want your app to work offline and load faster, you can change
|
||||
// unregister() to register() below. Note this comes with some pitfalls.
|
||||
// Learn more about service workers: https://bit.ly/CRA-PWA
|
||||
serviceWorker.unregister();
|
||||
7
uniapp/uni-app/node_modules/ezuikit-js/demos/react-demo/src/logo.svg
generated
vendored
Normal file
7
uniapp/uni-app/node_modules/ezuikit-js/demos/react-demo/src/logo.svg
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 841.9 595.3">
|
||||
<g fill="#61DAFB">
|
||||
<path d="M666.3 296.5c0-32.5-40.7-63.3-103.1-82.4 14.4-63.6 8-114.2-20.2-130.4-6.5-3.8-14.1-5.6-22.4-5.6v22.3c4.6 0 8.3.9 11.4 2.6 13.6 7.8 19.5 37.5 14.9 75.7-1.1 9.4-2.9 19.3-5.1 29.4-19.6-4.8-41-8.5-63.5-10.9-13.5-18.5-27.5-35.3-41.6-50 32.6-30.3 63.2-46.9 84-46.9V78c-27.5 0-63.5 19.6-99.9 53.6-36.4-33.8-72.4-53.2-99.9-53.2v22.3c20.7 0 51.4 16.5 84 46.6-14 14.7-28 31.4-41.3 49.9-22.6 2.4-44 6.1-63.6 11-2.3-10-4-19.7-5.2-29-4.7-38.2 1.1-67.9 14.6-75.8 3-1.8 6.9-2.6 11.5-2.6V78.5c-8.4 0-16 1.8-22.6 5.6-28.1 16.2-34.4 66.7-19.9 130.1-62.2 19.2-102.7 49.9-102.7 82.3 0 32.5 40.7 63.3 103.1 82.4-14.4 63.6-8 114.2 20.2 130.4 6.5 3.8 14.1 5.6 22.5 5.6 27.5 0 63.5-19.6 99.9-53.6 36.4 33.8 72.4 53.2 99.9 53.2 8.4 0 16-1.8 22.6-5.6 28.1-16.2 34.4-66.7 19.9-130.1 62-19.1 102.5-49.9 102.5-82.3zm-130.2-66.7c-3.7 12.9-8.3 26.2-13.5 39.5-4.1-8-8.4-16-13.1-24-4.6-8-9.5-15.8-14.4-23.4 14.2 2.1 27.9 4.7 41 7.9zm-45.8 106.5c-7.8 13.5-15.8 26.3-24.1 38.2-14.9 1.3-30 2-45.2 2-15.1 0-30.2-.7-45-1.9-8.3-11.9-16.4-24.6-24.2-38-7.6-13.1-14.5-26.4-20.8-39.8 6.2-13.4 13.2-26.8 20.7-39.9 7.8-13.5 15.8-26.3 24.1-38.2 14.9-1.3 30-2 45.2-2 15.1 0 30.2.7 45 1.9 8.3 11.9 16.4 24.6 24.2 38 7.6 13.1 14.5 26.4 20.8 39.8-6.3 13.4-13.2 26.8-20.7 39.9zm32.3-13c5.4 13.4 10 26.8 13.8 39.8-13.1 3.2-26.9 5.9-41.2 8 4.9-7.7 9.8-15.6 14.4-23.7 4.6-8 8.9-16.1 13-24.1zM421.2 430c-9.3-9.6-18.6-20.3-27.8-32 9 .4 18.2.7 27.5.7 9.4 0 18.7-.2 27.8-.7-9 11.7-18.3 22.4-27.5 32zm-74.4-58.9c-14.2-2.1-27.9-4.7-41-7.9 3.7-12.9 8.3-26.2 13.5-39.5 4.1 8 8.4 16 13.1 24 4.7 8 9.5 15.8 14.4 23.4zM420.7 163c9.3 9.6 18.6 20.3 27.8 32-9-.4-18.2-.7-27.5-.7-9.4 0-18.7.2-27.8.7 9-11.7 18.3-22.4 27.5-32zm-74 58.9c-4.9 7.7-9.8 15.6-14.4 23.7-4.6 8-8.9 16-13 24-5.4-13.4-10-26.8-13.8-39.8 13.1-3.1 26.9-5.8 41.2-7.9zm-90.5 125.2c-35.4-15.1-58.3-34.9-58.3-50.6 0-15.7 22.9-35.6 58.3-50.6 8.6-3.7 18-7 27.7-10.1 5.7 19.6 13.2 40 22.5 60.9-9.2 20.8-16.6 41.1-22.2 60.6-9.9-3.1-19.3-6.5-28-10.2zM310 490c-13.6-7.8-19.5-37.5-14.9-75.7 1.1-9.4 2.9-19.3 5.1-29.4 19.6 4.8 41 8.5 63.5 10.9 13.5 18.5 27.5 35.3 41.6 50-32.6 30.3-63.2 46.9-84 46.9-4.5-.1-8.3-1-11.3-2.7zm237.2-76.2c4.7 38.2-1.1 67.9-14.6 75.8-3 1.8-6.9 2.6-11.5 2.6-20.7 0-51.4-16.5-84-46.6 14-14.7 28-31.4 41.3-49.9 22.6-2.4 44-6.1 63.6-11 2.3 10.1 4.1 19.8 5.2 29.1zm38.5-66.7c-8.6 3.7-18 7-27.7 10.1-5.7-19.6-13.2-40-22.5-60.9 9.2-20.8 16.6-41.1 22.2-60.6 9.9 3.1 19.3 6.5 28.1 10.2 35.4 15.1 58.3 34.9 58.3 50.6-.1 15.7-23 35.6-58.4 50.6zM320.8 78.4z"/>
|
||||
<circle cx="420.9" cy="296.5" r="45.7"/>
|
||||
<path d="M520.5 78.1z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.6 KiB |
141
uniapp/uni-app/node_modules/ezuikit-js/demos/react-demo/src/serviceWorker.js
generated
vendored
Normal file
141
uniapp/uni-app/node_modules/ezuikit-js/demos/react-demo/src/serviceWorker.js
generated
vendored
Normal file
@@ -0,0 +1,141 @@
|
||||
// This optional code is used to register a service worker.
|
||||
// register() is not called by default.
|
||||
|
||||
// This lets the app load faster on subsequent visits in production, and gives
|
||||
// it offline capabilities. However, it also means that developers (and users)
|
||||
// will only see deployed updates on subsequent visits to a page, after all the
|
||||
// existing tabs open on the page have been closed, since previously cached
|
||||
// resources are updated in the background.
|
||||
|
||||
// To learn more about the benefits of this model and instructions on how to
|
||||
// opt-in, read https://bit.ly/CRA-PWA
|
||||
|
||||
const isLocalhost = Boolean(
|
||||
window.location.hostname === 'localhost' ||
|
||||
// [::1] is the IPv6 localhost address.
|
||||
window.location.hostname === '[::1]' ||
|
||||
// 127.0.0.0/8 are considered localhost for IPv4.
|
||||
window.location.hostname.match(
|
||||
/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/
|
||||
)
|
||||
);
|
||||
|
||||
export function register(config) {
|
||||
if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {
|
||||
// The URL constructor is available in all browsers that support SW.
|
||||
const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);
|
||||
if (publicUrl.origin !== window.location.origin) {
|
||||
// Our service worker won't work if PUBLIC_URL is on a different origin
|
||||
// from what our page is served on. This might happen if a CDN is used to
|
||||
// serve assets; see https://github.com/facebook/create-react-app/issues/2374
|
||||
return;
|
||||
}
|
||||
|
||||
window.addEventListener('load', () => {
|
||||
const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;
|
||||
|
||||
if (isLocalhost) {
|
||||
// This is running on localhost. Let's check if a service worker still exists or not.
|
||||
checkValidServiceWorker(swUrl, config);
|
||||
|
||||
// Add some additional logging to localhost, pointing developers to the
|
||||
// service worker/PWA documentation.
|
||||
navigator.serviceWorker.ready.then(() => {
|
||||
console.log(
|
||||
'This web app is being served cache-first by a service ' +
|
||||
'worker. To learn more, visit https://bit.ly/CRA-PWA'
|
||||
);
|
||||
});
|
||||
} else {
|
||||
// Is not localhost. Just register service worker
|
||||
registerValidSW(swUrl, config);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function registerValidSW(swUrl, config) {
|
||||
navigator.serviceWorker
|
||||
.register(swUrl)
|
||||
.then(registration => {
|
||||
registration.onupdatefound = () => {
|
||||
const installingWorker = registration.installing;
|
||||
if (installingWorker == null) {
|
||||
return;
|
||||
}
|
||||
installingWorker.onstatechange = () => {
|
||||
if (installingWorker.state === 'installed') {
|
||||
if (navigator.serviceWorker.controller) {
|
||||
// At this point, the updated precached content has been fetched,
|
||||
// but the previous service worker will still serve the older
|
||||
// content until all client tabs are closed.
|
||||
console.log(
|
||||
'New content is available and will be used when all ' +
|
||||
'tabs for this page are closed. See https://bit.ly/CRA-PWA.'
|
||||
);
|
||||
|
||||
// Execute callback
|
||||
if (config && config.onUpdate) {
|
||||
config.onUpdate(registration);
|
||||
}
|
||||
} else {
|
||||
// At this point, everything has been precached.
|
||||
// It's the perfect time to display a
|
||||
// "Content is cached for offline use." message.
|
||||
console.log('Content is cached for offline use.');
|
||||
|
||||
// Execute callback
|
||||
if (config && config.onSuccess) {
|
||||
config.onSuccess(registration);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
};
|
||||
})
|
||||
.catch(error => {
|
||||
console.error('Error during service worker registration:', error);
|
||||
});
|
||||
}
|
||||
|
||||
function checkValidServiceWorker(swUrl, config) {
|
||||
// Check if the service worker can be found. If it can't reload the page.
|
||||
fetch(swUrl, {
|
||||
headers: { 'Service-Worker': 'script' },
|
||||
})
|
||||
.then(response => {
|
||||
// Ensure service worker exists, and that we really are getting a JS file.
|
||||
const contentType = response.headers.get('content-type');
|
||||
if (
|
||||
response.status === 404 ||
|
||||
(contentType != null && contentType.indexOf('javascript') === -1)
|
||||
) {
|
||||
// No service worker found. Probably a different app. Reload the page.
|
||||
navigator.serviceWorker.ready.then(registration => {
|
||||
registration.unregister().then(() => {
|
||||
window.location.reload();
|
||||
});
|
||||
});
|
||||
} else {
|
||||
// Service worker found. Proceed as normal.
|
||||
registerValidSW(swUrl, config);
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
console.log(
|
||||
'No internet connection found. App is running in offline mode.'
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
export function unregister() {
|
||||
if ('serviceWorker' in navigator) {
|
||||
navigator.serviceWorker.ready
|
||||
.then(registration => {
|
||||
registration.unregister();
|
||||
})
|
||||
.catch(error => {
|
||||
console.error(error.message);
|
||||
});
|
||||
}
|
||||
}
|
||||
5
uniapp/uni-app/node_modules/ezuikit-js/demos/react-demo/src/setupTests.js
generated
vendored
Normal file
5
uniapp/uni-app/node_modules/ezuikit-js/demos/react-demo/src/setupTests.js
generated
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
// jest-dom adds custom jest matchers for asserting on DOM nodes.
|
||||
// allows you to do things like:
|
||||
// expect(element).toHaveTextContent(/react/i)
|
||||
// learn more: https://github.com/testing-library/jest-dom
|
||||
import '@testing-library/jest-dom/extend-expect';
|
||||
24
uniapp/uni-app/node_modules/ezuikit-js/demos/vue-demo/README.md
generated
vendored
Normal file
24
uniapp/uni-app/node_modules/ezuikit-js/demos/vue-demo/README.md
generated
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
# my-project
|
||||
|
||||
## Project setup
|
||||
```
|
||||
npm install
|
||||
```
|
||||
|
||||
### Compiles and hot-reloads for development
|
||||
```
|
||||
npm run serve
|
||||
```
|
||||
|
||||
### Compiles and minifies for production
|
||||
```
|
||||
npm run build
|
||||
```
|
||||
|
||||
### Lints and fixes files
|
||||
```
|
||||
npm run lint
|
||||
```
|
||||
|
||||
### Customize configuration
|
||||
See [Configuration Reference](https://cli.vuejs.org/config/).
|
||||
5
uniapp/uni-app/node_modules/ezuikit-js/demos/vue-demo/babel.config.js
generated
vendored
Normal file
5
uniapp/uni-app/node_modules/ezuikit-js/demos/vue-demo/babel.config.js
generated
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
module.exports = {
|
||||
presets: [
|
||||
'@vue/cli-plugin-babel/preset'
|
||||
]
|
||||
}
|
||||
11638
uniapp/uni-app/node_modules/ezuikit-js/demos/vue-demo/package-lock.json
generated
vendored
Normal file
11638
uniapp/uni-app/node_modules/ezuikit-js/demos/vue-demo/package-lock.json
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
43
uniapp/uni-app/node_modules/ezuikit-js/demos/vue-demo/package.json
generated
vendored
Normal file
43
uniapp/uni-app/node_modules/ezuikit-js/demos/vue-demo/package.json
generated
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
{
|
||||
"name": "my-project",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"serve": "vue-cli-service serve",
|
||||
"build": "vue-cli-service build",
|
||||
"lint": "vue-cli-service lint"
|
||||
},
|
||||
"dependencies": {
|
||||
"core-js": "^3.6.4",
|
||||
"ezuikit-js": "^0.5.2",
|
||||
"vue": "^2.6.11"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@vue/cli-plugin-babel": "~4.3.0",
|
||||
"@vue/cli-plugin-eslint": "~4.3.0",
|
||||
"@vue/cli-service": "~4.3.0",
|
||||
"babel-eslint": "^10.1.0",
|
||||
"eslint": "^6.7.2",
|
||||
"eslint-plugin-vue": "^6.2.2",
|
||||
"vue-template-compiler": "^2.6.11"
|
||||
},
|
||||
"eslintConfig": {
|
||||
"root": true,
|
||||
"env": {
|
||||
"node": true
|
||||
},
|
||||
"extends": [
|
||||
"plugin:vue/essential",
|
||||
"eslint:recommended"
|
||||
],
|
||||
"parserOptions": {
|
||||
"parser": "babel-eslint"
|
||||
},
|
||||
"rules": {}
|
||||
},
|
||||
"browserslist": [
|
||||
"> 1%",
|
||||
"last 2 versions",
|
||||
"not dead"
|
||||
]
|
||||
}
|
||||
BIN
uniapp/uni-app/node_modules/ezuikit-js/demos/vue-demo/public/favicon.ico
generated
vendored
Normal file
BIN
uniapp/uni-app/node_modules/ezuikit-js/demos/vue-demo/public/favicon.ico
generated
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.2 KiB |
17
uniapp/uni-app/node_modules/ezuikit-js/demos/vue-demo/public/index.html
generated
vendored
Normal file
17
uniapp/uni-app/node_modules/ezuikit-js/demos/vue-demo/public/index.html
generated
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||||
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
|
||||
<title><%= htmlWebpackPlugin.options.title %></title>
|
||||
</head>
|
||||
<body>
|
||||
<noscript>
|
||||
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
|
||||
</noscript>
|
||||
<div id="app"></div>
|
||||
<!-- built files will be auto injected -->
|
||||
</body>
|
||||
</html>
|
||||
27
uniapp/uni-app/node_modules/ezuikit-js/demos/vue-demo/src/App.vue
generated
vendored
Normal file
27
uniapp/uni-app/node_modules/ezuikit-js/demos/vue-demo/src/App.vue
generated
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
<template>
|
||||
<div id="app">
|
||||
<EZUIKitJs />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import EZUIKitJs from './components/EZUIKitJs.vue'
|
||||
|
||||
export default {
|
||||
name: 'App',
|
||||
components: {
|
||||
EZUIKitJs
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
#app {
|
||||
font-family: Avenir, Helvetica, Arial, sans-serif;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
text-align: center;
|
||||
color: #2c3e50;
|
||||
margin-top: 60px;
|
||||
}
|
||||
</style>
|
||||
BIN
uniapp/uni-app/node_modules/ezuikit-js/demos/vue-demo/src/assets/logo.png
generated
vendored
Normal file
BIN
uniapp/uni-app/node_modules/ezuikit-js/demos/vue-demo/src/assets/logo.png
generated
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6.7 KiB |
55
uniapp/uni-app/node_modules/ezuikit-js/demos/vue-demo/src/components/EZUIKitJs.vue
generated
vendored
Normal file
55
uniapp/uni-app/node_modules/ezuikit-js/demos/vue-demo/src/components/EZUIKitJs.vue
generated
vendored
Normal file
@@ -0,0 +1,55 @@
|
||||
<template>
|
||||
<div class="hello-ezuikit-js">
|
||||
<div id="video-container" style="width:600px;height:400px"></div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import EZUIKit from "ezuikit-js";
|
||||
var player = null;
|
||||
|
||||
export default {
|
||||
name: "HelloWorld",
|
||||
// data:function () {
|
||||
// return {
|
||||
// player: null,
|
||||
// }
|
||||
// },
|
||||
props: {
|
||||
msg: String
|
||||
},
|
||||
mounted: () => {
|
||||
console.group("mounted 组件挂载完毕状态===============》");
|
||||
fetch('https://open.ys7.com/jssdk/ezopen/demo/token')
|
||||
.then(response => response.json())
|
||||
.then(res => {
|
||||
var accessToken = res.data.accessToken;
|
||||
player = new EZUIKit.EZUIKitPlayer({
|
||||
id: 'video-container', // 视频容器ID
|
||||
accessToken: accessToken,
|
||||
url: 'ezopen://open.ys7.com/G39444019/1.live',
|
||||
template: 'simple', // simple - 极简版;standard-标准版;security - 安防版(预览回放);voice-语音版; theme-可配置主题;
|
||||
plugin: ['talk'], // 加载插件,talk-对讲
|
||||
width: 600,
|
||||
height: 400,
|
||||
});
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
change() {
|
||||
player.stop();
|
||||
// 切换为直播
|
||||
player.play({
|
||||
url:"ezopen://open.ys7.com/244640009/1.live"
|
||||
})
|
||||
|
||||
// setTimeout(()=>{
|
||||
// player.play({
|
||||
// url:"ezopen://open.ys7.com/244640009/1.live"
|
||||
// })
|
||||
// },1000)
|
||||
},
|
||||
|
||||
}
|
||||
};
|
||||
</script>
|
||||
8
uniapp/uni-app/node_modules/ezuikit-js/demos/vue-demo/src/main.js
generated
vendored
Normal file
8
uniapp/uni-app/node_modules/ezuikit-js/demos/vue-demo/src/main.js
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
import Vue from 'vue'
|
||||
import App from './App.vue'
|
||||
|
||||
Vue.config.productionTip = false
|
||||
|
||||
new Vue({
|
||||
render: h => h(App),
|
||||
}).$mount('#app')
|
||||
30445
uniapp/uni-app/node_modules/ezuikit-js/ezuikit.js
generated
vendored
Normal file
30445
uniapp/uni-app/node_modules/ezuikit-js/ezuikit.js
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
53
uniapp/uni-app/node_modules/ezuikit-js/package.json
generated
vendored
Normal file
53
uniapp/uni-app/node_modules/ezuikit-js/package.json
generated
vendored
Normal file
@@ -0,0 +1,53 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"ezuikit-js@0.5.2",
|
||||
"C:\\Users\\Administrator\\Desktop\\wechat农场"
|
||||
]
|
||||
],
|
||||
"_from": "ezuikit-js@0.5.2",
|
||||
"_id": "ezuikit-js@0.5.2",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-jeERhoJEIRlhT5XlgR8XEt78gvJLB+v93ykrr+k7miV/nT5/SKesQgMfbdr161y6M5VFRdBU5RSsX8updT+j0w==",
|
||||
"_location": "/ezuikit-js",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "ezuikit-js@0.5.2",
|
||||
"name": "ezuikit-js",
|
||||
"escapedName": "ezuikit-js",
|
||||
"rawSpec": "0.5.2",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "0.5.2"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/ezuikit-js/-/ezuikit-js-0.5.2.tgz",
|
||||
"_spec": "0.5.2",
|
||||
"_where": "C:\\Users\\Administrator\\Desktop\\wechat农场",
|
||||
"author": {
|
||||
"name": "yujianbo"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/Hikvision-Ezviz/EZUIKit-JavaScript-npm/issues"
|
||||
},
|
||||
"description": "ezuikit javascript for npm",
|
||||
"homepage": "https://github.com/Hikvision-Ezviz/EZUIKit-JavaScript-npm#readme",
|
||||
"keywords": [
|
||||
"video",
|
||||
"ezuikit"
|
||||
],
|
||||
"license": "ISC",
|
||||
"main": "ezuikit.js",
|
||||
"name": "ezuikit-js",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/Hikvision-Ezviz/EZUIKit-JavaScript-npm.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"version": "0.5.2"
|
||||
}
|
||||
Reference in New Issue
Block a user