优化bug
This commit is contained in:
+90
-5
@@ -779,7 +779,8 @@
|
||||
|
||||
const remote = require('@electron/remote')
|
||||
var path = require('path');
|
||||
const exePath = !remote.app.isPackaged ? process.cwd() : path.dirname(process.execPath)
|
||||
// 使用用户数据目录,避免写入需要管理员权限
|
||||
const exePath = remote.app.getPath('userData')
|
||||
const { ipcRenderer } = require('electron')
|
||||
const { dialog } = require('@electron/remote')
|
||||
var jrQrcode = require('jr-qrcode');
|
||||
@@ -2234,6 +2235,24 @@
|
||||
});
|
||||
}
|
||||
*/
|
||||
op.frontData.push({
|
||||
"type" : 2,
|
||||
"Text" : item.get("text"),
|
||||
"FontFamily" : item.get("fontFamily"),
|
||||
"FontSize" : parseInt(item.get("fontSize")),
|
||||
"FontColor" : "#000000",
|
||||
"FontBackgroudColor" : item.get("textBackgroundColor"),
|
||||
"Bold" : item.get("fontWeight") == "bold",
|
||||
"Underline" : item.get("underline"),
|
||||
"Italic" : item.get("fontStyle") == "italic",
|
||||
"Strikeout" : item.get("linethrough"),
|
||||
"x" : parseInt((item.get("left") - background_image1.left).toFixed(0)),
|
||||
"y" : parseInt((item.get("top") - background_image1.top).toFixed(0)),
|
||||
"h" : parseInt((item.get("scaleY") * item.get("height")).toFixed(0)),
|
||||
"w" : parseInt((item.get("scaleX") * item.get("width")).toFixed(0)),
|
||||
"rotate" : parseInt(item.get("angle").toFixed(0)),
|
||||
"circleCenter" : objs1[idx - 1].circleCenter
|
||||
});
|
||||
} else if (type == 4) {
|
||||
//out_text
|
||||
let xy = getAbsoluteXY(item);
|
||||
@@ -2375,6 +2394,24 @@
|
||||
});
|
||||
}
|
||||
*/
|
||||
op.frontData.push({
|
||||
"type" : 2,
|
||||
"Text" : item.get("text"),
|
||||
"FontFamily" : item.get("fontFamily"),
|
||||
"FontSize" : parseInt(item.get("fontSize")),
|
||||
"FontColor" : "#000000",
|
||||
"FontBackgroudColor" : item.get("textBackgroundColor"),
|
||||
"Bold" : item.get("fontWeight") == "bold",
|
||||
"Underline" : item.get("underline"),
|
||||
"Italic" : item.get("fontStyle") == "italic",
|
||||
"Strikeout" : item.get("linethrough"),
|
||||
"x" : parseInt((item.get("left") - background_image1.left).toFixed(0)),
|
||||
"y" : parseInt((item.get("top") - background_image1.top).toFixed(0)),
|
||||
"h" : parseInt((item.get("scaleY") * item.get("height")).toFixed(0)),
|
||||
"w" : parseInt((item.get("scaleX") * item.get("width")).toFixed(0)),
|
||||
"rotate" : parseInt(item.get("angle").toFixed(0)),
|
||||
"circleCenter" : objs2[idx - 1].circleCenter
|
||||
});
|
||||
} else if (type == 4) {
|
||||
let xy = getAbsoluteXY(item);
|
||||
op.backData.push({
|
||||
@@ -2834,6 +2871,24 @@
|
||||
});
|
||||
}
|
||||
*/
|
||||
op.frontData.push({
|
||||
"type" : 2,
|
||||
"Text" : item.get("text"),
|
||||
"FontFamily" : item.get("fontFamily"),
|
||||
"FontSize" : parseInt(item.get("fontSize")),
|
||||
"FontColor" : "#000000",
|
||||
"FontBackgroudColor" : item.get("textBackgroundColor"),
|
||||
"Bold" : item.get("fontWeight") == "bold",
|
||||
"Underline" : item.get("underline"),
|
||||
"Italic" : item.get("fontStyle") == "italic",
|
||||
"Strikeout" : item.get("linethrough"),
|
||||
"x" : parseInt((item.get("left") - background_image1.left).toFixed(0)),
|
||||
"y" : parseInt((item.get("top") - background_image1.top).toFixed(0)),
|
||||
"h" : parseInt((item.get("scaleY") * item.get("height")).toFixed(0)),
|
||||
"w" : parseInt((item.get("scaleX") * item.get("width")).toFixed(0)),
|
||||
"rotate" : parseInt(item.get("angle").toFixed(0)),
|
||||
"circleCenter" : objs1[idx - 1].circleCenter
|
||||
});
|
||||
} else if (type == 4) {
|
||||
//out_text
|
||||
let xy = getAbsoluteXY(item);
|
||||
@@ -2975,6 +3030,24 @@
|
||||
});
|
||||
}
|
||||
*/
|
||||
op.frontData.push({
|
||||
"type" : 2,
|
||||
"Text" : item.get("text"),
|
||||
"FontFamily" : item.get("fontFamily"),
|
||||
"FontSize" : parseInt(item.get("fontSize")),
|
||||
"FontColor" : "#000000",
|
||||
"FontBackgroudColor" : item.get("textBackgroundColor"),
|
||||
"Bold" : item.get("fontWeight") == "bold",
|
||||
"Underline" : item.get("underline"),
|
||||
"Italic" : item.get("fontStyle") == "italic",
|
||||
"Strikeout" : item.get("linethrough"),
|
||||
"x" : parseInt((item.get("left") - background_image1.left).toFixed(0)),
|
||||
"y" : parseInt((item.get("top") - background_image1.top).toFixed(0)),
|
||||
"h" : parseInt((item.get("scaleY") * item.get("height")).toFixed(0)),
|
||||
"w" : parseInt((item.get("scaleX") * item.get("width")).toFixed(0)),
|
||||
"rotate" : parseInt(item.get("angle").toFixed(0)),
|
||||
"circleCenter" : objs2[idx - 1].circleCenter
|
||||
});
|
||||
} else if (type == 4) {
|
||||
let xy = getAbsoluteXY(item);
|
||||
op.backData.push({
|
||||
@@ -5029,12 +5102,13 @@
|
||||
recordState();
|
||||
}
|
||||
function selectCircleText() {
|
||||
let idx = getIndex(canvas.getActiveObject());
|
||||
$("#circle_text_control").show();
|
||||
$("#circle_text_color").val(canvas.getActiveObject().get("fill"));
|
||||
$("#circle_text_back_color").val(canvas.getActiveObject().get("textBackgroundColor") == "" ? '#ffffff' : canvas.getActiveObject().get("textBackgroundColor"));
|
||||
circle_text_size.setValue(canvas.getActiveObject().get("fontSize") - 10);
|
||||
circle_text_diameter.setValue(canvas.getActiveObject().get("diameter")-500);
|
||||
// $("#circle_text_center").prop("checked", true);
|
||||
$("#circle_text_center").prop("checked", objs[idx - 1].circleCenter ? 'checked' : '');
|
||||
$("#circle_text_text").val(canvas.getActiveObject().get("text"));
|
||||
$("#circle_text_font_family").val(canvas.getActiveObject().get("fontFamily"));
|
||||
|
||||
@@ -6042,6 +6116,15 @@
|
||||
}
|
||||
recordState();
|
||||
});
|
||||
$("#circle_text_center").click(function () {
|
||||
let idx = getIndex(canvas.getActiveObject());
|
||||
if ($(this).prop("checked")) {
|
||||
objs[idx - 1].circleCenter = 1;
|
||||
} else {
|
||||
objs[idx - 1].circleCenter = 0;
|
||||
}
|
||||
recordState();
|
||||
});
|
||||
$("#delete").click(function () {
|
||||
let actObjs = canvas.getActiveObjects();
|
||||
let allObjs = canvas.getObjects();
|
||||
@@ -6219,7 +6302,9 @@
|
||||
});
|
||||
canvas1.on("object:moving", function (e) {
|
||||
let obj = canvas.getActiveObject()
|
||||
if (objs[getIndex(e.target) - 1].type && objs[getIndex(e.target) - 1].type ===11&&$("#circle_text_center").prop("checked")) {
|
||||
let idx = getIndex(e.target);
|
||||
// 添加边界检查,避免访问 undefined
|
||||
if (idx > 0 && idx <= objs.length && objs[idx - 1] && objs[idx - 1].type && objs[idx - 1].type === 11 && $("#circle_text_center").prop("checked")) {
|
||||
let pointer = {
|
||||
x: obj.left,
|
||||
y: obj.top
|
||||
@@ -6489,7 +6574,7 @@
|
||||
event.target._clearCache();
|
||||
// $("#out_text_size").val(event.target.fontSize);
|
||||
canvas1.renderAll();
|
||||
} else if (objs[getIndex(event.target) - 1].type == 10) {
|
||||
} else if (getIndex(event.target) > 0 && getIndex(event.target) <= objs.length && objs[getIndex(event.target) - 1] && objs[getIndex(event.target) - 1].type == 10) {
|
||||
event.target.fontSize *= event.target.scaleX;
|
||||
event.target.fontSize = event.target.fontSize.toFixed(0);
|
||||
event.target.scaleX = 1;
|
||||
@@ -6497,7 +6582,7 @@
|
||||
event.target._clearCache();
|
||||
// $("#count_size").val(event.target.fontSize);
|
||||
canvas1.renderAll();
|
||||
} else if (objs[getIndex(event.target) - 1].type == 5) {
|
||||
} else if (getIndex(event.target) > 0 && getIndex(event.target) <= objs.length && objs[getIndex(event.target) - 1] && objs[getIndex(event.target) - 1].type == 5) {
|
||||
canvas1.getActiveObject().set("width", canvas1.getActiveObject().get("width") * canvas1.getActiveObject().get("scaleX"));
|
||||
canvas1.getActiveObject().set("height", canvas1.getActiveObject().get("height") * canvas1.getActiveObject().get("scaleY"));
|
||||
canvas1.getActiveObject().set("scaleX", 1);
|
||||
|
||||
+2
-1
@@ -751,7 +751,8 @@
|
||||
|
||||
const remote = require('@electron/remote')
|
||||
var path = require('path');
|
||||
const exePath = !remote.app.isPackaged ? process.cwd() : path.dirname(process.execPath)
|
||||
// 使用用户数据目录,避免写入需要管理员权限
|
||||
const exePath = remote.app.getPath('userData')
|
||||
const { ipcRenderer } = require('electron')
|
||||
const { dialog } = require('@electron/remote')
|
||||
var jrQrcode = require('jr-qrcode')
|
||||
|
||||
+3
-2
@@ -52,7 +52,9 @@
|
||||
let fs = require('fs')
|
||||
const remote = require('@electron/remote')
|
||||
var path = require('path');
|
||||
const exePath = !remote.app.isPackaged ? process.cwd() : path.dirname(process.execPath)
|
||||
const { ipcRenderer } = require('electron')
|
||||
// 使用用户数据目录,避免写入需要管理员权限
|
||||
const exePath = remote.app.getPath('userData')
|
||||
function get_filename(path) {
|
||||
let arr = path.split("/");
|
||||
if (arr.length < 2) {
|
||||
@@ -71,7 +73,6 @@
|
||||
}
|
||||
return t[str][s_lan];
|
||||
}
|
||||
const { ipcRenderer } = require('electron')
|
||||
const { dialog } = require('@electron/remote')
|
||||
layui.use(['layer', 'form', 'jquery'], function () {
|
||||
var $ = layui.$;
|
||||
|
||||
@@ -16,8 +16,9 @@ app.on("will-finish-launching", () => {
|
||||
preFilePath = process.argv[1] === "." ? "" : process.argv[1];
|
||||
}
|
||||
});
|
||||
const exePath = !app.isPackaged ? process.cwd() : path.dirname(process.execPath)
|
||||
console.log(exePath);
|
||||
// 使用用户数据目录,避免管理员权限问题
|
||||
const exePath = app.getPath('userData')
|
||||
console.log('User data path:', exePath);
|
||||
function createWindow() {
|
||||
// Create the browser window.
|
||||
let size = require("electron").screen.getPrimaryDisplay().workAreaSize;
|
||||
@@ -77,8 +78,11 @@ function createWindow() {
|
||||
event.reply("sys-lan", app.getLocale());
|
||||
});
|
||||
ipcMain.on("open-help-file", (event) => {
|
||||
let fullpath = path.join(exePath, 'help', 'User Manual.pdf')
|
||||
child_process.exec(`start "" "${fullpath}"`);
|
||||
// help 文件在应用目录,不在用户数据目录
|
||||
let helpPath = !app.isPackaged
|
||||
? path.join(process.cwd(), 'help', 'User Manual.pdf')
|
||||
: path.join(path.dirname(process.execPath), 'resources', 'help', 'User Manual.pdf')
|
||||
child_process.exec(`start "" "${helpPath}"`);
|
||||
});
|
||||
|
||||
// 监听从渲染进程发送来的请求
|
||||
|
||||
+32
-20
@@ -4,17 +4,12 @@
|
||||
"description": "tools of design soon files",
|
||||
"main": "main.js",
|
||||
"scripts": {
|
||||
"start": "electron-forge start",
|
||||
"build": "node electron-vue/build.js && electron-builder",
|
||||
"builder": "electron-builder",
|
||||
"packmain": "node electron-vue/build.js",
|
||||
"build:dir": "node electron-vue/build.js && electron-builder --dir",
|
||||
"build:clean": "cross-env BUILD_TARGET=clean node electron-vue/build.js",
|
||||
"build:web": "cross-env BUILD_TARGET=web node electron-vue/build.js",
|
||||
"package:x64": "electron-forge package --arch=x64",
|
||||
"package:arm64": "electron-forge package --arch=arm64",
|
||||
"merge": "node ./merge.js",
|
||||
"package:universal": "npm run package:x64 && npm run package:arm64 && npm run merge"
|
||||
"start": "electron .",
|
||||
"build": "electron-builder",
|
||||
"build:win": "electron-builder --win --x64",
|
||||
"build:mac": "electron-builder --mac --x64",
|
||||
"build:linux": "electron-builder --linux --x64",
|
||||
"build:all": "electron-builder -mwl"
|
||||
},
|
||||
"build": {
|
||||
"productName": "SoonDesign",
|
||||
@@ -45,6 +40,9 @@
|
||||
}
|
||||
],
|
||||
"asar": true,
|
||||
"asarUnpack": [
|
||||
"lib/**"
|
||||
],
|
||||
"win": {
|
||||
"icon": "public/images/favicon.ico",
|
||||
"requestedExecutionLevel": "asInvoker",
|
||||
@@ -56,19 +54,33 @@
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"mac": {
|
||||
"target": [
|
||||
{ "target": "dmg", "arch": ["x64"] },
|
||||
{ "target": "zip", "arch": ["x64"] }
|
||||
],
|
||||
"category": "public.app-category.utilities",
|
||||
"icon": "public/images/favicon.icns"
|
||||
},
|
||||
"linux": {
|
||||
"target": [
|
||||
{ "target": "AppImage", "arch": ["x64"] },
|
||||
{ "target": "deb", "arch": ["x64"] }
|
||||
],
|
||||
"category": "Utility",
|
||||
"icon": "public/images/IconA256.png",
|
||||
"desktop": {
|
||||
"Name": "SoonDesign",
|
||||
"Comment": "tools of design soon files"
|
||||
}
|
||||
}
|
||||
},
|
||||
"electronPackagerConfig": {
|
||||
"packageManager": "npm",
|
||||
"icon": "./public/images/favicon.ico"
|
||||
},
|
||||
"config": {
|
||||
"forge": {
|
||||
"packagerConfig": {
|
||||
"icon": "./public/images/favicon.icns"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
"repository": "",
|
||||
"keywords": [
|
||||
"Electron",
|
||||
@@ -80,8 +92,8 @@
|
||||
"author": "",
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"@electron-forge/cli": "^6.2.0",
|
||||
"electron": "^25.0.0"
|
||||
"electron": "^25.0.0",
|
||||
"electron-builder": "^23.3.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"@electron/remote": "^2.0.8",
|
||||
|
||||
BIN
Binary file not shown.
|
Before Width: | Height: | Size: 24 KiB |
BIN
Binary file not shown.
|
Before Width: | Height: | Size: 16 KiB |
Reference in New Issue
Block a user