自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 uniapp 获取微信头像,转文件流并上传服务器

临时地址转文件流并上传到服务器。

2024-03-28 15:24:55 1213

原创 nodejs的api接口和ws接口运行在同一端口上

这样ws的端口就和api接口用同一套端口了。

2023-11-22 14:32:16 201

原创 nodejs+vue+mysql+websocket完成一个简易的桌面聊天应用(1)

这个桌面应用使用nodejs开发后端服务,vue2+electron打包为桌面应用。

2023-11-21 11:10:20 240

原创 使用addRoute配置动态路由和刷新页面白屏问题

刷新白屏是因为每次刷新都会重新挂载路由实例,使用router.options.routes就可以解决这个问题。

2023-08-11 17:33:33 485

原创 vue3+vite 配置代理后不生效404

在重写路径的时候需要看接口有没有统一的前缀,如果有的话充写路径就需要重写到代理路径(这种情况要注意的一点是代理路径和统一前缀要一样),如果没有统一的前缀,重写路径要指向空(有统一前缀但是代理路径与统一前缀不一样也指向空)在检查服务器地址没有问题,接口地址也没有问题,用postman访问接口也能正常返回的情况下,可以看看vite.config.ts中proxy的rewrite。在开发环境中axios的baseUrl直接设为/api就可以正常访问接口了。proxy是配置代理的,rewrite是用来重写路径的。

2023-06-30 15:51:04 9437 5

原创 将数据转为树结构数据

通过循环判断当前节点是否为根节点,不是根节点的话就通过getparent函数找到它的父节点,插入到父节点的children中, getparent函数通过递归深层查找每一层节点。1.要转的数据结构,主要根据id和pid来区分节点。

2023-02-27 16:17:34 420

原创 刷新token重新请求接口

我这里的token是调用接口,用一个refreshToken调用接口换回来新的token,然后再拿着新的token去请求接口,通过调用接口返回的code状态码来判断是否需要刷新token。我这里是有一点问题我在刷新完token重新请求的时候会请求出错,原因是每次都会在拼一次我设置的baseUrl地址,然后再重新请求的时候吧baseURL地址清空就可以了。在能获取到token过期状态码的地方写入。

2022-11-23 15:29:49 1284 2

原创 axios解决开发环境跨域问题

跨域是因为协议域名端口其中一个的不同而产生的的报错,这是浏览器发出的,有些跨域这个时候是已经成功请求了,但是被浏览器拦截了,前端可以配置代理服务器来解决跨域,这个是因为服务器与服务器之间不存在跨域,配置的代理服务器又与本地的协议端口域名都一样,这样跨域就解决了.2.在vue.config.js文件下创建同级文件 .env.development 和 .env.production。4. .env.production是生产环境请求接口的地址,在打包发布到服务器上的时候用的就是这个文件里的接口地址。

2022-11-11 17:29:09 4563

原创 ajax的作用和特点

3xx:一类重要的高频考点,301:表示永久转移,返回旧域名会跳转到心域名。一般用于服务器负载均衡,但服务器的并发数达到最大时,服务器会将后续访问的用户转移到其他服务器上去。304:表示不设置缓存,对于不经常更新的文件,例如css/js/html文件,服务器会结合客户端设置304状态,加载过的资源下次请求时会在客户端中获取。2xx:表示请求已经被服务器接收,理解,请接受。常见的有,200 表示ok,表示服务能够返回信息。413:表示和服务器的交互过大。ontimeout: 表示请求的超时,执行的方法。...

2022-08-17 21:15:58 1806

原创 uniapp的请求二次封装

uniapp中需要经常性的发出请求,如果直接使用uni.request的话代码过于繁琐,不便于后期的维护就对uni.request进行二次封装。

2022-08-17 21:02:47 1689

原创 svg配置与使用

在components中新建SvgIcon文件新建index.vue文件。在src文件下创建icons文件,创建svg文件放图标,在icons文件下新建一个index.js文件导出图标。在vue.config.js中配置。

