提交 516be8ef authored 作者: 龙菲's avatar 龙菲

完善以图搜图前端界面和上传逻辑

上级 69d9e5b7
...@@ -187,6 +187,13 @@ const routes = [ ...@@ -187,6 +187,13 @@ const routes = [
name: "3d", name: "3d",
component: () => component: () =>
import("@/views/3d/index.vue"), import("@/views/3d/index.vue"),
},
// 3d展示页面,仅供测试用
{
path: "/caj",
name: "caj",
component: () =>
import("@/views/caj/index.vue"),
}, },
// 404 // 404
{ {
......
差异被折叠。
// const baseUrl = process.env.VUE_APP_BASE_HOST
const baseUrl = ''
const folder = '/SoftWare'
const urls = {
TXUOS_INTER:
"/TXUOS/inter/net.cnki.cajviewer_1.1.1-3_amd64.deb",
TXUOS_FT: "/TXUOS/FT/net.cnki.cajviewer_1.1.1-3_arm64.deb",
TXUOS_LX3A4000:
"/TXUOS/LX3A4000/net.cnki.cajviewer_1.1.1-3_mips64.deb",
TXUOS_LX3A5000:
"/TXUOS/LX3A5000/net.cnki.cajviewer_1.1.0-2_loongarch64.deb",
TXUOS_KMSRMJCY:
"/TXUOS/KMSRMJCY/signed_net.cnki.cajviewer_1.2.0-1_mips64.deb.deb",
YHQL_INTER: "/YHQL/inter/cajviewer_1.1.1-3_amd64.deb",
YHQL_FT: "/YHQL/FT/cajviewer_1.1.1-3_arm64.deb",
YHQL_LX3A4000: "/YHQL/LX3A4000/cajviewer_1.1.1-3_mips64.deb",
YHQL_LX3A5000:
"/YHQL/LX3A5000/cajviewer_1.1.0-2_loongarch64.deb",
ZKFD_SERVER: "/ZKFD/Server/cajviewer-1.1.1-3.nfs4.x86_64.rpm",
ZKFD_CLIENT: "/ZKFD/Client/cajviewer_1.1.1-3_amd64.deb",
WINDOWS_64: "/Windows/64/CAJViewer 8.1_x64-setup.exe",
WINDOWS_32: "/Windows/32/CAJViewer8.0.1.1-setup.exe",
JDBF: "/JDBF/CAJViewer-x86_64-1.1.1.AppImage",
}
const fullUrl = addBaseUrl(urls)
// 增加baseUrl
function addBaseUrl() {
const newUrls = {}
for (const key in urls) {
newUrls[key] = baseUrl + folder + urls[key]
}
return newUrls
}
export default fullUrl
\ No newline at end of file
...@@ -61,7 +61,7 @@ export default { ...@@ -61,7 +61,7 @@ export default {
// } // }
}, },
handleClickImg(e){ handleClickImg(e){
console.log(e); console.log(e);
} }
}, },
}; };
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
<div class="right-pic"></div> <div class="right-pic"></div>
</div> </div>
<div class="upload-wrapper"> <div class="upload-wrapper">
<div class="upload-bar"> <div class="upload-bar" @click="handleClickUpload" v-loading="loading">
<div class="left-area"> <div class="left-area">
<div class="text">点击这里 上传图片</div> <div class="text">点击这里 上传图片</div>
<div class="camera"> <div class="camera">
...@@ -22,53 +22,25 @@ ...@@ -22,53 +22,25 @@
</div> </div>
<div class="right-button">以图搜图</div> <div class="right-button">以图搜图</div>
</div> </div>
<!-- <div class="upload-panel"> <el-upload
<el-upload v-show="false"
ref="upload" ref="uploader"
class="upload-area" class="upload-area"
name="zipFile" accept=".jpg,.png"
accept=".jpg,.png" action
action :before-upload="handleBeforeUpload"
:before-upload="handleBeforeUpload" :show-file-list="false"
:show-file-list="false" :on-success="handleSuccess"
:on-success="handleSuccess" >
:on-progress="handleProgress" <el-button ref="uploadButton" class="upload-button">上传</el-button>
:file-list="fileList" </el-upload>
drag
>
<div v-if="showProgress">
<el-progress
id="progress"
type="circle"
:percentage="percent"
:stroke-width="8"
:width="100"
:show-text="true"
></el-progress>
</div>
<div class="img-wrapper" v-else>
<div class="icon">
<svg-icon icon-class="img"></svg-icon>
</div>
<div class="text">
<em>拖拽图片</em> 到这里或 <em>点击这里</em> 上传图片
</div>
<div class="camera">
<svg-icon icon-class="camera"></svg-icon>
</div>
</div>
</el-upload>
</div> -->
</div> </div>
<div class="current-pic" v-if="showResult"> <div class="current-pic">
<div class="img-container"> <div class="img-container" v-if="currentImg">
<div class="close"> <div class="close" @click="handleCloseImg">
<i class="el-icon-close"></i> <i class="el-icon-close"></i>
</div> </div>
<img <img :src="currentImg" alt="" />
src="http://localhost:8081/files/culturalRelicImport/2022-12-20-ba663e0ebd1445298631d77df692d414/%E8%B4%B5%E5%B7%9E%E7%9C%81%E5%8D%9A%E7%89%A9%E9%A6%86-%E6%96%87%E7%89%A92/faceImage/53%E8%BF%9B%E8%B4%A1%E4%BA%BA%E7%9F%B3%E5%88%BB/low/53.%E8%BF%9B%E8%B4%A1%E4%BA%BA%E7%9F%B3%E5%88%BB.png"
alt=""
/>
</div> </div>
</div> </div>
<ImgList v-if="showResult" /> <ImgList v-if="showResult" />
...@@ -83,19 +55,14 @@ export default { ...@@ -83,19 +55,14 @@ export default {
}, },
data() { data() {
return { return {
// progressText: "", //进度文字 showResult: false, //是否展示图片结果
progressPercent: 0, //进度百分比 currentImg: "", //当前搜索的图片
showProgress: false, //是否展示进度条 loading: false, //是否正在上传
fileList: [], //双向绑定的文件,上传完之后会被清空
showFileList: [], //展示的文件列表,上传之后不会被清空
showResult: true, //是否展示图片结果
}; };
}, },
mounted() {},
methods: { methods: {
// 上传前钩子,处理文件类型 // 上传前钩子,处理文件类型
async handleBeforeUpload(file) { async handleBeforeUpload(file) {
// debugger;
let reg = /(?<=\.)[a-z]+$/g; let reg = /(?<=\.)[a-z]+$/g;
let fileType = file.name.match(reg) + ""; let fileType = file.name.match(reg) + "";
let typeArr = ["png", "jpg", "jpeg"]; let typeArr = ["png", "jpg", "jpeg"];
...@@ -103,34 +70,35 @@ export default { ...@@ -103,34 +70,35 @@ export default {
this.$message.warning("上传文件格式错误!"); this.$message.warning("上传文件格式错误!");
return; return;
} }
// mock上传过程
this.loading = true;
let formData = new FormData(); let formData = new FormData();
formData.append("file", file); formData.append("file", file);
this.showProgress = true; this.$message.warning("上传名称:" + file.name);
// TODO:上传接口调用 // // TODO:上传接口调用
setTimeout(() => { setTimeout(() => {
this.showProgress = false; this.currentImg =
this.progressPercent = 0; "http://localhost:8081/files/culturalRelicImport/2022-12-20-ba663e0ebd1445298631d77df692d414/%E8%B4%B5%E5%B7%9E%E7%9C%81%E5%8D%9A%E7%89%A9%E9%A6%86-%E6%96%87%E7%89%A92/faceImage/53%E8%BF%9B%E8%B4%A1%E4%BA%BA%E7%9F%B3%E5%88%BB/low/53.%E8%BF%9B%E8%B4%A1%E4%BA%BA%E7%9F%B3%E5%88%BB.png";
}, 1000); this.$message.success("已查询出10条件结果");
}, this.showResult = true;
// 文件上传进度钩子,展示文件进度 this.loading = false;
handleProgress(event) { }, 3000);
console.log(event);
this.showProgress = true;
this.progressPercent = parseInt(event.percent);
}, },
// 上传成功之后的钩子 // 上传成功之后的钩子
handleSuccess(res) { handleSuccess(res) {
console.log(res); this.loading = false;
if (res.code == 200) {
this.progressPercent = 100;
} else {
console.log("上传失败");
}
this.showProgress = false;
}, },
// 关闭已上传的图片 // 关闭已上传的图片
handleCloseImg() { handleCloseImg() {
console.log("关闭"); this.currentImg = "";
},
// 点击上传
handleClickUpload() {
if (this.loading) {
this.$message.warning('当前有图片正在上传,请稍等~')
return
}
this.$refs.uploader.$el.querySelector(".upload-button").click();
}, },
}, },
}; };
...@@ -225,6 +193,7 @@ $transition-ease-03s: all ease 0.3s; ...@@ -225,6 +193,7 @@ $transition-ease-03s: all ease 0.3s;
justify-content: space-between; justify-content: space-between;
padding-right: 16px; padding-right: 16px;
width: 80%; width: 80%;
color: #ccc;
i { i {
font-size: 30px; font-size: 30px;
color: $deep-blue; color: $deep-blue;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论