// 封装一个方法 在utils中 名为 downloadSaveFile.js // 使用时 引入(按照自己的路劲写) import { downloadFiles} from '../../utils/downloadSaveFile' function downloadFiles(type, urls) { checkAuth(() => { wx.showLoading({ title: '正在下载', mask: true }) for (let i = 0; i < urls.length; i++) { downloadSaveFile( urls[i], ); } }) } //下载文件 function downloadSaveFile(url, successc) { let isimg = 'bmp,jpg,png,tif,gif,pcx,tga,exif,fpx,svg,psd,cdr,pcd,dxf,ufo,eps,ai,raw,wmf, jpeg'.includes(url.split('.').slice(-1)) if (isimg) { // 如果是图片类型 wx.downloadFile({ url: url, success: res => { if (res.statusCode === 200) { wx.saveImageToPhotosAlbum({ filePath: res.tempFilePath, success: res => { wx.showToast({ title: '保存成功', icon: "none" }) }, fail: res => { wx.showToast({ title: '保存失败', icon: "none" }) } }) } } }) } else { // 如果是视频类型 wx.downloadFile({ url: url, success: res => { if (res.statusCode === 200) { wx.saveVideoToPhotosAlbum({ filePath: res.tempFilePath, success: res => { // successc && successc(); wx.showToast({ title: '保存成功', icon: "none" }) }, fail: res => { wx.showToast({ title: '保存失败', icon: "none" }) } }) } } }) } } //检查权限 function checkAuth(gotc) { //查询权限 wx.showLoading({ title: '检查授权情况', mask: true }) wx.getSetting({ success(res) { wx.hideLoading(); if (!res.authSetting['scope.writePhotosAlbum']) { //请求授权 wx.authorize({ scope: 'scope.writePhotosAlbum', success() { //获得授权,开始下载 gotc && gotc(); }, fail() { wx.showModal({ title: '', content: '保存到系统相册需要授权', confirmText: '授权', success(res) { if (res.confirm) { wx.openSetting({ success(res) { if (res.authSetting['scope.writePhotosAlbum'] === true) { gotc && gotc(); } } }) } }, fail() { wx.showToast({ title: '打开设置页失败', icon: 'none', }) } }) } }) } else { //已有授权 gotc && gotc(); } }, fail() { wx.hideLoading(); wx.showToast({ title: '获取授权失败', icon: 'none', }) } }) } module.exports = { downloadFiles, checkAuth, downloadSaveFile };