2022-08-17 16:27:59 680

原创 axios二次封装

axios二次封装

2022-08-06 21:51:26 128

原创 vue组件通信(三)

组件通信

2022-08-06 10:23:37 213

原创 vue组件通信(二)

组件间通信

2022-08-05 19:59:12 164

原创 vue组件通信(一)

在开发中一个页面会封装成多个组件 , 但是当从服务器请求到许多数据时,子组件和父组件都需要这个数据,这个时候并不会在子组件在发送一次网络请求,而是让大的组件将数据传递给子组件.父子组件之间的通信1.通过props向子组件传递数据prost可以传数组 对象 (对象可以限定数据的类型)2.通过自定义事件向父组件发送消息自定义事件 在子组件中通过$emit触发一个自定义事件然后传入参数this.$emit('onGetEest',this.test)触发事件调用函数 在父组件中.

2022-08-04 14:33:21 954

原创 组件通信思维导图

组件通信 思维导图(16种)

2022-07-13 23:51:18 96

原创 vue 生命周期

vue声明周期就是一个vue实例对象从创建到销毁的过程, 从创建vue , 初始化vue对象,初始化vue属性和方法 , 创建模板字符串 , 渲染页面 , 更新 , 销毁 这个过程生命周期方法分为三大类1.创建期间的生命周期方法beforeCreate(创建前)created(创建后)beforeMount(挂载前)mounted(挂载后)2.运行期间的生命周期方法beforeUpdate(更新前)updated(更新后)3.销毁时的生命周期方法before.

2022-05-07 02:31:31 1305

原创 vue中计算属性(computed)和监听属性(watch)的异步操作

计算属性能(computed)完成的功能监听属性都能完成比如计算两个数的和<body> <div id="app"> <p>总和{{adden}}</p> 输入的值1<input type="text" v-model:value="a" > 输入的值2<input type="text" v-model:value="b"> </div>

2022-05-06 11:19:08 15383

原创 构造函数和原型

构造函数定义:通过 new 函数名 来实例化对象的函数叫构造函数。任何的函数都可以作为构造函数存在。之所以有构造函数与普通函数之分,主要从功能上进行区别的,构造函数的主要 功能为 初始化对象,特点是和new 一起使用。new就是在创建对象,从无到有,构造函数就是在为初始化的对象添加属性和方法。构造函数定义时首字母大写(规范)。对new理解:当调用new时,后台会隐式执行new Object()创建对象。所以,通过new创建的字符串、数字是引用类型,而是非值类型。常见的构造函数

2022-04-22 00:13:13 203

原创 super

super关键字可以调用父对象的属性和方法super 指向的是当前对象的原型对象当super是在对象字面量中被调用的时候 super ---> this.__proto__对象都会有一个属性__proto__指向构造函数的prototype原型对象,之所以我们对象可以使用构造函数的prototype原型对象的属性和方法,就是因为有__proto__原型的存在super.name == this.__proto__.name // undefined(直接使用__

2022-04-21 02:58:41 378

原创 node.js 报错

node安装第三方模块时报以下错 是因为权限不够可以以管理员身份运行cmd 找到对应的文件路径 在安装模块 就可以了当 使用npm命令的时候报错报的是 npm 不是一个命令 (忘了截图了)这个需要重装node.js (可能有其他方法,但是我没有找到)卸载和重装node.js(7条消息) node.js卸载与重装_虎哈哈的博客-CSDN博客_卸载nodejs重装https://blog.csdn.net/weixin_44987713/article/details/11469

2022-04-21 00:56:55 2259

原创 css基础

标题的分类块元素 block: 独占一行 可以设置宽高行元素 inline:不独占一行 设置宽高无效行内块元素 inline-block: 不独占一行 可以设置宽高css三种引入方式 1. 内联式(行内样式) <div style="color:red"></div> 2. 内嵌式 <style> .box{color:red;}</style> 3. 外联式 <link rel="styl

