Я хочу добавить сообщение об ошибке, если папки не перемещаются. Чтобы объяснить ошибку исходного и целевого пути. Также можно включить веб-ссылку для инструкций? - PullRequest
0 голосов
/ 07 мая 2020
• 1000 поставить будильник, но это ничего не объясняет. Также мне нужна веб-ссылка в сообщении для инструкций (что нужно сделать, чтобы исправить вручную), если это возможно?
  newcPath = path.join(app.getPath('home'), '/Appdata/Local/Active/newbase')
  newcPathExists = fs.existsSync(newcPath)
  if (!newcPathExists) {
     currentcPath = path.join(app.getPath('userData'), './extor/base')
      currentcPathExists = fs.existsSync(currentcPath)
      if (currentcPathExists) {
          try {
              fs.renameSync(currentcPath, newcPath)
          } catch (err) {
              alert('Cant move folders')

         }
     }
 }

Ответы [ 2 ]

0 голосов
/ 08 мая 2020
  newcPath = path.join(app.getPath('home'), '/Appdata/Local/Active/newbase')
  newcPathExists = fs.existsSync(newcPath)

  if (!newcPathExists) {
     currentcPath = path.join(app.getPath('userData'), './extor/base')
      currentcPathExists = fs.existsSync(currentcPath)
      if (currentcPathExists) {
          try {
              fs.renameSync(currentcPath, newcPath)
          } catch (err) {
            dialog.showMessageBox(BrowserWindow.getFocusedWindow(), {
              type: "error",
              message: "Cannot File Move " + err.message? err.message | err,
            });
         }
     }
  }

Как вы знаете, мы не можем использовать оповещение в основном процессе, поскольку это API браузера, а не API узла. Это доступно только при рендеринге.

Если вы хотите показать что-то пользователям, вы можете использовать это dialog.showMessageBox

0 голосов
/ 08 мая 2020

Я не специалист по электронам, но похоже, что вам может понадобиться использовать диалог

const { dialog } = require('electron')

const showDialog = () => {
  dialog.showMessageBox({ ...options })
}

Вы можете поместить что-то вроде этого ^ в свой catch блок

...