js
前端菜菜子
前端菜鸟
展开
-
根据图片链接校验图片的尺寸
需求背景:配置企业微信链接消息,需要一张封面图片。是直接填写图片链接的。由于企业微信会对设置的封面图片进行截取操作,不规则的图片会被截取部分作为封面图片。产品经理想要,一个完整的封面图片128*128px的。var imgReady = (function () { var list = [], intervalId = null, // 用来执行队列 tick = function () { var i原创 2021-10-11 15:09:33 · 201 阅读 · 0 评论 -
moment获取常用时间范围
// 获取当天开始结束时间function getCurrDays(){ let date = [] date.push(moment().format('YYYY-MM-DD')) date.push(moment().format('YYYY-MM-DD')) // 获取当天的开始结束时间,精确到时分秒 // moment().startOf('days').format('YYYY-MM-DD HH:mm:ss') // moment().endOf('days').form转载 2021-09-17 10:39:05 · 1402 阅读 · 0 评论 -
正则表达式插入变量
动态控制小数点位数不废话上代码/ **** 根据传入的num值来确定value的小数点位数* value Number|String 输入框的值* num Number 需要控制的位数* * /const limitDecimals = (value, num) => { let reg = new RegExp('^(\\-)*(\\d+)\\.(\\d{' + num + '}).*$'); if (typeof value === 'string') { ret原创 2021-07-07 11:24:48 · 3046 阅读 · 0 评论 -
ant-design RangePicker 限制时间选择最长跨度为一个月
需求背景:项目有一个导出数据的功能,选择一个时间范围,将这个时间范围区间内的所有客户行为事件全部导出,由于数据量比较大项目要求限制时间跨度为最长1个月,时间过长生成文件的时间太长不友好。解决思路:当选择开始时间的时候做一次记录,将开始时间记录下来。再根据开始时间来禁用时间跨度大于一个月的日期。话不多说上代码:关键代码如下const onCalendarChange = (date) => { if (date.length==1) { setClickDate(date[0]);原创 2021-06-09 16:28:24 · 6749 阅读 · 1 评论 -
有条件的获取数组对象中的指定字段值
let list = [{ "opportunityId": "1792", "oppoName": "欣兆阳MA", "sowCode": "SW202104260001", "workType": "售前支持", "workItem": "售前支持及SOW支持", "wantTime": 87.0, "rate": "300", "status": 0, "projectId": 273, "dateCreated": "2021-04-26T00:13:59Z"原创 2021-04-28 13:55:54 · 1601 阅读 · 0 评论 -
关于文字转base64,base64转文字的坑(数字短信)
中文与base64互转(数字短信)最近在做一个阿里云数字短信短信内容包括文字、图片、视频、音频,比彩信高级一点点。其中的文字、图片、视频、音频内容都需要转换成base64格式的文件来传输。图片和媒体文件转base64没什么问题,有用到的小伙伴也可以参考下面的代码// 上传图片async function selectPicture() { return new Promise(resolve => { var file = $('<input type=fil原创 2021-01-15 17:42:42 · 1242 阅读 · 0 评论 -
复制内容到剪贴板(复制淘口令)
复制内容到剪贴板方法一npm地址:https://www.npmjs.com/package/copy-to-clipboard安装插件npm i --save copy-to-clipboard使用#引入插件import copy from 'copy-to-clipboard';if(copy("复制内容")){ console.log("复制成功");}else{ console.log("复制失败")}方法二npm地址:https://ww原创 2020-08-21 17:21:26 · 710 阅读 · 0 评论 -
控制浏览器自带返回按钮
需求背景小程序权益详情页面跳转外部H5任务进度页面查看和领取权益。遇到的问题浏览器自带返回按钮无法返回之前的小程序页面或需要多次按返回按钮返回之前的小程序页面。解决方案一(放弃)原本考虑在页面加上一个自定义的返回按钮来让用户点击返回到小程序页面(太特么丑了,不管放在页面的任何位置都显得异常的怪异)。// 先引入JSSDKimport wx from 'weixin-js-sdk'...原创 2020-04-10 17:05:03 · 2493 阅读 · 0 评论 -
如何优雅的链式取值
方法一:Optional Chaining这是一个当前处于stage 2的ecma新语法,babel官方已经实现了语法插件,不过目前还没放到自己的哪个presets里,可以直接通过plugins使用:babel-plugin-transform-optional-chaining按照这种语法代码就可以这么写:const MyComponent = props => ( <di...原创 2020-01-13 17:11:39 · 483 阅读 · 0 评论 -
防抖和节流如何实现
防抖触发高频事件后n秒内函数只会执行一次,如果n秒内高频事件再次被触发,则重新计算时间(思路—每次触发事件时都取消之前的延时调用方法)/* 防抖 */ function dou(fn, wait) { var time = null; return function () { clearTimeout(time) ...原创 2020-01-13 16:12:16 · 1620 阅读 · 0 评论