自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 TS的使用

let fn:()=> void = ()=>{} // ()=>void 这是函数的一个类型 没有形参没有返回值never类型:在项目中基本上用不到 在封装框架的时候可能会用上throw new TypeError('抛出了一个错误')while(true){ // 死循环fn()fn(A)return p1。

2024-04-28 20:51:06 760

原创 javascript进阶

AO:代表的是函数被调用的时候产生的私有上下文中的变量和函数体内部的函数声明(形参+实参+局部变量+内部函数)02-1-1:如果函数声明的变量名和function的函数名同名的情况下,无论是函数在var的前面还是函数在var的后面,结果都是函数整体会覆盖var声明的变量。08-1 在构造器中 如果返回的是基本数据类型相当于什么都没有返回,如果返回的是引入数据类型那么new出来的实例对象就是返回的引用数据了。每一个基本数据类型的__proto__属性的constructor的属性指向了该属性实例的本身。

2024-04-27 20:30:49 792 2

原创 http缓存协议

memory cache(内存缓存)内存缓存存储在浏览器内存当中,一般刷新网页的时候会发现很多内存缓存。disk cache(硬盘缓存)硬盘缓存是存储在计算机硬盘中,空间大,但是读取效率比内存缓存慢。强缓存之后不需要再向服务器发送请求。而是从浏览器读取分为(内存缓存)(硬盘缓存),缓存时间到期后就会向服务器重新发送请求。强缓存介绍: 状态码为200。协商缓存的状态码为304。

2024-04-21 14:08:11 137

原创 文件流下载

第二步 node的index.js文件的代码。

2024-04-21 13:42:45 203

原创 nodejs大文件上传

1.express 帮我们启动服务,并且提供接口。2.multer 读取文件,存储。3.cors 解决跨域。

2024-04-21 12:14:17 130

原创 websocket聊天的功能

后端思路的分析:需要定义一个数据格式: 里面有几个房间 每个房间有几个人。node需要安装: npm i socket.io。第二步 前端cdn引入socket。第三步 编写服务端的代码。第四步 前端链接成功的代码。第五步 前端发送消息。

2024-04-21 11:14:32 430

原创 net模块

2 建立http的链接让浏览器进行访问。

2024-04-21 10:27:39 203

原创 serverLess

执行 s 选择 y 选择阿里云, 选择HTTP node.js, 输入目录名称 xiaoman-serverLess,选择离我最近的服务器, 函数名称随便写 node-fn, 选择node版本 16, 选择秘钥serverLess。把对应的ID secret填写,第三个别名可以随便写: serverLess。查看是否生效 s config get -a serverLess。在项目的目录下执行 s deploy 就把代码上传到阿里云服务器了。选择 alibaba cloud (alibaba)

2024-04-21 10:11:56 194

原创 定时任务:在预定的时间,执行某些事情

