Browse Source

upload

dev_YWQ
HolyKnightIX 1 year ago
parent
commit
721d09f0e2
3 changed files with 60 additions and 6 deletions
  1. +52
    -5
      src/pages/camera/index.vue
  2. +5
    -1
      src/pages/created/index.vue
  3. +3
    -0
      src/store/modules/userInfo.js

+ 52
- 5
src/pages/camera/index.vue View File

@@ -4,8 +4,9 @@
<div class="example">
<div>文案与模板提示区域</div>
</div>
<div class="model">
<div class="model" @click="goSelectModel">
<img :src="modelUrl" alt="" />
<div class="reSelect">点击重新选择模板</div>
</div>
</div>

@@ -209,23 +210,41 @@ const takePicture = () => {
console.log("Take Picture !");
};

const goSelectModel = () => {
uni.navigateTo({
url: `/pages/chooseStyle/index`,
});
};

// 确认照片
const confirmPhoto = () => {
// 用户上传的照片,已通过校验,直接放行
if (UimgSrc.value) {
uni.navigateTo({
url: `/pages/createing/index?imageUrl=${UimgSrc.value}&id=${modelId.value}`,
});
} else if (CimgSrc.value) {
delImage(CimgSrc.value);
// 本地存储中的拍照照片
const CimageUrl = uni.getStorageSync("CcurrentUrl");
// 用户上一次使用相机拍照的照片,从本地回显,已通过校验,直接放行
if (CimageUrl) {
uni.navigateTo({
url: `/pages/createing/index?imageUrl=${CimgSrc.value}&id=${modelId.value}`,
});
// 用户使用相机拍照的照片,未校验,走完校验流程放行
} else {
dealImage(CimgSrc.value);
}
}
};
const delImage = (imageUrl) => {

const dealImage = (imageUrl) => {
uni.showLoading({
title: "上传中,马上就好",
});

let blob = dataURLtoBlob(imageUrl);
// 将二进制数据转换为 Blob 对象
let blob = dataURLtoBlob(imageUrl);
checkImageByBaidu(blob);
};

@@ -332,6 +351,7 @@ const uoloadImageAws = async (file, data) => {
duration: 1500,
});
setTimeout(() => {
uni.setStorageSync("CcurrentUrl", data.data.url);
uni.navigateTo({
url: `/pages/createing/index?imageUrl=${data.data.url}&id=${modelId.value}`,
});
@@ -396,6 +416,7 @@ const refreshUploadStatus = async (id) => {
isShowCanvas.value = false;
isSuccess.value = true;
isUpload.value = true;
uni.setStorageSync("UcurrentUrl", UimgSrc.value);
}
} catch (error) {
console.log(error, "error");
@@ -415,9 +436,27 @@ onLoad((options) => {
});

onMounted(() => {
console.log(this);
clearInterval(timer.value);
startCamera();
const CimageUrl = uni.getStorageSync("CcurrentUrl");
const UimageUrl = uni.getStorageSync("UcurrentUrl");
if (CimageUrl || UimageUrl) {
setTimeout(() => {
showQrCode.value = false;
if (CimageUrl) {
UimgSrc.value = "";
CimgSrc.value = CimageUrl;
isUpload.value = false;
} else if (UimageUrl) {
UimgSrc.value = UimageUrl;
CimgSrc.value = "";
isUpload.value = true;
}

isShowCanvas.value = false;
isSuccess.value = true;
}, 1000);
}
});

//#region 页面初始化和卸载
@@ -472,6 +511,14 @@ onUnload(() => {
width: 100%;
height: 100%;
}
.reSelect {
position: absolute;
width: 250rpx;
left: 50%;
bottom: 10rpx;
text-align: center;
transform: translateX(-50%);
}
}
}
.bottom {


+ 5
- 1
src/pages/created/index.vue View File

@@ -25,7 +25,9 @@
<image class="logo" src="../../assets/img/logo-4.png" mode="aspectFit" />
</view>
<view v-if="createState == 2" class="checkMore">左右滑动查看更多</view>
<view v-if="createState != 2" class="wait">生成中,请稍后...</view>
<view v-if="createState != 2" class="wait"
>生成中,可能需要10-30秒,请您稍等</view
>
<!-- <view
@click="subscribe"
v-if="createState != 2"
@@ -223,11 +225,13 @@ onMounted(() => {
// 重新设定120秒后触发的定时器
resetTimer.value = setTimeout(() => {
userInfoModulesPinia.clearStorage();

uni.redirectTo({ url: "/pages/login/index" });
}, 180000);
});
resetTimer.value = setTimeout(() => {
userInfoModulesPinia.clearStorage();

uni.redirectTo({ url: "/pages/login/index" });
}, 180000);
});


+ 3
- 0
src/store/modules/userInfo.js View File

@@ -32,6 +32,7 @@ export const userInfoModules = defineStore("userInfoStore", () => {
* @example
*/
function clearStorage() {
console.log('clearStorage!')
token.value = null
phone.value = null
createTimes.value = null
@@ -39,6 +40,8 @@ export const userInfoModules = defineStore("userInfoStore", () => {
uni.setStorageSync("createTimes", 0);
uni.setStorageSync("phone", null);
uni.setStorageSync("UserId", null);
uni.clearStorageSync("CcurrentUrl")
uni.clearStorageSync("UcurrentUrl")
}
return { token, phone, createTimes, clearStorage };
},


Loading…
Cancel
Save