自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(355)
  • 资源 (1)
  • 收藏
  • 关注

原创 get方式文件流下载

vue get方式文件流下载

2022-11-29 14:11:18 11

原创 vue实现可拖拽div

vue实现可拖拽div。

2022-09-09 16:30:17 173

原创 js常用正则表达式

js正则

2022-08-29 15:41:46 60

原创 Typescript 泛型

泛型可以理解为在我们定义函数、接口或者类的时候,不预先指定其相关的类型,而是在使用的时候手动指定类型。但是这样,这个函数我只能传字符串类型的参数给这个函数,如果想传数字类型,布尔类型呢。如果想做到传入什么类型就返回什么类型,例如传入number就返回number,这时候就可以使用泛型。any 的缺点:一个变量设置为any后,相当于关闭了ts的类型检测,一般情况下不建议使用any。any:一个变量设置为any后,相当于关闭了ts的类型检测,一般情况下不建议使用any。需求:有个函数会返回任何传入它的值。...

2022-08-29 10:43:28 199

原创 TypeScript type 和 interface区别

类型别名 type 和 接口 interface 区别与联系

2022-08-28 17:30:18 299

原创 Typescript类型

数字类型是我们开发中经常使用的类型,TypeScript和JavaScript一样,不区分整数类型(int)和浮点型(double),统一为number类型。一个字符系列,使用单引号(')或双引号(")来表示字符串类型。never 是其它类型(包括 null 和 undefined)的子类型,代表从不会出现的值。元组类型用来表示已知元素数量和类型的数组,各元素的类型不必相同,对应位置的类型需要相同。// 在元素类型后面加上[]...

2022-08-28 16:06:49 29

原创 uniapp常见兼容性问题

uniapp常见兼容性问题

2022-08-28 15:34:31 1290

原创 腾讯地图初始化以及解析和逆解析

腾讯地图初始化以及解析和逆解析

2022-08-28 15:17:48 428

原创 百度地图初始化以及解析和逆解析

百度地图初始化以及地址解析和逆解析

2022-08-19 16:23:20 325

原创 创建vue3的项目

利用vite 和 vue-cli 创建vue3的项目

2022-08-19 14:56:56 140

原创 vue中企业微信 第三方应用扫码登录(pc端)

企业微信 第三方应用扫码登录参考文档:接入指引 - 接口文档 - 企业微信开发者中心首先在login页面,写一个按钮,触发点击事件,引导用户进入登录授权页:<button @click="toWxLogin">企业微信扫码登录</button>toWxLogin(){ //授权登录之后目的跳转网址,需要做urlencode处理。所在域名需要与授权完成回调域名一致 let url = 'http://....' //服务商的Cor

2022-05-20 18:39:47 1397

原创 uniapp中uView的安装配置

安装npm install uview-ui配置1. 引入uView主JS库在项目根目录中的main.js中,引入并使用uView的JS库,注意这两行要放在import Vue之后。// main.jsimport uView from "uview-ui";Vue.use(uView);2. 在引入uView的全局SCSS主题文件在项目根目录的uni.scss中引入此文件。/* uni.scss */@import 'uview-ui/theme.scss';

2022-05-17 18:36:27 529

原创 redux、react-redux、redux-thunk、redux-saga对比

reduxredux工作流程示意图actions函数形式,返回 action 对象,通常具有type属性。负责指令的生成,页面通过 store.dispatch(action) 向 store 发送数据修改的请求。reducers一个纯函数,接收两个参数 (previousState, action) 第一个表示修改之前的 state 的值,action 是上一步页面通过 store.dispatch(action) 向 store 传递的 action。reducers 通过 ac

2022-05-07 13:45:50 452 1

原创 浏览器缓存:强缓存和协商缓存

介绍:浏览器缓存是为了节约资源,并且可以加速浏览网站的速度,当用户第一次进行访问网页的时候,浏览器在用户磁盘上对请求的文档进行保存,当用户第二次访问的时候,就会从本地直接显示,从而提高了访问页面的速度。浏览器缓存分为:强缓存和协商缓存两种。缓存的优点:减少了不必要的数据传输,节省带宽 减少服务器的负担,提升网站性能 加快了客户端加载网页的速度 用户体验友好缺点:资源如果有更改但是客户端不及时更新会造成用户获取信息滞后,如果老版本有bug的话,情况会更加糟糕。强缓存:如果资源没过

2022-04-12 15:44:37 1126 1

原创 扫描普通二维码,进入微信小程序

登陆微信公众平台1.点击【开发】-【开发管理】-【开发设置】开启扫普通二维码链接打开小程序,点击添加配置:打开添加配置:二维码规则根据二维码跳转规则,开发者需要填写需要跳转小程序的二维码规则。要求如下: 二维码规则的域名须通过ICP备案的验证。 支持http、https开头的链接(如:http://wx.qq.com、https://wx.qq.com/mp/、https://wx.qq.com/mp?id=123)。 前缀占用规则开发者可选择是否占用符合二维.

2022-04-12 13:01:43 2482

原创 微信扫码ios:scanQRCode:the permission value is offline verifying

报错信息:安卓手机:permission deniedios手机:scanQRCode:the permission value is offline verifying解决方案:1、确认config的jsApiList参数包含了这个JSAPI前端代码:wx.config中jsApiList里加上'scanQRCode'2、确认IP白名单、js安全域名、网页授权域名IP白名单:【开发/基本配置】-【IP白名单】 js安全域名、网页授权域名:【设置/公众号设置】-【功能设置】-.

2022-04-12 12:36:23 3153

原创 微信扫码scanQrCode:permission denied

报错信息:安卓手机:permission deniedios手机:scanQRCode:the permission value is offline verifying解决方案:1、确认config的jsApiList参数包含了这个JSAPI前端代码:wx.config中jsApiList里加上'scanQRCode'2、确认IP白名单、js安全域名、网页授权域名IP白名单:【开发/基本配置】-【IP白名单】 js安全域名、网页授权域名:【设置/公众号设置】-【功能设置】-.

2022-04-12 12:35:15 4454

原创 浏览器的缓存机制

浏览器的缓存机制:就是把一个请求过的web资源(例如:html页面、图片、js、数据等)拷贝一份副本储存在浏览器中;缓存会根据进来的请求保存输出内容的副本,当下一个请求到来的时候,如果是相同的URL,缓存会根据缓存机制决定是否直接使用副本响应访问请求,还是向源服务器再次发送请求。缓存的好处:减少网络宽带产生较小的流量,减轻服务器的压力,渲染缓存的页面,就减少了对源服务器的访问,提高响应页面的速度,用户再次打开不用等待时间过长;缓存的规则:就是根据http协议头和html标签中的meta;从两个维度,

2022-03-05 23:08:37 163

原创 webpack的优化之SplitChunksPlugin

最初,chunks(以及内部导入的模块)是通过内部 webpack 图谱中的父子关系关联的。CommonsChunkPlugin曾被用来避免他们之间的重复依赖,但是不可能再做进一步的优化。从 webpack v4 开始,移除了CommonsChunkPlugin,取而代之的是optimization.splitChunks。optimization.splitChunks下面这个配置对象代表SplitChunksPlugin的默认行为。webpack.config.jsmod...

2022-03-05 18:19:21 1317

原创 uniapp中app应用和h5页面,调用微信h5支付

直接上代码:mixinsPayLoad(res) {//res接受后端的参数,mwebUrl为跳转微信支付路径 // #ifdef H5 window.location.href = res.mwebUrl; // #endif // #ifdef APP-PLUS const platform = uni.getSystemInfoSync().platform const webvie

2022-03-01 12:40:49 5115 1

原创 ios开发者添加开发测试机

从开发者中心进入,配置添加测试设备的udid,并重新下载配置文件1.登录进入开发者中心后,选择入下图2.点击左侧Devices,点击“+”,可看到如下图填写设备信息:UDID查看:使用手机端的Safari浏览器(必须是Safari)访问UDID查询网页www.pgyer.com/udid一步一步添加新设备3.设备添加完毕后 在列表中选择Profiles -> 点击我们的dev证书进入详情后,点击右上角edit,进入编辑模式后,主要关注下方...

2022-02-28 18:41:14 2363

原创 企业微信 企业内部应用 扫码无法使用

wx.error报错如下:{"errCode":2,"err_ Info":"not match any reliable domain.more info at https://open.work.weixin.qq.com/devtool/query?e= 80001","errMsg"config:fail"}原因:未进行域名校验。解决:【应用管理】配置‘网页授权及JS-SDK’点击‘申请域名校验’进行域名校验。然后下载域名校验文件,部署至服务器后,勾选“已上传域名归属校验文件..

2022-02-24 17:47:54 1121

原创 微信小程序支付:下单账号与支付账号不一致

原因:同一个账号两个人登录导致的bug

2022-02-24 11:44:23 2697

原创 Vue packages version mismatch: vue@2.6.10 vue-template-compiler@2.6.14 的解决办法

报错如下:解决方案:安装同一版本的 vue和vue-template-compilernpm i vue-template-compiler@2.6.10

2022-02-21 17:42:48 1083

原创 vite和webpack的区别及优势

webpack会先打包,然后启动开发服务器,请求服务器时直接给予打包结果。vite直接启动开发服务器,请求哪个模块再对该模块进行实时编译。打包原理:vite优点:webpack服务器启动速度比vite慢 由于vite启动的时候不需要打包,也就无需分析模块依赖、编译,所以启动速度非常快。当浏览器请求需要的模块时,再对模块进行编译,这种按需动态编译的模式,极大缩短了编译时间,当项目越大,文件越多时,vite的开发时优势越明显 vite热更新比webpack快 vite在HRM方面,当某个

2022-02-19 13:57:06 4595

原创 求幂运算符**和Math.pow

求幂运算符(**)返回将第一个操作数加到第二个操作数的幂的结果。它等效于Math.pow,你可以理解它就和+、-运算符一样。在ES5的时候,我们通过求一个数的次幂通常是通过Math.pow方法操作的。const result = Math.pow(3, 4);//81 3的4次方现在,我们可以直接使用**运算符直接求幂。且写法简洁很多。const result2 = 3 ** 4;//81 3的4次方...

2022-02-08 18:32:08 354

原创 js 中 includes和indexOf的区别

区别1:includes用来判断一个数组是否包含指定的值,包含返回ture,否则为false;indexOf返回在数组中存在指定值的第一个索引,不存在返回-1const arr = ['a','b']console.log(arr.includes('a'))// trueconsole.log(arr.indexOf('a'))// 0区别2:includes可以判断有NaN的元素,indexOf不能const arr = ['a','b',NaN]console.log(

2022-02-08 18:17:12 2360

原创 vue添加实例 property与import

添加实例 property你可能会在很多组件里用到数据/实用工具,但是不想污染全局作用域。这种情况下,你可以通过在原型上定义它们使其在每个 Vue 的实例中可用。Vue.prototype.$appName = 'My App'这样$appName就在所有的 Vue 实例中可用了,甚至在实例被创建之前就可以。如果我们运行:new Vue({ beforeCreate: function () { console.log(this.$appName) }})则控制..

2022-01-12 16:18:00 261

原创 es2020新增语法 ?. 与? ?

ES2020引入了“链判断运算符” ?. var obj={ zhangsan:{ name :"张三" } }//如果这样写 obj.lisi.name //会报错obj.lisi?.name //不会报错ES2020引入了一个新的 Null 判断运算符??。它的行为类似||,但是只有运算符左侧的值为null或undefined时,才会返回右侧的值//?? 左侧是null,undefined时...

2021-12-30 18:27:51 542

原创 微信小程序分包的相关介绍

分包的介绍:某些情况下,开发者需要将小程序划分成不同的子包,在构建时打包成不同的分包,用户在使用时按需进行加载。在构建小程序分包项目时,构建会输出一个或多个分包。每个使用分包小程序必定含有一个主包。所谓的主包,即放置默认启动页面/TabBar 页面,以及一些所有分包都需用到公共资源/JS 脚本;而分包则是根据开发者的配置进行划分。在小程序启动时,默认会下载主包并启动主包内页面,当用户进入分包内某个页面时,客户端会把对应分包下载下来,下载完成后再进行展示。目前小程序分包大小有以下限制:整个

2021-11-29 15:47:31 203

原创 vue写一个toast弹窗公共组件思路 vue.extend

src/components/toast/index.vue<template> <div v-if="showWrap">{{text}}</div></template><!--前端样式忽略-->src/components/toast/index.jsimport vue from 'vue'//静态组件import toastComponent from './index.vue'// 返回一个扩展实力构造

2021-11-17 10:18:36 626

原创 uniapp中手持机激光扫描

1.打开手持机【键盘助手】,按照下面图片配置进行相关配置。KeyCode配置139和293是手持机的键,可以根据手持机按钮按下的键,自定义进行配置。2.前端uniapp代码:export default { data() { return { activity: null, receiver: null, intentFilter: null, content:'' } },.

2021-09-22 17:33:37 475

原创 nodejs文件操作的基本命令

创建目录和文件我们可以使用fs.mkdir fs.writeFile来分别创建目录和文件。 mkdir()可以接收三个参数,第一个是路径,第二个是个可选项代表权限,这个我们一般不需要,第三个参数是一个回调函数,我们可以在这里面做一些处理。/* learnNode.js */let fs = require('fs');fs.mkdir('js',(err)=>{ if(err){ console.log('出错') }else{ console.log('未出

2021-09-09 16:34:07 171

原创 nodejs写一个简单的爬虫

1.新建一个目录,执行:npm init执行命令后一直回车即可,就会发现package.json文件已经创建好了,然后 安装cheerio依赖:npm install cheeriocheerio是jquery核心功能的一个快速灵活而又简洁的实现,主要是为了用在服务器端需要对DOM进行操作的地方。具体代码:// 请求 url - > html(信息) -> 解析htmlconst https = require('https');const cheerio .

2021-09-09 16:25:15 54

原创 vue-cli3打包后生成的chunk-vendors文件过大,导致加载太慢,利用SplitChunks插件解决,分离chunk

直接使用插件解决这个问题!第一步:先下载这个插件第二步:修改vue.config.js配置文件const CompressionPlugin = require("compression-webpack-plugin")............plugins: [new CompressionPlugin({algorithm: 'gzip',test: /\.(js|css|less)$/, // 匹配文件名th...

2021-06-16 15:15:22 4247

原创 钉钉微应用iconfont在Android下图标找不到

低版本android他不支持woff2格式的字体,必须要使用woff格式字体,由于从默认iconfont网站上下载来的字体,woff2排在woff之前,所以导致android无法正确识别到woff了@font-face {font-family: "iconfont"; src: url('iconfont.eot?t=1557465831153'); /* IE9 */ src: url('iconfont.eot?t=1557465831153#iefix') format('embedd

2021-05-10 15:16:00 315

原创 字符串截取substr,substring,slice的区别

相同点这三个方法都可以对字符串进行截取,并且返回一个新的字符串,也就是不会对原字符串进行修改不同点这三个方法的不同之处在于参数不同。substringsubstring() 方法用于提取字符串中介于两个指定下标之间的字符。语法string.substring(start,stop)参数参数 描述 start 必需。一个非负的整数,规定要提取的子串的第一个字符在string中的位置。 stop 可选。一个非负的整数,比要提取的子串的最后一个字..

2021-04-09 15:46:35 249

原创 koa框架的基本使用

1.Koa介绍Koa 是基于 Node.js 平台的下一代 web 开发框架。Koa是由 Express 原班人马打造的,致力于成为一个更小、更富有表现力、更健壮的 Web 框架。 使用 Koa编写 web 应用,可以免除重复繁琐的回调函数嵌套, 并极大地提升错误处理的效率。Koa不在内核方法中绑定任何中间件, 它仅仅提供了一个轻量优雅的函数库,使得编写 Web 应用变得得心应手,开发思路和 Express 差不多,最大的特点就是可以避免异步嵌套2.Koa的安装和基本使用(1)koa..

2021-03-07 17:01:34 1658

原创 Webpack 中 file-loader 和 url-loader 的区别

当我们基于webpack进行开发时,在页面引入图片(包括img的src和background的url),就会遇到一些问题。问题1:引用路径的问题拿background样式用url引入背景图来说,我们都知道,webpack最终会将各个模块打包成一个文件,因此我们样式中的url路径是相对入口html页面的,而不是相对于原始css文件所在的路径的。这就会导致图片引入失败。这个问题是用file-loader解决的,file-loader可以解析项目中的url引入(不仅限于css),根据我们的配置,将图片拷贝

2021-03-06 17:34:14 311 1

原创 普通的html页面中ie11的兼容性问题

项目背景:做一个公司的门面网站,响应书布局,适配各种设备及分辨率技术:media媒体查询、flex布局、vue.js实现方式:<!DOCTYPE html><html><head> <title>资产</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, user-

2021-01-22 13:41:48 528

微信公众号拍照功能

此代码是前端在vue中利用sdk调用微信公众号api的拍照功能代码

2018-12-04

空空如也

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

TA关注的人

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