Files
doodle-mini/miniprogram/utils/saveImage.ts
T

56 lines
1.5 KiB
TypeScript

const doSaveImage = (canvas: Canvas) => {
wx.canvasToTempFilePath({
canvas: canvas,
fileType: 'png',
quality: 1,
success: (res) => {
wx.saveImageToPhotosAlbum({
filePath: res.tempFilePath,
success: () => wx.showToast({
title: '保存成功,请在相册中查看',
icon: 'success',
duration: 2000,
}),
// fail: () => wx.showToast({
// title: '保存涂色卡失败,请重试!',
// icon: 'none',
// duration: 2000,
// })
});
},
fail: (err: any) => {
wx.showToast({
title: '生成涂色卡失败,请重试!',
icon: 'none',
duration: 2000,
})
}
});
}
const requestPhotoPermission = (canvas: Canvas) => {
wx.authorize({
scope: 'scope.writePhotosAlbum',
success: () => doSaveImage(canvas),
fail: () => wx.showToast({
title: '请在“设置-添加到相册”中开启相册权限以保存涂色卡',
icon: 'none',
duration: 3000,
})
})
}
export const checkAndSaveImage = (canvas: Canvas) => {
wx.getSetting({
success: res => {
if (!res.authSetting['scope.writePhotosAlbum']) {
requestPhotoPermission(canvas)
} else {
doSaveImage(canvas)
}
}
})
};