解决 Electron 应用在国产信创 Kylin 系统下 new Date() 时区错误的问题

在做客户端国产化改造时,发现页面上的时间全都差了 8 个小时,打开控制台打印 new Date() 显示的时区是 GMT,进一步测试发现,只有 Kylin 桌面系统上有这个问题,统信 UOS 系统没问题,解决方法很简单,在程序启动前手动指定时区。

main.ts
1
process.env.TZ = 'Asia/Shanghai';

解决蓝牙鼠标卡顿

蓝牙鼠标的一大好处是不占用任何笔记本电脑接口,适用于USB Type-A接口不够甚至无接口的笔记本电脑使用。目前最便宜的蓝牙鼠标只需50元左右。缺点是灵敏度和延迟都比传统有线鼠标和2.4G无线鼠标差。有时还会遇到卡顿、断线的情况,可以用以下办法排查一下。

  1. 鼠标电量低——需要更换电池或者充电,电池推荐用南孚、小米等碱性电池,不要用碳性电池。
  2. 蓝牙开了省电——在设备管理器中找到蓝牙设备属性里的电源管理,把“允许计算机关闭此设备以节约电源”勾掉。
  3. 无线网卡忙——绝大多数笔记本,蓝牙和WiFi是由同一个无线网卡驱动的,如果正在使用WiFi下载东西,蓝牙带宽就会受限,导致鼠标变卡,这种情况可以给下载限速或者改用有线网络。
  4. 蓝牙信号干扰——推荐买双模的无线鼠标,如果蓝牙被干扰了就暂时改用2.4G接收器。
  5. 桌面介质——不雅在玻璃等介质上使用鼠标,最好垫个鼠标垫。
  6. 驱动程序——有时候更新显卡驱动,更新蓝牙驱动能解决问题。

electron-forge 流水线踩坑记录

环境变量

  1. 环境变量 PATH 需包含 node、git 的可执行文件目录
  2. 在中国大陆跑,建议替换阿里镜像源提升依赖安装速度
1
2
3
registry=https://registry.npmmirror.com/
ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/
NODEJS_ORG_MIRROR=https://npmmirror.com/mirrors/node/
阅读更多

Vue 2 this.$emit 方法无效问题的解决

分享一个 Vue 2 $emit 不生效问题的解决,子组件向父组件 $emit 事件,没有报错,但父组件就是收不到事件。首先排除拼错事件名称等基本错误。

最终发现原因是:由于我将 $emit 写在了异步方法里,子组件在还没 $emit 之前就销毁了,此时再调用 $emit 不会有任何报错,也不会有任何效果,特此记录。

阅读更多

Hexo 博客集成内容管理系统 Decap

背景

一开始在做个人博客的框架选型时,我考虑过 WordPress、Typecho 等 PHP 框架,它们都自带一个内容管理系统,非常便于管理。但因为不想在服务器上花太多成本,我仍然选择了 Hexo 这种静态博客生成器,因为有很多优秀的静态博客托管平台可以选择。从此开始了一段博客折腾之旅。

曾经我也向朋友推荐 Hexo,列举它的种种优点,现在我也开始觉得 Hexo 写作太繁琐了。

静态博客最主要的缺点,一是不支持评论,二是缺少一个后台。不支持评论,写好的内容,无法与读者交流,是一件挺痛苦的事情。为此我搜遍互联网,最终选择了自己开发 Twikoo 无服务器评论系统,评论这件难题算是解决了。

阅读更多

Puppeteer 踩坑笔记

Puppeteer 是最常见的服务端 Node.js 网页转 PDF 工具库之一,原理是启动 Chromium 无头模式,打开网页,输出PDF,由于其原理是直接操控浏览器,导出的 PDF 几乎和网页效果一致。本篇记录一下踩坑经历。

我的 Puppeteer 版本:19.4.1

无法安装 puppeteer

  1. Node.js 要求 >=14.1.0
  2. Puppeteer 安装过程中默认访问 Google 服务器下载 Chromium 安装包,建议切换到阿里源进行安装。
1
npm config set PUPPETEER_DOWNLOAD_HOST=https://registry.npmmirror.com/-/binary
阅读更多

如何修改 Microsoft Edge 浏览器新标签页 URL

Microsoft Edge 浏览器的新标签页固定为 https://ntp.msn.cn/edge/ntp,就这么一个新标签页,不仅加载慢,还有一堆控制台报错。然而浏览器还没有提供修改新标签页地址的功能。

虽然安装浏览器插件可以实现,但是浏览器插件修改新标签页时,会有弹窗提示插件修改了新标签页。本文提供一种通过注册表完美修改新标签页的方法,已在 Microsoft Edge 版本 99.0.1150.46 测试有效。Win 10 家庭版 / Win 11 家庭版无效。

阅读更多