exportIpc.cjs 655 B

12345678910111213141516171819202122232425
  1. const { ipcMain } = require('electron');
  2. function registerExportIpc({ exportService }) {
  3. ipcMain.handle('export:word', async (event, payload = {}) => {
  4. const requestId = payload.requestId || payload.request_id;
  5. const sendProgress = (progress) => {
  6. event.sender.send('export:word-progress', { requestId, ...progress });
  7. };
  8. try {
  9. return await exportService.exportWord(payload, sendProgress);
  10. } catch (error) {
  11. sendProgress({
  12. phase: 'error',
  13. progress: 100,
  14. message: error.message || '导出 Word 失败',
  15. });
  16. throw error;
  17. }
  18. });
  19. }
  20. module.exports = {
  21. registerExportIpc,
  22. };