自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Echart 属性设置

为了方便理解把值都设置成0,我们把图表当成一个子组件,上面的left,right,bottom,top的设置可以理解成父元素设置padding,containLabel:true为设置成自适应。splitLine为分割线属性;axisLine为X轴线属性;axisLabel为X轴刻度标签属性;这里可以理解成标题组件设置 position: absolute,top和left为在最外层父元素的位置,其他颜色和字体设置见上图。axisLine为Y轴线属性;axisLabel为Y轴刻度标签属性;

2024-01-05 10:39:14 442

原创 el-select 切换multiple报错type check failed for prop “value“. Expected String, Number, got Array

el-select 切换multiple报错type check failed for prop "value". Expected String, Number, got Array。原因是v-model绑定的数据类型切换后有变化,单选为'',多选为 []

2023-12-08 11:11:34 202

原创 git使用时/info/refs not valid: is this a git repository

授权过的会在URL后附加信息如/info/refs导致了这个情况,但是通过git remote -v 查看远程地址又是没问题的,但怎么使用git pull都是会失败:xxx/info/refs not valid: is this a git repository。今天git提交的时候遇到了这个神奇的问题.git/info/refs not valid: is this a git repository?这个问题其实只要用浏览器打开git仓库访问一下即可解决。

2023-11-15 17:55:47 807

原创 JS类型判断的那些方法

目前类型判断有三种方法:typeof 、instanceof 、Object.prototype.toString.call

2023-08-28 14:51:39 214

原创 React Native 在高IOS版本下无法显示图片的问题处理

React Native 在高IOS版本下无法显示图片的问题处理

2023-08-11 17:21:07 902

原创 原型和原型链理解

原型是任何一个JS对象在创建时会关联的一个对象,创建出来的对象能继承原型上的属性

2023-08-11 17:01:45 550

原创 xcode更新至14.3.1后遇到的ios构建问题

No matching function for call to 'RCTBridgeModuleNameForClass'

2023-06-12 17:30:20 230

原创 启动一个简易的vite服务器

注意:因为vite是跑es module的,所以在index.html引用index.js 需要添加。下载完vite后,在package.json下修改script启动代码。app/index.html 和 app/index.js。修改后,启动项目 npm run dev 项目启动。

2023-05-31 14:53:08 407

原创 JS实现拖拽效果

如上图,最终要得到的是top和left的值,然后赋值给元素的style.top和style.left。上面的情况元素会跟着鼠标一直移动,没有松开不移动的效果,上代码。但是这个时候会存在元素拖出画面的问题,上代码。

2023-05-26 17:49:10 61

原创 当被面试官问到 Set

Set 是值的集合,集合内的值只会出现一次。

2023-05-25 10:40:01 77 1

原创 V8事件轮询的讲解(简短+白话版)

