const processData = (data) => {
data.forEach(item => {
item.url = item.url.map(url => getStorageImage(url));
});
return data;
}
export default {
processData,
}
错误信息:
TypeError: (0 , _functions.processData) is not a function
at attack.js? [sm]:84
(env: macOS,mp,1.06.2412050; lib: 3.2.1)
我要崩溃了,哪里都找不到问题,怎么改都没用
下面这段就可以用没报错啊
const getOrigionalmage = (local_image) => {
let webImages = wx.getStorageSync('webImages') || []
let webImage = webImages.find(y => y.local_path === local_image)
return webImage.web_path
}
export default {
getOrigionalmage,
}
找到了问题的原因了
因为微信开发工具有一个小的感叹号,以为是代码有问题就点击那个按钮选择了第一个选项【转换为ES6模块】 然后它自动改变了代码我没注意:
原代码
module.exports = { processData, }
变成了
export default { processData, }
改回去就不出现错误了
getStorageImage 这个函数引入了吗
const fileSystem = wx.getFileSystemManager()
const getStorageImage = (web_image) => {
let webImages = wx.getStorageSync('webImages') || []
let webImage = webImages.find(y => y.web_path === web_image)
if (webImage) {
try {
fileSystem.accessSync(webImage.local_path)
return webImage.local_path
} catch(e) {
let webImageIdx = webImages.findIndex(y => y.web_path === web_image)
webImages.splice(webImageIdx, 1)
wx.setStorageSync('webImages', webImages)
}
} else {
wx.downloadFile({
url: web_image,
success (res) {
if (res.statusCode === 200) {
let filePath = res.tempFilePath
let webImageStorage = wx.getStorageSync('webImages') || []
let storage = {
web_path: web_image,
local_path: filePath,
last_time: Date.parse(new Date()),
}
webImageStorage.push(storage)
wx.setStorageSync('webImages', webImageStorage)
}
if (data[a][s][uid].ini.includes(string)) {
}
})
}
return web_image
}
const getOrigionalmage = (local_image) => {
let webImages = wx.getStorageSync('webImages') || []
let webImage = webImages.find(y => y.local_path === local_image)
return webImage.web_path
}
export default {
getStorageImage,
getOrigionalmage,
monFilter,
processData,
}