From 6d2f9910457034b99e4218b877db56d4a54428df Mon Sep 17 00:00:00 2001 From: YWQ HK IX <568170040@qq.com> Date: Mon, 25 Sep 2023 22:07:03 +0800 Subject: [PATCH] upload --- src/api/camera.js | 16 +++++++--------- src/pages/camera/index.vue | 25 ++++++++++++++++++++++--- 2 files changed, 29 insertions(+), 12 deletions(-) diff --git a/src/api/camera.js b/src/api/camera.js index c6e5d41..73c1114 100644 --- a/src/api/camera.js +++ b/src/api/camera.js @@ -15,17 +15,15 @@ export function getImageQrcode(machineQrcodeId) { }) } -/** -* @description:生成画报 -* @param {appId,img} -* @return: data +/** +* @description:轮询-获取扫码上传照片 +* @param id +* @return: imgUrl */ -export function getUserQrcodeApi(data) { +export function findImage(id) { return request({ - url: `/api/miniApp/getUserQrcode`, - method: 'POST', - responseType: "arraybuffer", - data + url: `/api/screenImg/findImage?id=${id}`, + method: 'get' }) } diff --git a/src/pages/camera/index.vue b/src/pages/camera/index.vue index d060fcc..40353f2 100644 --- a/src/pages/camera/index.vue +++ b/src/pages/camera/index.vue @@ -67,7 +67,7 @@ - 打开微信扫码登录小程序 + 打开微信扫码上传照片 取 消 @@ -78,7 +78,7 @@ import { ref, onMounted } from "vue"; import { onLoad, onShow, onUnload } from "@dcloudio/uni-app"; -import { getImageQrcode } from "../../api/camera.js"; +import { getImageQrcode, findImage } from "../../api/camera.js"; let imgSrc = ref(""); let isSuccess = ref(false); @@ -88,6 +88,8 @@ let modelUrl = ref(""); let QRCodeUrl = ref(""); let showQrCode = ref(false); +let timer = ref(null); + const startCamera = () => { function getUserMedia(constraints, success, error) { if (navigator.mediaDevices.getUserMedia) { @@ -184,8 +186,10 @@ const takePicture = () => { console.log("Take Picture !"); }; +// 确认照片 const confirmPhoto = () => {}; +// 不满意,重新拍一张 const reTry = () => { isSuccess.value = false; isShowCanvas.value = true; @@ -202,6 +206,21 @@ const uploadImg = async () => { const res = await getImageQrcode(UserId); QRCodeUrl.value = res.data.wxQrcode; showQrCode.value = true; + + // 成功展示二维码之后,轮询获取上传照片状态 + timer.value = setInterval(() => { + refreshUploadStatus(UserId); + }, 1000); + console.log(res, "res"); + } catch (error) { + console.log(error, "error"); + } +}; + +// 刷新状态,直到返回用户上传的图片url +const refreshUploadStatus = async (id) => { + try { + const res = await findImage(id); console.log(res, "res"); } catch (error) { console.log(error, "error"); @@ -215,7 +234,7 @@ onLoad((options) => { onMounted(() => { console.log(this); - + clearInterval(timer.value); startCamera(); });