|
@@ -17,7 +17,7 @@
|
|
|
></video>
|
|
|
<canvas
|
|
|
ref="canvasDOM"
|
|
|
- width="265"
|
|
|
+ width="265"
|
|
|
height="212"
|
|
|
class="kuang"
|
|
|
v-show="isCamera"
|
|
@@ -106,39 +106,44 @@ export default {
|
|
|
// 实时拍照效果
|
|
|
_this.$refs["video"].play();
|
|
|
|
|
|
- const video = this.videoEl;
|
|
|
- const canvas = this.canvasEL;
|
|
|
- const canvasContext = canvas.getContext("2d");
|
|
|
- let tracker = new window.tracking.ObjectTracker("face");
|
|
|
+ if (_this.$store.state.function.indexOf("face=1;") != -1) {
|
|
|
+ // this.$message.error("摄像头开启失败,请检查摄像头是否可用!");
|
|
|
|
|
|
- // video.pause();
|
|
|
- // video.src = "";
|
|
|
- tracker.setInitialScale(4);
|
|
|
- tracker.setStepSize(2);
|
|
|
- tracker.setEdgesDensity(0.1);
|
|
|
- window.tracking.track("#video_cam", tracker, { camera: true });
|
|
|
- tracker.on("track", function (event) {
|
|
|
- const { autoCaptureTrackTraking } = _this;
|
|
|
- canvasContext.clearRect(0, 0, canvas.width, canvas.height);
|
|
|
- event.data.forEach(function ({ x, y, width, height }) {
|
|
|
- canvasContext.strokeStyle = "#FFFF";
|
|
|
- canvasContext.strokeRect(x+10, y-30, width - 20, height);
|
|
|
- canvasContext.font = "11px Helvetica";
|
|
|
- canvasContext.fillStyle = "#fff";
|
|
|
- });
|
|
|
+ const video = this.videoEl;
|
|
|
+ const canvas = this.canvasEL;
|
|
|
+ const canvasContext = canvas.getContext("2d");
|
|
|
+ let tracker = new window.tracking.ObjectTracker("face");
|
|
|
+
|
|
|
+ // video.pause();
|
|
|
+ // video.src = "";
|
|
|
+ tracker.setInitialScale(4);
|
|
|
+ tracker.setStepSize(2);
|
|
|
+ tracker.setEdgesDensity(0.1);
|
|
|
+ window.tracking.track("#video_cam", tracker, { camera: true });
|
|
|
+ tracker.on("track", function (event) {
|
|
|
+ const { autoCaptureTrackTraking } = _this;
|
|
|
+ canvasContext.clearRect(0, 0, canvas.width, canvas.height);
|
|
|
+ event.data.forEach(function ({ x, y, width, height }) {
|
|
|
+ canvasContext.strokeStyle = "#FFFF";
|
|
|
+ canvasContext.strokeRect(x + 10, y - 30, width - 20, height);
|
|
|
+ canvasContext.font = "11px Helvetica";
|
|
|
+ canvasContext.fillStyle = "#fff";
|
|
|
+ });
|
|
|
|
|
|
- if (!(event.data.length == 0) && _this.count <= 10) {
|
|
|
- if (_this.count < 0) _this.count = 0;
|
|
|
- _this.count += 1;
|
|
|
- if (_this.count > 10) {
|
|
|
- _this.isdetected = "已检测到人脸";
|
|
|
+ if (!(event.data.length == 0) && _this.count <= 10) {
|
|
|
+ if (_this.count < 0) _this.count = 0;
|
|
|
+ _this.count += 1;
|
|
|
+ if (_this.count > 10) {
|
|
|
+ _this.isdetected = "已检测到人脸";
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ _this.count -= 1;
|
|
|
+ if (_this.count < 0)
|
|
|
+ _this.isdetected = "请您保持脸部在画面中央";
|
|
|
+ //this.isdetected = '已检测到人脸,正在登录'
|
|
|
}
|
|
|
- } else {
|
|
|
- _this.count -= 1;
|
|
|
- if (_this.count < 0) _this.isdetected = "请您保持脸部在画面中央";
|
|
|
- //this.isdetected = '已检测到人脸,正在登录'
|
|
|
- }
|
|
|
- });
|
|
|
+ });
|
|
|
+ }
|
|
|
})
|
|
|
.catch((error) => {
|
|
|
// console.error("摄像头开启失败,请检查摄像头是否可用!");
|
|
@@ -200,9 +205,10 @@ export default {
|
|
|
// _s1.type = "text/javascript";
|
|
|
// document.head.appendChild(_s1);
|
|
|
// console.log(this.$store.state.function);
|
|
|
- // if (this.$store.state.function == 1) {
|
|
|
- // this.$message.error("摄像头开启失败,请检查摄像头是否可用!");
|
|
|
- // }
|
|
|
+ if (this.$store.state.function.indexOf("screen=1;") != -1) {
|
|
|
+ // this.$message.error("摄像头开启失败,请检查摄像头是否可用!");
|
|
|
+ this.callCamera();
|
|
|
+ }
|
|
|
this.videoEl = this.$refs.video;
|
|
|
this.canvasEL = this.$refs.canvasDOM;
|
|
|
},
|
|
@@ -331,7 +337,7 @@ body {
|
|
|
.face {
|
|
|
position: absolute;
|
|
|
z-index: 1;
|
|
|
- padding: 26.5px 0;
|
|
|
+ padding: 26.5px 0;
|
|
|
}
|
|
|
|
|
|
.kuang {
|