uniapp 监听生成图片 通过进度条显示

<template>
	<view>
		<view style="overflow: hidden;margin-top: 30rpx;padding: 30rpx;">
			<image src="../../static/leftReturn.jpg" @click="goBack" style="width: 100rpx;height: 70rpx;float: left;"
				mode="widthFix" />
			<image src="../../static/file.jpg" style="width: 100rpx;height: 70rpx;float: right;" mode="widthFix" />
		</view>

		<view style="width: 95%;margin: 20rpx;">
			<image :src="imageUrl+formImage.localThumbImagePath" style="width: 100%;height: 800rpx;border-radius: 20rpx;" />
			<u-line-progress active-color="#2979ff" :percent="progress"></u-line-progress>
		</view>
	</view>
</template>

<script>
	import {
		taskIdService
	} from '@/service/chuanzuoService.js'
	export default {
		onLoad() {
			this.imageUrl = this.$envUrl
			this.textPainting()
		},
		data() {
			return {
				formImage: {},
				imageUrl: '',
				progress: 0
			}
		},
		methods: {
			goBack() {
				uni.reLaunch({
					url: '/pages/chuangzuo/chuangzuo'
				})
			},
			async textPainting() {
				let FormData = {
					taskId: uni.getStorageSync("taskId")
				}
				let that = this
				console.log(FormData)
				const res = await taskIdService(`/painting/query?taskId=${FormData.taskId}`, "GET")
				let one = setInterval(() => {
					that.progress += 2
					if (that.progress > 98) {
						that.progress = 99
						clearInterval(one)
					}
				}, 300)
				if (res.localImagePath == null) {
					let time = setInterval(async () => {
						// console.log(res, 'res')
						const qql = await taskIdService(`/painting/query?taskId=${FormData.taskId}`, "GET")
						// console.log(qql, 'qqlqql')
						if (qql.localImagePath != null) {
							// console.log(qql, 'qql')
							that.formImage = qql
							setTimeout(() => {
								that.progress = 100
							}, 1000)
							clearInterval(time)
						}
					}, 300)
				} else {
					that.formImage = res
				}
			},
		}
	}
</script>

<style lang="scss">
	page {
		background-color: #161415;
	}
</style>

通过setInterval和setTimeout进行延时 加载

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值