Package Details: jlc-assistant-bin 5.0.69-25

Git Clone URL: https://aur.archlinux.org/jlc-assistant-bin.git (read-only, click to copy)
Package Base: jlc-assistant-bin
Description: 嘉立创下单助手:该应用为您下单提供便利,快速获取优惠及下单信息,无需在网站等待审核审单!在下单助手下单立享打折优惠!
Upstream URL: https://www.jlc.com/portal/appDownloadsWithConfig.html
Keywords: jlc pcb 下单 嘉立创
Licenses: LicenseRef-custom
Conflicts: jlc-assistant
Provides: jlc-assistant
Replaces: jlc-assistant
Submitter: taotieren
Maintainer: taotieren (Misaka13514, kearneyBack, Canmi)
Last Packager: taotieren
Votes: 4
Popularity: 0.049449
First Submitted: 2022-11-29 15:43 (UTC)
Last Updated: 2025-09-04 01:30 (UTC)

Latest Comments

1 2 3 Next › Last »

bczhc commented on 2026-07-06 10:36 (UTC) (edited on 2026-07-06 10:38 (UTC) by bczhc)

下单时的3D预览显示不出。右键控制台中显示Error: faild to initial webgl。用window.location.replace('https://webglreport.com')转到webglreport网站显示webgl1与webgl2均不支持。我原以为是bwrap的配置问题,但在宿主机上运行electron34访问webglreport也显示都不支持。electron36就都支持了,但下单助手只能用34。(我还是继续用浏览器吧:)

glxinfo | rg OpenGL
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: NVIDIA GeForce RTX 3060 Laptop GPU/PCIe/SSE2
OpenGL core profile version string: 4.6.0 NVIDIA 610.43.02
OpenGL core profile shading language version string: 4.60 NVIDIA
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.6.0 NVIDIA 610.43.02
OpenGL shading language version string: 4.60 NVIDIA
OpenGL context flags: (none)
OpenGL profile mask: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 610.43.02
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:

更新:如果加上--use-gl=desktop的话就能预览了,但回退到软件渲染了所以挺卡。凑合用

taotieren commented on 2025-09-03 08:52 (UTC)

@fengch 这个修改有通过 devtools 环境的测试吗?

fengch commented on 2025-09-03 08:47 (UTC)

给一些修改建议

diff --git a/PKGBUILD b/PKGBUILD
index 7bbe481..b0fef57 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -10,7 +10,7 @@ license=('LicenseRef-custom')
 provides=(${pkgname%-bin})
 conflicts=(${pkgname%-bin})
 replaces=(${pkgname%-bin})
-depends=(gtk3 nss libxss electron libappindicator-gtk3 libnotify)
+depends=(gtk3 nss libxss electron34 libappindicator-gtk3 libnotify)
 makedepends=()
 backup=()
 options=()
