JSDoc 让JS有类型约束
这次我们来谈谈JSDoc,首先这是个啥,本质就是个注释,可以帮助开发工具认识你的代码。你可以通过它提升开发效率、降低运行时的错误率,更好的理解强类型语言。 主流编辑器应该都支持JSDoc,但我基本没用过别的所以不太清楚,本文章中演示用的编辑器均为vscode JS中的类型在js中,虽然类型的概念没那么强,但你依然无时无刻不在受到类型约束 比如最简单的document.querySelector 它会返回一个Element类型的数据,页面元素的基础类型HTMLElement就继承了该类型 但这时如果你想修改style,你会发现它并不会给你提示,因为style是HTMLElement的属性 JS Doc这时候,JSDoc就派上用场了。在你明确知道它类型的情况下,你可以直接声明变量的类型 1234/** * @type {HTMLElement} */const test = document.querySelector('.test') 此时再看代码提示,就出现了 并且你可以开启类型检查 12345// @ts-check/**...
杭州电动车上牌记录
经历了一次非常坎坷的电动车上牌之路,记录下来造福社会。 考虑到不想看废话的人,首先说结论: 上牌流程 支付宝搜索“杭州交警” 点击左下角“预约及违法处理” → “车管所预约” 在线申请 需要带的资料 身份证 电动车合格证 电动车发票 (根据地区可能还有其他的,上牌前看一下当地的注意事项) 重要:杭州部分上牌点,要求发票上需要备注电动车型号,如果发票上有其他信息必须与合格证上的一致,比如公司名称不能是简称 正片开始网上买了个小电动车,2021-08-04 到的,中间经历了艰辛的上牌之路,三周才成功上牌 工作日上班,所以只能周末去上牌,离家近的上牌点都约不上,只能打车带着车去远的上牌点 Round...
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:...