最近有需求监控一个的活动中某个参赛作品的排名情况,尴尬的是该活动自己没有一个排名页面,活动数据是分页且无序的。因此这里想到了用GitHub Action来构建一个实时监控网页排名的工具。

实现思路

  1. GitHub Action设置schedule cron定时任务,比如每10分钟执行一次。
  2. 执行脚本请求网页的API接口,获取数据信息,这里我想对熟悉JS,因此采用nodejs来实现。
  3. 根据数据信息,计算排名情况,处理成需要的数据。
  4. 根据数据,更新到HTML。
  5. SSH连接到服务器,上传HTML文件。
  6. 同时发送数据到TG,做到IM即时通知。

最终产物

  1. HTML页面,展示排名信息,每10分钟刷新一次
  2. TG机器人,发送排名信息
阅读全文 »

网页的输入框在手机侧触发输入时会唤起系统键盘,其中如果想键盘底部显示搜索按钮是需要设置的。

input type=”search”

如下设置后,实际测试iOS下并不会显示搜索按钮,但Android下会显示。

1
<input type="search" />

enterKeyHint=”search”

阅读全文 »

常用插件

1
2
3
4
"eslint-config-tencent"
"plugin:react/recommended",
"plugin:@typescript-eslint/recommended",
"plugin:react-hooks/recommended"

最近在看前端动画卡顿问题,也跟刷新率有关,这里就查了刷新率的相关介绍,这里记录下。

什么是刷新率

刷新率是指显示器每秒显示的图像数量,单位是赫兹(Hz)。比如我的MBP外连了Dell的显示器,在OS中可以看到这台显示器当前的刷新率。

人类能感知到的刷新率

阅读全文 »

以前做了个webpack插件domain-replace-loader,主要是实现将前端JS中域名进行替换,比如替换为新的域名或者全局window的JS属性,这样就避免了需要人工检索所有repo仓库。但有些需求并不是替换域名。最近就接到了
同事提过来的需求,即需要将代码里的变量名进行替换。比如原先叫T_PROJECT, 需要自动修改为P_PROJECT。为此我改造了下插件,使其支持了变量名自动修改。

改造思路

本身插件能做到替换的关键点是利用esprima解析代码,然后分析每个token,然后根据token的类型进行操作。

可以看到属性对象的type是Identifier,因此只需要判断属性对象的name是否符合要求,如果符合要求,则进行替换。

阅读全文 »
0%