TypeScript 浏览器插件开发
总结一篇 TypeScript 浏览器插件开发经验 推荐模块 webextension-polyfill-ts 浏览器插件API的TS包,开发插件必备 1import { browser } from 'webextension-polyfill-ts' 避坑:封装网络请求用browser.runtime.onMessage.addListener不能直接返回axios,虽然TS不会报错,但运行结果会是undefined 正确方法: 123456789101112131415browser.runtime.onMessage.addListener((request) => { const params = request.type === 'GET' ? { params: request.params } : { data: request.data } return new Promise((resolve, reject) =>...
Docker Nodejs 排坑笔记
原因之前做了个B站机器人,可以以图搜番,这个功能需要用到ffmpeg将视频转成动图 如果想给别人用那么别人配置环境会很麻烦,就这样顺理成章的想到了Docker 排坑初学Docker遇到不少坑 在Dockfile执行node在这里卡了一天,我一直在搜“Dockerfile 容器 执行命令” 最后发现我傻了,我为什么不找个docker+node项目看看呢,官方都有说明 Dockerfile 环境变量传入js中在Github搜了搜项目发现,在js文件中可以直接用process.env.XXX获取环境变量
程序猿复健计划之B站机器人
功能 梗百科,查询梗的意思 以图搜番,跟微信的区别是,它最后会发送动图,因为不能发视频 你可以使用宝塔Docker管理器轻松配置开启 教程 搜索镜像:imba97/bili-bot:1.0.0 创建容器 选择镜像,点提交 点击日志获取登录二维码 扫码登录(登录后这个页面不会有提示,用的Wechaty的二维码生成页) 重新打开日志会提示登陆成功 以上 如果不想用docker,也可以下载源码直接拿Node.js跑 但你还需要手动在电脑上装个ffmpeg,以图搜番会用它把视频转成gif Github
程序猿复健计划之微信机器人
起因朋友玩游戏分享到群里领游戏奖励,领完撤回,于是… 功能node.js太上头了,除了上面那个之外又做了点别的 梗百科,可以查询梗的意思 以图搜番,根据图片搜番剧,日漫为主,使用 trace.moe 的接口 黑白图上色,发送黑白老照片自动上色,百度的接口 基金查询,根据基金代码查询基金半年内单位净值,接口:小熊同学 - 基金接口 数据会转成图片发回给微信 使用详情请见:Github 程序猿复健计划解释一下,我二月份做了个近视手术,三个月内不能长时间看手机电脑这种需要近距离长时间看的东西 三月之期已到,码农,出山 ✔ 不过目前还是得看会休息会才行
党史学习笔记
...
请求接口类的封装
简述最开始知道这个方法是在公司一位大佬的代码里看到的,语言是TypeScript,当时感觉这个写法逻辑非常清晰,阅读极度舒适 后来又根据自己的需要加了参数类型约束,用在了一个浏览器插件项目中:Btools-vue(但在后来的一次重构中删掉了) 并且也在目前在做的Unity游戏中,用C#写了一个类似的,用起来也是非常舒适 使用先演示一下使用方式 TypeScriptUrl 类 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798import Vue from 'vue'import { default as qs, ParsedUrlQueryInput } from...
PicGo 插件开发入门
PicGoPicGo是一个用于快速上传图片并获取图片 URL 链接的工具,可以把本地图片上传到图床并返回各种格式的链接 插件PicGo支持插件开发,但官方教程并没有从零到安装成功的具体细节演示,只说了插件开发相关的一些东西 所以对新手的我来说还是碰到很多坑的,在此记录分享一下 入门教程下面我会用PicGo给我们提供的插件开发模板进行插件从零到安装成功的开发过程演示 全局安装 PicGo123yarn global add picgo# ornpm install picgo -g 下载模板1picgo init plugin <your-project-name> 根据提示进行配置 123456789101112131415161718192021222324[PicGo INFO]: Template files are downloading...[PicGo SUCCESS]: Template files are downloaded!# 插件名称? Plugin name: test# 插件简介? Plugin description:...
Typescript 浏览器插件开发 chrome/browser 代码提示
chrome/browser这两个是浏览器为插件开发提供的API,Chrome浏览器的变量名叫chrome,火狐浏览器的变量名叫browser 代码提示我用的编辑器是vscode,之前一直不明白怎么给这两个变量添加代码提示 最早尝试最开始我想的是加一个全局变量,搜到可以在.eslintrc配置中添加一个globals,把变量名加进去,但后来发现这个东西跟代码提示没半毛钱关系。这是ESLint的配置文件,它的功能只是代码检查。 问过插件开发的大佬,大佬只说导入Library啥的,当时的我亿脸懵逼。 typings看了github上的各种插件,发现有一个@types/chrome,typings是TypeScript的定义管理器,描述命名空间、接口、变量等各种东西,@types/chrome呢也就是别人写好的一个描述文件,去告诉编辑器我这里有个chrome变量,它下面有哪些方法之类的。 使用npm安装 1npm install --save-dev...
魔幻的2020
一年过得真快,2020年,我依然是延续去年的状态 间歇性踌躇满志,持续性混吃等死。 这次写篇小文章总结吧 工作过完春节,因为疫情的关系一直在家办公,我也非常喜欢这种办公模式,老宅男了。种种原因,公司的情况一直不是很好,年后没几个月,我从全职变成了兼职。兼职工资刚好够吃,再加上当时住的地方附近没有合适的工作,我就没急着找工作,自己做了做自媒体,于是就有了《每天一个JS程序》。其实从很早之前开始我也一直在做视频,只是当做一个兴趣,把做视频当正事干了之后,涨粉也算挺快(对我来说)。 但做视频的收入并不能养活我,公司的兼职到8月会最后一次发工资。这之后最现实的选择有两个,一是找工作,但因为我附近没有合适的,我又想在家附近找,所以只能搬家。二是先随便找个餐饮店、便利店之类的兼职,等合适的全职工作。当时挺佛系的,也没啥危机感,不紧不慢两边都在找。 也就在8月,出现了转机,发小突然问我要不要一起做独立游戏,经过各种探讨,最后我决定:入坑!于是我在 if(typeof dateMaker !== 'undefined') dateMaker('game');...