,5是同步,4 then() 是微任务,setTimeOut 是宏任务。2.一旦遇到异步代码,进行任务类型判断,分别根据类型放在宏任务和微任务。3.等同步代码执行完后,先去微任务拉任务来执行,再去宏任务执行任务。宏任务常见的:setTimeOut setInterval。微任务常见的:then() $.nextTick()执行顺序:1 , 3 , 5, 4 ,2。new Promise是构造函数也是同步。分析:1 是同步,3(

2023-05-24 16:57:05 94

原创 怎么让(a===1&b===2&c===3)成立

因为在操作运算符中,如果一个值是对象,另外一个不是,就会调用这个对象的valueOf方法取得其原始值在进行比较。

2023-05-24 16:12:33 52

原创 在uniapp上使用不了FormData对象的问题解决

formData.js的代码直接复制。mimeMap.js的代码。

2023-05-24 15:54:31 907

原创 websocket在uniapp上的使用(心跳机制)

【代码】websocket在uniapp上的使用(心跳机制)

2023-05-24 15:48:21 522

原创 uniapp小程序上传图片到minio

【代码】uniapp小程序上传图片到minio。

2023-05-24 15:47:02 533

原创 react-native 找不到符号问题的解决方案

react-native 找不到符号问题的解决方案

2022-11-28 10:01:54 1004

原创 Three.js入门

Three.js入门three.js 源码下载地址:https://threejs.org/build/three.jsthree.js 核心1.创建场景const scene = new THREE.Scene()2.创建摄像机(透视)摄像机视角两种方式:透视和投影PerspectiveCamera API参数:视角,投影窗口的长宽比,最近距离(默认0.1),最远距离(默认1000)const camera = new THREE.PerspectiveCamera(75, wind

2022-05-18 19:02:48 398

原创 vue3.0的简单入手学习

vite创建vue3.0# npm 7+, 需要额外的双横线:npm init vite@latest my-vue-app -- --template vue# yarnyarn create vite my-vue-app --template vueVSCode安装vue3插件:Volar组件引入只要在<script setup> 标签里面引入组件,只要不用注册就可以使用<template> <HelloWorld /></temp

2022-05-13 17:16:41 853

原创 pinia的学习和理解

pinia介绍vue新一代状态管理库,相当于vuex特性1.像定义components一样定义store2.支持ts3.去除mutations,只有state,getters,actions(支持同步异步)4.轻量级(1kb)5.vuex是要有主入口进行统一导入,pinia可以分模块导入pina简单使用导入pinia(createPinia)定义store(defineStore)使用store数据(useMainStore)不用store.s..

2022-03-19 10:03:50 1551

原创 call,apply,bind 的区别

相同:都是改变函数this的指向不同:1.call和bind传参相同,apply第二个参数要传数组2.bind会返回一个新函数并且bind只会执行一次(后面绑定的this都是第一次绑定的this)const obj1 = { a: 1}const obj2 = { a: 1}test.call(obj1,1,2,3) //{a: 1} 1 2 3test.apply(obj1,[1,2,3]) //{a: 1} 1 2 3// bind只生效一次,后面绑定的this都是第

2021-07-29 14:28:59 102

原创 Map 和 WeakMap 的理解

1.es5的对象key只能是字符串和Symbol,如果是对象的话会toString()const obj1 = {name: 'lin'}const obj2 = {name: 'zhen'}//变量作为key要加上[]const obj3 = { [obj1]: '11', [obj2]: '22',}console.log(obj3) // { [object Object]: '22' }let obj = {}let id = Symbol('123')ob

2021-07-27 16:16:57 121

原创 条件语句的优化

1.Array.include()需要用到大量或语句判断的function printAnimals(animal){ if(anmial === 'dog' || anmial === 'cat'){ console.log(animal) }}// 优化function printAnimals(animal){ let anmials = ['dog','cat'] if(anmials.includes(animal)){

2021-07-27 16:13:22 117

原创 [] + [] = ““

其实是被隐式类型转换如果操作数为对象和数组,会先转换成字符串,再拼接String([]) // ""String({}) // "[object Object]"! + [] // !"" === truetrue + [] // true + "" === "true"所以当boolen类型遇到[] 和 {} 都会转成字符串 当两个boolen类型+连接的时候,才能转成number类型相加true + true // 1 + 1 === 2总结:操作数是[] ,{} ..

2021-07-26 13:47:04 94

原创 Invalid prop `children` of type `array` supplied to `Overlay`

最近在使用react-native-element 的Overlay 组件时有个报错:Invalid prop `children` of type `array` supplied to `Overlay`

2021-06-07 17:22:56 478

原创 vue项目使用sass报错

原因是node-sass和sass-loader的版本不能太高npm install [email protected] install [email protected] --save

2021-06-01 21:25:55 60

原创 彻底会用reduce进行求和

const a = [ {num: 100,seleted: false}, {num: 200,seleted: false}, {num: 300,seleted: false}, {num: 400,seleted: true}, {num: 500,seleted: true}]const b = a.reduce((preVal,currentVal)=> currentVal.seleted ? preVal + currentVal.num.

2021-05-25 22:41:13 265

原创 webpack配置 - 生产环境

开发环境的配置可以看另外一个篇文章,这篇写的是生产环境的配置提取css成单独文件由于css最后是打包到js中,会造成js体积过大,所以要单独提取出来依赖:npm install mini-css-extract-plugin -D需要配置plugins 和loaderloader 配置:因为style-loader是创建style标签将样式插入,所以要单独提取css出来的话,就要关闭style-loader 使用 MiniCssExtractPlugin.loaderMiniCssE

2021-05-12 18:08:45 243 3

原创 webpack 配置 - 开发环境

webpack打包工具概念.vue .sass 等很多文件浏览器识别不了,需要编译打包成js文件的工具使用打包时会从入手文件开始,找相互依赖的文件全局安装 npm install webpack webpack-cli -g 当前目录下安装 npm install webpack webpack-cli --save-dev基础打包需要入口文件,-o 指定输出文件,开发模式开发:webpack ./src/index.js -o ./dist/bundle.js --mode

2021-05-08 17:14:08 116

原创 前端面试-git使用

git就是最常用的代码版本管理工具第一次使用前的指令:git config user.name '用户名' 第一次使用前,需要配置用户名git config user.email '邮箱' 第一次使用前,需要配置邮箱git clone 'git的仓库地址' 克隆git仓库代码开发常用指令:git status 查看有变更的文件git diff '文件名' / . 查看文件修改内容/查看所有文件修改内容git add '文件名'/ . 提交文...

2021-04-16 18:30:03 233

原创 前端面试-http知识

http常见的状态码1xx 服务器收到请求 2xx 请求成功 3xx重定向 4xx 客户端错误 5xx 服务端错误200 请求成功301 永久重定向(配合返回的location跳转)例子:网页换了域名后,访问老域名后永久重定向到新域名302 临时重定向(配合返回的location跳转)例子:在百度搜索出来的结果,都是百度的网址然后通过重定向到目标网址去 永久和临时的区别:301是浏览器会记住301状态结果然后下次直接访问location链接,302会重新访问...

2021-04-15 18:13:30 81

原创 前端多页面的代码压缩和混淆

最近碰到一个老项目,用jq写的需要将代码进行压缩和混淆,后面选择了用 gulp 自动化构建工具,使用起来还是挺简单方便的!安装依赖npm install gulp-cli -gnpm install gulp -D使用,新建文件gulpfile.jslet gulp = require("gulp"), uglify = require("gulp-uglify"), htmlmin = require("gulp-htmlmin"), minifycss = requir

2021-04-13 16:56:30 1494

原创 vue2.0和vue3.0双向绑定的实现原理

vue2.0的双向数据绑定其实就是用了es5新增加的Object.defineProperty来进行数据劫持的<span id="spanName"></span><input type="text" id="inputName">let obj = { name : '' };let newObj = Object.parse(Object.stringify(obj)); // 深拷贝Object.defineProperty(obj,'name'

2021-04-07 17:43:04 393

原创 js根据路径下载文件

1.利用iframe下载let xhr = new XMLHttpRequest()xhr.open('GET', url)xhr.responseType = 'blob'xhr.setRequestHeader('Authorization', `Bearer ${accessToken}`)xhr.onreadystatechange = handlerxhr.send()function handler () { if (this.readyState === this.

2021-04-06 16:21:48 1144

原创 前端面试题CSS-经典布局

CSS经典布局有:圣杯布局,双飞翼布局(左右固定中间自适应)圣杯布局结构是一体的,中间部分在最前面<div class="container"> <div class="center"></div> <div class="left"></div> <div class="right"></div></div>float 浮动布局.container {

2021-03-29 10:53:27 150

原创 前端ACE加密和解密

下载依赖yarn add crypto-js在vue中使用import CryptoJS from 'crypto-js'export default { data () { return { strKey: CryptoJS.enc.Utf8.parse("SKYWORTH"), //十六位十六进制数作为密钥 iv: CryptoJS.enc.Utf8.parse('IDS'), //十六位十六进制数作为密钥偏移量

2021-03-25 09:49:12 1680

原创 前端面试题CSS-盒子模型

三种盒子模型1.标准盒子模型css对应的属性:box-sizing:content-box设置的元素大小是内容的大小,不是盒子的大小盒子的大小 = content + padding + border + margin2.IE盒子模型(怪异盒子模型 )css对应的属性:box-sizing:border-box设置的元素大小是 content + padding + border盒子的大小 = 设置元素大小(content + padding + border) + m.

2021-03-23 16:33:46 243

原创 前端面试题CSS-两盒子水平垂直居中

让子盒子在父盒子里水平垂直居中只要回答一个就好了1.定位父盒子设置:position:relative;子盒子-已知宽高:position:absolute;top:50%;left:50%;margin-top:'高度一半';margin-left:'宽度一半';子盒子-未知宽高:position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);2.flex布局父盒子设置:display:flex;jus

2021-03-23 16:29:54 247

原创 Node.js开发微信公众号4 - 发送模板

1.先要在后台创建一个自定义模板模板内容如下{{first.DATA}}姓名:{{keyword1.DATA}}性别:{{keyword2.DATA}}体温:{{keyword3.DATA}}{{remark.DATA}}2.发送模板服务,此服务需要请求携带用户参数用户自定义模板内容router.post("/sendTemplateMsg", async (req, res, next) => { try { // 接受h5请求的用户参数 cons

2021-02-07 10:12:36 377

原创 Node.js开发微信公众号3 - 获取用户信息

1.需要一个页面来授权重定向,重定向后的页面可以获取到用户的coderouter.get("/authentication", (req, res) => { // 配置的appid const { appID } = config // 你需要接受获取code的页面 const redirect_uri = urlencode("xxx") const scope = "snsapi_userinfo" // 直接跳转到这个url进行重定向 const url =

2021-02-07 10:04:57 479

原创 Node.js开发微信公众号2 - 自定义菜单

路由代码const { deleteMenu, createMenu } = require("../utils/menu")router.get("/menu", async (req, res, next) => { try { // 先获取access_token const { access_token } = await accessToken.fetchAccessToken() // 一定要记得创建前先删除菜单 await deleteMen

2021-02-07 09:50:48 285

空空如也

空空如也

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

TA关注的人

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