手机型号:小米10s Xiaomi-M2102J2SC M2102J2SCarm64-v8a
pre_show: function (src, name, callback = false) {
// console.log(src);
// console.log(name);
// console.log(callback);
if (!(src && name)) {
return false;
}
wx.showLoading({
title: "下载中...",
mask: true,
});
var fs = wx.getFileSystemManager();
var df = wx.downloadFile({
url: src,
// filePath: `${wx.env.USER_DATA_PATH}/${name}`,
success: function (params) {
// console.log(params);
if (params.statusCode === 200) {
// 重新改写文件后缀
fs.saveFile({
tempFilePath: params.tempFilePath,
// wx.env.USER_DATA_PATH 是微信提供了一个用户文件目录给开发者,开发者对这个目录有完全自由的读写权限
filePath: `${wx.env.USER_DATA_PATH}/${name}`,
success: function (params2) {
// console.log(params2);
// console.log(params2.savedFilePath) // params2.savedFilePath 为一个本地缓存文件路径
var src_arr = src.split(".");
var ext = src_arr[src_arr.length - 1].toLowerCase();
// console.log(ext);
if (callback != false) {
callback();
}
if (["gif", "jpg", "jpeg", "png", "bmp"].indexOf(ext) !== -1) {
if (callback != false) {
// 保存图片
wx.saveImageToPhotosAlbum({
filePath: params2.savedFilePath,
complete: function (params4) {
// console.log(params4);
wx.hideLoading();
df.offProgressUpdate();
},
success: function (params4) {
wx.showToast({
title: "图片已保存",
mask: true,
});
},
fail: function (params4) {
wx.showToast({
title: "图片保存失败",
mask: true,
icon: "none",
});
},
});
} else {
wx.previewImage({
urls: [src],
complete: function (params4) {
// console.log(params4);
wx.hideLoading();
df.offProgressUpdate();
},
})
}
} else {
wx.openDocument({
filePath: params2.savedFilePath,
showMenu: true,
complete: function (params4) {
// console.log(params4);
wx.hideLoading();
df.offProgressUpdate();
},
success: function (params4) {
wx.showToast({
title: "文件已打开",
mask: true,
});
},
fail: function (params4) {
wx.showToast({
title: "文件打开失败",
mask: true,
icon: "none",
});
},
})
}
},
});
}
},
});
df.onProgressUpdate(function (params) {
// console.log(params);
// wx.showLoading({
// title: "下载中..." + params.progress + "%",
// // title: JSON.stringify(params),
// mask: true,
// });
wx.showToast({
title: JSON.stringify(params),
mask: true,
icon: "none",
});
});
},
请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。