2022-04-05 23:08:09 86

原创 正则表达式

正则表达式的概念一、概念正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符")。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。二、常用表达式汇总一、校验数字的表达式 1 数字:^[0-9]*$ 2

2022-04-05 23:05:08 363

原创 第一个只出现一次的字符

在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。用双重循环 外重循环是要判断的字符 内重循环是判断的范围 如果 一直没有和它相同的字符就代表它 只出现了一次var firstUniqChar = function(s) {if(s.length==1){ return s}for(var i= 0;i<s.length;i++){ var str1 = true var str = s[i]for(var j =.

2022-04-05 23:00:40 246

原创 杨辉三角型

每一行的开头和结尾都是1中间的数是上一行的左上和右上的和 (上一行同下标的数加上前一个数 )var generate = function(numRows) {var arr = [] for(var i =1 ; i<=numRows;i++){ var arr1 = [] for(var j = 0;j< i;j++){ if(j==0||j==i-1){ arr1.push(1) }else{

2022-04-05 22:49:51 207

原创 DOM基础

DOM文档对象模型 是w3c组织推荐的处理可扩展标记语言(HTML或者XML)的标准编程接口获取元素根据Id名获取元素getElementById()方法 返回的是一个元素对象根据标签名获取getElementsByTagName() 返回的是获取元素对象的集合 以伪数组的形式存储的 我们想要依次打印里面的元素对象我们可以采取遍历的方式 如果页面中只有一个li返回的还是伪元素的形式 如果页面中没有这个元素 返回一个空的伪数组形式通过HTML5新增的方法获取根据类名获得某些元素

2022-04-05 22:15:27 911

原创 JavaScript基础

jsjs 示弱类型语言 解释性 面向对象声明变量的方法var 同名变量可以多次声明let 同名变量只能声明一次const 声明的变量是只读的 是一个常量值 变量被赋值后 就不能重新赋值为什么需要变量因为我们一些数据需要保存,所以需要变量变量是什么变量是一个容器,用来存放数据的。方便我们使用里面的数据变量的本质是什么变量是内存里的一块空间,用来存储数据变量是怎么使用的我们使用变量的时候 一定要声明变量 然后赋值声明变量本质是去内存申请空间什么是变量的初始化声明变量并赋值我们称

2022-04-05 16:40:21 873

原创 常用数学对象和日期对象数组和字符串的api

Math数学对象Math.random() 生成随机数//生成0-1之间的随机数 包括0 不包括1 console.log(Math.random()) //生成0-5之间的随机数 不包括5 console.log(Math.random() * 5); console.log(Math.random() * 5 + 5) //生成一个a-b之间的随机整数: // Math.random * (b - a

2022-04-05 16:32:55 227

原创 BOM概述

BOM(Browser Object Model )浏览器对象模型,它提供了独立于内容而与浏览器窗口进行交互的对象,其核心对象是window.BOM是由一系列相关的对象构成,并且每个对象都提供了很多方法和属性

2022-04-05 16:28:47 124

原创 两个二进制的相加

两个二进制的相加可以用位运算,当一个为一 一个为零时 两位相加就为一 两位都是一的话 就往前进一 都为零的话 结果为零先将 两个二进制长度相同 短的话在前面补零然后把两个字符串改为数组当两个都为一的话 需要往前一位进一 当前一位也为一的话还需要往前进一创建一个 函数 当两位都是一的话 进入函数判断下一个是1还是0 如果是1,将1改为零直到遇见0,把0改为1.当函数是0时将0改为一最后再将数组改为字符串代码:var addBinary = function(a,...

2022-03-23 15:49:07 3373

原创 用js 实现计算器

html <div class="box clearfix " id = "box0"> <div class="shuruk"><p id="num">0</p></div> <div class="box1"> <div class="box2"> <input

2022-03-01 16:49:16 539

空空如也

空空如也

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

TA关注的人

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