- 博客(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 260
原创 vue oss 上传图片
今天 有人问阿里云的上传图片的问题。我就去查看了下,阿里云的上传分为表单上传,普通上传,点断上传(分片上传)。这次主要是使用普通上传,来做上传一个图片功能。第一步:你的有阿里云账号,然后开辟存储空间,拥有一个区域,然后得有一个包名,当然还得有accessKeyId和accessKeySecret(id和秘钥)。第二步:我这项目是使用vue写的。所以我使用npm install al...
2019-03-20 21:12:48 2357 5
原创 this.triggerElm.setAttribute is not a function 报错解决办法
this.triggerElm.setAttribute is not a function 报错解决办法
2022-09-28 15:02:58 2192 1
原创 vue3的deep穿透样式
新版的写法: &:deep(input) { text-align: right; color: #555555; }旧版的写法/deep/ input{}>>> input{}
2020-12-11 09:44:45 12323
原创 vscode 配置
目录vscode添加新建文件头部注释和函数注释vscode换行问题vscode添加新建文件头部注释和函数注释搜索添加koroFileHeader插件,安装之后reload 搜索setting,然后搜索FileHeader点击并且进入setting界面 "fileheader.configObj": { "createFileTime": true,//设置为true则为文件新建时候作为date,否则注释生成时间为date "autoAdd": true,...
2020-11-30 17:22:20 240
原创 prettier
保存一套prettier规则{ // 使能每一种语言默认格式化规则 "[html]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[css]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[less]": { "editor.defaultFormatter":
2020-09-21 11:55:02 1530
原创 乾坤微前端优化 (二)
在乾坤微前端优化(一)的基础上再次进行了优化,本次优化的是子模块共同的配置,以及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 2155 1
原创 乾坤微前端优化(一)
前提1. 同一个技术,都是react,或者都是vue。2. 会webpack的dll配置。思考发现各个应用之间,第三方的包都是很多的,假如我们在主应用把这些包抽取出来,后面子应用引入,可以极大地减少子应用包的大小。解决方法一开始想使用externals来解决这问题,但是发现有一部分插件是不支持umd格式的,所以废弃了这个方案。后面想到了webpack的dll打包,可以打包抽取不支持umd格式的插件,完美的解决了问题。开始配置直接上代码const p...
2020-09-08 10:07:33 4816
原创 vant的popup+picker在ios上的一个bug
场景描述近期做了一个体检的项目,需求是需要先选择项目,然后去选择排班日期。也就是具有二次关联。bug描述在部分的ios上,第二次选择排版日期出现了蒙版样式没了。本来的效果是选择器各项具有模糊效果,只有选中的一项是100%高亮的。排查问题先是查看源码,怀疑源码有问题。初步排查下来,发现定位,css都没有问题。(css中模糊使用渐变处理的)其次一个一个试,最后发现问题是因为dom突然间增加了一段导致的。结果分析1. 低版本的ios上dom的定位可能会不太准确...
2020-07-02 14:09:55 3143
原创 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 1161 1
转载 汉字转拼音
今日在网上看到了一个中文转拼音,我还以为需要调用第三方去实现的,后来发现只是使用了穷举法,策略模式。1. 先列出所有的拼音,然后给拼音添加对应的中文转义的代码。2. 然后循环上面穷举的对象,去搜索是否存在当前转义代码。如果存在,则返回当前的拼音。方法问题:1. 穷举的中文太多了,不好维护。2. 多音字不好操作,不知道选哪一个拼音。3. 速度慢。以下是源码:var pinyin = (function () { var Pinyin = function (ops) ..
2020-05-18 10:14:25 10183
原创 软键盘遮挡input和input失焦后不回滚的解决办法
对安卓手机和苹果手机两种不同的情况分析。安卓:部分安卓机聚焦的时候,软键盘会遮挡住input。原因:软键盘拉起的时候,页面的高度变小了。部分安卓机聚焦的input不会自动滚动到指定位置,所以我们可以监听当窗口改变时,让当前聚焦的元素滚动到指定位置(scrollIntoViewIfNeeded)。我们也可以对单个input的聚焦函数添加事件,但是那样子有一定的局限性。重复且啰嗦。i...
2020-03-05 16:51:24 475
原创 vue.config.js配置
全局配置less文件,无需每个文件都导入less--------------------------------------------------------2020-01-08 后续更新---------------------------------------------------
2020-01-08 16:59:20 99
原创 图片添加水印问题
function transformFile(text = '', maxWidth = 600, maxHeight) { return function (file) { return new Promise(resolve => { const reader = new FileReader(); reader....
2019-12-24 15:17:23 206
原创 真解决办法,taro 事件阻止冒泡
首先看官网的解决办法:实践场景:页面底部flex布局,最右边存在“去结算”按钮,整个底部点击的时候要展开商品列表。实践结果:点击去结算的时候,展开了商品列表。判断结果:无效。解决办法:函数bind一下,就可以解决了。这里还是一样。总结一下:文档不一定正确。bind函数的作用只是改变了作用单位,那么可以猜想一下,两个e不一样。...
2019-10-25 14:44:48 2724
原创 公众号开发
授权域名 只允许添加两个,需要获取openid的项目需要配置。Js安全域名可以存在三个,但是每个月只有三次修改机会。需要调用微信的jdk的时候要用到。Ip白名单可以存在多个。需要获取access_token的时候需要配置,一般与js安全域名一起配置的。业务域名最多存在三个。项目中有输入框的时候,会弹出提示,配置了业务域名,就弹出提示。配置开发人员在开发==》开发者工...
2019-10-18 14:20:15 92
原创 export与export default 区别
持续更新简单来说,使用export导出的,如果导入需要使用{},且需要名字一一对应,export default 导出的,如果导入,不使用{},且名字可以不对应。联想:export 导出的是一个对象,使用的是es6解构方式使用。(实际上不是,必须要加{}才可以) export default 导出的只有一个值,所以名字可以随意。------------------...
2019-09-27 09:48:03 112
原创 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 430
原创 数组交叉
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 410
原创 tips
1. 正则表达式:如果想匹配 *等特殊字符,需要在*前面加"\"。如果是new 出来的正则 ,需要加两根"\"。new 出来的正则,第二个参数可以传字符传g/i。2. 自执行函数Object.assign()的时候,有一个变量需要进行转换,那么可以使用自执行函数。3. echarts中如果每一列的宽度不够的话,文字不显示。(ps:做荥阳数据报表出现的问题,2019年8月2...
2019-08-14 16:44:11 148
原创 js之数据污染与深度克隆
本次讲解写js之数据污染。什么叫污染,这个污染就是类似与生活中的污染一样,比如说抹布使用了以后就会脏脏的,这个就是污染。那么js中的数据如果使用了,数据发生了变化,那就是数据污染。js基本类型数据是不会存在数据污染的,只有引用类型会存在数据污染,比如说数组,对象。一个数组的数据污染例子:var arr = [1,2,3];var nArr = arr;nArr.push(4)...
2019-07-31 16:31:57 1506
原创 微信关闭页面分享及其余功能
插入一段代码就好$(function () { function onBridgeReady() { WeixinJSBridge.call('hideOptionMenu'); } if (typeof WeixinJSBridge == "undefined") { if (document.addEventListener) { ...
2019-07-31 15:39:20 1570
原创 filters 、 computed 与 watch 区别
filters与computed相同点:都必须有返回值,且都可以绑定数据不同点:filters 可以传参,但是不可以访问this,可以多个过滤。只有过滤器传参改变就会触发。不存在缓存 computed 不可以传参,可以访问this,针对的是一个变量的操作。当其中的数据改变就会触发。存在缓存filters 一般用于 数据格式化,computed...
2019-07-02 11:39:18 1004
原创 数组的方法
最近一直在寻找关于数组的操作最优解发现了好多数组方法indexOf : 查找某一个元素,返回下标,一般是查找数组元素lastIndexOf : 从后面开始查找元素,返回下标。用法同上includes : 查找某一个元素,返回true/false,用法同indexOf,这个可以差NaN。push : 从后面插入,返回数组的长度,无...
2019-06-04 16:40:47 125
原创 数组的奇葩去重
比如说 [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 81
原创 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 2870
原创 小程序批量画布转图片保存
在做一个首页轮播图需要一维码,点击轮播图单项出现弹窗,显示一维码加二维码需求。问题:使用了太多的canvas,因为canvas是原生组件,所以不存在层级限制。而且弹窗中的画布有时候出现有时候不出现的。解决方案:1. 想重开一个页面 内容时弹窗内容 (未通过,小程序页面会缓存,也会出现时有时没有)。 2. 整体画布转换为图片,然后使用没有限制。所以采...
2019-05-22 16:39:07 1227
原创 小程序向上弹出框式动画
使用transform实现默认样式代码: transform: translateY(100%); transition-duration: 0.3s;弹出的时候把transform: translateY(100%);改为transform: translateY(0); 就可以了
2019-05-15 17:48:49 1879
原创 小程序去掉滚动条
小程序去掉滚动条方案:原因:小程序不允许单独设置页面中单独元素的滚动条样式 只有全局设置解决方案:在app.wxss 中添加如下代码 即可实现::-webkit-scrollbar { width: 0; height: 0; color: transparent;}是指去掉scroll-view组件中的滚动条样式。...
2019-05-15 11:35:25 2848
原创 如何判断对象,数组,日期,文件,函数
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 113
原创 小程序常见问题
1. text 标签会自动帮你解码(/n),rich-text 也会,但是有bug,不会对齐2. 轮播图必须要有一个高度,默认高度是150px,可以做到自适应轮播图的高度,计算比例3. 内联样式不会做自适应,需要写到样式里面去4. 小程序切换页面可以保持滚动高度,使用hidden属性。5.小程序可以做左滑删除效果,是对点击开始事件和移动事件的监听。或者是点击取消事件的监听位置偏...
2019-02-28 13:46:56 160
原创 常见的移动端支付密码框demo
其实很简单的。第一种:1. 首先 密码框的黑点自己定义,切记是图片,是自己写的。2. 输入框也是自己写的,方便检测输入的值。第二种:1. 密码框的黑点还是自定义,但是需要再加一个透明度为0的input输入框,这个输入框要刚好遮住密码框。2.这样子输入框可以不用自己写,直接使用输入框。...
2019-02-28 11:40:08 922
原创 小程序 input 软键盘与输入框的距离
cursor-spacing: 类型:Number指定光标与键盘的距离,单位 px 。取 input 距离底部的距离和 cursor-spacing 指定的距离的最小值作为光标与键盘的距离auto-focus:true类型:Boolean自动聚焦,拉起键盘。如果你设置为true,那边你打开页面就会弹出键盘,这时可能会遮挡一些控件。此功能即将废弃,尽量使用focusfocus:类型...
2018-12-29 17:15:55 3079
原创 写代码
1. script 写在head里面 不会加载之后跳转写在 body里面的话 会发现有一个一闪而过的页面2. 公告滚动,可以使用marginTop 但是看着比较僵硬 所以使用 animate 把滚动的时间的每次滚动间隔调大一点 看着就不会很僵硬了还有一种思路 是两个复制,然后scrollTo 慢慢滚动。看着很好看 ...
2018-12-07 18:27:45 105
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人