@@ -20,38 +20,37 @@ sha256sums=('d943ebf9ee328a657cd608bdf301f637ea48988b57adeae1ae770fae944caacd')
 noextract=()

 package() {
-    export LC_CTYPE="zh_CN.UTF-8"
-    install -dm0755 "${pkgdir}/usr/lib/${pkgname%-bin}/"
-
-    # electron file
-    install -dm0755 "${pkgdir}/usr/lib/${pkgname%-bin}/"
-    cd ${srcdir}/${pkgname%-bin}-linux-x64-${pkgver}/${pkgname%-bin}/
-    cp -r res ${pkgdir}/usr/lib/${pkgname%-bin}
-    cp -r resources ${pkgdir}/usr/lib/${pkgname%-bin}
-
-    # icon
-    local _icon
-    for _icon in 16 32 64 72 128 256 512; do
-        install -Dm0644 icon/png/${_icon}.png \
-            ${pkgdir}/usr/share/icons/hicolor/${_icon}x${_icon}/apps/${pkgname%-bin}.png
-    done
-
-    # desktop entry
-    install -Dm0644 ${pkgname%-bin}.dkt \
-        ${pkgdir}/usr/share/applications/${pkgname%-bin}.desktop
-
-    sed -i 's|/opt/jlc-assistant/icon/png/128.png|jlc-assistant.png|g' \
-        ${pkgdir}/usr/share/applications/${pkgname%-bin}.desktop
-    sed -i 's|/opt/jlc-assistant/||g' ${pkgdir}/usr/share/applications/${pkgname%-bin}.desktop
-
-    # jlc-assistant file
-    install -Dm0755 /dev/stdin ${pkgdir}/usr/bin/${pkgname%-bin} <<EOF
-#!/bin/sh
-
-exec electron /usr/lib/jlc-assistant/resources/app.asar " \$@"
-EOF
-
-    # LICENSE
-    #     install -Dm0644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname%-bin}/LICENSE
+   export LC_CTYPE="zh_CN.UTF-8"
+   install -dm0755 "${pkgdir}/usr/lib/${pkgname%-bin}/"
+
+   # electron file
+   install -dm0755 "${pkgdir}/usr/lib/${pkgname%-bin}/"
+   cd ${srcdir}/${pkgname%-bin}-linux-x64-${pkgver}/${pkgname%-bin}/
+   cp -r res ${pkgdir}/usr/lib/${pkgname%-bin}
+   cp -r resources ${pkgdir}/usr/lib/${pkgname%-bin}
+
+   # icon
+   local _icon
+   for _icon in 16 32 64 72 128 256 512; do
+       install -Dm0644 icon/png/${_icon}.png \
+           ${pkgdir}/usr/share/icons/hicolor/${_icon}x${_icon}/apps/${pkgname%-bin}.png
+   done
+
+   # desktop entry
+   install -Dm0644 ${pkgname%-bin}.dkt \
+       ${pkgdir}/usr/share/applications/${pkgname%-bin}.desktop
+
+   sed -i 's|/opt/jlc-assistant/icon/png/128.png|jlc-assistant.png|g' \
+       ${pkgdir}/usr/share/applications/${pkgname%-bin}.desktop
+   sed -i 's|/opt/jlc-assistant/||g' ${pkgdir}/usr/share/applications/${pkgname%-bin}.desktop
+
+   # jlc-assistant file
+   install -Dm0755 /dev/stdin ${pkgdir}/usr/bin/${pkgname%-bin} <<-EOF
+       #!/bin/sh
+       exec electron34 /usr/lib/jlc-assistant/resources/app.asar " \$@"
+       EOF
+
+   # LICENSE
+   #     install -Dm0644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname%-bin}/LICENSE

 }

taotieren commented on 2025-07-23 02:10 (UTC)

@grdgkjrpdihe 我给 JLC 那边开发团队反馈下,看下他们是更新修复还是 electron 固定版本

grdgkjrpdihe commented on 2025-07-21 16:13 (UTC)

@taotieren 但35以上会遇到 TypeError: Cannot set property navigator of #<Object> which has only a getter 问题

grdgkjrpdihe commented on 2025-07-21 16:11 (UTC) (edited on 2025-07-21 16:25 (UTC) by grdgkjrpdihe)

研究了下。这个软件会读 /etc/machine-id ,读 /proc/cpuinfo ,读 /etc/os-release ,使用 lsblk -ablJO 获取硬盘编号,获取默认网络接口与其 mac 地址,通过 dmidecode 与 /sys/devices/virtual/dmi 获取设备名称/厂家。持久化存储追踪信息于 ~/.config/jlc-assistant/config.json。通过 getmac node-machine-id os-utils systeminformation 几个 node 库实现。

并且以上读的数据在下单界面每点一下都会上传一次

建议放到容器/虚拟机里跑。上面大部分操作都是通过调用本地的工具再解析输出,拦下 execve 就能解决大部分

taotieren commented on 2025-07-21 01:37 (UTC)

@grdgkjrpdihe 包中的 electron 依赖是会匹配最新的 electron 包,不用修改。

grdgkjrpdihe commented on 2025-07-20 19:47 (UTC)

试了下可用的最新 electron 版本是 34 。是不是改下 depends 比较好?

Canmi commented on 2025-04-13 13:25 (UTC)

2025-04-13, jlc-assistant 包里可以正常退出程序,用程序导航栏里面的关闭窗口,设置为退出即可正常使用

Canmi commented on 2025-04-11 08:37 (UTC)

那目前看来也只有这样丢2个包了,不过好像用自带的环境现在试了也没有什么大问题,下单3d渲染都正常,标签栏也符合预期,至于小托盘我感觉要么就是再写一个程序专门用于启动jlc小助手,然后给另外的程序支持退出进程来实现,要么就是上游jlc需要解决问题,不过目前看起来已经出现了这么就,jlc大概率不会管了