微信小程序 FileSystemManager.rmdir 安卓兼容性问题

经测试,微信小程序的 FileSystemManager.rmdir 递归删除在安卓部分机型上有兼容性问题,会既不触发 success 回调,也不触发 fail 回调。在苹果机型上没有出现此问题。

可以使用 readdir 和 unlink 方法,先获取文件列表,再对文件逐个进行删除,来实现删除文件夹内文件的目的。

参考代码:

const fs = wx.getFileSystemManager()
const dirPath = `${wx.env.USER_DATA_PATH}/example`
fs.readdir({
  dirPath,
  success(list) {
    list.files.forEach((fName) => {
      const fPath = `${dirPath}/${fName}`;
      try {
        fs.unlinkSync(fPath);
      } catch (e) {
        console.error(e);
      }
    });
  },
  fail(e) {
    console.error(e);
  }
})