wwp 4ヶ月前
コミット
2b596dae4a
4個のファイルの変更144行の追加1行の削除
  1. +86
    -0
      SafeCampus.WEB/public/static/rtsPlayer.html
  2. +5
    -1
      SafeCampus.WEB/src/api/interface/index.ts
  3. +52
    -0
      SafeCampus.WEB/src/api/modules/usermanage/classManage.ts
  4. +1
    -0
      SafeCampus.WEB/src/api/modules/usermanage/index.ts

+ 86
- 0
SafeCampus.WEB/public/static/rtsPlayer.html ファイルの表示

@@ -0,0 +1,86 @@
<!DOCTYPE html>
<html>

<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, height=device-height, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no" />
<title>Aliplayer Rts Demo</title>
<link rel="stylesheet"
href="https://g.alicdn.com/apsara-media-box/imp-web-player/2.16.3/skins/default/aliplayer-min.css" />
<script type="text/javascript" charset="utf-8"
src="https://g.alicdn.com/apsara-media-box/imp-web-player/2.16.3/aliplayer-min.js"></script>
</head>

<body style="margin: 0;">
<div class="prism-player" id="player-con"></div>
<script>
// 使用: /static/rtsPlayer.html?rtsUrl=
/**
* 播放器默认播放 source 提供的 rts 拉流地址,如果失败,则会自动降级至 rtsFallbackSource 提供的拉流地址(如 HLS 地址)。
* 可能的降级场景包括:
* 1. 浏览器不支持 RTS,直接降级
* 2. RTS 信令请求失败(拉流地址无效、https配置无效、RTS配置无效等),直接降级
* 3. RTS 起播超时或中途断流,按自定义策略重试失败后降级
**/

// 更多播放器配置请参考 https://player.alicdn.com/aliplayer/index.html
let rtsUrl = getUrlParams(location.href)['rtsUrl'] || ''
var options = {
"id": "player-con",
"source": rtsUrl,
"rtsFallbackSource": "降级地址,如HLS",
"width": "100%",
"height": "500px",
"autoplay": true,
"isLive": true,
"playsinline": true,
"skipRtsSupportCheck": false, // 对于不在 https://help.aliyun.com/document_detail/397569.html 中的浏览器,可以传 true 跳过检查,强制使用 RTS(有风险,需要自测保证)

/**
* RTS 拉流超时会默认重试
* 以下两个参数用来控制降级之前的重试策略,比如 3000 毫秒超时,重试一次,如果再拉不到流就降级,那么总共等待 6000 毫秒降级
**/
// RTS 多久拉不到流会重试,默认 3000 ms
// rtsLoadDataTimeout: 2000,

// RTS 拉不到流重试的次数,默认 5,此参数建议设为 1,即重试 1 次后降级,可以减少降级等待时间
liveRetry: 1,
};

var player = new Aliplayer(options, function () {/* player ready */ });

// 降级时会触发此事件
player.on('rtsFallback', function (event) {
console.log('[EVENT]rtsFallback', event.paramData);
// event.paramData.reason 降级的原因
// event.paramData.fallbackUrl 降级到的地址
})

player.on('error', function (event) {
console.log('[EVENT]error', event.paramData);
})

// 当RTS拉流成功时触发,通过订阅该事件,可以获取到RTS TraceId
player.on('rtsTraceId', function (data) {
console.log('[EVENT]rtsTraceId', data.paramData);
// event.paramData.traceId 拉流的TraceId
// event.paramData.source 当前RTS流的播放地址
})


function getUrlParams(url) {
const reg = /(\w+)=([^&]+)/g;
const params = {};
let match;
while ((match = reg.exec(url)) !== null) {
params[match[1]] = match[2];
}
return params;
}
</script>
</body>

+ 5
- 1
SafeCampus.WEB/src/api/interface/index.ts ファイルの表示

@@ -51,6 +51,11 @@ export interface ReqId {
/** id */
id: number | string;
}
/** id请求参数 */
export interface ReqPersonId {
/** id */
personId: number | string;
}

/** id请求参数 */
export interface ReqstartId {
@@ -68,7 +73,6 @@ export interface ReqstopId {
}

export interface setWarn {
configJson: string;
}



+ 52
- 0
SafeCampus.WEB/src/api/modules/usermanage/classManage.ts ファイルの表示

@@ -0,0 +1,52 @@
/**
* @description 单页管理接口
* @license Apache License Version 2.0
* @Copyright (c) 2022-Now 少林寺驻北固山办事处大神父王喇嘛
* @remarks
* SimpleAdmin 基于 Apache License Version 2.0 协议发布,可用于商业项目,但必须遵守以下补充条款:
* 1.请不要删除和修改根目录下的LICENSE文件。
* 2.请不要删除和修改SimpleAdmin源码头部的版权声明。
* 3.分发源码时候,请注明软件出处 https://gitee.com/dotnetmoyu/SimpleAdmin
* 4.基于本软件的作品,只能使用 SimpleAdmin 作为后台服务,除外情况不可商用且不允许二次分发或开源。
* 5.请不得将本软件应用于危害国家安全、荣誉和利益的行为,不能以任何形式用于非法为目的的行为不要删除和修改作者声明。
* 6.任何基于本软件而产生的一切法律纠纷和责任,均于我司无关
* @see https://gitee.com/dotnetmoyu/SimpleAdmin
*/
import { moduleRequest } from "@/api/request";
import { ResPage, ZJRQ, ReqId } from "@/api/interface";
const http = moduleRequest("/business/dfieldApi/");

/**
* @Description: 单页管理
* @Author: SYY
* @Date: 2023-12-15 15:34:54
*/
const userManageClassManageApi = {
/** 查询底库列表 */
page(params: ZJRQ.Page) {
return http.get("queryAll", params);
},
/** 删除底库 */
delete(params: ReqId) {
return http.post("deleteDfieldD", params);
},
/** 创建底库 */
add(params: ZJRQ.WarnInfo) {
return http.post("createDfieldA", params);
},
/** 更新底库 */
edit(params: ZJRQ.WarnInfo) {
return http.post("updateDfieldU", params);
}
};

const userClassButtonCode = {
/** 新增人员 */
add: "userManageClassManageAdd",
/** 删除人员 */
edit: "userManageClassManageEdit",
/** 删除人员 */
delete: "userManageClassManageDelete"
};

export { userManageClassManageApi,userClassButtonCode };

+ 1
- 0
SafeCampus.WEB/src/api/modules/usermanage/index.ts ファイルの表示

@@ -13,3 +13,4 @@
* @see https://gitee.com/dotnetmoyu/SimpleAdmin
*/
export * from "./personnel";
export * from "./classManage";

読み込み中…
キャンセル
保存