轶哥

妄图改变世界的全栈程序员。

开发了一个国内可以使用的ChatGPT H5版本
  •   更新:2022-12-10 22:00:56
  •   首发:2022-12-10 21:33:32
  •   源代码
  •   1913

ChatGPT的出现改变了很多人对AI的看法,也包括我。

出于对新鲜事物的好奇,我也体验了一段时间的ChatGPT。

然而体验ChatGPT并非一件容易的事情,出于让更多人能体验到目前公开的最先进的语义化AI的目的,特地编写了一个H5版本的ChatGPT客户端。

Office表格转HTML Table
  •   更新:2022-08-22 22:50:13
  •   首发:2022-08-22 22:50:13
  •   源代码
  •   1127

这个程序大约写于5年前,在3年前开源。这是一篇3年前就应该写的文章,一直沉睡在TODO List,由于优先级过低,竟然拖到今天才写。

office2table.png

这个小工具诞生的原因背景:

Office的Excel是目前最优秀的表格工具,Office三套件经久不衰,无疑是职场最具影响力的生产力软件。而World与Excel中的表格直接复制到网页(HTML组件)中会遗留非常多的额外标签,这些标签在浏览器中有的是无法识别的,有的是能识别但是会出现显示异常的。

在Web2.0时代,出现了“所见即所得”的HTML富文本编辑器。与此同时,Web前端飞速发展,出现了多种自适应布局方式,可以让Web页面兼容不同大小和分辨率的显示器。

由于Office新版协议采用了和HTML类似的标记语言来表达富文本内容,使得WPS等第三方Office软件得以在不破解协议的情况下修改Office文件。然而World、Excel和PowerPoint的表格内容直接复制出来粘贴到HTML富文本编辑器是可以使用的,但是多余的标签会衍生出各种问题。

这个 Office Table 转 HTML Table 就是为了解决此问题开发的纯前段处理数据的Web小程序。

Shell异步延迟执行命令
  •   更新:2022-05-02 14:44:44
  •   首发:2022-05-02 11:22:48
  •   源代码
  •   1365

在Shell脚本中,特别是Linux操作系统内置的各项启动脚本,经常会遇到需要延迟异步去执行的命令。例如在/etc/rc.local文件或配置网卡相关的脚本文件里面,希望对应脚本能够先返回exit 0以免阻塞任务,然后再异步的去执行不关注执行结果的一些命令,甚至延迟执行异步命令。

在*nux命令中,命令 &为后台进程命令(放在命令参数最后面的&表示设置此命令后台执行)。

因此,在Shell中,命令之后跟上&即异步去执行该命令。

sleep是延时命令,sleep 1代表将命令延迟1秒后执行。

无刷新微信扫码登陆解决方案
  •   更新:2022-02-25 10:27:24
  •   首发:2018-09-02 22:22:10
  •   源代码
  •   7752

数天前,为解决微信二维码扫码登陆在Electorn跳转处理繁琐的问题,写一个微信开放平台扫码登陆解析处理工具😊,将frame数据处理为图片或Base64图片数据返回客户端进行扫码。解决Chrome70中open.weixin.qq.com腾讯SSL证书不被信任的问题(微信官方于2018年8月23日更换了域名证书),解决Chrome68中frame跨域被拦截的问题。

此方案最大特点扫码登录无跳转🤠。

Node.js 版本 Demohttps://weixin.openapi.site/demo

PHP 版本 Demohttps://apio.xyz/weixin-login-php/

须知

  此方案仅适用于微信开放平台-网站应用。Node.js版本使用ES模式,支持Node.js 16+,写法遵循standard规范。

MySQL批量重命名表名和列名
  •   更新:2022-02-23 20:16:12
  •   首发:2022-02-23 20:16:12
  •   源代码
  •   1011

MySQL批量重命名表名和列名,修改表名为大驼峰,列名为小驼峰。

最近公司项目重构,为了适应Prisma的习惯,保持数据库字段命名方式和代码模式一致,特地编写此脚本实现批量重命名已存在的表名和列名。

Auto.js 小米MIUI自动解锁屏幕脚本
  •   更新:2022-02-22 17:28:41
  •   首发:2022-02-21 22:53:16
  •   源代码
  •   2046

使用Auto.js解锁MIUI13的密码锁屏,不能直接滑动屏幕,会因为防误触功能导致解锁失败,关闭防误触也没用。只需要滑动的时候不那么直接即可。

if (!device.isScreenOn()) {        //从息屏状态  将屏幕唤醒
    device.wakeUp()//唤醒设备
    sleep(2000) // 等待屏幕亮起

    swipe(random(device.width / 3, device.width / 2), random(device.height * 8 / 10, device.height * 7 / 10), random(device.width / 3, device.width / 2), random(device.height * 2 / 10, device.height / 10), random(500, 1000))
    sleep(1000)

    //解锁
    desc(1).findOne().click()
    desc(2).findOne().click()
    desc(3).findOne().click()
    desc(4).findOne().click()
}

通过下拉再点击时间的方式在MIUI13行不通了,但实现也不复杂,核心实现是上述第四行代码。

SSL证书过期监测
  •   更新:2022-02-08 16:52:00
  •   首发:2022-01-28 23:46:00
  •   源代码
  •   1562

部分程序配置了免费 SSL 证书更新程序,但是更新程序更新证书失败并不会通知到管理员,可能导致业务异常。通过针对域名的 SSL 证书过期监测小程序,作为二道防火墙,避免事故发生。

需求

  1. 以 cron 风格定时监测 SSL 证书过期和可用状态。
  2. 提前 2 天发送短信通知管理员(需要支持多手机号)。
  3. 可以在线维护通知列表(域名+手机号)。
  4. 程序要尽量简单,尽量降低后续维护成本。
  5. 开发要尽可能快。
  上一页 下一页