From c5cb75e69127ce6a2020be78e0a10f284e2091ca Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期四, 02 一月 2020 23:56:42 +0800
Subject: [PATCH] 合并最新功能版本

---
 WebService/src/main/resources/components/applicationKeyPackage/edit-applicationKey/editApplicationKey.js |  105 ++++++++++++++++++++++++++++++----------------------
 1 files changed, 60 insertions(+), 45 deletions(-)

diff --git a/WebService/src/main/resources/components/applicationKeyPackage/edit-applicationKey/editApplicationKey.js b/WebService/src/main/resources/components/applicationKeyPackage/edit-applicationKey/editApplicationKey.js
index 18148da..c4ebfb4 100644
--- a/WebService/src/main/resources/components/applicationKeyPackage/edit-applicationKey/editApplicationKey.js
+++ b/WebService/src/main/resources/components/applicationKeyPackage/edit-applicationKey/editApplicationKey.js
@@ -21,54 +21,61 @@
                 locationTypeCd: '',
                 locationObjId: '',
                 roomName: '',
-                videoPlaying:false,
-                photo:''
-
+                videoPlaying: false,
+                photo: '',
+                mediaStreamTrack: null,
+                typeFlag:'',
             }
         },
         _initMethod: function () {
             vc.component._initEditApplicationKeyDateInfo();
-            vc.component._initEditApplicationKeyMedia();
+            //vc.component._initEditApplicationKeyMedia();
 
 
         },
         _initEvent: function () {
             vc.on('editApplicationKey', 'openEditApplicationKeyModal', function (_params) {
                 vc.component.refreshEditApplicationKeyInfo();
-               // $('#editApplicationKeyModel').modal('show');
+                // $('#editApplicationKeyModel').modal('show');
                 vc.copyObject(_params, vc.component.editApplicationKeyInfo);
                 if (vc.component.editApplicationKeyInfo.locationTypeCd == '2000') {
-                    vc.emit('editApplicationKey','floorSelect2','setFloor',{
-                        floorId:vc.component.editApplicationKeyInfo.floorId,
-                        floorNum:vc.component.editApplicationKeyInfo.floorNum
+                    vc.emit('editApplicationKey', 'floorSelect2', 'setFloor', {
+                        floorId: vc.component.editApplicationKeyInfo.floorId,
+                        floorNum: vc.component.editApplicationKeyInfo.floorNum
                     });
-                    vc.emit('editApplicationKey','unitSelect2','setUnit',{
-                        floorId:vc.component.editApplicationKeyInfo.floorId,
-                        floorNum:vc.component.editApplicationKeyInfo.floorNum,
-                        unitId:vc.component.editApplicationKeyInfo.unitId,
-                        unitNum:vc.component.editApplicationKeyInfo.unitNum,
+                    vc.emit('editApplicationKey', 'unitSelect2', 'setUnit', {
+                        floorId: vc.component.editApplicationKeyInfo.floorId,
+                        floorNum: vc.component.editApplicationKeyInfo.floorNum,
+                        unitId: vc.component.editApplicationKeyInfo.unitId,
+                        unitNum: vc.component.editApplicationKeyInfo.unitNum,
                     });
                 } else if (vc.component.editApplicationKeyInfo.locationTypeCd == '3000') {
-                    vc.emit('editApplicationKey','floorSelect2','setFloor',{
-                        floorId:vc.component.editApplicationKeyInfo.floorId,
-                        floorNum:vc.component.editApplicationKeyInfo.floorNum
+                    vc.emit('editApplicationKey', 'floorSelect2', 'setFloor', {
+                        floorId: vc.component.editApplicationKeyInfo.floorId,
+                        floorNum: vc.component.editApplicationKeyInfo.floorNum
                     });
-                    vc.emit('editApplicationKey','unitSelect2','setUnit',{
-                        floorId:vc.component.editApplicationKeyInfo.floorId,
-                        floorNum:vc.component.editApplicationKeyInfo.floorNum,
-                        unitId:vc.component.editApplicationKeyInfo.unitId,
-                        unitNum:vc.component.editApplicationKeyInfo.unitNum,
+                    vc.emit('editApplicationKey', 'unitSelect2', 'setUnit', {
+                        floorId: vc.component.editApplicationKeyInfo.floorId,
+                        floorNum: vc.component.editApplicationKeyInfo.floorNum,
+                        unitId: vc.component.editApplicationKeyInfo.unitId,
+                        unitNum: vc.component.editApplicationKeyInfo.unitNum,
                     });
-                    vc.emit('editApplicationKey','roomSelect2','setRoom',{
-                        floorId:vc.component.editApplicationKeyInfo.floorId,
-                        floorNum:vc.component.editApplicationKeyInfo.floorNum,
-                        unitId:vc.component.editApplicationKeyInfo.unitId,
-                        unitNum:vc.component.editApplicationKeyInfo.unitNum,
-                        roomId:vc.component.editApplicationKeyInfo.roomId,
-                        roomNum:vc.component.editApplicationKeyInfo.roomNum,
+                    vc.emit('editApplicationKey', 'roomSelect2', 'setRoom', {
+                        floorId: vc.component.editApplicationKeyInfo.floorId,
+                        floorNum: vc.component.editApplicationKeyInfo.floorNum,
+                        unitId: vc.component.editApplicationKeyInfo.unitId,
+                        unitNum: vc.component.editApplicationKeyInfo.unitNum,
+                        roomId: vc.component.editApplicationKeyInfo.roomId,
+                        roomNum: vc.component.editApplicationKeyInfo.roomNum,
                     });
                 }
                 vc.component.editApplicationKeyInfo.communityId = vc.getCurrentCommunity().communityId;
+
+
+            });
+
+            vc.on('editApplicationKey', "_initEditApplicationKeyData", function () {
+                vc.component._initEditApplicationKeyMedia();
             });
 
             vc.on("editApplicationKey", "notify", function (_param) {
@@ -80,7 +87,7 @@
                     vc.component.editApplicationKeyInfo.unitId = _param.unitId;
                 }
 
-                if(_param.hasOwnProperty("roomId")){
+                if (_param.hasOwnProperty("roomId")) {
                     vc.component.editApplicationKeyInfo.roomId = _param.roomId;
                 }
             });
@@ -289,39 +296,47 @@
                     floorNum: '',
                     floorName: '',
                     unitId: '',
-                    unitName: '',
+                    unitNum: '',
                     roomId: '',
                     locationTypeCd: '',
                     locationObjId: '',
                     roomName: '',
-                    videoPlaying:false,
-                    photo:''
+                    videoPlaying: false,
+                    photo: '',
+                    mediaStreamTrack: null,
+                    typeFlag:'',
                 }
             },
             _closeEditApplicationKeyView: function () {
                 vc.emit('applicationKeyManage', 'listApplicationKey', {});
+                //鍏抽棴鎷嶇収鎽勫儚澶�
+                if (vc.component.editApplicationKeyInfo.mediaStreamTrack != null) {
+                    vc.component.editApplicationKeyInfo.mediaStreamTrack.stop();
+                }
             },
-            _editUserMedia:function() {
+            _editUserMedia: function () {
                 return navigator.getUserMedia = navigator.getUserMedia ||
                     navigator.webkitGetUserMedia ||
                     navigator.mozGetUserMedia ||
                     navigator.msGetUserMedia || null;
             },
-            _initEditApplicationKeyMedia:function () {
-                if(vc.component._editUserMedia()){
+            _initEditApplicationKeyMedia: function () {
+                if (vc.component._editUserMedia()) {
                     vc.component.editApplicationKeyInfo.videoPlaying = false;
                     var constraints = {
                         video: true,
                         audio: false
                     };
-                    var video = document.getElementById('photo');
+                    var video = document.getElementById('editApplicationKeyPhoto');
                     var media = navigator.getUserMedia(constraints, function (stream) {
                         var url = window.URL || window.webkitURL;
                         //video.src = url ? url.createObjectURL(stream) : stream;
+
+                        vc.component.editApplicationKeyInfo.mediaStreamTrack = typeof stream.stop === 'function' ? stream : stream.getTracks()[0];
                         try {
                             video.src = url ? url.createObjectURL(stream) : stream;
                         } catch (error) {
-                            video.srcObject = stream;
+                           video.srcObject = stream;
                         }
                         video.play();
                         vc.component.editApplicationKeyInfo.videoPlaying = true;
@@ -329,14 +344,14 @@
                         console.log("ERROR");
                         console.log(error);
                     });
-                }else{
+                } else {
                     console.log("鍒濆鍖栬棰戝け璐�");
                 }
             },
-            _takeEditPhoto:function () {
+            _takeEditPhoto: function () {
                 if (vc.component.editApplicationKeyInfo.videoPlaying) {
-                    var canvas = document.getElementById('canvas');
-                    var video = document.getElementById('photo');
+                    var canvas = document.getElementById('editApplicationKeyCanvas');
+                    var video = document.getElementById('editApplicationKeyPhoto');
                     canvas.width = video.videoWidth;
                     canvas.height = video.videoHeight;
                     canvas.getContext('2d').drawImage(video, 0, 0);
@@ -345,21 +360,21 @@
                     //document.getElementById('photo').setAttribute('src', data);
                 }
             },
-            _uploadEditPhoto:function(event){
+            _uploadEditPhoto: function (event) {
                 $("#uploadEditApplicationKeyPhoto").trigger("click")
             },
-            _chooseEditPhoto:function(event){
+            _chooseEditPhoto: function (event) {
                 var photoFiles = event.target.files;
                 if (photoFiles && photoFiles.length > 0) {
                     // 鑾峰彇鐩墠涓婁紶鐨勬枃浠�
                     var file = photoFiles[0];// 鏂囦欢澶у皬鏍¢獙鐨勫姩浣�
-                    if(file.size > 1024 * 1024 * 1) {
+                    if (file.size > 1024 * 1024 * 1) {
                         vc.toast("鍥剧墖澶у皬涓嶈兘瓒呰繃 2MB!")
                         return false;
                     }
                     var reader = new FileReader(); //鏂板缓FileReader瀵硅薄
                     reader.readAsDataURL(file); //璇诲彇涓篵ase64
-                    reader.onloadend = function(e) {
+                    reader.onloadend = function (e) {
                         vc.component.editApplicationKeyInfo.photo = reader.result;
                     }
                 }

--
Gitblit v1.8.0