aid=你的aid&uid=你的uid‘,{Referer:config.url, 这里是掘金的地址 https://juejin.cn/,调用掘金签到的接口: 第一个参数掘金签到的地址:aid和uid可以通过登录掘金打开对应的。import request from 'request' 调用接口用的。console.log('每隔5秒就会执行一次')第二步 创建一个node项目。

2024-04-21 09:59:26 283

原创 JWT---token

return jsonwebtoken.sign(data,this.secret,{expiresIn:'7d'}) 传递过来的数据 私钥key 过期时间。console.log(req.user) // 这里可以直接读取前端的用户信息 不需要传递了 因为携带了token。以上代码遇到的问题 我们无法直接req.user.id 访问到用户的id 需要在main.ts文件中进行扩展。1 passport 是一个留下的用于身份验证和授权的Node.js库。在src目录下创建jwt/index.ts。

2024-04-21 09:03:32 484

原创 nodejs(项目架构MVC,IOC,DI)

return await this.PrismaDB.prisma.user.create({ // 插入到数据库中。user/ controller.ts services.ts user.dto.ts三个文件。post/controller.ts services.ts post.dto.ts 三个文件。8 在src/user/controller.ts文件中将services.ts的引入。post请求的接口:http://localhost:3000/user/create。

2024-04-21 08:14:29 521

原创 mysql+express+yaml

await db('user').select().leftJoin('table','user.id','table.user_id') // 连表查询。await db('list').select().where({id:req.body.id}) // 根据id查询单个数据。await db('list').select().order('id','desc') // id倒叙排列。app.get('/user:id',async(req,res)=>{ // 把文章表的也一块查询出来。

2024-04-20 21:36:15 977

原创 mysql语句

INSERT INTO user(`name`,`age`,`bobby`) VALUES ('xiao',23,'篮球'),('yao',34,'足球') 新增多个,SELECT * FROM `table` WHERE user_id = (SELECT id FROM `user` WHERE name = '小曼')INSERT INTO user(`name`,`age`, `hobby`) VALUES('xiaoman',23,'女人') 新增单个。输出第二天的时间,今天+1。

2024-04-19 21:22:04 541

原创 node-mysql数据库的下载与安装

打开之后往下翻 点击 MySQL Community (GPL) Downloads 》 点击 MySRL Community Server。打开vscode,扩展搜索 database ,点击Database Client插件安装,安装完左边会显示一个桶,04 启动mysql -u后面跟服务器的名称 -p之后回车 会让输入密码 进入到mysql之后就代表链接成功。第四步 查看表中的数据 select * from user;第二步 查看所有的表 show tables;01 mysql数据库的安装。

2024-04-18 21:57:50 216

原创 node 第三章

防盗链(Hotlinking)是指在网页或其他网络资源中,通过直接链接到其他网站上的图片、视频或其他媒体文件,从而显示在自己的网页上。这种行为通常会给被链接的网站带来额外的带宽消耗和资源浪费,而且可能侵犯了原始网站的版权。01 http动静分离将js DOM css img进行分离。04 express路由模块化。07 响应头与请求头。

2024-04-18 21:24:44 191

原创 node基础 第二篇

01 ffmpeg开源跨平台多媒体处理工具,处理音视频,剪辑,合并,转码等。06 crypto密码学 提供加密解密 对称加密 非对称加密 哈希函数。03 events 发布订阅模式。02 ffmpeg的使用。08 zlib 压缩文件。09 http 反向代理。

2024-04-17 22:06:30 423

原创 node項目的开发

14 CSR前端渲染 SSR服务端渲染 SEO: 爬虫在找的时候只会找html页面的不会找js, 前端渲染html的内容较少,不利于seo,服务端已经把整个html页面渲染完毕了。T值得是title,D指的是标签的description描述。02 关于package.json文件中:"test":"echo\'xxxxxx'\" && exit 1"12 prcoess.cwd() 可以获取当前文件执行的目录 相当于__dirname。04 npm 相关执行的命令。

2024-04-16 21:55:32 390

原创 vue3知识点补充第二节

02 实现一个函数同时支持hook和自定义指令,去监听DOM宽高的变化。03 定义全局的变量或者函数并使用。05 关于nextTick。01 自定义Hook。

2024-04-14 13:57:25 191

原创 vue3 知识点的补充 之 第一节

创建

2024-04-13 23:42:33 1047

原创 防止重复点击,在服务端未响应之前,多次请求数据

【代码】防止重复点击,在服务端未响应之前,多次请求数据。

2024-04-06 21:42:28 116

原创 04---webpack编写可维护的构建配置

【代码】04---webpack编写可维护的构建配置。

2024-04-05 23:01:59 501

原创 03---webpack进阶用法

在项目中我们经常会定义一些变量或者方法,在项目中实际并没有被使用,那么在项目打包的使用同时也会将这些没有被使用的变量和方法进行一起打包,这样会造成代码的体积变大。解决方法:在项目打包的时候将没有被使用到的方法和变量不被打包到dist目录下。使用步骤: 在webpack.config.js文件中,如果mode模式是production的时候会自动开启tree Shaking的,不会将没有被使用到的变量和方法打包到dist目录下。

2024-04-05 13:57:09 453

原创 02---webpack基础用法

再执行 npm run build的命令 在dist目录下会创建出一个search.js文件,index.html页面中引入文件。

2024-04-04 10:16:14 427

原创 01---webpack的基础篇

同时需要创建index.html文件导入webpack打包生成的dist目录下的bundle.js的文件。第四步 打包的结果 会在项目的根目录中创建一个dist目录并有一个bundle.js文件。第二步 需要在项目的跟目录下创建src目录以及index.js,hello.js文件。

2024-04-03 21:01:17 386

原创 node项目中express的使用

05 ejs将文件的后缀由ejs修改为html, 以及通过express.static托管静态文件。03 views/index.ejs文件中使用ejs, ejs语法的使用。06 关于处理post请求的参数的第三方中间件body-parser。01 expres项目的基础配置。08 session的使用。07 cookie的使用。

2024-03-26 22:32:57 263

原创 MongoDb数据库介绍安装使用

db.order_item.insert({"order_id":"1", "title":'商品鼠标', "price":"50", "mum":1})db.order_item.insert({"order_id":"1", "title":'商品键盘', "price":"50", "mum":1})db.order_item.insert({"order_id":"2", "title":'牛奶', "price":"50", "mum":1})按照年龄进行升序 降序;

2024-03-23 20:16:02 1400

原创 node项目开发的基础知识

var data = fs.readFileSync(‘./data.mine.json’) 同步。fs.weiteFile(‘./index.txt’,‘向文件中追加的内容’,(err)=>{readStream.on(‘data’,(data)=>{ // 不断的读取数据。exports.post = ()=>{console.log(‘方法二’)}exports.get = ()=>{console.log(‘方法一’)}readStream.on(‘error’,()=>{ // 读取数据结束。

2024-03-22 21:41:02 472

原创 vue 实现下载pdf格式的文件

第二步 给vue原型上面挂载一个下载页面pdf的方法;在项目工具方法存放文件夹utils中创建htmlToPdf.js文件,代码如下。第三步 在main.js文件进行导入。第四步 页面中直接使用。第一步 安装下载插件。

2024-03-16 21:42:17 819

原创 关于数据文件上传到服务器的格式及上传实现的方法

第三种json格式的 {"key":"value"}文件上传的进度条: 在网络请求中可以解耦出来;第二种 xxx=xxx&xxx=xxx格式的。// 在请求体中进行添加请求头的信息。关于多文件上传的方法。

2024-03-16 11:07:11 349

原创 uni-app实现路由拦截 请求封装

2 main.js导入: import uview from ‘uview-ui’;Vue.use(uView)1 目前uni-app使用的是rpx的单位 如果设计稿是750的那么按照设计稿给的尺寸就可以直接使用了。3 uni.css引入:@import ‘uvew-ui/theme.scss’“这里的内容看着文档配置就可以了”4 pages.json配置:{

2024-03-15 10:36:22 524

原创 上传图片功能的实现

【代码】上传图片功能的实现。

2024-03-10 10:32:44 146

原创 关于实现两栏瀑布流布局

页面主要分成两列,每个条目的高度不固定,条目主要由封面图+标题+头像+发布者昵称组成多列排列要求,第一条在左侧,第二条在右侧,后续的根据左右两栏的高度,依次放置在高度较低的一侧。将整个页面分成左右两栏,两侧各对应一个数据集。定义变量,记录左右两侧的累计高度,然后依次将条目放置在高度较低的一侧。从而我们可以得到左右两侧的数据集,后续只需要进行页面的渲染就行了;图片高度的确定,单个条目中图片宽度=(单列条目宽度/图片的原始宽度)*图片原始高度;

2024-03-10 10:08:07 331

原创 h5项目手机端进行调试

1:ctrl/window+r输入cmd回车,打开。1:在项目的配置环境中将host改为上面的Ip地址。2:搜索启动项目之后NetWork的地址便可以了。,查看本地ip, 选择IPv4地址。1:将手机与电脑连接同一无线。

2024-03-09 16:31:31 286

原创 关于数据提交上传服务端的数据类型以及项目打包上线的流程

进入阿里云的官网,控制台选择自己购买的服务器的实例,点击右侧的更多选择网络和安全组,安全组配置,点击右侧配置规则,点击右上角快速创建规则选择http和https ,端口号 tcp 1-655535,授权对象0.0.0.0.0。3 下载nginx,下载到对应的目录中,菜单栏有文件,点击 user/ local,鼠标右键点击打开终端然后就这行命令进行复制就可以了 wget http://nginx.org/download/nginx-1.17.9.tar.gz。代理后端请求的接口:配置完就可以进行访问了。

2024-03-03 18:57:18 607

原创 vue3创建h5 项目使用rem做响应式的配置

vue3 项目中创建 postcss.cinfig.js文件,这里是基于设计稿是750px的 如果是375的就写37.5。第五步: 在项目中直接基于750的设计稿量出尺寸, 然后再将px转化为rem就可以了。vue2 项目进行配置的:找到根目录下的.postcss.js文件。第四步 vscode 安装pxtorem的插件。第二步 main.ts文件中导入。

2024-03-01 16:58:40 213

原创 关于vue创建项目以及关于eslint报错的问题

3 如何让less在保存的时候 不再自动生成css文件呢, 同样也是在vetur中的essting.json中进行配。第一种解决方式 就是在vetur插件中增加trailngComma:'none',但是对于我没有解决问题。第二种就是.prettierrc文件中 增加了trailngComma:'none' 这行代码。在项目根目录下新建一个.prettierrc.json文件。

2024-03-01 16:51:31 354

原创 pc端如何做自适应呢?

- 5 因为我们量尺寸都是基于设计稿去量的 所有我们要将pxtorem的尺寸进行修改 在设置里面找到修改尺寸的地方也就设计稿的尺寸1920/24 = 80 -->那么随着屏幕不断发生变化的时候 屏幕的fonst-size的大小就是当前屏幕的尺寸/24了 -->-- 想要实现自适应的前提条件是 当浏览器的窗口发生变化的时候, html的font-size将会跟着发生改变 -->-- 默认html的font-size的大小是16px 1rem = 16px -->-- 实现的步骤如下 -->

2024-02-29 17:02:53 539

原创 关于React路由鉴权的操作

1 在react项目中 我们会遇到有部分的路由需要用户进行登录之后,才可以进行访问。就会强制让用户跳转到登录页面,相当于vue的路由前置守卫一样, 那么我们要如何去做呢?高阶组件的参数是一个路由的组件,返回值还是一个路由。答: 解决办法封装一个高阶组件,用于路由权限的判断。

2024-02-24 18:50:01 268

原创 react项目中的redux以及react-router-dom

app组件{change(‘我是参数’,e)}}>获取事件对象e{change(e)}}>获取事件对象e

2024-02-22 19:22:11 841

原创 微信支付功能开发

申请成功之后,微信扫描登录,点击我的账号,点击登录的账号,API安全,就可以拿到证书。第二步:微信支付的分类:pc版的扫支付二维码, h5或者app唤起微信app支付 线下扫二维码、台,查看 mch_id:商户的id, mch_secret: 商户的秘钥,证书。订单号,自己的后端再拿着订单号商户的id签名等去请求微信的后端,这时候微信后端会返回。一个链接给我们自己的后端,自己的后端再返回给我们,我们点击这个链接,就可以直接跳。支付成功的后,微信后端会把支付成功的结果发送给我们自己的后台,我。

2024-02-21 16:46:38 340

空空如也

空空如也

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

TA关注的人

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