自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 Combine 中 Publisher、PassthroughSubject 和 CurrentValueSubject 的基本用法和区别

Combine 中 Publisher、PassthroughSubject 和 CurrentValueSubject 的基本用法和区别

2023-03-10 13:51:40 658

原创 【pyenv】解决 pyenv install 国内下载缓慢的问题

可以先去镜像网站看看有没有自己需要的版本资源,我看了一下,基本都有。原理是先把安装包下载到缓存里,install 时会自动检测。将版本号替换为自己要下载的版本即可。

2022-08-22 23:34:39 3683 4

原创 【vue滑动与点击监听组件】监听页面左滑右滑、防止滑动中误触发click事件

0. 本文参考https://ask.dcloud.net.cn/article/380741. 使用场景监听手指向右滑动,触发返回事件监听手指向左滑动,拉出元素的更多功能,如删除防止页面滑动时误触发Click事件,也是我的出发需求,在uni-app开发时,向下滑动一个列表,如果恰好起始位置是一个click组件,即使滑动一段距离,@click事件还是会触发,因此想通过 @touch 区别开2. 组件代码(touch-listen.vue)<template> <view

2022-05-22 12:22:31 5165 3

原创 js在表达式中使用当即执行函数来确保必填参数

有时我们在一段代码中需要定义一个变量是某个值的引用,同时需要确保这个值是存在的。比如在express的某个接口里,我们有一些参数要求是用户必须传入的,这时候如果不进行验证执行继续运行的话,就会出现各种问题。因此校验参数是必须的。原代码使用if判断,容易导致代码里出现大量的if判断,不优雅try { // sid 是必填参数。 let sid = req.body.sid; if(!sid) { throw Error('缺少必填参数') } // do someting}catch

2022-03-23 02:38:25 579

原创 Js自定义Error异常类型,与Vue全局异常捕获二者的妙用

用处我想大家在Vue开发的过程中都会使用自己的提醒组件来对用户进行错误提示。如使用element的message组件。this.$message({ showClose: true, message: '登录失败', type: 'error'});当我们在代码里使用了特别多的提醒信息后代码会变的特别臃肿不易阅读,且后续如果想对提醒样式进行修改非常麻烦,因此我们可以使用Js自定义Error异常类型,与Vue全局异常捕获二者结合,实现统一提醒。1. 自定义Error类型参考:

2022-03-19 23:17:10 2026

原创 使用crypto-js实现aes-128-cbc加解密

aes-128-cbc(utf8环境,密文使用Hex编码)import CryptoJS from "crypto-js"; export default { //加密 encrypt(data, keyStr = 'fXoY5SYpr2uz4yFr', ivStr = 'UV4kibe6BDBN3HrE') { let key = CryptoJS.enc.Utf8.parse(keyStr); let iv = CryptoJS.enc.Utf8.parse(i

2022-03-19 18:18:57 4213 1

原创 Nginx Lua OpenResty 反向代理websocket并对响应内容进行过滤

【需求】目前的需求是有一个需要身份认证的Websocket接口,目前用户可以调用,但是我们需要过滤掉一些敏感信息,让包含这些信息的text不发送给用户。【前期尝试】首先我知道nginx可以直接反向代理 websocket。其次我也知道可以通过openresty中的body_filter_by_lua对响应进行处理。那么将这两者结合起来能否实现websocket的消息过滤呢?答案是不能。或者说可以实现但是非常复杂,涉及到一系列协议,因此放弃了。【最终方案】经过广泛搜集资料:发现了一个日本小哥写

2022-02-18 19:45:57 3385 2

原创 JS数组sort()方法中的比较函数的理解。

大家在学习sort方法中的比较函数时可能经常见到下面这种例子。var points = [40,100,1,5,25,10];points.sort(function(a,b){return a-b});教程往往直接说返回 a - b 就是升序,b - a 就是降序。那么我们应该如何理解呢?1. 比较函数参数 a, b 代表的含义sort方法是对数组中的值进行冒泡排序,因此a, b便代表数组的两个相邻元素。这里特别需要注意的是 a 代表后面一个元素,b 是前面的元素!!!ab 不仅可以是数字

2021-11-08 22:41:47 3947 2

原创 Nodejs图片验证码生成库svg-captcha获取验证码图片不完整,缺少下半部分的解决办法。

svg-captcha确实是很好用的一个验证码生成库,它可以帮助我们快捷生成各类字符和简单算术验证码。然而我在一个项目的使用中却发现传入width和height参数后,验证码出现显示不全,十分影响用户辨识的情况。刚开始我是先通过ignoreChars来对容易显示不全的字符进行过滤,后来感觉这总归不是个长久之法,于是打算从源码入手找到问题所在。在/node_modules/svg-captcha/lib/index.js的27行,我找到了生成字符图片的getText函数。const getText

2021-08-19 17:20:08 2949

原创 NGINX根据不同的URI反向代理到不同的服务器

NGINX根据不同的URI参数(路径)反向代理到不同的服务器最近在做一个项目,用到了NGINX的反向代理,要求是根据URL后面不同的参数反向代理到不同的服务器。在网上查了一下查到的资料都是一个个在配置中进行匹配和代理,当我们有大量的底层应用服务器需要代理时这种逐个匹配的方式无疑太傻了。又查了一下NGINX的官方文档和各种资料,找到了一个比较合适的方案:就是利用Nginx中,$1表示路径中正则...

2020-04-09 22:24:20 2246

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除