vue项目图片base64格式拍照或上传功能
需求:vue项目中,H5点击按钮触发上传图片或拍照上传,上传的图片使用base64位传输到后台,最终实现身份证拍照识别功能。
实现过程
(1)设置一个按钮和一个隐藏的input,点击按钮是触发按钮上传图片和拍照功能
1234567<div> <input id="filePhoto" type="file" ref="file" accept="image/*" hidden @change="onInputChange($event)" /> < ...
js动态创建form表单提交
js动态创建form表单提交
123456789101112131415161718192021//form表单提交function formSubmit(data) { //data为需要提交的数据(这里是JSON字符串) elementValue = JSON.parse(data.redirectUrl); var turnForm = document.createElement("form"); document.body.appendChild(turnForm); turnForm.method = 'post'; t ...
H5唤起高德和百度地图导航功能
需求说明:H5实现唤起高德和百度地图导航到目标景点的功能
分析:用户通过点击选择使用百度还是高德地图,点击后调用guide方法,判断设备上是否有高德或者百度APP,有就直接调用APP,如果没有就调用网页版
实现效果
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394//导航 gu ...
js浮点数计算精度问题处理
一、问题内容在码牌支付过程中,输入支付金额为19.9元时,后端保存的却是19.89元
二、问题原因由于js在进行一个浮点数与任何Number数据运算时,可能会产生精度不准确的问题。
问题代码:
1temp1.tradeFee = parseInt(Fee*100); //Fee为金额
浏览器在执行19.9*100时得到的结果是1989.9999999999998,会存在0.0000000002的误差,再通过parseInt方法取整后就造成了结果为1989
三、解决方案由于浮点型直接计算可能会出问题,所以可以将其先转为整型计算,乘法先去掉小数点,先转为整数乘法,然后再将结果缩小n倍
12 ...
this指向
this指向优先级:
箭头函数 > new object > bind > apply 、call > obj.fn() > 直接调用fn() > 不在函数里
this值:
箭头函数:this指向外层this值
new object:this指向创建的实例对象
bind: this指向第一个参数
apply、call:this指向第一个参数
obj.fn(): this指向obj
直接调用:this指向window
定时器函数:this指向window
事件绑定:this指向事件的对象
Node Sass does not yet support your current environment:Windows 64-bit with Unsupported runtime
报错 “Node Sass does not yet support your current environment: Windows 64-bit with Unsupported runtime”
node sass 不支持当前的环境
1、卸载当前版本node sass
1npm uninstall --save node-sass
2、重新安装node sass
1npm install --save node-sass
Can't find Python executable "python", you can set the PYTHON env variable
报错 “Can’t find Python executable “python”, you can set the PYTHON env variable”
安装windows-build-tools解决
1npm install --global --production windows-build-tools
安装报错Please restart this script from an administrative PowerShell,需要在管理员权限下运行
搜索cmd,然后右键“以管理员身份运行”再次运行
获取时间倒计时函数封装
1需求:根据后台返回的失效时间进行倒计时计算,并实时进行倒计时内容变化
效果:
12345678910111213141516171819202122232425262728293031323334353637//倒计时计算 endDate格式:'2022-03-16 22:19:02' queryTime: function(endDate) { var interKey = setInterval( () => { let date1 = new Date().getTime() ...
vue路径参数中带有&特殊字符处理
需求:要在路径参数中将另一个路径和多个参数作为值传入
https://elife.com/c/onConLogin?backUrl=/rights/c/RightsDetailJt?rightsId=2811&payType=3
Url参数值对之间以&符号分隔。由于路径参数的值中包含了&,造成接收Url的服务器解析错误,解析后的内容会变成
因此需要将引起歧义的&符号进行转义,其中& 对应的字符编码是%26,所以将URL修改成
https://elife.com/c/onConLogin?backUrl=/rights/c/RightsDetailJ ...
IE火狐浏览器兼容时间日期格式
IE、火狐浏览器不支持带”-“的时间格式,只支持“/”的时间格式(例如2022-10-28 10:59:59),所以需要用正则replace(/-/g,”/“),把“-”转化为“/”,
12var endtime = obtainEndDate.replace(/-/g, "/");let date2 = new Date(endtime).getTime();