**RuoYi-Vue-Postgresql-Electron** #### Введение Если версия RuoYi — настольная, то она в основном интегрирует веб-тихую печать с PostgreSQL. #### Среда 1. Версия NodeJS должна быть 16.13.0 или выше. Если версия ниже, пожалуйста, используйте код из ветки electron4: https://gitee.com/suxia2/ruo-yi-vue-postgresql-electron/tree/electron4/. ### Модификации 1. **В этом проекте нужно выполнить только первые два SQL-файла:** 1. [postgresql.sql](https://gitee.com/suxia2/RuoYi-Vue-Postgresql/blob/master/sql/postgresql.sql). 2. [postgresql_view.sql](https://gitee.com/suxia2/RuoYi-Vue-Postgresql/blob/master/sql/postgresql_view.sql). 3. Файлы [quartz.sql](https://gitee.com/suxia2/RuoYi-Vue-Postgresql/blob/master/sql/quartz.sql) и [ry_20210908.sql](https://gitee.com/suxia2/RuoYi-Vue-Postgresql/blob/master/sql/ry_20210908.sql) выполнять не нужно, так как они содержат MySQL-синтаксис и используются для сравнения с официальным проектом. 2. **Если у вас возникли проблемы с этим проектом, пожалуйста, создайте вопрос в системе отслеживания ошибок.** ### Известные проблемы 1. После упаковки проекта нельзя ссылаться на «clipboard». Нужно закомментировать содержимое файла /src/directive/module/clipboard.js. #### Использование на фронте ```bash # Клонируем проект git clone https://gitee.com/suxia2/ruo-yi-vue-postgresql-electron # Переходим в каталог проекта cd ruoyi-ui # Устанавливаем зависимости npm install # Рекомендуется не использовать cnpm для установки зависимостей, так как это может вызвать различные странные ошибки. Можно решить проблему с медленной загрузкой npm с помощью следующей команды: npm install --registry=https://registry.npm.taobao.org # Запускаем сервер npm run electron:serve # Собираем пакет для Windows npm run electron:build # В файле vue.config.js настройте параметры, подробности см. в документации https://blog.csdn.net/honest1120110/article/details/116643392 pluginOptions: { electronBuilder: { // preload: 'src/preload.js', nodeIntegration: true, contextIsolation: false, enableRemoteModule: true, publish: [{ "provider": "xxxx有限公司", "url": "http://xxxxx/" }], "copyright": "Copyright © 2022", builderOptions:{ appId: 'com.ruoyi', productName: 'ruoyi', nsis:{ "oneClick": false, "allowElevation": true, "allowToChangeInstallationDirectory": true, }, win: { "icon": "build/app.ico", "target": [ { "target": "nsis", //使用nsis打成安装包,"portable"打包成免安装版 "arch": [ "ia32", //32位 "x64" //64位 ] } ] }, }, // preload: path.join(__dirname, "/dist_electron/preload.js"), }, }, ``` ### Этапы модификации завершены 1. Установите electron-builder: ```javascript Чтобы решить проблему со скоростью доступа к внешней сети: npm config set registry https://registry.npm.taobao.org/ npm config set ELECTRON_MIRROR http://npm.taobao.org/mirrors/electron/ vue add electron-builder ``` 2. Добавьте следующий код в файл vue.config.js: ``` pluginOptions: { electronBuilder: { nodeIntegration: true, contextIsolation: false, } } ``` 3. Измените и добавьте следующий код в класс запуска /src/background.js: ``` const win = new BrowserWindow({ width: 1200, height: 700, // fullscreen: true,//全屏 show: false, webPreferences: { // Use pluginOptions.nodeIntegration, leave this alone // See nklayman.github.io/vue-cli-plugin-electron-builder/guide/security.html#node-integration for more info contextIsolation:false, //上下文隔离 enableRemoteModule: true, //启用远程模块 nodeIntegration: true, //开启自带node环境 webviewTag: true, //开启webview webSecurity: false, allowDisplayingInsecureContent: true, allowRunningInsecureContent: true }, // frame: false,//客户端窗口顶部菜单去掉 }) win.maximize() win.show() ipcMain.on('getPrinterList', (event) => { //主线程获取打印机列表 const list = win.webContents.getPrinters(); //通过webContents发送事件到渲染线程,同时将打印机列表也传过去 win.webContents.send('getPrinterList', list); }); ``` 5. Расположение шаблона печати: ``` /static/print.html ``` ### Этот проект синхронизируется с обновлениями на официальном сайте ### Реализация на основе Postgresql 1. Автоматическое создание кода. 2. Преобразование синтаксиса MySQL в синтаксис Postgresql (соответствующий файл — postgresql.sql). ### Автоматическое создание кода 1. Выполните файл view.sql в папке sql. 2. Операция аналогична. <p align="center"> <img alt="logo" src="https://oscimg.oschina.net/oscnet/up-d3d0a9303e11d522a06cd263f3079027715.png"> </p> <h1 align="center" style="margin: 30px 0 30px; font-weight: bold;">RuoYi v3.8.5</h1> <h4 align="center">Java-фреймворк для быстрой разработки SpringBoot+Vue с разделением переднего и заднего плана</h4> <p align="center"> <a href="https://gitee.com/y_project/RuoYi-Vue/stargazers"><img src="https://gitee.com/y_project/RuoYi-Vue/badge/star.svg?theme=dark"></a> <a Нажмите кнопку, чтобы присоединиться к группе.