Commit 244dc8a0 by 张超军

指纹采集平台

parent 62affa5d
......@@ -9,7 +9,9 @@
"lint": "vue-cli-service lint"
},
"dependencies": {
"@improbable-eng/grpc-web": "^0.15.0",
"@toast-ui/vue-image-editor": "^3.15.0",
"@types/google-protobuf": "^3.15.5",
"browserslist": "^4.16.8",
"caniuse-lite": "^1.0.30001251",
"canvas2image": "^1.0.5",
......@@ -17,8 +19,12 @@
"crypto-js": "^4.1.1",
"driver.js": "^0.9.8",
"element-ui": "^2.15.7",
"file-saver": "^2.0.5",
"google-protobuf": "^3.19.1",
"html2canvas": "^1.3.2",
"js-cookie": "^2.2.1",
"js-md5": "^0.7.3",
"jszip": "^3.7.1",
"jwt-decode": "^3.1.2",
"lib-flexible": "^0.3.2",
"moment": "^2.29.1",
......
/*
* @Author: your name
* @Date: 2021-12-24 19:41:34
* @LastEditTime: 2021-12-24 19:41:35
* @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: \指纹系统\founder_vue\src\api\fingerBase.js
*/
var relUrlIp = window.location.host.substring(
0,
window.location.host.length - 5
);
let base = {
BaseURL:'',
};
if (relUrlIp == "133.8.5.1"||
relUrlIp == "68.174.69.46" ||
relUrlIp == "68.175.7.118" ||
relUrlIp == "65.65.100.205" ||
relUrlIp == "68.175.7.150" ||
relUrlIp == "68.175.7.95" ||
relUrlIp == "68.174.25.98" ||
relUrlIp == "26.8.175.240" ||
relUrlIp == "133.8.5.67" ||
relUrlIp == "26.3.13.120") {
//------------------------------刑侦字典服务路径**公安网**--------------------------------
base.BaseURL="/apiZwxtGaw"
} else{
//------------------------------刑侦字典服务路径**阿里云**--------------------------------
// base.BaseURL="/apiZwxt"
base.BaseURL = 'http://localhost:8080'
}
export default base;
/* Logo 字体 */
@font-face {
font-family: "iconfont logo";
src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834');
src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'),
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'),
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'),
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg');
}
.logo {
font-family: "iconfont logo";
font-size: 160px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
/* tabs */
.nav-tabs {
position: relative;
}
.nav-tabs .nav-more {
position: absolute;
right: 0;
bottom: 0;
height: 42px;
line-height: 42px;
color: #666;
}
#tabs {
border-bottom: 1px solid #eee;
}
#tabs li {
cursor: pointer;
width: 100px;
height: 40px;
line-height: 40px;
text-align: center;
font-size: 16px;
border-bottom: 2px solid transparent;
position: relative;
z-index: 1;
margin-bottom: -1px;
color: #666;
}
#tabs .active {
border-bottom-color: #f00;
color: #222;
}
.tab-container .content {
display: none;
}
/* 页面布局 */
.main {
padding: 30px 100px;
width: 960px;
margin: 0 auto;
}
.main .logo {
color: #333;
text-align: left;
margin-bottom: 30px;
line-height: 1;
height: 110px;
margin-top: -50px;
overflow: hidden;
*zoom: 1;
}
.main .logo a {
font-size: 160px;
color: #333;
}
.helps {
margin-top: 40px;
}
.helps pre {
padding: 20px;
margin: 10px 0;
border: solid 1px #e7e1cd;
background-color: #fffdef;
overflow: auto;
}
.icon_lists {
width: 100% !important;
overflow: hidden;
*zoom: 1;
}
.icon_lists li {
width: 100px;
margin-bottom: 10px;
margin-right: 20px;
text-align: center;
list-style: none !important;
cursor: default;
}
.icon_lists li .code-name {
line-height: 1.2;
}
.icon_lists .icon {
display: block;
height: 100px;
line-height: 100px;
font-size: 42px;
margin: 10px auto;
color: #333;
-webkit-transition: font-size 0.25s linear, width 0.25s linear;
-moz-transition: font-size 0.25s linear, width 0.25s linear;
transition: font-size 0.25s linear, width 0.25s linear;
}
.icon_lists .icon:hover {
font-size: 100px;
}
.icon_lists .svg-icon {
/* 通过设置 font-size 来改变图标大小 */
width: 1em;
/* 图标和文字相邻时,垂直对齐 */
vertical-align: -0.15em;
/* 通过设置 color 来改变 SVG 的颜色/fill */
fill: currentColor;
/* path 和 stroke 溢出 viewBox 部分在 IE 下会显示
normalize.css 中也包含这行 */
overflow: hidden;
}
.icon_lists li .name,
.icon_lists li .code-name {
color: #666;
}
/* markdown 样式 */
.markdown {
color: #666;
font-size: 14px;
line-height: 1.8;
}
.highlight {
line-height: 1.5;
}
.markdown img {
vertical-align: middle;
max-width: 100%;
}
.markdown h1 {
color: #404040;
font-weight: 500;
line-height: 40px;
margin-bottom: 24px;
}
.markdown h2,
.markdown h3,
.markdown h4,
.markdown h5,
.markdown h6 {
color: #404040;
margin: 1.6em 0 0.6em 0;
font-weight: 500;
clear: both;
}
.markdown h1 {
font-size: 28px;
}
.markdown h2 {
font-size: 22px;
}
.markdown h3 {
font-size: 16px;
}
.markdown h4 {
font-size: 14px;
}
.markdown h5 {
font-size: 12px;
}
.markdown h6 {
font-size: 12px;
}
.markdown hr {
height: 1px;
border: 0;
background: #e9e9e9;
margin: 16px 0;
clear: both;
}
.markdown p {
margin: 1em 0;
}
.markdown>p,
.markdown>blockquote,
.markdown>.highlight,
.markdown>ol,
.markdown>ul {
width: 80%;
}
.markdown ul>li {
list-style: circle;
}
.markdown>ul li,
.markdown blockquote ul>li {
margin-left: 20px;
padding-left: 4px;
}
.markdown>ul li p,
.markdown>ol li p {
margin: 0.6em 0;
}
.markdown ol>li {
list-style: decimal;
}
.markdown>ol li,
.markdown blockquote ol>li {
margin-left: 20px;
padding-left: 4px;
}
.markdown code {
margin: 0 3px;
padding: 0 5px;
background: #eee;
border-radius: 3px;
}
.markdown strong,
.markdown b {
font-weight: 600;
}
.markdown>table {
border-collapse: collapse;
border-spacing: 0px;
empty-cells: show;
border: 1px solid #e9e9e9;
width: 95%;
margin-bottom: 24px;
}
.markdown>table th {
white-space: nowrap;
color: #333;
font-weight: 600;
}
.markdown>table th,
.markdown>table td {
border: 1px solid #e9e9e9;
padding: 8px 16px;
text-align: left;
}
.markdown>table th {
background: #F7F7F7;
}
.markdown blockquote {
font-size: 90%;
color: #999;
border-left: 4px solid #e9e9e9;
padding-left: 0.8em;
margin: 1em 0;
}
.markdown blockquote p {
margin: 0;
}
.markdown .anchor {
opacity: 0;
transition: opacity 0.3s ease;
margin-left: 8px;
}
.markdown .waiting {
color: #ccc;
}
.markdown h1:hover .anchor,
.markdown h2:hover .anchor,
.markdown h3:hover .anchor,
.markdown h4:hover .anchor,
.markdown h5:hover .anchor,
.markdown h6:hover .anchor {
opacity: 1;
display: inline-block;
}
.markdown>br,
.markdown>p>br {
clear: both;
}
.hljs {
display: block;
background: white;
padding: 0.5em;
color: #333333;
overflow-x: auto;
}
.hljs-comment,
.hljs-meta {
color: #969896;
}
.hljs-string,
.hljs-variable,
.hljs-template-variable,
.hljs-strong,
.hljs-emphasis,
.hljs-quote {
color: #df5000;
}
.hljs-keyword,
.hljs-selector-tag,
.hljs-type {
color: #a71d5d;
}
.hljs-literal,
.hljs-symbol,
.hljs-bullet,
.hljs-attribute {
color: #0086b3;
}
.hljs-section,
.hljs-name {
color: #63a35c;
}
.hljs-tag {
color: #333333;
}
.hljs-title,
.hljs-attr,
.hljs-selector-id,
.hljs-selector-class,
.hljs-selector-attr,
.hljs-selector-pseudo {
color: #795da3;
}
.hljs-addition {
color: #55a532;
background-color: #eaffea;
}
.hljs-deletion {
color: #bd2c00;
background-color: #ffecec;
}
.hljs-link {
text-decoration: underline;
}
/* 代码高亮 */
/* PrismJS 1.15.0
https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */
/**
* prism.js default theme for JavaScript, CSS and HTML
* Based on dabblet (http://dabblet.com)
* @author Lea Verou
*/
code[class*="language-"],
pre[class*="language-"] {
color: black;
background: none;
text-shadow: 0 1px white;
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
text-align: left;
white-space: pre;
word-spacing: normal;
word-break: normal;
word-wrap: normal;
line-height: 1.5;
-moz-tab-size: 4;
-o-tab-size: 4;
tab-size: 4;
-webkit-hyphens: none;
-moz-hyphens: none;
-ms-hyphens: none;
hyphens: none;
}
pre[class*="language-"]::-moz-selection,
pre[class*="language-"] ::-moz-selection,
code[class*="language-"]::-moz-selection,
code[class*="language-"] ::-moz-selection {
text-shadow: none;
background: #b3d4fc;
}
pre[class*="language-"]::selection,
pre[class*="language-"] ::selection,
code[class*="language-"]::selection,
code[class*="language-"] ::selection {
text-shadow: none;
background: #b3d4fc;
}
@media print {
code[class*="language-"],
pre[class*="language-"] {
text-shadow: none;
}
}
/* Code blocks */
pre[class*="language-"] {
padding: 1em;
margin: .5em 0;
overflow: auto;
}
:not(pre)>code[class*="language-"],
pre[class*="language-"] {
background: #f5f2f0;
}
/* Inline code */
:not(pre)>code[class*="language-"] {
padding: .1em;
border-radius: .3em;
white-space: normal;
}
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
color: slategray;
}
.token.punctuation {
color: #999;
}
.namespace {
opacity: .7;
}
.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol,
.token.deleted {
color: #905;
}
.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
color: #690;
}
.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
color: #9a6e3a;
background: hsla(0, 0%, 100%, .5);
}
.token.atrule,
.token.attr-value,
.token.keyword {
color: #07a;
}
.token.function,
.token.class-name {
color: #DD4A68;
}
.token.regex,
.token.important,
.token.variable {
color: #e90;
}
.token.important,
.token.bold {
font-weight: bold;
}
.token.italic {
font-style: italic;
}
.token.entity {
cursor: help;
}
@font-face {
font-family: "iconfont"; /* Project id 2614723 */
src: url('iconfont.woff2?t=1623997578522') format('woff2'),
url('iconfont.woff?t=1623997578522') format('woff'),
url('iconfont.ttf?t=1623997578522') format('truetype');
}
.iconfont {
font-family: "iconfont" !important;
font-size: 16px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-xiala:before {
content: "\e66d";
}
.icon-bofang:before {
content: "\e66e";
}
.icon-guanbi:before {
content: "\e66f";
}
.icon-xuanzhong:before {
content: "\e670";
}
.icon-xuanzeqi:before {
content: "\e671";
}
.icon-wenjianjia:before {
content: "\e672";
}
.icon-yulan:before {
content: "\e673";
}
.icon-zanting:before {
content: "\e674";
}
.icon-zhiwen:before {
content: "\e675";
}
.icon-shezhi:before {
content: "\e676";
}
.icon-zhiwencaijibiaoji:before {
content: "\e677";
}
{
"id": "2614723",
"name": "指纹",
"font_family": "iconfont",
"css_prefix_text": "icon-",
"description": "",
"glyphs": [
{
"icon_id": "22284741",
"name": "下拉",
"font_class": "xiala",
"unicode": "e66d",
"unicode_decimal": 58989
},
{
"icon_id": "22284742",
"name": "播放",
"font_class": "bofang",
"unicode": "e66e",
"unicode_decimal": 58990
},
{
"icon_id": "22284743",
"name": "关闭",
"font_class": "guanbi",
"unicode": "e66f",
"unicode_decimal": 58991
},
{
"icon_id": "22284744",
"name": "选中",
"font_class": "xuanzhong",
"unicode": "e670",
"unicode_decimal": 58992
},
{
"icon_id": "22284745",
"name": "选择器",
"font_class": "xuanzeqi",
"unicode": "e671",
"unicode_decimal": 58993
},
{
"icon_id": "22284746",
"name": "文件夹",
"font_class": "wenjianjia",
"unicode": "e672",
"unicode_decimal": 58994
},
{
"icon_id": "22284747",
"name": "预览",
"font_class": "yulan",
"unicode": "e673",
"unicode_decimal": 58995
},
{
"icon_id": "22284748",
"name": "暂停",
"font_class": "zanting",
"unicode": "e674",
"unicode_decimal": 58996
},
{
"icon_id": "22284749",
"name": "指纹",
"font_class": "zhiwen",
"unicode": "e675",
"unicode_decimal": 58997
},
{
"icon_id": "22284750",
"name": "设置",
"font_class": "shezhi",
"unicode": "e676",
"unicode_decimal": 58998
},
{
"icon_id": "22284751",
"name": "指纹采集标记",
"font_class": "zhiwencaijibiaoji",
"unicode": "e677",
"unicode_decimal": 58999
}
]
}
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 122 148" style="enable-background:new 0 0 122 148;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;stroke:#666666;stroke-width:6;stroke-linecap:round;stroke-miterlimit:10;}
</style>
<path class="st0" d="M35.3,138.2c0,0,8.1-18.7,8.1-35.6c0-15.1-5.9-34.7,3.4-43.6"/>
<path class="st0" d="M73,98.6c0.6-6.8,0-16.3-1.7-26.1c-2.7-15.4-21.9-11.2-19.7,3.8c6.5,46.6-7.1,65.4-7.1,65.4"/>
<path class="st0" d="M62,73.1c0,0,6,29.2-1.1,53.9"/>
<path class="st0" d="M72.8,109c0,10.4-3.9,24.2-6.8,34.2"/>
<path class="st0" d="M57.7,134.9c-0.5,2.8-1.3,5.5-2.3,8.1"/>
<path class="st0" d="M55.3,50.6c4.7-1.6,10.1-2.3,14.4,0.1c1.5,0.9,2.8,2.1,4,3.5c4.3,5.2,6.1,11.9,7.1,18.6
c2.1,13.4,1.5,27.2,0.5,40.7c-0.7,9.6-1.6,19.3-4,28.7"/>
<path class="st0" d="M87.7,61.1c6.1,26.4,4.3,61.6-0.8,75.1"/>
<path class="st0" d="M84.3,51.8c-0.3-2.3-8.3-14.1-21.5-14c-9.4,0.1-18.2,5.6-23.8,13.1s-8,17.1-8,26.4c0,9.6,2.5,19.3,0.8,28.8"/>
<path class="st0" d="M31.4,115c-0.1,1.8-0.7,3.6-1.2,5.3c-1.2,4-2.4,7.9-4.3,11.6"/>
<path class="st0" d="M69.4,27.5c-8.4-1.2-16.6,0.3-23,2.5S24,45,22.1,66.3c-1.1,11.9,1.6,24,1.7,28.5c0.2,14.2-3.2,23.3-6.7,28.9"/>
<path class="st0" d="M80.7,33.1c26.4,12.9,20.6,81.8,18.3,96.3"/>
<path class="st0" d="M33.5,25.3C25.9,30.9,20.2,39,16.8,47.9s-4.5,18.5-4.1,28c0.5,12.2,3.4,24.8-0.7,36.3"/>
<path class="st0" d="M42.2,19.7c0,0,11.3-7.3,29.7-3.3c35.6,7.7,37.9,59.5,38.4,67.3"/>
<path class="st0" d="M4.1,59.7c-0.6,8.2-1.1,16.4-0.4,24.5"/>
<path class="st0" d="M8.5,43.4c2.8-8.4,3.9-10.3,7-14.7C25.6,14.4,42.5,5,60.1,4"/>
<path class="st0" d="M72.5,4.6c9.7,4,19.8,8.2,26.8,16c3.4,3.8,5.9,8.2,8.3,12.7c1.2,2.3,2.3,4.5,3.3,6.9
c4.3,10.1,5.7,21.2,7.1,32.1"/>
<path class="st0" d="M110.6,93.2c0.1,8.8-0.3,17.7-1.2,26.5"/>
</svg>
......@@ -42,6 +42,8 @@ Vue.prototype.$moment = moment
import uploader from 'vue-simple-uploader'
Vue.use(uploader)
import md5 from "js-md5";
Vue.prototype.$md5 = md5
Vue.prototype.$driver = new Driver({
className: 'scoped-class', // className to wrap driver.js popover
......
/*
* @Author: your name
* @Date: 2021-09-07 09:58:13
* @LastEditTime: 2021-12-17 15:39:53
* @LastEditTime: 2021-12-24 19:52:12
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \founder_vue\src\router\modules\index.js
......@@ -224,5 +224,14 @@ export default [
auth: "5"
},
component: () => import("@/views/rgrd/rgTL.vue")
},
{
path: "/fingerprintIndex/:rybh/:username",
name: "fingerprint",
meta: {
title: "指纹采集",
auth: "5"
},
component: () => import("@/views/zzwcj/fingerprint.vue")
}
];
......@@ -19,6 +19,7 @@ export default [
},
{
path: '/zzwcj',
// redirect: "/fingerprintIndex/R4300000000002021125008/admin",
name: 'zzwcj',
hidden: false,
icon_d: '/img/zzwcj_d.png',
......
var getBase64=(url, callback) =>{
var Img = new Image(),
dataURL = '';
Img.src = url + '?v=' + Math.random();
Img.setAttribute('crossOrigin', 'Anonymous');
Img.onload = function() {
var canvas = document.createElement('canvas'),
width = Img.width,
height = Img.height;
canvas.width = width;
canvas.height = height;
canvas.getContext('2d').drawImage(Img, 0, 0, width, height);
dataURL = canvas.toDataURL('image/jpeg');
return callback ? callback(dataURL) : null;
};
};
export {
getBase64
}
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment