nicecode-v2/packages/biz/es/hooks/useIntelligentTracking/index.js

618 lines
32 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
//@ts-nocheck
import * as turf from '@turf/turf';
import { getListTaskStatus, getCameraStatusFunc } from "../useTaskState";
import Tree from '@common/components/CameraTree/Tree';
import doRequest from "../../utils/request";
import { message } from '@zhst/meta';
import { SearchCamera } from '@common/components/CameraTree/utils';
import { get, isEmpty } from '@zhst/func';
//默认取值
var defaultFaceThreshold = 0.68;
var defaultBodyThreshold = 0.7;
//下边栏人脸数量默认为5
var defaultFaceResultNum = 5;
//追踪圈半径长度(m),默认为150
var defaultRadius = 0.15;
//查询周期s默认是10,,只负责保存做展示用
var defaultQueryCycle = 10;
//获取默认半径
export var getDefaultRadius = function getDefaultRadius() {
return defaultRadius;
};
//设置默认半径
export var setDefaultRadius = function setDefaultRadius(radius) {
defaultRadius = radius;
};
//检索间隔时长
var searchIntervalDuration = 10;
//设置检索时长
export var setSearchIntervalDuration = function setSearchIntervalDuration(duration) {
searchIntervalDuration = duration;
};
//获取检索时长
export var getSearchIntervalDuration = function getSearchIntervalDuration(time) {
return time;
};
//通过id停止或启动任务
export var operateTrackById = /*#__PURE__*/function () {
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(smartTrackId, operationType) {
var data;
return _regeneratorRuntime().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_context.prev = 0;
data = {
operationType: operationType,
smartTrackId: smartTrackId
};
_context.next = 4;
return doRequest({
method: 'PUT',
url: '/singer.SmartTrackService/OperationSmartTrack',
data: data
});
case 4:
message.success('操作成功');
_context.next = 11;
break;
case 7:
_context.prev = 7;
_context.t0 = _context["catch"](0);
console.error(_context.t0);
message.success('操作失败');
case 11:
case "end":
return _context.stop();
}
}, _callee, null, [[0, 7]]);
}));
return function operateTrackById(_x, _x2) {
return _ref.apply(this, arguments);
};
}();
//通过id删除追踪任务
export var deleteTrackById = /*#__PURE__*/function () {
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(smartTrackId) {
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
_context2.prev = 0;
_context2.next = 3;
return doRequest({
method: 'DELETE',
url: '/singer.SmartTrackService/DeleteSmartTrack',
data: {
smartTrackId: smartTrackId
}
});
case 3:
_context2.next = 8;
break;
case 5:
_context2.prev = 5;
_context2.t0 = _context2["catch"](0);
console.error(_context2.t0);
case 8:
case "end":
return _context2.stop();
}
}, _callee2, null, [[0, 5]]);
}));
return function deleteTrackById(_x3) {
return _ref2.apply(this, arguments);
};
}();
//编辑追踪任务图片
export var modifyTrackImgs = /*#__PURE__*/function () {
var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(smartTrackId, images) {
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
_context3.prev = 0;
_context3.next = 3;
return doRequest({
method: 'PUT',
url: '/singer.SmartTrackService/ModifyTrackImg',
data: {
images: images,
smartTrackId: smartTrackId
}
});
case 3:
_context3.next = 8;
break;
case 5:
_context3.prev = 5;
_context3.t0 = _context3["catch"](0);
console.log('err', _context3.t0);
case 8:
case "end":
return _context3.stop();
}
}, _callee3, null, [[0, 5]]);
}));
return function modifyTrackImgs(_x4, _x5) {
return _ref3.apply(this, arguments);
};
}();
//编辑高级设置
export var modifyTrackConf = /*#__PURE__*/function () {
var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(conf, smartTrackId) {
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
while (1) switch (_context4.prev = _context4.next) {
case 0:
_context4.prev = 0;
_context4.next = 3;
return doRequest({
method: 'PUT',
url: '/singer.SmartTrackService/ModifyTrackConf',
data: {
conf: conf,
smartTrackId: smartTrackId
}
});
case 3:
_context4.next = 8;
break;
case 5:
_context4.prev = 5;
_context4.t0 = _context4["catch"](0);
console.log('err', _context4.t0);
case 8:
case "end":
return _context4.stop();
}
}, _callee4, null, [[0, 5]]);
}));
return function modifyTrackConf(_x6, _x7) {
return _ref4.apply(this, arguments);
};
}();
//通过id获取追踪任务
export var getTrackTaskById = /*#__PURE__*/function () {
var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
var smartTrackId,
data,
req,
_args5 = arguments;
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
while (1) switch (_context5.prev = _context5.next) {
case 0:
smartTrackId = _args5.length > 0 && _args5[0] !== undefined ? _args5[0] : 0;
_context5.prev = 1;
data = smartTrackId ? {
smartTrackId: smartTrackId
} : {};
_context5.next = 5;
return doRequest({
method: 'POST',
url: '/singer.SmartTrackService/GetSmartTrack',
data: data
});
case 5:
req = _context5.sent;
return _context5.abrupt("return", req);
case 9:
_context5.prev = 9;
_context5.t0 = _context5["catch"](1);
console.error(_context5.t0);
case 12:
case "end":
return _context5.stop();
}
}, _callee5, null, [[1, 9]]);
}));
return function getTrackTaskById() {
return _ref5.apply(this, arguments);
};
}();
//获取追踪实况
export var getTackDetailInfo = /*#__PURE__*/function () {
var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6() {
var smartTrackId,
data,
req,
_args6 = arguments;
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
while (1) switch (_context6.prev = _context6.next) {
case 0:
smartTrackId = _args6.length > 0 && _args6[0] !== undefined ? _args6[0] : 0;
data = smartTrackId ? {
smartTrackId: smartTrackId
} : {};
_context6.next = 4;
return doRequest({
method: 'POST',
url: '/singer.SmartTrackService/GetTrackOverView',
data: data
});
case 4:
req = _context6.sent;
return _context6.abrupt("return", req);
case 6:
case "end":
return _context6.stop();
}
}, _callee6);
}));
return function getTackDetailInfo() {
return _ref6.apply(this, arguments);
};
}();
//根据传入的算力,圆心,摄像头信息计算出最后需要的摄像头信息
export var getTaskCameraByCenterAndPower = /*#__PURE__*/function () {
var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7(value) {
var realCameraInfos, realPreprocessInfos, _yield$getListTaskSta, taskStatus, runRealCameraInfos, from;
return _regeneratorRuntime().wrap(function _callee7$(_context7) {
while (1) switch (_context7.prev = _context7.next) {
case 0:
realCameraInfos = value['cameraInfos']; //先通过摄像头id拿预处理信息
realPreprocessInfos = [];
if (isEmpty(realCameraInfos)) {
_context7.next = 8;
break;
}
_context7.next = 5;
return getListTaskStatus();
case 5:
_yield$getListTaskSta = _context7.sent;
taskStatus = _yield$getListTaskSta.taskStatus;
realPreprocessInfos = getCameraStatusFunc(taskStatus);
case 8:
//去除由实时开启的摄像头
//缓存下已经开启的
runRealCameraInfos = [];
realCameraInfos = realCameraInfos.filter(function (v) {
if (Tree.judgeOccupyPowerById(v['id'], realPreprocessInfos)) {
runRealCameraInfos.push(v);
}
return !Tree.judgeOccupyPowerById(v['id'], realPreprocessInfos);
});
//算力不够时选择离中心点最近的
from = turf.point(value['center']);
if (realCameraInfos.length > value['taskPower']['bodyPower']) {
realCameraInfos.map(function (v) {
var dis = turf.distance(from, turf.point([v['longitude'], v['latitude']]));
return _objectSpread(_objectSpread({}, v), {}, {
dis: dis
});
}).sort(function (a, b) {
return a - b;
});
realCameraInfos = realCameraInfos.slice(0, value['taskPower']['bodyPower']);
}
return _context7.abrupt("return", [].concat(runRealCameraInfos, _toConsumableArray(realCameraInfos)));
case 13:
case "end":
return _context7.stop();
}
}, _callee7);
}));
return function getTaskCameraByCenterAndPower(_x8) {
return _ref7.apply(this, arguments);
};
}();
/**创建追踪任务 */
export var createIntelligentTrack = /*#__PURE__*/function () {
var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8(value) {
var data, res;
return _regeneratorRuntime().wrap(function _callee8$(_context8) {
while (1) switch (_context8.prev = _context8.next) {
case 0:
data = {
images: value['images'],
type: value['model'],
normalComputerPower: value['bodyPower'] || 0,
faceComputerPower: value['facePower'] || 0,
// deviceIds: ['129537'],
deviceIds: value['deviceIds'],
conf: {
faceThreshold: defaultFaceThreshold,
bodyThreshold: defaultBodyThreshold,
faceResultNum: defaultFaceResultNum,
radius: value['circleRadius'] * 1000,
queryCycle: defaultQueryCycle
},
centerConf: {
centerX: value['circleCenter'][0],
centerY: value['circleCenter'][1]
}
};
_context8.next = 3;
return doRequest({
method: 'PUT',
url: '/singer.SmartTrackService/CreateSmartTrack',
data: data
});
case 3:
res = _context8.sent;
return _context8.abrupt("return", res);
case 5:
case "end":
return _context8.stop();
}
}, _callee8);
}));
return function createIntelligentTrack(_x9) {
return _ref8.apply(this, arguments);
};
}();
//发送心跳包
export var emitHeartbeat = /*#__PURE__*/function () {
var _ref9 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee9(smartTrackId) {
return _regeneratorRuntime().wrap(function _callee9$(_context9) {
while (1) switch (_context9.prev = _context9.next) {
case 0:
_context9.prev = 0;
_context9.next = 3;
return doRequest({
method: 'POST',
url: '/singer.SmartTrackService/SmartTrackHeartBeat',
data: {
smartTrackId: smartTrackId
}
});
case 3:
_context9.next = 8;
break;
case 5:
_context9.prev = 5;
_context9.t0 = _context9["catch"](0);
console.error(_context9.t0);
case 8:
case "end":
return _context9.stop();
}
}, _callee9, null, [[0, 5]]);
}));
return function emitHeartbeat(_x10) {
return _ref9.apply(this, arguments);
};
}();
//更改任务摄像头信息
export var ModifyTrackCameras = /*#__PURE__*/function () {
var _ref10 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee10(value) {
return _regeneratorRuntime().wrap(function _callee10$(_context10) {
while (1) switch (_context10.prev = _context10.next) {
case 0:
_context10.prev = 0;
_context10.next = 3;
return setIntelligentTrackCircleInfo(value['smartTrackId'], value['centerPoint']);
case 3:
_context10.next = 5;
return doRequest({
url: '/singer.SmartTrackService/ModifyTrackCameras',
method: 'PUT',
data: {
smartTrackId: value['smartTrackId'],
deviceIds: value['deviceIds']
}
});
case 5:
_context10.next = 10;
break;
case 7:
_context10.prev = 7;
_context10.t0 = _context10["catch"](0);
message.error(_context10.t0);
case 10:
case "end":
return _context10.stop();
}
}, _callee10, null, [[0, 7]]);
}));
return function ModifyTrackCameras(_x11) {
return _ref10.apply(this, arguments);
};
}();
//保存智能追踪圆的信息
export var setIntelligentTrackCircleInfo = /*#__PURE__*/function () {
var _ref11 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee11(smartTrackId, circleCenter) {
return _regeneratorRuntime().wrap(function _callee11$(_context11) {
while (1) switch (_context11.prev = _context11.next) {
case 0:
_context11.prev = 0;
_context11.next = 3;
return doRequest({
url: '/singer.SmartTrackService/ModifyTrackScopeConf',
method: 'PUT',
data: {
smartTrackId: smartTrackId,
centerConf: {
centerX: get(circleCenter, '0'),
centerY: get(circleCenter, '1')
}
}
});
case 3:
_context11.next = 8;
break;
case 5:
_context11.prev = 5;
_context11.t0 = _context11["catch"](0);
message.error(_context11.t0);
case 8:
case "end":
return _context11.stop();
}
}, _callee11, null, [[0, 5]]);
}));
return function setIntelligentTrackCircleInfo(_x12, _x13) {
return _ref11.apply(this, arguments);
};
}();
//智能追踪的获取摄像头
export var getTackCameraInfo = /*#__PURE__*/function () {
var _ref12 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee12(value) {
var circleCameraInfos;
return _regeneratorRuntime().wrap(function _callee12$(_context12) {
while (1) switch (_context12.prev = _context12.next) {
case 0:
_context12.next = 2;
return getCameraInfoByCircle(value['circleCenter'], value['radius'], value['zoom']);
case 2:
circleCameraInfos = _context12.sent;
return _context12.abrupt("return", circleCameraInfos);
case 4:
case "end":
return _context12.stop();
}
}, _callee12);
}));
return function getTackCameraInfo(_x14) {
return _ref12.apply(this, arguments);
};
}();
//通过圆心和半径获取摄像头
export var getCameraInfoByCircle = /*#__PURE__*/function () {
var _ref13 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee13(circleCenter, radius) {
var zoom,
centerFeature,
minx,
maxx,
miny,
maxy,
i,
point,
_yield$doRequest,
clusterPoint,
cameraIds,
_yield$SearchCamera,
cameras,
cameraInfos,
_args13 = arguments;
return _regeneratorRuntime().wrap(function _callee13$(_context13) {
while (1) switch (_context13.prev = _context13.next) {
case 0:
zoom = _args13.length > 2 && _args13[2] !== undefined ? _args13[2] : 16;
_context13.prev = 1;
centerFeature = turf.circle(turf.point(circleCenter), radius, {
units: 'kilometers',
steps: 64
});
minx = 0;
maxx = 0;
miny = 0;
maxy = 0;
for (i = 0; i < 4; i++) {
point = turf.destination(turf.point(circleCenter), radius, 90 * i, {
units: 'kilometers'
}).geometry.coordinates;
if (point[0] < minx || minx === 0) {
minx = point[0];
}
if (point[0] > maxx || maxx === 0) {
maxx = point[0];
}
if (point[1] < miny || miny === 0) {
miny = point[1];
}
if (point[1] > maxy || maxy === 0) {
maxy = point[1];
}
}
_context13.next = 10;
return doRequest({
url: '/singer.DeviceService/GetClusters',
method: 'POST',
data: {
northEast: {
X: maxx,
Y: maxy
},
southWest: {
X: minx,
Y: miny
},
zoom: zoom
}
});
case 10:
_yield$doRequest = _context13.sent;
clusterPoint = _yield$doRequest.clusterPoint;
cameraIds = [];
clusterPoint.forEach(function (v) {
cameraIds.push.apply(cameraIds, _toConsumableArray(v['cameraIDs']));
});
_context13.next = 16;
return SearchCamera({
cameraId: cameraIds,
maxResults: cameraIds.length
});
case 16:
_yield$SearchCamera = _context13.sent;
cameras = _yield$SearchCamera.cameras;
cameraInfos = cameras.filter(function (v) {
var cameraPoint = turf.point([get(v, 'longitude'), get(v, 'latitude')]);
return turf.booleanPointInPolygon(cameraPoint, centerFeature);
});
return _context13.abrupt("return", cameraInfos);
case 22:
_context13.prev = 22;
_context13.t0 = _context13["catch"](1);
console.error(_context13.t0);
return _context13.abrupt("return", []);
case 26:
case "end":
return _context13.stop();
}
}, _callee13, null, [[1, 22]]);
}));
return function getCameraInfoByCircle(_x15, _x16) {
return _ref13.apply(this, arguments);
};
}();
//追踪任务转化为检索的格式
export var taskInfoToSearchItem = function taskInfoToSearchItem(taskInfo) {
var imageList = [];
get(taskInfo, 'images', []).forEach(function (v) {
var url = get(v, 'conds.0.srcImageUrl');
var objectId = get(v, 'conds.0.featureInfo.objectId');
var imageItem = {
index: 0,
url: url,
objectId: objectId,
odRects: get(v, 'conds').map(function (item) {
return {
fileKey: get(item, 'objectImageUrl'),
extendRect: _objectSpread({
algorithmVersion: get(item, 'alg', '')
}, get(item, 'rect', {})),
rect: {
algorithmVersion: get(item, 'alg', ''),
rect: get(item, 'rect', {})
}
};
})
};
imageList.push(imageItem);
});
return imageList;
};