- 博客(88)
- 资源 (4)
- 收藏
- 关注
原创 koa框架之间的websocket通信
deviceController.js调用的时候,这里一定要注意,只要引用了这个js,里面的代码就会自动执行。这里已前端传递过来的mac地址作为唯一标识。后续自行改为用户的token等来作为用户唯一标识。调用接口的时候批量发送websocket消息。这里一定要注意有个端口与后端服务端有所不同。所以其他的文件就不要再重复引用了,
2024-09-19 15:42:44 177
原创 不用async与await将异步函数改为同步函数
最近做一个项目token校验,发现之前用的插件不能加密之后可以直接解密,一点都不安全。所以换了一个插件,但是遇到了另一个问题。原本的函数是同步函数,现在换了插件之后变为了异步函数。有很多的代码都调用了这个函数,总不能每个调用该函数的地方都加await或者then。调用的时候为sign('aaa')而此时代码变为如果这样的话,其他调用的地方就变为了这两种由于考虑到有很多地方都调用了这个函数,总不能所有文件都去修改吧!这个时候我们可以用deasync来做异步改同步操作。
2024-08-28 19:28:55 358
原创 用jose来解决jwt中的token可以解密的问题
用token做用户检验,好处不用说了吧!服务器几乎不需要存储用户的登录状态等信息。大幅度降低服务器内存的压力。访问接口我们只需将token进行解密即可。但目前的jwt是真心的不安全。我以为只有后端服务器可以解密,现在才发现随便一个工具都能解密。大家可以尝试用这个网站看看自己的token是否可以解密。JWT的token在线解码解密工具-开发者工具不得不说实在太坑了,那么多人都用的token,你却把安全不考虑进去,这和直接把用户信息暴露出来有啥区别?
2024-08-28 19:06:57 74
原创 记录一个困扰两天的bug,vue3代码用vite打包运行出错的问题
由于开发环境是正常的,生产环境是坏的,所以无法定位代码哪里错误,只能用排除法,不断修改,打包,修改,打包。后来才发现上面的案例中gameStatus的一个父组件与子组件的通信,我只要改了gameStatus就报错,什么$refs undfined特别的无语。只能换一个方式来处理,这种游戏状态组件里直接用局部变量,myStatus来做判断,然后父组件直接修改子组件的myStatus。这种形式的写法就可以直接获取组件了。首先的第一个问题是proxy.$refs.组件名称,这种写法突然不支持了,其他页面支持。
2024-08-13 16:33:43 322
原创 h5中web端调用自带摄像头并且录屏上传保存视频
录屏结束回调将chunks中的视频上传到服务器formData.append('video', recordedBlob, 'recordedVideo.webm');navigator.mediaDevices.getUserMedia 此函数调用摄像头获取视频流。mediaRecorder 录制视频的函数。其实也就是一个普通表单格式的视频上传接口。摄像头数据存储到chunks中。
2024-08-04 18:05:17 244
原创 Babylon.js 添加背景面板,让其铺满整个屏幕,平行相机与平行光线
搭建好了场景并封装为组件,但是用的的时候canves的尺寸是变化的,然后背景以及对应所看的界面却不好跟着变化。导致背景不好调整。
2024-08-04 15:29:53 147
原创 用Babylon.js 滑动屏幕画图形,签字等
在上篇文章中我们已经了解到了该游戏引擎的基本搭建过程。比如灯光,摄像头,场景、事件监听等。这里我就不做多介绍。运用以上知识点。我们此时做一个小游戏画图。
2024-08-02 16:22:08 219
原创 babylonjs游戏3d引擎笔记
在之前用unity研发过不少游戏,但是都是基于pc或安卓等。而h5这块发现不太好嵌入。最主要是体积太大,加载太慢。所以这次找了一个类似unity的适合web前端开发的游戏插件。为什么选择此插件,不选择three.js呢?因为做过3d游戏的都应该知道,游戏它不仅仅是渲染3d模型,它还需要内置很多交互功能以及模拟的物理功能,如碰撞,射线点击,精灵等。这样才能更好的制作出可交互的游戏出来。
2024-08-02 15:42:42 240
原创 h5调用摄像头,并根据算法识别人脸跟踪
其实也就是调用navigator里的mediaDevices函数,此时浏览器即可调用自带摄像头,视频流数据会通过then回调传递过来,这时我们用前端的video将视频资源存放到该标签里即可展示画面了。此函数不仅支持pc端,移动端以及微信也可以正常使用,多端平台都兼容。所以后续做移动端开发都可不用写插件来获取视频信息了。这里要注意:此函数有安全策略只支持localhost与127.0.0.1也就是本机访问,以及https协议的网址访问。
2024-08-01 16:58:00 174
原创 vue中路由来回切换页面直接卡死
如上图当页面跳转到riskdetails详细页面之后,框架则被这个详情页面的vue替换了,从而导致再次切换到companylist 直接就卡死了。今天发现一个很严重的问题,项目好不容易做好了,结果页面多了,切换之后卡死。页面所有的交互效果都失效了。排查了许久的错误原因最后发现原来是路由名称重复了。
2024-07-01 18:32:20 514
原创 forever启动后端服务,自带日志如何查看与设置
最近用forever启动后端node服务,当自己写的项目有bug时,确实写了不少console.log,没有用logger4插件来写log,但最近才发现forever为自动保存console.log的信息到服务器。还是蛮爽的。
2024-06-27 11:11:50 299
原创 linux系统宝塔服务器temp文件夹里总是被上传病毒php脚本
服务器时不时的会发送短信说你服务器有病毒,找到了这个tmp文件,删除了之后又有了。确实是有很多人就这么无聊,每天都攻击你的服务器。找了很久的原因,网上也提供了一大堆方法,但都是很简陋的答案,具体怎么操作并没有说。没办法只能自己去排查这个问题。从两个角度来考虑,第一是服务器系统问题,比如宝塔的漏洞。但一时半会看不出问题来。只能去排查自己的项目代码。最后了解到代码确实是存在漏洞的。但代码中也确实了很多的校验,为什么会存在漏洞了?这就不得不从上传的过程开始说起。
2024-06-13 11:55:27 661
原创 x6.js bug记录-流程图json数据导入进来之后拖拽节点,节点直接飞走了
找了一下午的问题,最后发现。保存的json坐标位置是字符串类型,而这边的位置必须是数字类型。添加josn数据进来之后虽然能正常渲染,但是只要一拖拽,则节点就直接飞走了,看不到了。蛮坑的虽然解决办法简单,但找到该问题却耗费了一下午时间。最后将字符串类型改为数字类型就好了。
2024-05-11 17:32:25 145
原创 mongodb中的多表查询aggregate中排序不是按全表排序,而是当前页排序问题如何解决?
而找了很久才发现原因,其实aggregate函数中数组里的每个条件都是有顺序要求的,也是按顺序执行条件。所以只需将排序条件放到最上面即可。其中还少一个知识点则是排序。而起初写了排序条件之后发现排序并不是按全表排的。在上篇文章中讲到了多表查询。
2024-04-13 11:39:36 271
原创 关于在线excel插件Univer笔记教程
univer在线excel插件确实是够强大,但也存在不少bug,用户用起来是真的很爽,和本地的wps差不多,但真正的开发起来是真的费劲。由于文档提供的信息不足,我们很多功能只能去看他们插件里的源代码,然后一点点测试,一点点尝试研究。此文章可省去五天的研究成本
2024-04-11 17:30:14 2056 3
原创 js中调用函数与用new调用相同函数的区别
最后还一个要注意的区别,函数里面有返回值,如果是对象的话,这里new完之后的结果则是你返回的值,如果不是对象则自动按以上两点返回对象。如下案例,返回值则{name:'名称'},结果与直接调用函数的结果是一样,并且其中添加的this.x与this.y属性也都不存在了。如果是普通的直接调用函数的话,这里要注意:这里的this则指的是window,调用函数之后就相当于创建了一个公共的变量x与公共的变量y。用new调用函数的话,这里的会返回一个对象。而这里的this所指的x与y则为new完之后的对象属性。
2024-03-22 11:10:46 176
原创 两组数组都是对象,合并数组如何去掉重复的内容?
先创建一个函数isEqual判断对象中的每个key与value是否相等。过滤时通过some进行迭代判断对象是否存在相同的。而数组里是对象如何处理重复呢?合并时通过filter函数进行过滤,然后用concat函数合并数组,
2024-03-19 16:47:53 254
原创 x6.js 从流程图组件库中拖拽组件到画布dnd使用
上一篇已经了解到了x6.js常用功能以及使用方法。但我们使用流程图的时候还少不了一个非常重要的功能那就是拖拽组件库里的组件进来。如下图:首先是布局这块,拖拽组件库的视图中布局无需我们去写,我们只需把界面搭建好。
2024-03-14 16:32:41 851
原创 vue中如何查看组件有哪些函数与变量
在开发的过程中,经常用到他人的框架,特别是开源框架比如element,uniapp等。其中就涉及到框架里对应的组件。而组件里又有哪些内置的函数,我们通常是去查官方文档。然后很多的时候需求的多样性,要改的地方也是不一样的,我们通过文档查到的组件函数并不能满足我们的需求。这时我们来教大家一个技巧如何快速的查看组件内置的函数与变量。
2024-03-13 17:31:33 799
原创 修复element框架中el-popover动态添加内容时,布局超出界面的问题
分析之后其实其中的原理很简单,当悬浮的时候这边的el-popover就已经将要展示的位置计算好了。也就是位置已经固定了。如果再添加内容则不会再重新去计算位置了。所以解决办法也很简单,点击“链接”的时候只需关闭弹框,然后再强制打开弹框即可。需求如下:悬浮出现弹出框,然后点击“链接”之后,出现详细信息。发现虽然都展示了,但内容已经超出边界了如下图。
2024-03-13 16:25:30 1249
原创 x6.js 流程图绘制笔记,常用函数
有时候节点不断的添加,节点会越来越多,如果要改某个节点就需要一个函数来查询节点信息。这里的节点信息与以上new Shape.cilcle的结构一样。这里的node1与node2则为以上节点的id,节点连接是根据id来连接的。这里的data打印出来结构如下。
2024-03-05 17:34:20 667
原创 循环中存在异步的情况如何让其正常执行?
最近写后端遇到一个情况,循环查询数据库,并且还需要校验数据是否正确。如下我需要对文件进行一个校验,并且要查询数据库中是否有文件相关的信息代码如下。起初我的想法是item前面加个async,虽然它没有报错,但确实没有暂停循环。它并不会去等待getData执行完。// ...获取到之后进行各种操作。最终解决方式是用for of循环来处理。
2023-12-07 17:46:15 164
原创 contos7中mongodb数据库无法备份与还原,数据库工具的安装
由于之前数据库没有卸载干净,导致直接用sudo yum install -y mongodb-org-tools命令无法直接安装,只能选择手动安装了。解压之后这里的bin里就有工具了,可以输入目录来直接使用了。先去官网找到mongo-tool工具。这样bin里的所有工具都可以直接输入名称来使用了。然后直接用wget来下载。如果想全局使用,则配置好环境变量即可。然后复制要下载的版本的地址。
2023-11-22 17:16:35 337
原创 nginx安装之后修改配置无效
这个问题排查了一晚上,配置怎么改都无效。原本以为错误信息在控制台就能告诉我们,但有些错误信息它都放在日志。查看了日志才发现是没有权限引起的。这种情况一般是防火墙引起的。可以临时关闭防火墙测试一下输入如下命令。
2023-11-22 10:43:55 499
原创 centos7卸载mongodb数据重新安装时无法安装的问题
查询所有关于mongo的文件,然后一个个去删除。直接删除即可,都是之前安装预留的文件问题。当然最好的办法还是去看日志信息。根据提示信息说这个没有权限操作。如果卸载不干净直接用。
2023-11-21 18:58:18 634
原创 contos7 设置mongodb需账号密码访问
切换到admin数据库:登录到MongoDB实例后,默认会连接到test数据库。要设置密码,您需要切换到admin数据库。连接到MongoDB实例:使用MongoDB的命令行工具(mongo shell)连接到MongoDB实例。请将 "adminUser" 替换为您要创建的用户名,将 "adminPassword" 替换为您要设置的密码。请将 "adminUser" 和 "adminPassword" 替换为您设置的用户名和密码。删除行首的 "#" 符号,并确保这两行没有其他的注释符号。
2023-11-21 18:57:09 744
原创 centos7卸载mongodb数据库
如果您已经删除了MongoDB的相关文件,但系统仍然显示已经安装了一个版本,可能是由于之前的MongoDB安装残留导致的。如果您仍然无法成功清除MongoDB并重新安装,请提供更多详细的错误信息或日志内容,以便我们能够更好地帮助您解决问题。安装MongoDB:按照之前提供的方法,使用官方存储库安装MongoDB。
2023-11-21 18:05:19 702
原创 centeros7系统安装指定版本的mongodb数据库
现在,你已经成功在CentOS 7上安装了MongoDB 5.0.6数据库。:首先,需要添加MongoDB的官方源。如果安装成功,你将看到MongoDB的版本号。这将使MongoDB在系统启动时自动启动。命令连接到MongoDB数据库并进行操作。这将安装MongoDB及其相关组件。此命令将启动MongoDB服务。保存文件并关闭文本编辑器。
2023-11-21 14:56:53 143
原创 centos7 安装node.js,不用wget也不用解压文件
CentOS 7默认的软件仓库中可能不包含最新的Node.js版本。因此,我们需要添加Node.js官方源。现在,你已经成功在CentOS 7系统上安装了Node.js。你可以使用Node.js和npm来开发和运行JavaScript应用程序。:首先,更新系统的软件包列表和已安装的软件包。这将下载并执行一个脚本,将Node.js 14.x的软件源添加到你的系统中。这将安装Node.js和npm,并将其添加到你的系统路径中。如果安装成功,你将看到Node.js和npm的版本号。
2023-11-21 14:48:03 131
原创 webpack环境变量的设置
现在虽然vite比较流行,但对于用node写后端来说,webpack倒是成了一个很好的打包工具,可以很好的保护后端的代码。所以这块的学习还是不能停下来,接下来我们来针对不同的环境做不同的设置写好笔记。引用场景主要是针对服务器的各种环境,比如生产环境呀,本地环境,开发环境呀。webapck 代码如下:也就两句话,当然输出的文件路径比如dist可以改为dist_use打包输出的地方用来区分不同环境下的文件即可。文件如下创建多个打包配置文件与env配置文件,这样就可以不同的环境使用不同的配置了。
2023-11-21 11:46:48 662
原创 彻底解决electron-builder安装问题与npm下载配置问题
我们先来了解一下资源下载,我们在通过npm install electron-builder安装的时候需要下载各种压缩包到电脑缓存中,然而有些资源包是在国外服务器,比如github这里需要魔法才能下载。然而也可以设置npm 里的淘宝代理,但代理的地址还是无法下载。electron_custom_dir 这个当前的版本,注意这里最好不要写死版本,否则安装的时候为自动拼接地址版本号则会是固定的比如我想安装21.2.0的版本,原本会自动从8.5.5里去寻找结果直接从10.0.0里去找了,拼接后的地址为。
2023-11-20 12:09:45 1523
原创 webpack编译卡住65不动,问题记录
此问题webpack没有报任何错误,导致我们只能用排除法,排除了整整一下午,为了避免又浪费一个下午时间,特此记录这个重要的问题。由于vue2中的template里只能放一个元素,不能同时同级放多个元素,所以将rule删除即可。这是开发过程中不小心粘贴的单词导致的错误。
2023-10-30 17:26:33 588
原创 如何利用vscode进行断点调试后端node开发的项目,如express或koa?
在我们平常开发中前端可以通过浏览器断点调试代码执行的过程,但是node项目后端通常用命令启动,但命令启动项目也只能打印日志信息,不能断点。所以这一章节教大家如何利用vscode进行断点调试。
2023-10-18 12:20:21 1522
原创 mongodb以及mongoose插件如何多表查询,如同时查询店铺以及里面对应的商品
一种很常见的场景,比如电商首页中,需要同时展示最近比较火热的店铺,以及直接展示店铺里对应的商品。或者用户下单之后购物车里可以看到所选的商品以及对应的店铺。如果不知道如何用mongodb自带的查询语句快速查询的话,我们能有的实现方案,可能是先查询店铺,然后通过for循环再查询店铺里的商品,而for循环是会反复操作数据库,对性能有极大的损耗,并且速度也非常的慢,所以这里我们来学习一下如何用mongodb来多表查询。$project可以配置要展示的哪些字段,但有时候字段的名称可能要修改调整一下。
2023-10-17 14:10:32 1181
原创 vue中表格数据已更新但界面内容没有更新,修复方案
而vue监听的数据也是内存里的数据变化,当然以上的方法在其他的情况下也是能用的,但如果你的代码过于复杂变量的关联也过于复杂可以试试一下通用方法。但要理解他们的内存指向就能很好的去解决这个问题,如果用深拷贝,则指向位置变了,从而导致第一次修改会正常渲染,后面修改都无效了。this.tableData = tableData 则是又将内存里的数据放到this.tableData中。存储起来的目的后面再说。由于代码的复杂性,tableData数据有可能是其他接口获取的,有可能是其他变量中获取的。
2023-08-21 11:26:25 505
原创 从零搭建vue + element-plus 项目
控制台输入 process.env.HOSTURL 能打印出http://localhost:3000 则表示配置成功。if(process.env.NODE_ENV == 'production'){ // 生产环境用另一个配置。这样默认env文件为开发环境下的变量,.env.production为生产环境中的变量。使用的话也很简单,process.env.HOSTURL充当全局变量使用即可。.env.production 文件即可配置 生存环境中的变量。如果页面能正常显示按钮,则表示框架安装成功。
2023-08-15 10:22:59 686
原创 若依系统前端使用问题汇总
任何系统基本都会存在bug,特别是功能多的情况。功能越多bug越多,功能与功能之间融合必定会存在诸多考虑不到的问题。每次遇到问题都是直接找到答案解决之后就没再去处理了。但时间长了又会遇到相同的问题。再次去找答案又会浪费大把的时间,因此一些问题最好都记录起来,后续遇到时直接查看文档即可。以下是用若依系统前端这块遇到的问题汇总。1.自己手动创建动态路由之后切换到自己的页面之后再切换到其他的页面,页面都是空白。找到AppMain.vue将transition动画去掉即可。
2023-06-19 12:06:21 549
element-plus-vite-starter-master.zip
2021-04-09
中文转换为拼音插件,插件封装好直接调用即可,提供了源码用户也可修改插件
2018-07-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人