mirror of
https://github.com/hpd840321/starRiverProperty.git
synced 2026-06-10 00:40:30 +08:00
4f79e10bd6
Former-commit-id: 376f94edd602d3dfed1cbada6e08361ee7b08e73
1 line
14 KiB
JavaScript
1 line
14 KiB
JavaScript
webpackJsonp([42],{c2qR:function(e,t,a){var n=a("p1c0");"string"==typeof n&&(n=[[e.i,n,""]]),n.locals&&(e.exports=n.locals);a("rjj0")("079f1e57",n,!0)},iJem:function(e,t,a){"use strict";var n=a("//Fk"),r=a.n(n),i={logable:!0,db:null,createOrOpenDb:function(e,t){var a=this,n=indexedDB.open(e,t);return new r.a(function(e,t){n.onsuccess=function(t){a.logable,a.db=t.target.result,e(a.db)},n.onerror=function(e){a.logable,t(e.target.error.message)},n.onupgradeneeded=function(e){a.logable,a.db=e.target.result,a.createObjectStore("image",{keyPath:"id"})}})},createObjectStore:function(e,t){if(!this.db.objectStoreNames.contains(e)){var a=this.db.createObjectStore(e,{keyPath:t.keyPath});for(var n in t)a.createIndex(n,n,{unique:t.unique});this.logable}},getCurrentStore:function(e){return this.db.transaction([e],"readwrite").objectStore(e)},createObjectStoreOperations:function(e){var t=this;this[e]={add:function(a){if(a)return new r.a(function(n,r){var i=t.getCurrentStore(e).add(a);i.onsuccess=function(e){t.logable,n(a)},i.onerror=function(e){t.logable,r(e.target.error.message)}})},remove:function(a){return new r.a(function(n,r){var i=t.getCurrentStore(e).delete(a);i.onsuccess=function(e){n(!0)},i.onerror=function(e){r(e.target.error.message)}})},clearData:function(){return new r.a(function(a,n){var r=t.getCurrentStore(e).clear();r.onsuccess=function(e){a(!0)},r.onerror=function(e){n(e.target.error.message)}})},update:function(a){if(!a.id)throw new Error("必须拥有id属性的数据对象才能被修改");var n=t.getCurrentStore(e);return new r.a(function(e,r){var i=n.put(a);i.onsuccess=function(a){t.logable,e(!0)},i.onerror=function(e){t.logable,r(e.target.error.message)}})},readAll:function(){var a=t.getCurrentStore(e);return new r.a(function(e,t){var n=[],r=a.openCursor();r.onsuccess=function(t){var a=t.target.result;a?(n.push(a.value),a.continue()):e(n)},r.onerror=function(e){t(e.target.error.message)}})},readWithIndex:function(a){return new r.a(function(n,r){var i=t.getCurrentStore(e).index("name").openCursor(),s=[];i.onsuccess=function(e){var t=e.target.result;t?(t.value.name.includes(a)&&s.push(t.value),t.continue()):n(s)},i.onerror=function(e){r(e.target.error.message)}})}}}};t.a=i},lJJr:function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=a("Dd8w"),r=a.n(n),i=a("//Fk"),s=a.n(i),o=a("+giH"),c=a("mn/P"),u=a("MZdq"),l=a("9Zzp"),d=a("COE1"),p=a("iJem"),g={data:function(){return{action:"/cwos-portal/portal/biology/image/upload",dialogVisible:!1,imageUrl:"",ajax:o.a,responseText:"",compareList:[],showList:[],isCompare:!0,isDefault:!0,dataBaseList:[],baseFileList:[],avandaFile64:"",avandaFeature:""}},created:function(){var e=this;this.getDatabase(),p.a.createOrOpenDb("imgDB","1.0").then(function(t){p.a.createObjectStoreOperations("image"),p.a.image.readAll().then(function(t){e.dataBaseList=t,e.compareList=t,e.dataBaseList.length&&(e.avandaFeature=e.dataBaseList[0].id,e.imageUrl&&(e.isCompare=!1))}).catch(function(e){})})},methods:{handleRemove:function(e){var t=this;if(e.id){var a={groupId:"customize",algorithmSubType:2001,featureId:e.id};c.a.delFaceBaseImg(a).then(function(a){t.$message.success(a.data.message),p.a.image.remove(e.id).then(function(a){t.dataBaseList.forEach(function(a,n){a.id===e.id&&t.dataBaseList.splice(n,1)}),t.compareList.forEach(function(a,n){a.id===e.id&&t.compareList.splice(n,1)}),t.dataBaseList&&0!==t.dataBaseList.length&&t.imageUrl||(t.isCompare=!0),t.$message.success("删除成功")}).catch(function(e){t.$message.error("数据库删除失败")})}).catch(function(e){t.$message.error(e.message)})}},handleAvatarSuccess:function(e){var t=this;return e.size/1024/1024>3?(this.$message.error("图片过大, 请上传不大于3M, 像素在4000*3000以内的照片"),!1):(this.imageUrl=URL.createObjectURL(e),Object(l.b)(e).then(function(e){var a={imageA:e.split(";base64,")[1],algorithmSubType:2041};t.avandaFile64=e.split(";base64,")[1],u.b.featureExtract(a).then(function(e){t.avandaFeature=e.data[0].feature,t.isCompare=0==t.dataBaseList.length})}).catch(function(e){t.$message.error(e.message)}),!1)},handleChange:function(e){if(e.size/1024/1024>3)return this.$message.error("图片过大, 请上传不大于3M, 像素在4000*3000以内的照片"),!1},beforeUpload:function(e){var t=this;return["image/jpeg","image/png","image/bmp","image/gif"].includes(e.type)?e.size/1024/1024>3?(this.$message.error("请上传3M以内的图片"),!1):new s.a(function(a,n){var r=new Image;r.src=URL.createObjectURL(e),r.onload=function(){this.naturalWidth>4e3||this.naturalHeight>3e3?(t.$message.error("请上传4000像素 * 3000像素以内的图片"),n()):(t.handleSuccess(e),n())}}):(this.$message.error("上传文件格式不正确"),!1)},handleSuccess:function(e){var t=this;Object(l.b)(e).then(function(e){var a=e.split(";base64,")[1];t.featureExtract(a,e)})},handleClose:function(e){this.baseFileList=[],e()},featureExtract:function(e,t){var a=this,n={imageA:e,algorithmSubType:2041};u.b.featureExtract(n).then(function(e){""!==e.data[0].feature?a.addFeature(e.data[0].feature,t):a.$message.error("特征提取失败")})},getUUid:function(){for(var e=[],t=0;t<36;t++)e[t]="0123456789abcdef".substr(Math.floor(16*Math.random()),1);return e[14]="4",e[19]="0123456789abcdef".substr(3&e[19]|8,1),e[8]=e[13]=e[18]=e[23]="-",e.join("")},addFeature:function(e,t){var a=this,n=this.getUUid(),r={groupId:"customize",feature:e,featureId:n,algorithmSubType:2001},i={id:n,url:t};c.a.addFeature(r).then(function(e){e.data&&p.a.image.add(i).then(function(e){a.$message.success("添加图片成功!"),a.dataBaseList.push(i),a.imageUrl&&(a.isCompare=!1)}).catch(function(e){a.$message.error("添加图片失败!")})}).catch(function(e){a.$message.error(e.message)})},compare:function(){var e=this,t={groupId:"customize",feature:this.avandaFeature,topN:6,algorithmSubType:2001};c.a.compare(t).then(function(t){var a=[];if(t.success&&t.data){for(var n=0;n<e.dataBaseList.length;n++)for(var i=0;i<t.data.length;i++)if(e.dataBaseList[n].id===t.data[i].featureId){var s=r()({},e.dataBaseList[n]);s.score=t.data[i].score,a.push(s)}a.sort(function(e,t){return t.score-e.score}),e.showList=[].concat(a),e.isDefault=!1,e.isCompare=!1,e.responseText=t}else e.$message.error(t.message),e.isCompare=!1,e.responseText=t,e.isDefault=!0})},clearDatabase:function(){var e=this;if(0!=this.compareList.length||0!=this.dataBaseList.length){c.a.clearDatabase({groupId:"customize"}).then(function(t){p.a.image.clearData().then(function(t){e.dataBaseList=[],e.compareList=[],e.isDefault=!0,e.isCompare=!0,e.$message.success("清除成功"),e.createDatabase(),e.isCompare=!0}).catch(function(t){e.$message.error("清除失败")})}).catch(function(t){e.$message.error(t.message)})}},getDatabase:function(){var e=this;c.a.getDatabase({groupId:"customize",algorithmSubType:2001}).then(function(t){t.success&&t.data||e.createDatabase()}).catch(function(t){e.createDatabase()})},createDatabase:function(){var e=this;c.a.createDatabase({groupId:"customize",groupName:"自定义图库",algorithmSubType:2001,groupAttr:'{"maxDays":100,"maxCount":4000}'}).then(function(e){}).catch(function(t){e.$message.error(t.message)})},getTotalImg:function(){var e=this;c.a.getTotalFaceImg({channelCode:"system"}).then(function(t){e.baseFileList=t.data}).catch(function(t){e.$message.error(t.message)})},manageFaceData:function(){this.dialogVisible=!0,this.baseFileList=this.dataBaseList}},components:{responseText:d.a}},f={render:function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"app-container"},[a("el-card",{attrs:{shadow:"hover"}},[a("div",{staticClass:"clearfix",attrs:{slot:"header"},slot:"header"},[a("span",{staticStyle:{"font-size":"14px"}},[e._v("该应用将待检索人脸图片与自定义人脸库中所有图片进行检索,检索给出相似度前6的检索结果")])]),e._v(" "),a("div",{staticClass:"simulator-box"},[a("div",{staticClass:"up-box",staticStyle:{width:"486px",height:"335px",display:"table-cell",float:"left","margin-right":"80px","margin-top":"50px","margin-bottom":"74px",background:"#F4F5F9"}},[a("el-upload",{ref:"upload",staticClass:"avatar-uploader",attrs:{action:e.action,"show-file-list":!1,"before-upload":e.handleAvatarSuccess,"http-request":e.ajax}},[e.imageUrl?a("img",{staticClass:"avatar",attrs:{src:e.imageUrl}}):e._e(),e._v(" "),a("el-button",{staticStyle:{position:"absolute",top:"0px",left:"0"},attrs:{size:"small",type:"warning"}},[e._v("上传图片")])],1)],1),e._v(" "),a("el-button",{staticClass:"compare-btn",attrs:{type:"primary",size:"small",disabled:e.isCompare},on:{click:e.compare}},[e._v("检索对比")]),e._v(" "),a("div",{staticStyle:{width:"440px",height:"335px",display:"inline-block","margin-top":"50px","text-align":"center",position:"relative",background:"#F4F5F9","padding-top":"13px","padding-left":"31px"}},[e.isDefault?a("ul",e._l(6,function(t){return a("li",{key:t,staticClass:"default-frame"},[e.dataBaseList[t-1]?a("img",{attrs:{src:e.dataBaseList[t-1].url,alt:""}}):e._e()])}),0):a("ul",e._l(e.showList,function(t){return a("li",{key:t},[a("img",{attrs:{src:t.url,alt:""}}),e._v(" "),a("span",[e._v("相似度为"+e._s((1e3*t.score/10).toFixed(2))+"%")])])}),0),e._v(" "),a("br"),e._v(" "),a("el-row",{staticStyle:{position:"absolute",top:"-50px",left:"0px"}},[a("el-button",{attrs:{size:"small"},on:{click:e.manageFaceData}},[e._v("管理自定义人脸库")]),e._v(" "),a("el-button",{attrs:{type:"text",size:"small"},on:{click:e.clearDatabase}},[e._v("清空人脸库")])],1)],1)],1)]),e._v(" "),a("response-text",{attrs:{responseText:e.responseText}}),e._v(" "),a("el-dialog",{attrs:{title:"管理自定义人脸库",visible:e.dialogVisible,width:"695px","close-on-click-modal":!1,"before-close":e.handleClose},on:{"update:visible":function(t){e.dialogVisible=t}}},[a("p",{staticStyle:{"margin-top":"-20px","margin-bottom":"10px"}},[e._v("\n 您可以添加图片创建自定义人脸库,创建完成后被检索人脸将在自定义人脸库中查找,默认获取Top6。\n ")]),e._v(" "),a("el-upload",{staticClass:"manage-upload",attrs:{action:e.action,"list-type":"picture-card","before-remove":e.handleRemove,"before-upload":e.beforeUpload,"http-request":e.ajax,"file-list":e.baseFileList}},[a("i",{staticClass:"el-icon-plus"})])],1)],1)},staticRenderFns:[]};var h=a("VU/8")(g,f,!1,function(e){a("c2qR")},"data-v-3774f025",null);t.default=h.exports},"mn/P":function(e,t,a){"use strict";var n=a("imqz"),r=(a("6a9s"),a("Tm9E"));t.a={compare:function(e){return r.a.post("/v3/staticdb/search/multiple",e).then(function(e){return e})},warehousing:function(e){return r.a.post("/v3/static/db/addImage",e).then(function(e){return e})},clearDatabase:function(e){return r.a.post("/v3/group/remove",e).then(function(e){if(e.success&&e.data)return{data:e};throw new Error(e.message)})},createDatabase:function(e){return r.a.post("/v3/group/add",e).then(function(e){if(e.success&&e.data)return{data:e.data};throw new Error(e.message)})},addFeature:function(e){return r.a.post("/v3/feature/add",e).then(function(e){if(e.success&&e.data)return{data:e.data};throw new Error(e.message)})},getDatabase:function(e){return r.a.post("/v3/group/get",e).then(function(e){return e})},getTotalFaceImg:function(e){return n.a.post("/static/db/get/total",e).then(function(e){if(e.success&&e.data)return{data:e.data};throw new Error(e.message)})},delFaceBaseImg:function(e){return r.a.post("/v3/feature/remove",e).then(function(e){if(e.success)return{data:e};throw new Error(e.message)})},monitorReport:function(e){return n.a.post("/invoke/flow/query",e).then(function(e){if(e.success&&e.data)return{data:e.data};throw new Error(e.message)})}}},p1c0:function(e,t,a){(e.exports=a("FZ+f")(!1)).push([e.i,"\n.left[data-v-3774f025] {\n display: inline-block;\n margin-right: 20px;\n position: absolute;\n right: 110px;\n}\n.avatar-uploader .el-upload[data-v-3774f025] {\n border: 1px dashed #aaa;\n border-radius: 6px;\n cursor: pointer;\n position: relative;\n overflow: hidden;\n}\n.avatar-uploader .el-upload[data-v-3774f025]:hover {\n border-color: #409eff;\n}\n.avatar-uploader-icon[data-v-3774f025] {\n border: 1px dashed #aaa;\n font-size: 28px;\n color: #8c939d;\n width: 178px;\n height: 178px;\n line-height: 178px;\n text-align: center;\n display: none;\n}\n.up-box[data-v-3774f025] {\n vertical-align: middle;\n text-align: center;\n line-height: 335px;\n}\n.avatar[data-v-3774f025] {\n max-width: 486px;\n max-height: 335px;\n vertical-align: middle;\n text-align: center;\n margin-top: -4px;\n}\nli[data-v-3774f025] {\n list-style: none;\n display: inline-block;\n float: left;\n width: 110px;\n height: 147px;\n margin-bottom: 13px;\n margin-right: 24px;\n background: rgba(42, 44, 68, 0.7);\n text-align: center;\n vertical-align: middle;\n line-height: 147px;\n}\nli img[data-v-3774f025] {\n max-width: 110px;\n max-height: 147px;\n vertical-align: middle;\n margin-top: -4px;\n}\nli span[data-v-3774f025] {\n display: inline-block;\n width: 110px;\n height: 29px;\n background: rgba(42, 44, 68, 0.7);\n color: #fff;\n position: relative;\n bottom: 29px;\n font-size: 12px;\n line-height: 29px;\n vertical-align: top;\n}\n.simulator-box[data-v-3774f025] {\n position: relative;\n min-height: 380px;\n width: 1500px;\n}\n[data-v-3774f025] .el-upload--picture-card {\n width: 88px;\n height: 117px;\n line-height: 136px;\n}\n[data-v-3774f025] .el-upload-list--picture-card .el-upload-list__item {\n width: 88px;\n height: 117px;\n text-align: center;\n vertical-align: middle;\n margin-right: 16px;\n}\n[data-v-3774f025] .el-upload-list--picture-card .el-upload-list__item-thumbnail {\n max-width: 88px;\n max-height: 117px;\n width: auto;\n height: auto;\n}\n[data-v-3774f025] .el-upload--picture-card i {\n font-size: 38px;\n}\n.compare-btn[data-v-3774f025] {\n position: absolute;\n bottom: -55px;\n left: 490px;\n}\n.default-frame[data-v-3774f025] {\n height: 147px;\n width: 110px;\n margin-bottom: 13px;\n margin-right: 24px;\n background: url("+a("gpWv")+") center no-repeat;\n}\n[data-v-3774f025] .el-upload-list__item {\n -webkit-transition: all 0s;\n transition: all 0s;\n}\n[data-v-3774f025] .el-button--primary.is-disabled {\n border-color: #c0c4cc;\n}\n",""])}}); |