utils.ts 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import path from "node:path";
  2. //引入node原生fs模块
  3. import fs from "fs";
  4. export const url = process.env.VITE_DEV_SERVER_URL;
  5. export const isDev = process.env.NODE_ENV === "development";
  6. export const DIST_ELECTRON = path.join(__dirname, "../");
  7. export const DIST = path.join(DIST_ELECTRON, "../dist-electron"); // dist
  8. export const preload = path.join(__dirname, "../preload/index.js"); // preload
  9. export const PUBLIC = url
  10. ? path.join(DIST_ELECTRON, "../public")
  11. : process.env.DIST;
  12. export const ICON = url
  13. ? path.join(PUBLIC!, "./logo.ico")
  14. : path.join(DIST, "./logo.ico");
  15. /* 需要读写的文件地址 */
  16. const file_path = path.join(DIST, "./app.json");
  17. import log from "electron-log/main";
  18. // 读取配置文件
  19. export function readIniFile() {
  20. return new Promise((resolve, reject) => {
  21. fs.readFile(file_path, "utf8", function (err, data) {
  22. log.info("读取状态==>", err, data);
  23. if (err) return reject(err.message); //读取失败
  24. resolve(JSON.parse(data.toString()));
  25. });
  26. });
  27. }
  28. // 更改配置文件
  29. export function writeIniFile(config) {
  30. return new Promise((resolve, reject) => {
  31. fs.writeFile(file_path, JSON.stringify(config), function (err) {
  32. log.info("写入状态==>", err, config);
  33. fs.fsyncSync(fs.openSync(file_path, "r+"));
  34. if (err) return reject(err.message); //写入失败
  35. resolve("写入成功");
  36. });
  37. });
  38. }