node
文章平均质量分 65
一个假的前端男
一个 迷迷糊糊的前端
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
node 微信小程序支付及通知
要在小程序里集成微信支付,小程序自身必须是通过微信认证的。从扫码进去,点击左侧菜单的微信认证。原创 2025-03-12 14:24:59 · 1142 阅读 · 0 评论 -
node 微信小程序登录
做小程序开发之前,首先要申请账号。,可以进入,根据提示注册就好。原创 2025-03-12 13:49:42 · 958 阅读 · 0 评论 -
Node 使用 SSE 结合redis 推送数据(echarts 图表实时更新)
创建// 可以添加更多类型的统计查询。原创 2025-03-11 14:59:13 · 1333 阅读 · 0 评论 -
使用 Prettier 格式化代码(Node)
命令里,我们用了-D参数,这说明,它只需要在开发中使用。原创 2025-03-06 16:33:34 · 395 阅读 · 0 评论 -
Node 定时任务、排他锁、RabbitMQ 实现过期订单自动更新
那么这个42就是分钟了。大家先数一数,这里只有。放定时任务相关的文件。原创 2025-03-06 15:05:48 · 890 阅读 · 0 评论 -
数据库事务、乐观锁及悲观锁
在支付成功后,我们在自定义的里,依次更新了订单状态和用户信息。也就说这里先执行了更新订单表的SQL,接着又执行了更新用户表的SQL。但是大家想一想,有没有可能。订单表更新成功了,但因为某些原因导致用户表更新失败?比方说用户模型里,用户组的效验写掉了1,导致1存进不去。又或者大会员有效期计算错误,导致更新失败。这样就可能订单状态更新成已支付了,但用户却还是普通用户,或者大会员有效期没有增加,造成数据不一致。所以对于这种,连续执行多条SQL语句的操作,正确的做法是要加上事务。所谓数据库的事务。原创 2025-03-04 18:38:41 · 980 阅读 · 0 评论 -
解决Node (ORM) 部分种子文件中存在unique索引时 报错问题
【代码】解决Node (ORM) 部分镜像 内容字段为unique运行种子报错问题。原创 2025-03-03 16:27:03 · 226 阅读 · 0 评论 -
node支付宝支付及同步、异步通知、主动查询支付宝订单状态
在站点中集成支付宝,首先需要去开通。相关的流程比较繁琐,大家可以按照课程中的步骤,一点点去做好。应用公钥是传到支付宝网站上的。换来的支付宝公钥和转换了格式的-应用私钥,要保存到项目的环境变量里。支付宝支付,分为电脑网页和手机网页支付。两者显示的效果是不同的。在手机真机上支付,可以直接打开支付宝 App 进行付款。原创 2025-02-28 13:31:53 · 1205 阅读 · 0 评论 -
订单管理设计( node ORM)
用户购买大会员,需设计订单表记录相关信息。原创 2025-02-27 15:37:51 · 816 阅读 · 0 评论 -
express 会员开发理论
项目里想加上收费的功能 , 以课程为例: 可以对部分课程的章节,作为收费项目。这里有两种做法,原创 2025-02-26 16:58:17 · 589 阅读 · 0 评论 -
express(node ORM) 使用 Winston 记录日志 及数据库保存日志
【代码】express(node ORM) 使用 Winston 记录日志 及数据库保存日志。原创 2025-02-25 15:05:31 · 517 阅读 · 0 评论 -
RabbitMQ 消息队列 优化发送邮件
所以,对于非常简单的功能,你确实可以不写await来达到异步的目的。但对于大型程序来说,为了有更好的性能,增加并发处理能力,提高错误处理的可靠性,使用消息队列是一个更好的选择。我要告诉大家,你想的一点也没错,这样做 100% 可以的。因为不等待异步执行的结果,如果发送邮件出现错误了,会。在实际开发之前,不妨先思考下,我们最终的目的是为了让邮件异步发送。你去访问其他接口,也是完全不受影响的。那么现在,我们就用非常简单的方式,实现了异步发送邮件了。的时候,相关的信息,就可以从环境变量读取。原创 2025-02-21 16:41:09 · 1239 阅读 · 0 评论 -
expres svg-captcha图形验证码功能
对于用户的注册、登录等敏感操作,或者是发送短信等其他消耗资源的操作上,最好加上验证码。生成验证码可以使用svg-captcha包。验证码,需要保存在Redis中,key的名字可以通过uuid生成唯一标识。生成验证码的接口,要返回captchaKey和captchaData。captchaKey是Redis中key的名字。captchaData是生成的svg图片。当用户提交验证码时,需要将接口返回的captchaKey,和用户填写的验证码内容,一起提交过来。原创 2025-02-19 15:29:37 · 603 阅读 · 0 评论 -
windows Redis Insight 如何查看宝塔docker里的redis数据
如果连接成功,窗口会变为空白,说明端口是开放且可访问的;如果连接失败,会显示类似 Could not open connection to the host, on port 6379: Connect failed 的错误信息,这可能意味着端口被防火墙阻止或者 Redis 服务本身存在问题。检查云服务器是否开放6379端口。telnet 公网地址 端口。原创 2025-02-17 16:44:25 · 464 阅读 · 0 评论 -
sequelize-cli 软删除 与多选删除、恢复 及多选批量恢复
在Sequelize里,实现软删除是非常容易的事情。数据库中要增加deletedAt字段,来记录当前文章是否被删除。模型里,要添加。现在再删除文章,就会变成软删除了。原理就是在deletedAt字段添加了个时间而已。在查的时候,我们只查deletedAt字段为空的记录。用户就以为数据被删掉了,其实并没有。要查询被软删除的记录,需要添加。从回收站恢复数据,可以用restore方法。要彻底删掉记录,可以在删除时,传递参数。还有一个值得思考的地方是,很多项目都有删除用户的功能。原创 2025-01-16 15:11:34 · 1024 阅读 · 0 评论 -
宝塔自动备份数据库到阿里云 OSS
一步步点进去后,找到最终 SQL 文件,下载下来。解压缩后,预览一下,非常棒。完成后,去阿里云 OSS 刷新一下看看,可以看到自己的备份文件夹了。上面这些信息,在自己项目的.env文件中都有了,直接拿过来就好。EndPoint,可以去阿里云 OSS 的控制台中找到。当然,我们也不用等待凌晨 4:30 看它运行了,直接点击。,在里面将阿里云 OSS 相关数据填写进去。保存路径,我这里设定在/backup目录中。中所存储的文件,方便我们进行管理。,确定后,就能看到自己的数据库了。安装完成后,需要点击。原创 2025-01-15 15:15:14 · 1503 阅读 · 0 评论 -
使用 Multer 上传图片到阿里云 OSS的两种方式
这样这张图片,要上传两次,会造成网络资源的浪费,增加服务器的开销。尤其是在访问量大的情况下,会对项目的稳定运行,造成很大的影响。使用这种方式,一张图片,先要上传到 Node 项目的服务器中,然后再由 Node 服务器上传到阿里云 OSS。可以看到这里的代码还是比较简单的,上面需要先做一个配置,然后调用方法就可以上传了。所以明智的选择,要用云存储,这里我们以阿里云的对象存储为例来学习如何实现上传。对应的缺点就是,在开发上,代码麻烦点。大家复制的时候,注意下,只要前面这一部分,后面的完整域名不需要。原创 2025-01-10 17:53:21 · 1509 阅读 · 0 评论 -
sequelize-cli 多对多关系处理 及某一单项游戏根据成绩降序排名
【代码】sequelize-cli 多对多关系处理 及某一单项游戏根据成绩降序排名。原创 2025-01-09 15:07:16 · 499 阅读 · 0 评论 -
部署:上传项目代码 & 配置数据库
上传代码,推荐使用Git Clone。或者用宝塔面板直接上传,但是不推荐。Linux上的npm包,有可能和Windows上不同。上传到服务器后,需要重新安装。生产环境,有自己的环境变量、秘钥和数据库配置。可以使用命令,创建生产环境的数据库、表和数据。使用MySQL客户端,也可以远程管理服务器上的数据库。原创 2025-01-07 17:02:10 · 1423 阅读 · 0 评论 -
使用宝塔面板,安装 Nginx、MySQL 和 Node.js
为了简化Linux的操作难度,可以安装宝塔面板。需要在安全组里,添加端口后,才能访问对应的服务。服务器上运行Node.js项目,需要安装Node.js自身、Nginx和MySQL。我们这里演示的是阿里云,但不同厂商的配置会有一些区别。原创 2025-01-07 14:43:01 · 1752 阅读 · 0 评论 -
sequelize-cli 关联表的使用
官网三个表:category 分类表 course课程表 user表在course.js中定义关联模型关联中引用的字段必须具有唯一性约束// 自定义外键})// 默认外键为userId在路由中使用attributes是用来指定从数据库表对应的模型中选取哪些字段(属性)出现在查询结果里的配置项exclude从查询结果中排除的字段include用于处理模型之间的关联关系查询model关联的模型as别名attributes同上述},}, {}],原创 2024-12-17 15:10:05 · 263 阅读 · 0 评论 -
mysql 安装 windows
如果上述还不行 可以选择。原创 2024-11-06 11:46:07 · 503 阅读 · 0 评论 -
express 从0-1如何创建一个项目 (注册登录接口)
目的:为了保证 路由模块 的纯粹性,所有的 路由处理函数 ,必须抽离到对应的 路由处理函数模块 中。2.在项目根目录中,新建 router_handler 文件夹,用来存放所有的 路由处理函数模块。目的:为了保证 路由模块 的纯粹性,所有的 校验函数 ,必须抽离到对应的 校验处理函数模块 中。1.在项目根目录中,新建 router 文件夹,用来存放所有的 路由 模块。路由模块中,只存放客户端的请求与处理函数之间的映射关系。路由处理函数模块中,专门负责存放每个路由对应的处理函数。1、对用户数据进行校验。原创 2024-11-15 13:09:21 · 1317 阅读 · 0 评论 -
express项目中使用MySQL
【代码】express项目中使用MySQL。原创 2024-11-06 17:49:44 · 888 阅读 · 0 评论 -
express 使用JWT认证
为了保证 JWT 字符串的安全性,防止 JWT 字符串在网络传输过程中被别人破解,我们需要专门定义一个用于加密和解密的 secret 密钥:① 当生成 JWT 字符串的时候,需要使用 secret 密钥对用户的信息进行加密,最终得到加密好的 JWT 字符串② 当把 JWT 字符串解析还原成 JSON 对象的时候,需要使用 secret 密钥进行解密//定义secret密钥,建议将密钥命名为secretKey// 自定义。原创 2024-11-08 17:13:13 · 532 阅读 · 0 评论 -
express 使用session 认证
【代码】express 使用session 认证。原创 2024-11-08 14:28:02 · 276 阅读 · 0 评论 -
node Promise 的使用
const fs = require('fs')const path = require('path')let filePath = path.join(__dirname, '11.txt')// then链式调用的特点:// 1、第一个then执行完毕后(不管成功还是失败)会执行第二个then里函数的代码// 2、then的函数里面可以有返回值。被下一个then的形参接收// 3、(最重要的一个) 如果返回的是一个Promise对象,下一个then的形参接收到的不是这个Promi原创 2021-07-05 16:33:10 · 336 阅读 · 0 评论 -
node内置模块 http 结合 url
ip地址:标识网络上不同的设备(可联网的设备)端口号:标识同一设备上的不同的网络进程 // 同一台设备 具有唯一性网络进程 (可联网的,运行起来的程序)搭建一个后端的程序1、引入http模块2、配置服务器程序的端口号 // 不要使用0-1024 及知名端口 mysql 3306 mongodb 270173、创建服务器对象4、调用服务器对象的监听方法// 1、引入http模块const http = require('http')// 2、配置服务器程序的端口号 const .原创 2021-06-16 18:27:17 · 180 阅读 · 0 评论 -
node 内置模块 文件操作
const fs = require('fs')const path = require('path')// 拼接路径let node1Path = path.join(__dirname, 'node1.js')// 同步读取: 读取文件的时候,要等到文件读取完毕,才会执行后面的代码(sync)// fs.readFileSync(filename, [options],callback)// filename:文件名// options:为具体选项配置,包括数据的编码方式// cal原创 2021-06-11 12:01:33 · 166 阅读 · 1 评论 -
Node.js Buffer(缓冲区)
// JavaScript 语言自身只有字符串数据类型, 没有二进制数据类型。// 但在处理像TCP流或文件流时, 必须使用到二进制数据。 因此在 Node.js中, 定义了一个 Buffer 类, 该类用来创建一个专门存放二进制数据的缓存区。let buf1 = Buffer.from([97, 98, 99])let buf2 = buf1.toString()console.log(buf1, '我是Buffer')let buf3 = Buffer.from('node')c原创 2021-06-11 10:34:53 · 213 阅读 · 1 评论 -
node path的内置模块
const path = require('path')// console.log(__dirname) // 得到当前执行文件的绝对路径,不包括文件名// console.log(__filename) // 的到当前执行文件的绝对路径,包括文件名let extName = path.extname(__filename) // 获取文件拓展名(后缀名)let baseName = path.basename(__filename) // 获取文件名(包含后缀名)let dirNa原创 2021-06-10 16:50:02 · 120 阅读 · 0 评论 -
nodejs使用的CommonJS规范
模块的引用let 变量= require('模块的标识') eg: let obj = require('./node')模块的定义在node中一个js文件就是一个模块默认情况下在js文件中编写的内容 都是运行在一个独立的函数中,外部的模块无法访问导出变量和函数使用 exportsexports.属性 = 属性值;exports.方法 = 函数;注意:exports不能直接赋值为一个对象,这样原有的指向module.exports会被更改module.export转载 2021-06-10 14:51:08 · 329 阅读 · 0 评论 -
nvm node安装
一、nvm安装使用nvm 安装Node前 需卸载本机nodenvm 下载地址nvm-noinstall.zip:绿色免安装版,但使用时需进行配置。nvm-setup.zip:安装版,推荐使用本次演示的是安装版。检查打开CMD,输入命令 nvm ,安装成功则如下显示。可以看到里面列出了各种命令,本节最后会列出这些命令的中文示意。安装完后打开C:\Users\Administrator\AppData\Roaming\nvm\settings.txt添加以下内容,切换no原创 2021-05-25 10:05:33 · 1128 阅读 · 0 评论
分享