当前位置: 首页 > article >正文

【使用uniapp完成微信小程序的图片下载到本机】

使用uniapp完成微信小程序的图片下载到本机

      • 话不多说直接上代码吧

话不多说直接上代码吧

使用的vue3的语法糖进行完成的

因为我是请求的后端接口

<template>
	<view class="load">
		<view class="selectPart">
			<Select></Select>
		</view>
		<view class="PhotoPart">
			<image :src="image" mode=""></image>
		</view>
		<view class="btnPart">
			<button class="btnOne">
				<image src="../../static/images/mo.png" mode=""></image>
				<text>更像我</text>
			</button>
			<button class="btnTwo" @click="downloadPhoto">下载 ¥4.8</button>
		</view>
	</view>
</template>

<script setup>
	import { ref, watch, computed, onMounted } from 'vue'
	import { onLoad } from '@dcloudio/uni-app'
	import Select from '../components/select.vue'
	import { getCreatePhotoList } from '../../api/index.ts'

	// 图片ID
	const photoID = ref(null)
	
	// 图片
	const image = ref('')
	
	//获取上一个页面路由传递的参数
	onLoad((option) => {
		photoID.value = Number(option.photoID)
		getImageList()
	})

	// 获取生成的照片
	const getImageList = () => {
		const data = {
			id: photoID.value
		}
		getCreatePhotoList(data).then((res) => {
			image.value = res.data.items[0].file_path
		})
	}

	// 下载图片按钮
	const downloadPhoto = () => {
		uni.downloadFile({
			url: image.value,
			success(res) {
				if (res.statusCode === 200) {
					// 下载成功,保存到相册
					uni.saveImageToPhotosAlbum({
						filePath: res.tempFilePath,
						success() {
							uni.showToast({
								title: '保存成功',
								icon: 'success'
							});
						},
						fail() {
							uni.showToast({
								title: '保存失败',
								icon: 'none'
							});
						}
					});
				} else {
					uni.showToast({
						title: '下载失败',
						icon: 'none'
					});
				}
			},
			fail() {
				uni.showToast({
					title: '下载失败',
					icon: 'none'
				});
			}
		});
	};
</script>
//样式的话就不给大家啦,如果大家需要的话那就在评论区留言吧,随时恭候

http://www.kler.cn/a/160418.html

相关文章:

  • 数字孪生在智慧能源项目中的关键作用,你了解多少?
  • 豆瓣均分9:不容错过的9本大模型入门宝藏书籍,非常详细收藏我这一篇就够了
  • 相机光学(四十二)——sony的HDR技术
  • ArkTs简单入门案例:简单的图片切换应用界面
  • 数据库SQL——连接表达式(JOIN)图解
  • 图片画廊 day2 (可复制源码)
  • 安全众测-内网渗透常用的工具和命令
  • 基于Maven的Spring Boot应用版本号获取解析
  • 创建conan包-工具链
  • Auth的使用、缓存
  • 普中STM32 单片机资料
  • Vue+ElementUI技巧分享:结合Sortablejs实现表格行拖拽
  • 高防CDN技术的崛起与网络安全的演进
  • 多平台展示预约的服装小程序效果如何
  • 探索人工智能领域——每日20个名词详解【day10】
  • 初级数据结构(二)——链表
  • R语言学习
  • SHAP(五):使用 XGBoost 进行人口普查收入分类
  • 打包 抖音直播云游戏
  • 【Delphi】一个函数实现ios,android震动功能 Vibrate(包括3D Touch 中 Peek 震动等)
  • 图像处理中的角点检测Python-OpenCV 中的实现
  • mysql的组合查询
  • 【GAMES101】二维变换和齐次坐标
  • 华为配置风暴控制示例
  • 富时中国A50指数查询方法详解
  • Matlab 曲线动态绘制