自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 vue-router4结合keep-alive实现页面缓存

vue-router4结合keep-alive实现指定路由缓存

2022-12-29 15:36:44 1083

原创 git commit提交信息规范

git commit 时显然需要对提交的message进行规范化处理,可以遵循下列规范type: subject(空一行)body其中type是提交信息的类型,subject可以是对提交内容的概括,body作为具体的提交内容type具体type的值只能为以下几类feat : 开发了具体的需求功能fix: 修复了bugdocs :文档相关提交style:代码格式,比如说新增了一个分号,去掉了一些空格之类(注意不是css的变动)refactor:代码重构,比如对现有功能的重写tes

2021-05-10 14:02:42 887

原创 css:打造一个故障风格按钮button

故障风格的按钮<!DOCTYPE html><html><head> <title>test</title> <link href="https://fonts.font.im/css?family=Oswald" rel="stylesheet"></head><style type="text/css"> body{ display: flex; justify-content: .

2021-01-06 16:59:07 390

原创 将富文本内容区分图片和文本

摘要在一些快应用中,比如小程序中,可能会有需求,在输出的文章中,需要对图片可预览,正常的富文本内容是<img/>标签,无法预览处理,因此需要将富文本中的图片路径和文本区分开发,以实现图片预览效果代码/* 对富文本进行分割 */ function sliceStr(str) { let result = []; // 提取url的正则 const reg = /<img.+?src=[\"\'](.+?)[\"\'].{0,}?>/g; let index

2021-01-06 10:08:48 1223

原创 uniapp编译app中遇到的一些问题汇总

使用uniapp开发,一般都开发小程序,同时有着编译app或者H5的潜在需求. 在编译app或者H5的过程中,会有一些"兼容性"问题(小程序可以,app异常),以下是我遇到的一些问题以及解决方案1.自定义组件使用时,不能使用原生的tap等事件在自定义组件中对事件处理进行一次封装,可以$emit自定义事件2.图片上传异常小程序中可能在上传图片会加上header header: { "content-type": "multipart/form-data" },编译app或者h5.

2020-12-23 11:12:23 1838

原创 webpack:webpack.config.js配置文件(二)

接上文,继续对webpack的一些配置进行总结resolveresolve 可以翻译为解析,webpack是从entry入口文件开始,遍历寻找各个模块的依赖,而通过resolve的配置,可以更快速查看到依赖.常用的配置项有:resolve.extensionsresolve.extensions是帮助webpack解析拓展名的配置,默认为['.wasm', '.mjs', '.js', '.json'],所以我们引入js和json文件可以不用写拓展名,我们也可以在extensions中添加c.

2020-06-23 17:23:37 562

原创 中国各省份省会地图json数据

[ { name: "沈阳市", value: ["123.429092", "41.796768"], }, { name: "长春市", value: ["125.324501", "43.886841"], }, { name: "哈尔滨市", value: ["126.642464", "45.756966"], }, { name: "北京市", value: ["116.405289", "39.9049

2020-06-17 11:48:43 3743

原创 webpack : webpack.config.js 配置文件(一)

webpack.config.js是启动webpack的配置文件,遵循nodejs的commonJS规范,使用require引入模块,并最终通过module.exports导出配置,实际上就是一个nodejs文件.1.启动方式webpack默认使用同目录下的webpack.config.js文件,也可以自定义指定文件位置在package.json文件中配置:"scripts": { "build:dev":"webpack --config ./src/webpack.config.de.

2020-06-03 18:07:47 2345

原创 一文学会sass常用语法

前言项目一直用的scss,但是一直没有好好学些sass的用法,一直用的只有定义变量和选择器嵌套等寥寥几个功能(捂脸).后来仔细看了一下sass中文网,感觉自己错过了一个世界…用法1.其中一些简单的用法 使用 $定义变量; 选择器嵌套包括使用&表示元素本身;2.一些平时会用到的用法 属性嵌套带有相同前缀的css属性可以用嵌套的规则书写.text-item{ fon...

2020-03-16 17:52:03 193

原创 html2canvas踩坑记

1.canvas生成的字体小了好多解决方案: font-variant: normal; font-family: 'Microsoft Yahei';这里要加上这个,需要设置字体(必须),我的就是设置了字体就好了2.截屏不完整问题解决方案:这里主要是采用曲线救国的方式可以在 需要生成图片的模块 渲染完成的时候,就调用html2canvas,然后将生成的DataURL存起来...

2020-02-23 17:33:46 1464

原创 从electron-api-demos项目分析electron(1)

项目入口根目录下的index.html文件是项目的入口文件,一开始软件的显示页面就是渲染的这个文件的html代码,我们分析一下这个页面:css文件 variables.css 用于定义一些变量; navtivize.css 文件定义一些样式使软件看上去更加原生(由于electron使用的是Chromium来展示web页面,可能需要去除一些浏览器默认样式.) global.css 定...

2020-01-02 16:19:09 928 1

转载 js处理错误异常

转载于http://jartto.wang/2018/11/20/js-exception-handling/

2019-12-03 17:32:22 276

原创 动态规划的背包问题

主要原理是将一个大背包拆成小背包,看每个小背包中能转载的最大价值,以下是每个格子的最大价值公式ceil[ i ][ j ]=max( ceil[ i-1 ][ j ] ,i行的价值+ ceil[ i-1 ][ j- i行的价值]) /* @param [[cost,value],[cost,value]] 商品的花费和价格数组 @param opacity 容量 @param...

2019-11-26 15:22:51 113

原创 小程序云函数上传图片

使用小程序的云函数实现图片上传至云服务器云函数代码// 云函数入口文件const cloud = require('wx-server-sdk');const utility = require('utility');cloud.init()// 云函数入口函数exports.main = async (event, context) => { try{ r...

2019-11-21 15:29:31 2218 1

原创 浏览器的缓存机制cache-control

在web网站的开发过程中,浏览器缓存机制是一个比较重要的话题,了解这方面有助于开发以及网站性能的提高.浏览器缓存分类1.强缓存:指浏览器直接从浏览器缓存中读取资源,不请求服务器,状态码显示200,并且size显示from disk cache或from memory cache;2.协商缓存指浏览器向服务器发送请求,并且根据request headers中携带的数据判断是否需要从缓存...

2019-11-13 17:48:46 2266

转载 关于css中的will-change属性

https://www.w3cplus.com/css3/introduction-css-will-change-property.html

2019-11-11 10:11:12 304

原创 微信小程序canvas绘图中canvasToTempFilePath出现CreateBitmap问题

在微信小程序中我们经常需要将绘制好的canvas保存到本地,这中间我们需要调用canvasToTempFilePath将canvas画布转为本地临时文件,在这里遇到了一个errorcreate bitmap failed1.问题起因在一部分性能不强的安卓机上经常会出现这个问题2.解决方案当失败时重新调用canvasToTempFilePath方法,直至绘制成功 /* ct.dra...

2019-10-30 11:09:24 5961

原创 H5进行图片压缩代码

H5进行图片压缩主要是利用了canvas的drawImage方法compressImage.js function compressedImage(img) { const canvas = document.createElement("canvas"); const ct = canvas.getContext("2d"); const ...

2019-10-24 18:00:57 799

原创 微信小程序:openSetting遇到的一些问题

微信在2018年时对openSettingAPI做了一些改动,总结就是说:为了防止一些公司为了获取用户授权不择手段,在此将openSetting接口改为手动调用,必须通过tap事件或者button来触发使用时存在的问题<view bindtap="openSetting">openSetting</view>openSetting(){ setTimeo...

2019-10-15 16:25:12 3625

原创 移动端H5调起手机发短信功能

贴上代码<script> var u=navigator.userAgent; var isAndroid=u.indexOf('Android')>-1||u.indexOf('Adr')>-1; var isIOS=!!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); var msg='hello world...

2019-10-15 15:46:06 2880

原创 uniapp开发支付宝小程序遇到的问题

1、支付宝不支持picker的mode属性,仅支付单项picker解决方案:将多项picker进行拆分2、不支持自定义头部导航不支持的定义在于,无法通过navigationStyle的配置去掉顶部的默认返回按钮始终左上角会有返回按钮盘踞,但是可以通过设置达到一种类似与自定义导航的效果,但是点击左上角,还是会返回看似自定义,实际上在左上角仍然有默认的返回按钮3、span 标签上...

2019-08-02 14:42:26 9022 1

原创 uni-app本地打包配置过程中出现的问题

1、配置android studio这里面没有主要碰到以下坑:1、偶尔会出现没有这个选项,可以通过重启电脑或者重启软件的方式解决(多重启几次);2、碰到opengles的版本过低的问题,可以升级一下驱动,可以在这个网站进行下载http://www.ldmnq.com/bbs/thread-9-1-1.html(注意可能会有捆绑软件!)3、Emulator: Process finish...

2019-05-05 17:17:53 13624

原创 使用node导入导出excel文件

插件const nodeExcel = require('node-xlsx');const fs=require('fs');导入const list = nodeExcel.parse('./lzyAPI.xlsx'); // 同步操作list的格式为[ { name:'sheet1', data:[ ['data1','data2','data3'], ...

2019-04-30 11:25:50 2402

原创 leetcode:到达终点数字

题目解答var reachNumber = function(target) { let curTarget=0; let step=0; target=Math.abs(target); while(curTarget<target){ step++; curTarget+=step; } let dis=curTarget-...

2019-04-26 10:04:40 467

原创 leetcode:旋转数字

题目我们称一个数 X 为好数, 如果它的每位数字逐个地被旋转 180 度后,我们仍可以得到一个有效的,且和 X 不同的数。要求每位数字都要被旋转。如果一个数的每位数字被旋转以后仍然还是一个数字, 则这个数是有效的。0, 1, 和 8 被旋转后仍然是它们自己;2 和 5 可以互相旋转成对方;6 和 9 同理,除了这些以外其他的数字旋转以后都不再是有效的数字。现在我们有一个正整数 N, 计算从 ...

2019-04-24 19:47:08 135

原创 理解js中的同步和异步执行

从零开始js的执行顺序:从头到尾,一行一行执行代码,这是前提。因此这样的代码的代码完全能够按照我们的预想输出console.log(1);console.log(32)只到遇到了下面的代码console.log(1)setTimeout(()=>{ console.log(2)},0)console.log(3)异步js是一门单线程语言,因此如果在js的线程中出现...

2019-04-19 11:31:38 3203 2

原创 BFC详解

什么是BFC块格式上下文(Block Formatting Context)BFC。它是一个独立的渲染区域,只有Block-level box参与, 它规定了内部的Block-level Box如何布局,并且与这个区域外部毫不相干。Block-level box:display为block,list-item,table-cell的元素;Inline-level box:display为in...

2019-04-17 11:21:47 837

原创 使用wepy编写小程序中遇到的一些坑(version1.x)

1、image标签只能使用单标签如果image使用双标签会报错只能使用单标签的形式<image src="" class="bottom-link-icon">2、列表渲染对大量数据进行渲染有点力不从心场景描述:比如页面一开始渲染后10条列表数据,但是之后我们需要在这十条数据之后push10条数据(分页场景),拉到底之后再push10条;产生的问题:每次视图层的渲染都是...

2019-04-16 17:18:11 429

原创 浏览器转化base64操作的API

1、window.atob和window.btoawindow.atob:对base64进行解码;window.btoa:对字符串转化为base64;2、兼容性感觉挺乐观的3、转码中文出现异常的问题使用btoa函数转码中文是会报下面的异常可以先对中文进行encodeURIComponent转码,然后转化成base64;之后可以先对base64解码,然后使用decodeURICo...

2019-03-22 11:48:02 677

转载 前端路由功能的实现

转载 前端路由简介以及vue-router实现原理路由的概念路由这个概念最先是后端出现的。在以前用模板引擎开发页面时,经常会看到这样http://www.xxx.com/login大致流程可以看成这样:浏览器发出请求服务器监听到80端口(或443)有请求过来,并解析url路径根据服务器的路由配置,返回相应信息(可以是 html 字串,也可以是 json 数据,图片等)浏览器根...

2019-03-04 19:19:05 478

转载 js中继承

聊一下es6之前js是如何实现继承的转载《js实现继承的几种方式》首先,创建一个父类 function Super(){ this.name='Tim' this.age=12 } Super.prototype.greet=function(){ console.log('greet') }1、原型链继承function Sub(){}Sub.prototy...

2019-03-04 17:30:57 111

原创 js中的cookie

1、本地调试出现无法操作document .cookie的问题使用chrome浏览器在本地是无法操作document.cookie的(IE,firefox都可以),当然如果页面部署到服务器上都是可以操作的;2、对cookie进行操作的一些方法浏览器中的cookie主要是格式如下,格式为key1=value1;key2=value2;key3=value3的格式本质上使一串以分号(;)分割...

2019-03-04 16:33:00 197

原创 vue中定义过滤器filter

1、在普通项目中进行定义使用定义:(1)在Vue实例的filters方法上定义:let vue=new Vue({ el:'#box', data:{ inputData:'' }, filters:{ filterData(data){ return Math.abs(data) } } })(2)使用Vue的filter方法进行定义(注...

2019-02-28 15:46:56 2752

原创 vue中定义全局事件

1、vue中定义全局事件方法1在main.js中Vue构造函数的原型上新增函数;Vue.prototype.globalGetData=function(){ console.log('getData');};然后可以直接在模板中调用:this.globalGetData();方法2创建一个文件(base.js):exports.install = function (V...

2019-02-28 12:15:56 4601

原创 styled-components中injectGlobal失效的替换方法

injectGlobal失效styled-components从4版本以上就废弃了injectGlobal 方法,使用createGlobalStyle进行替换处理;使用createGlobalStyle定义样式js文件import { createGlobalStyle } from 'styled-components'export const GlobalStyle=create...

2019-01-31 12:32:03 1098

原创 关于Immutable.js

前言在javascript中,对象之间的相互赋值,一般都是对内存地址引用的赋值,也就是不同的变量名可能指向同一块内存区域。这样的优点就是可以节省内存空间,但是一旦项目趋于复杂,给我们带来的弊端远远大于它的优点。因此,大部分情况下,我们可能会采用深拷贝或者浅拷贝的方式给一个变量赋值,然后改变其内容,但同样这样又会导致内存和性能的浪费。Immutable.js通过Immutable.js创建的...

2019-01-10 11:33:56 336

原创 react中使用context跨组件传递数据

为什么使用context当需要跨组件传递数据时,如果采用普通的写法,可能需要定义许多额外的数据,然后通过props进行层层传递,而改用context就不需要这么麻烦了;context的原理是在顶层的组件定义一些 ‘全局变量’ ,然后在其内部的后代组件中,都可以通过一些配置访问到这些全局变量。实现一个context1、在顶层组件中进行定义class ListContainer ext...

2019-01-09 12:10:30 1006

原创 学习一下CSSModule

什么是cssModule在js中,我们有大量模块化解决方案,比如es6中的export和import导入导出以及commonJS中的require以及module.export都可以实现私有变量以及全局变量。而在css中,为了实现这css的模块化,主要有下面两种方法: css in js。使用js或者json格式来书写样式,并将样式生成inline-style的形式,这种方式无疑可以让css...

2019-01-08 18:16:59 1976

原创 使用js实现复制功能

思路1、借助document.execCommand(‘copy’)方法,可以实现将选中的文本进行复制;2、创建一个textarea元素,然后将需要复制的文本放入其中,然后调用textarea的select方法;3、复制成功之后将textarea元素移除代码 function setClipboard(data){ let textarea=document.createElemen...

2019-01-04 17:28:42 1108 1

原创 js中的一些不常用到的事件

介绍了一些平常开发中不常用到的事件1、页面卸载事件beforeunload,unload2、session事件pageshow,pagehide3、clipboard事件copy,paste,cut1 页面卸载事件1.1 beforeunloadbeforeunload事件主要用来监听页面卸载,在用户刷新页面或者离开页面(跳转或者直接关闭)时,执行相应的逻辑。(可以阻止卸载操作)...

2019-01-04 16:08:37 554

空空如也

空空如也

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

TA关注的人

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