+
{{ m.title }}
@@ -55,24 +58,89 @@ onMounted(load)
\ No newline at end of file
diff --git a/src/views/VirtualLab.vue b/src/views/VirtualLab.vue
index 7aaa992..843ded8 100644
--- a/src/views/VirtualLab.vue
+++ b/src/views/VirtualLab.vue
@@ -972,6 +972,10 @@ function loadFromJSONText(text: string) {
wireSeq = Math.max(wireSeq, maxWireId)
}
+// @ts-ignore
+window.loadCircuitFromJSONText = loadFromJSONText
+
+
function onImportFileChange(e: Event) {
const input = e.target as HTMLInputElement
const file = input.files && input.files[0]
diff --git a/src/views/circuit-ele/battery.png b/src/views/circuit-ele/battery.png
deleted file mode 100644
index e5bd239..0000000
Binary files a/src/views/circuit-ele/battery.png and /dev/null differ
diff --git a/src/views/circuit-ele/battery.webp b/src/views/circuit-ele/battery.webp
new file mode 100644
index 0000000..c724469
Binary files /dev/null and b/src/views/circuit-ele/battery.webp differ
diff --git a/src/views/circuit-ele/capacitor.png b/src/views/circuit-ele/capacitor.png
deleted file mode 100644
index a50db23..0000000
Binary files a/src/views/circuit-ele/capacitor.png and /dev/null differ
diff --git a/src/views/circuit-ele/capacitor.webp b/src/views/circuit-ele/capacitor.webp
new file mode 100644
index 0000000..b2ec958
Binary files /dev/null and b/src/views/circuit-ele/capacitor.webp differ
diff --git a/src/views/circuit-ele/inductor.png b/src/views/circuit-ele/inductor.png
deleted file mode 100644
index db297c1..0000000
Binary files a/src/views/circuit-ele/inductor.png and /dev/null differ
diff --git a/src/views/circuit-ele/inductor.webp b/src/views/circuit-ele/inductor.webp
new file mode 100644
index 0000000..8897331
Binary files /dev/null and b/src/views/circuit-ele/inductor.webp differ
diff --git a/src/views/circuit-ele/light_bulb.png b/src/views/circuit-ele/light_bulb.png
deleted file mode 100644
index 3f472d8..0000000
Binary files a/src/views/circuit-ele/light_bulb.png and /dev/null differ
diff --git a/src/views/circuit-ele/light_bulb.webp b/src/views/circuit-ele/light_bulb.webp
new file mode 100644
index 0000000..e732f2c
Binary files /dev/null and b/src/views/circuit-ele/light_bulb.webp differ
diff --git a/src/views/circuit-ele/light_bulb_grow.png b/src/views/circuit-ele/light_bulb_grow.png
deleted file mode 100644
index 211fcc1..0000000
Binary files a/src/views/circuit-ele/light_bulb_grow.png and /dev/null differ
diff --git a/src/views/circuit-ele/light_bulb_grow.webp b/src/views/circuit-ele/light_bulb_grow.webp
new file mode 100644
index 0000000..c129998
Binary files /dev/null and b/src/views/circuit-ele/light_bulb_grow.webp differ
diff --git a/src/views/circuit-ele/meter.png b/src/views/circuit-ele/meter.png
deleted file mode 100644
index d77b71e..0000000
Binary files a/src/views/circuit-ele/meter.png and /dev/null differ
diff --git a/src/views/circuit-ele/meter.webp b/src/views/circuit-ele/meter.webp
new file mode 100644
index 0000000..e7b53ed
Binary files /dev/null and b/src/views/circuit-ele/meter.webp differ
diff --git a/src/views/circuit-ele/power_supply.png b/src/views/circuit-ele/power_supply.png
deleted file mode 100644
index d6dce83..0000000
Binary files a/src/views/circuit-ele/power_supply.png and /dev/null differ
diff --git a/src/views/circuit-ele/power_supply.webp b/src/views/circuit-ele/power_supply.webp
new file mode 100644
index 0000000..6e26168
Binary files /dev/null and b/src/views/circuit-ele/power_supply.webp differ
diff --git a/src/views/circuit-ele/resistance_box.png b/src/views/circuit-ele/resistance_box.png
deleted file mode 100644
index 8dcef44..0000000
Binary files a/src/views/circuit-ele/resistance_box.png and /dev/null differ
diff --git a/src/views/circuit-ele/resistance_box.webp b/src/views/circuit-ele/resistance_box.webp
new file mode 100644
index 0000000..cd7cf2f
Binary files /dev/null and b/src/views/circuit-ele/resistance_box.webp differ
diff --git a/src/views/circuit-ele/resistor.png b/src/views/circuit-ele/resistor.png
deleted file mode 100644
index 43700e2..0000000
Binary files a/src/views/circuit-ele/resistor.png and /dev/null differ
diff --git a/src/views/circuit-ele/resistor.webp b/src/views/circuit-ele/resistor.webp
new file mode 100644
index 0000000..b37da26
Binary files /dev/null and b/src/views/circuit-ele/resistor.webp differ
diff --git a/src/views/circuit-ele/sliding_rheostat.png b/src/views/circuit-ele/sliding_rheostat.png
deleted file mode 100644
index 89dcbca..0000000
Binary files a/src/views/circuit-ele/sliding_rheostat.png and /dev/null differ
diff --git a/src/views/circuit-ele/sliding_rheostat.webp b/src/views/circuit-ele/sliding_rheostat.webp
new file mode 100644
index 0000000..b64de41
Binary files /dev/null and b/src/views/circuit-ele/sliding_rheostat.webp differ
diff --git a/src/views/circuit-ele/sliding_rheostat_pin.png b/src/views/circuit-ele/sliding_rheostat_pin.png
deleted file mode 100644
index 490a29e..0000000
Binary files a/src/views/circuit-ele/sliding_rheostat_pin.png and /dev/null differ
diff --git a/src/views/circuit-ele/sliding_rheostat_pin.webp b/src/views/circuit-ele/sliding_rheostat_pin.webp
new file mode 100644
index 0000000..0218497
Binary files /dev/null and b/src/views/circuit-ele/sliding_rheostat_pin.webp differ
diff --git a/src/views/circuit-ele/switch_off.png b/src/views/circuit-ele/switch_off.png
deleted file mode 100644
index 0caa140..0000000
Binary files a/src/views/circuit-ele/switch_off.png and /dev/null differ
diff --git a/src/views/circuit-ele/switch_off.webp b/src/views/circuit-ele/switch_off.webp
new file mode 100644
index 0000000..4ad4db0
Binary files /dev/null and b/src/views/circuit-ele/switch_off.webp differ
diff --git a/src/views/circuit-ele/switch_on.png b/src/views/circuit-ele/switch_on.png
deleted file mode 100644
index b0d1278..0000000
Binary files a/src/views/circuit-ele/switch_on.png and /dev/null differ
diff --git a/src/views/circuit-ele/switch_on.webp b/src/views/circuit-ele/switch_on.webp
new file mode 100644
index 0000000..c0d7a4c
Binary files /dev/null and b/src/views/circuit-ele/switch_on.webp differ
diff --git a/src/views/circuit-ele/webp.py b/src/views/circuit-ele/webp.py
new file mode 100644
index 0000000..d0acb1a
--- /dev/null
+++ b/src/views/circuit-ele/webp.py
@@ -0,0 +1,37 @@
+import os
+import subprocess
+
+def convert_png_to_webp():
+ png_files = []
+
+ # 递归遍历当前目录及所有子目录
+ for root, dirs, files in os.walk('.'):
+ for file in files:
+ if file.lower().endswith('.png'):
+ png_files.append(os.path.join(root, file))
+
+ if not png_files:
+ print("当前目录及子目录下没有找到PNG文件。")
+ return
+
+ print(f"找到 {len(png_files)} 个PNG文件,开始转换...")
+
+ # 遍历并转换每个PNG文件
+ for png_file in png_files:
+ # 构建输出文件名(替换扩展名为.webp)
+ webp_file = os.path.splitext(png_file)[0] + '.webp'
+
+ # 构建ffmpeg命令,设置压缩质量为80%(可以根据需要调整)
+ cmd = ['ffmpeg', '-i', png_file, '-c:v', 'libwebp', '-quality', '80', webp_file]
+
+ try:
+ print(f"正在转换: {png_file} -> {webp_file}")
+ subprocess.run(cmd, check=True)
+ print(f"成功转换: {webp_file}")
+ except subprocess.CalledProcessError as e:
+ print(f"转换失败: {png_file}, 错误: {e}")
+
+ print("转换完成!")
+
+if __name__ == "__main__":
+ convert_png_to_webp()
\ No newline at end of file
diff --git a/src/views/elements.ts b/src/views/elements.ts
index 98a9def..245532e 100644
--- a/src/views/elements.ts
+++ b/src/views/elements.ts
@@ -1,18 +1,18 @@
// 显式导入所有电路元件图片,并定义其基本属性
-import battery from './circuit-ele/battery.png'
-import powerSupply from './circuit-ele/power_supply.png'
-import capacitor from './circuit-ele/capacitor.png'
-import inductor from './circuit-ele/inductor.png'
-import lightBulb from './circuit-ele/light_bulb.png'
-import lightBulbGrow from './circuit-ele/light_bulb_grow.png'
-import resistor from './circuit-ele/resistor.png'
-import resistanceBox from './circuit-ele/resistance_box.png'
-import switchOff from './circuit-ele/switch_off.png'
-import switchOn from './circuit-ele/switch_on.png'
-import meter from './circuit-ele/meter.png'
-import slidingRheostat from './circuit-ele/sliding_rheostat.png'
-import slidingRheostatPin from './circuit-ele/sliding_rheostat_pin.png'
+import battery from './circuit-ele/battery.webp'
+import powerSupply from './circuit-ele/power_supply.webp'
+import capacitor from './circuit-ele/capacitor.webp'
+import inductor from './circuit-ele/inductor.webp'
+import lightBulb from './circuit-ele/light_bulb.webp'
+import lightBulbGrow from './circuit-ele/light_bulb_grow.webp'
+import resistor from './circuit-ele/resistor.webp'
+import resistanceBox from './circuit-ele/resistance_box.webp'
+import switchOff from './circuit-ele/switch_off.webp'
+import switchOn from './circuit-ele/switch_on.webp'
+import meter from './circuit-ele/meter.webp'
+import slidingRheostat from './circuit-ele/sliding_rheostat.webp'
+import slidingRheostatPin from './circuit-ele/sliding_rheostat_pin.webp'
import textBox from './circuit-ele/text_box.svg'
export type ConnectionPoint = {
diff --git a/tsconfig.node.json b/tsconfig.node.json
index f85a399..65bd879 100644
--- a/tsconfig.node.json
+++ b/tsconfig.node.json
@@ -15,8 +15,6 @@
/* Linting */
"strict": true,
- "noUnusedLocals": true,
- "noUnusedParameters": true,
"erasableSyntaxOnly": true,
"noFallthroughCasesInSwitch": true,
"noUncheckedSideEffectImports": true
diff --git a/vite.config.ts b/vite.config.ts
index 9a53f7f..a20fda6 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -1,9 +1,10 @@
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
+import { viteSingleFile } from 'vite-plugin-singlefile'
// https://vite.dev/config/
export default defineConfig({
- plugins: [vue()],
+ plugins: [vue(), /* viteSingleFile() */],
server: {
host: '0.0.0.0',
proxy: {