自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 canvas画布简单操作之一

缩放比例1. 绘画文字会出现模糊的现象,是因为没有缩放导致的问题。(简单概括为1->1的视图不会出现模糊,1->2 的视图就会出现模糊,现在就是要搞成同等比例的。) (function () { const c = document.createElement("canvas"), ctx = c.getContext("2d"), dpr = window.devicePixelRatio || 1, bsr = ctx

2020-08-20 19:05:00 271

原创 vue oss 上传图片

今天 有人问阿里云的上传图片的问题。我就去查看了下,阿里云的上传分为表单上传,普通上传,点断上传(分片上传)。这次主要是使用普通上传,来做上传一个图片功能。第一步:你的有阿里云账号,然后开辟存储空间,拥有一个区域,然后得有一个包名,当然还得有accessKeyId和accessKeySecret(id和秘钥)。第二步:我这项目是使用vue写的。所以我使用npm install al...

2019-03-20 21:12:48 2367 5

原创 this.triggerElm.setAttribute is not a function 报错解决办法

this.triggerElm.setAttribute is not a function 报错解决办法

2022-09-28 15:02:58 2323 1

原创 vue3的deep穿透样式

新版的写法: &:deep(input) { text-align: right; color: #555555; }旧版的写法/deep/ input{}>>> input{}

2020-12-11 09:44:45 12350

原创 vscode 配置

目录vscode添加新建文件头部注释和函数注释vscode换行问题​​​​​vscode添加新建文件头部注释和函数注释搜索添加koroFileHeader插件,安装之后reload 搜索setting,然后搜索FileHeader点击并且进入setting界面 "fileheader.configObj": { "createFileTime": true,//设置为true则为文件新建时候作为date,否则注释生成时间为date "autoAdd": true,...

2020-11-30 17:22:20 258

原创 prettier

保存一套prettier规则{ // 使能每一种语言默认格式化规则 "[html]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[css]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[less]": { "editor.defaultFormatter":

2020-09-21 11:55:02 1609

原创 乾坤微前端优化 (二)

在乾坤微前端优化(一)的基础上再次进行了优化,本次优化的是子模块共同的配置,以及dll包。DllReferencePlugin配置直接上dll配置的代码:const path = require('path');const webpack = require('webpack');const { CleanWebpackPlugin } = require('clean-webpack-plugin');const BundleAnalyzerPlugin = require('we.

2020-09-14 11:44:59 2183 1

原创 乾坤微前端优化(一)

前提1. 同一个技术,都是react,或者都是vue。2. 会webpack的dll配置。思考发现各个应用之间,第三方的包都是很多的,假如我们在主应用把这些包抽取出来,后面子应用引入,可以极大地减少子应用包的大小。解决方法一开始想使用externals来解决这问题,但是发现有一部分插件是不支持umd格式的,所以废弃了这个方案。后面想到了webpack的dll打包,可以打包抽取不支持umd格式的插件,完美的解决了问题。开始配置直接上代码const p...

2020-09-08 10:07:33 4843

原创 vant的popup+picker在ios上的一个bug

场景描述近期做了一个体检的项目,需求是需要先选择项目,然后去选择排班日期。也就是具有二次关联。bug描述在部分的ios上,第二次选择排版日期出现了蒙版样式没了。本来的效果是选择器各项具有模糊效果,只有选中的一项是100%高亮的。排查问题先是查看源码,怀疑源码有问题。初步排查下来,发现定位,css都没有问题。(css中模糊使用渐变处理的)其次一个一个试,最后发现问题是因为dom突然间增加了一段导致的。结果分析1. 低版本的ios上dom的定位可能会不太准确...

2020-07-02 14:09:55 3205

原创 webpack配置react+antd+ts

目录初始化webpack安装webpack、webpack-cli、webpack-dev-server安装antd、typescript、react安装loader安装plugins安装types及其余插件初始化webpackmkdir web-reactcd web-reactnpm init -y安装webpack、webpack-cli、webpack-dev-server开始安装webpack三件套npm install --D webpack webpack-cli webpac

2020-06-09 11:05:17 1174 1

转载 汉字转拼音

今日在网上看到了一个中文转拼音,我还以为需要调用第三方去实现的,后来发现只是使用了穷举法,策略模式。1. 先列出所有的拼音,然后给拼音添加对应的中文转义的代码。2. 然后循环上面穷举的对象,去搜索是否存在当前转义代码。如果存在,则返回当前的拼音。方法问题:1. 穷举的中文太多了,不好维护。2. 多音字不好操作,不知道选哪一个拼音。3. 速度慢。以下是源码:var pinyin = (function () { var Pinyin = function (ops) ..

2020-05-18 10:14:25 10907

原创 软键盘遮挡input和input失焦后不回滚的解决办法

对安卓手机和苹果手机两种不同的情况分析。安卓:部分安卓机聚焦的时候,软键盘会遮挡住input。原因:软键盘拉起的时候,页面的高度变小了。部分安卓机聚焦的input不会自动滚动到指定位置,所以我们可以监听当窗口改变时,让当前聚焦的元素滚动到指定位置(scrollIntoViewIfNeeded)。我们也可以对单个input的聚焦函数添加事件,但是那样子有一定的局限性。重复且啰嗦。i...

2020-03-05 16:51:24 501

原创 好用的插件

移动端:省市区插件地址,日期选择插件

2020-02-11 15:40:50 139

原创 jq之良好的时间控件和省市区控件

时间选择插件省市区选择插件

2020-02-03 14:18:29 141

原创 vue.config.js配置

全局配置less文件,无需每个文件都导入less--------------------------------------------------------2020-01-08 后续更新---------------------------------------------------

2020-01-08 16:59:20 103

原创 图片添加水印问题

function transformFile(text = '', maxWidth = 600, maxHeight) { return function (file) { return new Promise(resolve => { const reader = new FileReader(); reader....

2019-12-24 15:17:23 210

原创 真解决办法,taro 事件阻止冒泡

首先看官网的解决办法:实践场景:页面底部flex布局,最右边存在“去结算”按钮,整个底部点击的时候要展开商品列表。实践结果:点击去结算的时候,展开了商品列表。判断结果:无效。解决办法:函数bind一下,就可以解决了。这里还是一样。总结一下:文档不一定正确。bind函数的作用只是改变了作用单位,那么可以猜想一下,两个e不一样。...

2019-10-25 14:44:48 2748

原创 公众号开发

授权域名 只允许添加两个,需要获取openid的项目需要配置。Js安全域名可以存在三个,但是每个月只有三次修改机会。需要调用微信的jdk的时候要用到。Ip白名单可以存在多个。需要获取access_token的时候需要配置,一般与js安全域名一起配置的。业务域名最多存在三个。项目中有输入框的时候,会弹出提示,配置了业务域名,就弹出提示。配置开发人员在开发==》开发者工...

2019-10-18 14:20:15 94

原创 export与export default 区别

持续更新简单来说,使用export导出的,如果导入需要使用{},且需要名字一一对应,export default 导出的,如果导入,不使用{},且名字可以不对应。联想:export 导出的是一个对象,使用的是es6解构方式使用。(实际上不是,必须要加{}才可以) export default 导出的只有一个值,所以名字可以随意。------------------...

2019-09-27 09:48:03 115

原创 mpvue 修改小程序路径

修改 build文件夹中webpack.base.conf.js文件第21行function getEntry(rootSrc) { var map = {}; glob.sync(rootSrc + '/pages/**/main.js') .forEach(file => { var key = relative(rootSrc, file)....

2019-09-16 18:00:25 434

原创 数组交叉

var field = ['color', 'size', 'type', 'type2', 'season']; var arr = [ {name: '颜色', value: ['red', 'green']}, {name: '尺码', value: ['L', 'M', 'XL']}, {name: '类型', value:...

2019-08-29 18:15:45 416

原创 tips

1. 正则表达式:如果想匹配 *等特殊字符,需要在*前面加"\"。如果是new 出来的正则 ,需要加两根"\"。new 出来的正则,第二个参数可以传字符传g/i。2. 自执行函数Object.assign()的时候,有一个变量需要进行转换,那么可以使用自执行函数。3. echarts中如果每一列的宽度不够的话,文字不显示。(ps:做荥阳数据报表出现的问题,2019年8月2...

2019-08-14 16:44:11 153

原创 js之数据污染与深度克隆

本次讲解写js之数据污染。什么叫污染,这个污染就是类似与生活中的污染一样,比如说抹布使用了以后就会脏脏的,这个就是污染。那么js中的数据如果使用了,数据发生了变化,那就是数据污染。js基本类型数据是不会存在数据污染的,只有引用类型会存在数据污染,比如说数组,对象。一个数组的数据污染例子:var arr = [1,2,3];var nArr = arr;nArr.push(4)...

2019-07-31 16:31:57 1541

原创 微信关闭页面分享及其余功能

插入一段代码就好$(function () { function onBridgeReady() { WeixinJSBridge.call('hideOptionMenu'); } if (typeof WeixinJSBridge == "undefined") { if (document.addEventListener) { ...

2019-07-31 15:39:20 1581

原创 filters 、 computed 与 watch 区别

filters与computed相同点:都必须有返回值,且都可以绑定数据不同点:filters 可以传参,但是不可以访问this,可以多个过滤。只有过滤器传参改变就会触发。不存在缓存 computed 不可以传参,可以访问this,针对的是一个变量的操作。当其中的数据改变就会触发。存在缓存filters 一般用于 数据格式化,computed...

2019-07-02 11:39:18 1014

原创 小程序webview链接公众号授权网页

小程序使用公众号授权页面

2019-06-28 11:01:18 9698

原创 深度克隆

深度克隆 是指对象/数组的拷贝,因为js分原始值和引用值,对象/数组/函数 就是引用值,复制的是指针。

2019-06-26 12:01:32 112

原创 数组的方法

最近一直在寻找关于数组的操作最优解发现了好多数组方法indexOf : 查找某一个元素,返回下标,一般是查找数组元素lastIndexOf : 从后面开始查找元素,返回下标。用法同上includes : 查找某一个元素,返回true/false,用法同indexOf,这个可以差NaN。push : 从后面插入,返回数组的长度,无...

2019-06-04 16:40:47 128

原创 数组的奇葩去重

比如说 [a,b,a,'-1'] 需要去重 去重后的数据为[b]const _actionList = actionList.filter(v => { if (v !== '-1' && actionList.lastIndexOf(v) === actionList.indexOf(v)) { return v; }...

2019-06-03 11:35:40 82

原创 promise与async/await 结合使用

在es6中,这两个都是代表异步转同步函数。但是两者又有些不同之处的。不同点:1. promise还有多种方法,像resolve,reject,then,catch,finally,all,try,race这些方法。不过一般使用的多的就是前面四个方法。 resolve与reject类似与return 返回以后下面就不再运行了。 2. async/await 就是...

2019-05-24 15:48:13 2881

原创 小程序批量画布转图片保存

在做一个首页轮播图需要一维码,点击轮播图单项出现弹窗,显示一维码加二维码需求。问题:使用了太多的canvas,因为canvas是原生组件,所以不存在层级限制。而且弹窗中的画布有时候出现有时候不出现的。解决方案:1. 想重开一个页面 内容时弹窗内容 (未通过,小程序页面会缓存,也会出现时有时没有)。 2. 整体画布转换为图片,然后使用没有限制。所以采...

2019-05-22 16:39:07 1239

原创 小程序向上弹出框式动画

使用transform实现默认样式代码: transform: translateY(100%); transition-duration: 0.3s;弹出的时候把transform: translateY(100%);改为transform: translateY(0); 就可以了

2019-05-15 17:48:49 1888

原创 小程序去掉滚动条

小程序去掉滚动条方案:原因:小程序不允许单独设置页面中单独元素的滚动条样式 只有全局设置解决方案:在app.wxss 中添加如下代码 即可实现::-webkit-scrollbar { width: 0; height: 0; color: transparent;}是指去掉scroll-view组件中的滚动条样式。...

2019-05-15 11:35:25 2856

原创 小程序生成一维码

生成一维码的时候长度与数值必须息息相关,数值与长度成正比,不然扫描不出来结果。

2019-05-09 09:48:22 1988 1

原创 如何判断对象,数组,日期,文件,函数

1. 使用typeof判断返回的都是Object,所以要找找别的方法2. 使用instanceof 判断val instanceof Array3. 使用call、apply、bind判断Object.prototype.toString.call(val)Object.prototype.toString.apply(val)Object.prototype.toStri...

2019-03-21 00:12:31 114

原创 vue中组件与路由嵌套的区别

1. 组件 是可以有数据交互的2. 路由嵌套是没办法与父组件进行数据交互的两者的思想大致差不多,区别就在于这里

2019-03-01 10:43:51 2757

原创 小程序常见问题

1. text 标签会自动帮你解码(/n),rich-text 也会,但是有bug,不会对齐2. 轮播图必须要有一个高度,默认高度是150px,可以做到自适应轮播图的高度,计算比例3. 内联样式不会做自适应,需要写到样式里面去4. 小程序切换页面可以保持滚动高度,使用hidden属性。5.小程序可以做左滑删除效果,是对点击开始事件和移动事件的监听。或者是点击取消事件的监听位置偏...

2019-02-28 13:46:56 171

原创 常见的移动端支付密码框demo

其实很简单的。第一种:1. 首先 密码框的黑点自己定义,切记是图片,是自己写的。2. 输入框也是自己写的,方便检测输入的值。第二种:1. 密码框的黑点还是自定义,但是需要再加一个透明度为0的input输入框,这个输入框要刚好遮住密码框。2.这样子输入框可以不用自己写,直接使用输入框。...

2019-02-28 11:40:08 933

原创 小程序 input 软键盘与输入框的距离

cursor-spacing:  类型:Number指定光标与键盘的距离,单位 px 。取 input 距离底部的距离和 cursor-spacing 指定的距离的最小值作为光标与键盘的距离auto-focus:true类型:Boolean自动聚焦,拉起键盘。如果你设置为true,那边你打开页面就会弹出键盘,这时可能会遮挡一些控件。此功能即将废弃,尽量使用focusfocus:类型...

2018-12-29 17:15:55 3097

原创 写代码

1. script 写在head里面 不会加载之后跳转写在 body里面的话 会发现有一个一闪而过的页面2. 公告滚动,可以使用marginTop 但是看着比较僵硬 所以使用 animate 把滚动的时间的每次滚动间隔调大一点 看着就不会很僵硬了还有一种思路 是两个复制,然后scrollTo 慢慢滚动。看着很好看  ...

2018-12-07 18:27:45 108

空空如也

空空如也

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

TA关注的人

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