- 博客(50)
- 资源 (1)
- 收藏
- 关注
原创 这些年造过的一些轮子
活到老,撸到老。总的来算这些年做的大都是一些面向开发的东西,没有大的成就,也没有什么收益。后续可能希望更多的做一些独立应用,能搞点副业收入是比较好的。当然之前没有填完的坑还是会继续填一填。过几年再更新。
2023-06-17 14:14:34
332
原创 酷炫的3d虚拟键盘,h5模拟键盘,键盘keycode查看,web键盘
空闲时间写的一个3d虚拟键盘,可以查看keycode,支持mac和windows键盘。
2023-05-15 11:39:48
152
原创 Alins - all in js UI 框架, css-in-js
Alins 是一个 All-in-js web ui 框架,具有非常高的灵活性,使用 js/ts 代码想组合积木一样将您的 dom/css/state 组合成一个 web 应用,同时对于dom和css都具有极高的响应式能力
2022-12-14 11:21:29
150
原创 web终端页面 - 仿linux命令 基于HTML5 FileSystem api 浏览器磁盘/操作系统
web终端页面 - 仿linux命令 基于HTML5 FileSystem api 浏览器磁盘/操作系统
2022-11-21 10:28:29
246
原创 String-Worker 让创建 WebWorker 更轻松
StringWorker 致力于帮助开发者低成本接入WebWorker,在webpack和rollup项目中,引入js或者ts模块作为worker内部代码,无需单独维护woker内部代码
2022-08-12 07:32:07
221
原创 基于 WebWorker 和 indexedDB 的高性能、高容量、高扩展的web端日志系统
idb-logger 致力于帮助web开发者便捷高效的接入高性能的日志系统,依托于webworker和indexedDB技术,web应用可以已几乎不影响用户体验的方式在浏览器中存入大容量的日志,并且在合适的时机上报到服务端,或者由用户自行下载。...
2022-08-12 07:30:38
622
原创 评论组件 无需任何账号,免费使用的评论系统 tc-comment
一个支持markdowm和emoji评论组件,无需任何配置,无需申请任何账号,即引即用3. 配置参数appName: 必选 起一个应用名称,建议数字+字母组合,支持使用 / 划分目录 如 appName = blog/2022/helloel 渲染的容器 默认会append一个元素到body上theme 主题色darkSelector 填写一个深色主题色的选择器,一般用于适配主网站的深色主题services,urlConfi...
2022-07-08 05:40:08
492
1
原创 nodejs 向手机发送强提醒,定时向手机发送提醒
思路: 准备两个邮箱,利用nodejs使用A邮箱向B邮箱发送邮件,手机系统邮件绑定B邮箱,开启邮件铃声,整个链路就完成了。可以使用crontab开启定时任务。1. 邮箱准备邮件通知需要准备两个邮箱,这里以两个QQ邮箱为例另外还需要使用iphone自带的邮件APP发送邮箱发送邮箱需要到 设置 => 账户 => 开启 POP3/SMTP服务;然后将授权码和邮箱配置到 emailCode 和 fromEmail接收邮箱接受邮箱需要到 设置 => 账户 => 开启 IMA
2022-04-14 11:44:13
871
原创 叮咚买菜nodejs自动下单脚本,支持邮件强通知和定时任务,支持捡漏和高峰模式
叮咚买菜自动下单 Nodejs 脚本GitHub 源码0. 前言本项目仅供技术学习和交流2022年初,由于上海疫情告急,出现了全民线上抢菜盛况叮咚买菜每6:00,8:30开放让人们睡不好还基本抢不到于是研究了一下叮咚买菜小程序,搞了这么一个脚本可以自动下单脚本快速开始git clone git@github.com:theajack/dingdong-node.gitcd dingdong-nodenpm i# 按照 2.填入用户配置 自行配置用户信息npm start1.
2022-04-14 11:36:20
2301
原创 零代码 一条链接开启你自己的留言板 message-board
MessageBoard笔者空闲时间搞了一个留言板,加了一个通用的功能,使得第三方可以一条链接就开启属于你自己的留言板首先取一个你的应用app,比如叫 message-board然后拼一个链接就可以使用了https://...
2022-04-05 10:52:10
1005
原创 IOS 苹果手机 使用重力加速度,js web devicemotion,deviceorientation事件
IOS 上使用 devicemotion,deviceorientation 事件获取移动设备方向和动作数据时,不起效原因: ios13+ 限制了该事件必须在有用户点击才可拉起询问,询问同意才可以响应这两个事件<button onclick="start()">start</button><script> (function () { var script = document.createElement('script'); script.src="ht
2022-03-29 15:46:36
985
2
原创 webpack + typescript 开发微信小游戏实践
源码地址微信小游戏版本技术选型使用typescript开发但是微信小游戏原生不支持 typescript 开发,于是探索一下使用ts开发微信小游戏1. 创建小游戏使用测试号,创建一个使用官方示例的小游戏会生成一个可以直接运行的打飞机小游戏2. 准备工作2.1 安装依赖首先 npm init一下,生成package.json在 package.json 写入如下 devDeoendencies, npm install一下"devDependencies": { "@b
2022-02-10 11:39:52
4062
3
原创 使用 vite + vue3 的demo项目,使用setup语法糖,vuex4+, vue-router4+ eslint less typescript
笔者最近鼓捣了一个 vite + vue3.2 的demo项目,使用了setup语法糖,vuex4+, vue-router4+ eslint less typescript分享一下 vite & vue3.2 demoVue 3.2 + ViteDemo project using vite + vue3, using setup syntactic sugar, demo project of vuex4+, vue-router4+Technology Stackvue3.2+,
2021-11-18 12:27:55
571
原创 github push 推送代码失败. 使用ssh rsa key. remote: Support for password authentication was removed.
今天push代码到github仓库时出现这个报错TACKCHEN-MB0:tc-image tackchen$ git pushremote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.remote: Please see https://github.blog/2020-12-15-token-authentication
2021-08-18 23:15:04
965
原创 优雅的 跨窗口通信 与 全局页面管理 解决方案 cross-window-message 不同窗口发消息js库
???? 优雅的 跨窗口通信 与 全局页面管理 解决方案 cross-window-message分享一个本人开发的 跨窗口通信 与 全局页面管理0. 特性支持不同页面之间的 定向通信 和 广播通信支持任意方式打开的页面,不局限于 window.open 方法支持多个由主页面打开的子页面之间通信支持标记和追踪各个页面的状态,方便进行全局页面管理支持关闭子页面等多种方法调用支持监听页面事件1. 安装使用1.1 npmnpm i cross-window-messageimpor
2021-05-21 13:15:04
265
1
原创 js生成二维码,js 解析二维码,jsqrcode,js从url生成二维码
封装了一个生成和解析二维码的js库,功能基于 aralejs/qrcode 和 cozmo/jsQR动机是由于这个两个库使用较为复杂,本人想达到一个目的,就是解码时传入一个图片url或者file对象,直接返回内容。编码时传入内容直接返回image对象或者base64,于是做了这样一个封装。以下是github地址及文档???? tc-qrcode 简单好用的生成和解析二维码的js库英文 | 在线使用 | 更新日志 | 反馈 | Gitee1. 特性调用单个api生成和解析二维码使用Promi
2021-05-15 17:42:19
1107
原创 微信小程序全局mixin 全局stroe 全局状态管理 全局公共组件 方案 mp-mixin js库 劫持生命周期
由于微信小程序没有顶层组件与原生mixin方案,在做一些全局公共组件时十分棘手,也没有办法跨组件维持状态,所以笔者将我平时用到的一个方案封装成了一个js库 mp-mixin , 分享给大家,希望能够有帮助,以下为github地址与文档mp-mixin???? 微信小程序 mixin 和 store 方案1. 特性支持 mixin data、methods、生命周期及Page事件支持不同Page 使用 store 共用状态支持全局 mixin 和 storetypescript编写支持QQ
2021-05-02 22:26:56
709
2
原创 laya layaAir 获取碰撞点信息报错 Cannot read property ‘b2WorldManifold‘ of undefined 解决方案
如题获取碰撞点信息时报错全局搜索一下 getHitInfo,发现这里 laya.physics.js 里有一个低级的this指向的bug由于没有使用箭头函数,这里的this指代的是contact而不是当前的 Physics 类,改成箭头函数就可以了...
2021-03-24 11:11:50
294
原创 js 正则 表达式 多关键词 忽略顺序 顺序无关 模糊搜索 查询 匹配通用方法
如题,有需求需实现基于js的多关键词顺序无关模糊搜索,多关键词以空格区分比如 男 皮鞋 亮皮 需要能够匹配以下组合男款韩版皮鞋春季亮皮韩版皮鞋男款春季亮皮男款亮皮韩版皮鞋春季男款韩版春季亮皮皮鞋…(总之与顺序无关)代码也简单一个函数搞定function createMutilWordQueryReg (query) { let regStr = query; if (query.indexOf(' ') !== -1) { // new RegExp('^
2021-02-15 09:57:39
1350
原创 分享一个可以 计算 项目代码行数 的工具/js库
count-code-line本人开发的一个可以计算项目代码行数和字符串的工具0. 特性支持计算代码行数和代码字符数丰富的配置文件,支持匹配任意规则的文件或文件夹支持生成计算结果的json支持全局安装命令行使用1. 安装1.1 全局安装npm i count-code-line -g1.2 本地安装npm i count-code-line -D2. 使用2.1 全局安装使用在任意项目内打开命令行工具,运行一下命令即可count-code-line运行成功会在根目录
2021-01-08 16:32:41
376
原创 js设置长按esc退出全屏;拦截所有所有按键事件;全屏模式下拦截esc按键;javascript;chrome
转载请注明来源,谢谢实现长按esc退出全屏,全屏模式下拦截esc按键事件作者:theajack浏览器的全屏api requestFullscreen 在全屏模式下会屏蔽掉对 esc 按键的监听,全屏模式下按 esc 只能是退出全屏。使用 navigator.keyboard api 可以实现长按 esc 退出全屏,而使得我们的js代码可以拦截到esc按键事件查看实例 | 实例源码api使用如下,该api只在新版本chrome且是https模式(或localhost和本地文件)下可以,需要做兼容处
2020-11-27 16:09:48
2854
3
原创 js 禁用 web开发者工具 禁用 f12 功能 浏览器菜单栏禁用开发者工具
分享一款笔者开发的禁用web开发者工具的js库 disable-devtool使用起来十分方便,引用一个script就可以<script id='disable-devtool' src='https://cdn.jsdelivr.net/npm/disable-devtool/disable-devtool.min.js'></script>该库还有以下特性:支持可配置是否禁用右键菜单禁用 f12 和 ctrl+shift+i 快捷键支持识别从浏览器菜单栏打开开发者
2020-10-22 01:31:18
5612
25
原创 typescript 声明文件 继承扩展其他模块,扩展String等原生对象,函数不确定参数个数,json不确定属性
typescript声明文件 可以用于js库兼容ts引入、定义类型使编辑器提示更友好。本文用于记录ts声明文件中一些技巧,不介绍声明文件的基本用法,基本用法可以参考ts官网。1. 继承扩展其他模块比如你的一个模块扩展了 vue,在vue对象上新增了一个方法,那么在你的声明文件中这样定义可以获得编辑器智能提示:declare module "vue/types/vue" { interface Vue { fn():void; }}找到你希望扩展的对象所在的声明文件,然后在对象上
2020-06-16 15:01:49
1744
原创 成语接龙、歇后语 js JavaScript html web nodejs成语接龙离线js库
介绍一款可以玩成语接龙的js库1. 介绍cnchar是一款功能全面、多端支持的汉字拼音笔画 js 库官方文档在版本2.2.0,cnchar引入了成语功能,cnchar几乎涵盖了与汉字有关的方方面面,拼音、笔画、笔顺、多音字词…以下是详细功能描述获取 汉字拼音 ,支持首字母、大小写、数组分割、备选 多音字 等功能支持 多音词支持 拼音音调获取汉字 笔画数 、支持数组分割获取汉字 笔画顺序 、笔画详细名称支持可视化 绘制汉字笔画 、多种绘制模式可选支持 简体字 、 繁体字 、 火星文
2020-06-10 10:56:36
1138
原创 Github互助者联盟-github仓库互相star,小众项目快速积累初始star
???? Github 互助者联盟所有项目 | 提交仓库 | English旨在帮助开发者积累自己仓库的初始star数,助你平步青云初衷好项目曝光度不够,star数稀少,小众项目开发者之间可以互相star支持,积累一定的初始star数量,这样获得官方推荐或是其他曝光的机会会增加当初始star数量增加之后,获得新star的概率也会增加然而现有QQ、微信群互助方式不够理想,消息杂乱,操作繁琐,故建立一个star-each-other仓库原则诚信互助,永不取消starstar之后请在issue
2020-05-11 15:19:06
793
原创 echarts 自定义、覆盖legend点击事件,禁用legend默认的点击行为
有一个需求场景,使用echarts时想要自定义legend的点击事件,但是不要legend的默认点击事件——就是点击会隐藏和显示对应的饼图查阅文档和手册之后,发现没有可以直接使用的方法那么换个思路,在默认事件触发之后再把取消选中的legend选中回来就可以啦依赖以下下几个配置:1. legendselectchangedmyChart.on('legendselectchanged', ...
2020-04-26 18:17:33
8118
4
原创 搭建一个完整的typescript运行环境【webpack、eslint、babel配置】
本人搭了一个支持eslint的typescript运行环境,分享一下只需要克隆,安装依赖就可以运行起来了在你喜欢的目录运行:git clone https://github.com/theajack/ts-demo.gitcd ts-demo使用淘宝镜像安装依赖npm i --registry=https://registry.npm.taobao.orgnpm run dev...
2020-04-19 22:32:25
768
原创 在web h5 上 js 绘制汉字 按笔画绘制汉字 汉字拼音 多音字 笔画繁体字 cnchar
推荐一个汉字工具库 cnchar, (文档地址)该工具有以下功能获取 汉字拼音 ,支持首字母、大小写、数组分割、备选 多音字 等功能支持 多音词支持 拼音音调获取汉字 笔画数 、支持数组分割获取汉字 笔画顺序 、笔画详细名称支持可视化 绘制汉字笔画 、多种绘制模式可选支持 简体字 、 繁体字 、 火星文 互转支持 查找 某拼音的所有 汉字 ,繁体字,多音字支持 查找 指定笔画...
2020-04-17 11:05:21
1079
原创 vuepress自定义组件 nuxt服务端渲染的奇怪bug:Failed to execute 'appendChild' on 'Node'
记录一个遇到的超级诡异的问题,在写cnchar文档时,本人基于vuepress自定义组件来实现一些动态功能,然后dev调试一且正常,build完成之后发不到线上发现某些页面会报下面的奇怪的错误,看不出问题产生原因。网上搜索一遍,没有找到有用的答案,于是只有本地build调试,试了千百次之后,发现原因是自定义组件只要用一个 div 包裹起来就可以了。不要问我怎么发现的,肝就完了!!但是坑爹...
2020-04-14 00:07:51
2437
1
原创 Github Pages:Page build failed 问题原因及解决【cnchar、vuepress】
记录一个究极奇怪的问题,Github Pages:Page build failed本人写了一个汉字工具库 cnchar,部署在Github Pages上面,之前一直是这么用的,后来突然有一次push代码之后给我报错了,Github Pages:Page build failed百度 谷歌搜索都找不出原因,点进官方help文档也没有查到任何有用信息于是只有祭出调试终极法器:排除法首先新建...
2020-04-13 11:39:35
2850
1
原创 WebWorker 加载 js代码,而不使用url; js下载字符串作为文件; js执行字符串代码【Blob的骚操作】
1. 介绍WebWorker 允许开发者在Web上创建多线程,对于计算密集型操作,可以大大优化web应用性能。但是WebWorker文档中只介绍了 是由url来创建一个worker,使用webpack时使用worker-loader 时,通过 inline: true 的选项可以创建一个内联worker。如果不使用webpack或worker-loader时应该怎么操作呢?答案是通过Blo...
2020-04-08 17:36:57
1359
原创 Vue自定义组件中使用Element-UI Dialog组件,点击关闭报错 [Vue warn] Avoid mutating a prop directly
Vue自定义组件中使用Element-UI Dialog组件,点击关闭报错 [Vue warn] Avoid mutating a prop directly这是由于自定义组件使用了传入的prop作为 Dialog 的visible绑定值,导致Dialog关闭直接修改了prop而被vue警告,并且操作失效解决方法也很简单组件引用是传入属性使用 .sync 修饰符<comp :visi...
2020-03-27 20:00:26
1122
3D俄罗斯方块-c#编写
2015-01-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人