/**
 * @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 { ReqstartId, ResPage, sysCamera, ReqstopId } from "@/api/interface";
const http = moduleRequest("/business/deviceApi/");
const http2 = moduleRequest("/business/cameraInfo/");
const http3 = moduleRequest("/business/cameraGroup/");

/**
 * @Description: 单页管理
 * @Author: wangwenpei
 * @Date: 2023-12-15 15:34:54
 */
const monitorLIVEApi = {
  /** 获取单页分页 */
  page(params: sysCamera.Page) {
    return http.post<ResPage<sysCamera.MonitorInfo>>("brief", params);
  },
  /** 获取单页详情 */
  detail(params: ReqstartId) {
    return http.get<sysCamera.MonitorInfo>("getStartVideoLive", params);
  },
  /** 停止视频流获取 */
  stopUrl(params: ReqstopId) {
    return http.get<sysCamera.MonitorInfo>("getStopVideoLive", params);
  },
  /** 获取监控列表 */
  list(params: sysCamera.List) {
    return http2.get<ResPage<sysCamera.MonitorInfo>>("getPageList", params);
  },
  // 批量设置分组
  setGroup(params: sysCamera.setGroup) {
    return http2.post<ResPage<sysCamera.MonitorInfo>>("batchSetGroup", params);
  },
  // 根据分组批量设置推送人
  setPushPerson(params: sysCamera.setGroup) {
    return http2.post<ResPage<sysCamera.MonitorInfo>>("batchSetPushPersonByGroup", params);
  },
  // 对摄像头批量设置推送人
  setVideoPushPerson(params: sysCamera.setGroup) {
    return http2.post<ResPage<sysCamera.MonitorInfo>>("batchSetPushPerson", params);
  },
  // 对摄像头批量设置推送人
  setWarningPushPerson(params: sysCamera.setGroup) {
    return http2.post<ResPage<sysCamera.MonitorInfo>>("batchSetPushPersonByWarn", params);
  },
  // 获取摄像头分组树
  groupList(params: sysCamera.Tree) {
    return http3.get<ResPage<sysCamera.MonitorInfo>>("getNoPageList");
  },
  // 添加摄像头分组树
  addGroup(params: sysCamera.MonitorGroupInfo) {
    return http3.post<ResPage<sysCamera.MonitorInfo>>("add", params);
  },
  // 编辑摄像头分组树
  updateGroup(params: sysCamera.MonitorGroupInfo) {
    return http3.put<ResPage<sysCamera.MonitorInfo>>("update", params);
  },
  // 删除摄像头分组树
  deleteGroup(params: sysCamera.MonitorGroupInfo) {
    return http3.delete<ResPage<sysCamera.MonitorInfo>>("delete", params);
  }
};
/**
 * @Description: 监控管理按钮权限码
 * @Author: huguodong
 * @Date: 2024-02-20 09:51:15
 */
const monitorLiveButtonCode = {
  /** 新增监控 */
  add: "monitorLiveAdd",
  /** 编辑监控 */
  edit: "monitorLiveEdit",
  /** 删除监控 */
  delete: "monitorLiveDelete",
  /** 批量删除监控 */
  batchDelete: "monitorLiveBatchDelete"
};

export { monitorLIVEApi, monitorLiveButtonCode };
