diff --git a/pages/home/components/shareImg.vue b/pages/home/components/shareImg.vue index 17354d4..50ba6ec 100644 --- a/pages/home/components/shareImg.vue +++ b/pages/home/components/shareImg.vue @@ -14,10 +14,10 @@ :src="posterImage" alt="tp" class="poster-image" - show-menu-by-longpress + :show-menu-by-longpress="false" mode="widthFix" /> - 长按图片可以保存到手机 + 保存图片 @@ -28,15 +28,45 @@ import { getShareImg } from "@/api/product"; export default { name: "StorePoster", - data: function() { + data: function () { return { canvasStatus: false, posterImage: "", - posterImageStatus: false + posterImageStatus: false, }; }, - mounted: function() {}, + mounted: function () {}, methods: { + saveImg(url) { + uni.showLoading({ + mask:true, + }) + uni.downloadFile({ + url: url, // 文件的下载地址 + success(res) { + if (res.statusCode === 200) { + let tempFilePath = res.tempFilePath; // 临时文件路径 + uni.saveImageToPhotosAlbum({ + filePath: tempFilePath, + success:(success)=> { + uni.showToast({ + title: "保存成功", + icon: "none", + mask: true, + }); + }, + fail(err) { + uni.showToast({ + title: "保存失败,请重新尝试", + icon: "none", + mask: true, + }); + }, + }) + } + }, + }); + }, posterImageClose() { this.posterImageStatus = false; this.canvasStatus = false; @@ -44,9 +74,9 @@ export default { }, savePosterPath(id) { uni.showLoading({ title: "海报生成中", mask: true }); - + getShareImg(id) - .then(res => { + .then((res) => { this.canvasStatus = true; this.posterImage = res.data; this.posterImageStatus = true; @@ -54,12 +84,17 @@ export default { .finally(() => { uni.hideLoading(); }); - } - } + }, + }, };