- 博客(39)
- 收藏
- 关注
原创 eggjs笔记
这里是this.ctx:当前请求的上下文 Context 对象的实例,通过它我们可以拿到框架封装好的处理当前请求的各种便捷属性和方法。this.app:当前应用 Application 对象的实例,通过它我们可以拿到框架提供的全局对象和方法。this.service:应用定义的 Service,通过它我们可以访问抽象出的业务层,等价于 this.ctx.service。this.config:应用运行时的配置项。eggjs。pm2
2024-07-05 06:52:23
1406
原创 react笔记-04redux篇
流程:创建action=>dispatch分发action=> 交给store=>reducer加工数据返回给store。redux使用。react-redux使用。
2024-06-18 05:41:57
1137
原创 react笔记-03react-router篇
一般组件的props信息需要通过父组件传递,而路由组件的props信息是路由信息,不需要传递。接收到的search参数是urlencoded编码的字符串,需要借助querystring解析。key=value&key=value => urlencoded编码。在一般组件内,不能像路由组件一样获取到路由信息,需要在组件上包裹一个。可以加工一般组件,让一般组件具备路由组件所特有的api,Redirect(重定向):谁都匹配不上,就走。:当匹配到第一个路由的时候就停止。的返回值是一个新组件。
2024-06-18 05:36:33
621
原创 react笔记-02生命周期篇
初始化阶段:由触发(初次渲染)render()常用,一般在这个钩子中做一些初始化的工作,例如:开启定时器,发送请求,订阅消息,类似于vue中的mounted更新阶段:由组件内部或父组件重新render触发shouldComponentUpdate() (强制更新不触发)render()卸载组件:由触发常用,一般在这个钩子中做一些收尾的事。
2024-05-06 00:56:34
1007
原创 vue3实现自定义聊天输入框(可输入表情包)
div 的 contenteditable="true" div变为inputspellcheck 取消字母错误提示autofocus 自动聚焦-->做到这一步,你的div已经可以像正常的input那样输入文本了,不过这里比起原生的input标签有点不足之处在于,如果你是复制的文本到输入框内,会自带css样式:像上图那样肯定不是我们想要的,就需要对复制的文本进行处理。我们需要对div添加paste事件(复制事件)// 清除复制的文本样式将 handlePaste 方法写到了utils中。
2023-10-22 02:36:11
6315
9
原创 vue3笔记
点击触发自定义事件// 要将自定义事件名声明一下context.emit('hello', '我是子组件')-- 父组件 -->Son},setup() {
2023-06-28 14:39:31
591
1
原创 ts的基本语法(笔记)
export {} } // 定义函数的时候,this的类型,必须要和调用的时候的类型一致 function Person(this : ObjType , name : string) {
2023-06-24 20:29:56
12888
9
原创 socket.io在vue的基本使用
对于上一篇内容,没有说到socket的基本使用,这篇文章说说socket.io在前端和后端的使用。该项目的技术栈为:前端:vue2 + socket.io后端:express + socket.io。
2023-06-11 13:19:33
8809
2
原创 socket.io实现即时聊天
最近用vue写了一个类似于QQ的聊天软件,用到了socket.io,实现了私聊、群聊、添加好友等功能,分享一下代码。前端:vue + vue-socket.io后端:node + socket.io。
2023-06-04 14:49:26
1599
原创 关于uniapp和vue中发送post请求的一些差异
目录问题一:为什么uniapp发送post请求需要配置请求头,而vue中不需要?问题二:为什么在uniapp中发送post请求data参数中不需要使用querystring,而在vue中需要使用呢?问题二:为什么在uniapp中发送post请求data参数中不需要使用querystring,而在vue中需要使用呢?例:在vue中的接口请求函数中,使用了querystring 下面是uniapp中: 这也是我在写uniapp遇到的一些小问题吧。
2023-03-28 19:49:49
927
原创 vue+node对接支付宝沙箱(完整过程)
跳转新页面后,并没有结束,还前端还需要向后端发送请求,获取订单数据。需要安装query-string,因为需要对请求中的对象转字符串。等输入支付密码支付完成后,就会跳转到之前node后端写的地址。这里需要注意:拿到的私钥需要转换格式,不然是用不了的。里面有需要的参数,可以通过$route.query拿到。返回的result数据就是需要跳转支付宝支付的页面。5.配置完成后,需要返回开放平台,将公钥复制进去。:下面的应用私钥是需要进行格式转换的(上面有说)剩下业务逻辑自行填充吧😼。刚交易完成,可以退款。
2023-02-28 22:35:39
3306
7
原创 vue中实现外卖侧边栏左右联动
计算下标的时候需要注意的是:当前滚动距离scrollY是需要大于等于当前top值(top是tops数组中的每一项),还要小于下一个top,拿到在这个区间内的数的下标,返回index。(要初始化滚动和高度,初始化的时机很重要,必须要知道dom元素的高度,而dom元素的高度是通过请求来的数据渲染而成的,这时候则需要在watch搭配$nextTick进行初始化。4.1、在初始化滚动的时候,需要配置click为true,因为better-scroll默认阻止了原生的点击事件。4、先定义初始化滚动和高度的方法。
2023-02-01 19:58:43
2021
7
原创 sql语句、连接并使用数据库
如果直接删除数据是不能恢复的,为了保险起见,可以使用标记删除的形式,来模拟删除的动作。所谓的标记删除,就是在表中设置status这样的状态字段,来标记当前这条数据是否被删除。当用户执行了删除的操作时,并没有用delete将数据删除掉,而是执行update语句,将这条数据对应的status字段标记为删除即可。(例如:status未删除为0,删除为1)在sql语句中,如果有多个占位符,必须使用数组为每个占位符指定具体的值。例如:在user表中把id为6的人的密码更新为666。delete语句用于删除表中的行。
2023-01-10 20:41:54
2505
原创 用express写后端接口(笔记)
Accept、Accept-Language、Content-Language、DPR、Downlink、Save-Data、Viewport-Width、Width、Content-Type(的值仅限于下列三者之一:、text/plain、multipart/form-data、application/x-www-form-urlencoded)。如果客户端向服务器发送了额外的请求头信息,则需要在服务器端,通过Access-Control-Allow-Headers对额外的请求头进行声明。
2023-01-10 20:06:16
340
原创 后端nodejs Express框架
本质上就是一个function函数,中间件函数的形参中,必须包含next参数。而路由处理函数只包含req和res。next();})// 定义中间件next()可以多次使用app.use()连续定义多个全局中间件。客户端请求到达服务器之后,会按照中间件定义的先后顺序依次进行调用console.log('调用了第1个全局中间件');next()})console.log('调用了第2个全局中间件');next()})console.log('调用了第3个全局中间件');next()})
2023-01-10 02:38:55
1731
原创 nodejs笔记
输入node + 要执行的js文件的路径fs.readFile()方法,用来读取指定文件中的内容fs.writeFile()方法,用来向指定的文件中写入内容如果要在js代码中,使用fs模块来操作文件,则需要导入(require)模块const fs = require('fs')fs.readFile(path[,options],callback)path: 文件路径options:用什么编码格式读取callback:读取完成后,通过回调来拿到读取的结果2、向指定文件中写入内容fs.writeFile(
2023-01-07 16:37:07
228
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人