- 博客(31)
- 收藏
- 关注
原创 vscode入门之安装eslint,prettier,vetur,多行编辑等基本快捷键
eslint插件安裝左侧Extensions中下载eslint插件npm全局下载eslint, 并进行初始化安裝和执行 npm install eslint -g eslint --init打开 file -> preferences -> settings搜索eslint 找到里面的Eslint Options 点击 Edit in settings.json, "eslint.validate": [ "javascript", "javascrip
2021-09-14 10:47:05 1646
原创 一篇让你了解chrome V8垃圾回收
1. 为什么需要垃圾回收机制在浏览器中,Chrome V8引擎实例的生命周期不会很长(谁没事一个页面开着几天几个月不关),而且运行在用户的机器上。如果不幸发生内存泄露等问题,仅仅会 影响到一个终端用户。且无论这个V8实例占用了多少内存,最终在关闭页面时内存都会被释放,几乎没有太多管理的必要(当然并不代表一些大型Web应用不需 要管理内存)。但如果使用Node作为服务器,就需要关注内存问题了,一旦内存发生泄漏,久而久之整个服务将会瘫痪(服务器不会频繁的重启)2. V8内存限制在64位操作系统可以使
2021-07-19 15:41:00 557
原创 web安全之XSS攻击知识梳理
漏洞原理:参数输入未经过安全过滤恶意脚本被输出到网页用户的浏览器执行恶意脚本漏洞类型:反射型(无法在chrome中复现,可以用火狐浏览器)定义:攻击代码存在于URL地址中特点:传播范围小、漏洞危险等级低存储型定义:攻击代码存储在服务器中特点:用户难以发觉,危害登记高DOM型定义:由前端操作DOM元素造成特点:可能属于反射型又可能属于存储型漏洞危害:Cookie盗取(可以用户javascript获取cookie信息)冒用身份(在浏览器中,将盗用的cooki
2020-12-11 17:37:23 230
原创 react-native原生GPS与高德地图坐标,百度地图坐标系的转换
问题今天用react-native原生GPS拿到得定位信息,如图:之前高德地图取到的定位数据为(显示带有longtitude,latitude===的log)准确的121.518828125,31.19265407986111用原生GPS获取的数据为(显示为GPS++++++±====log)121.514452,31.194733发现只有小数后几位的区别,一直傻了吧唧的以为定位误差,看着也就差了几百米,其实是坐标系没有转换存在的误差。本质上是WGS-84与GCJ-02之间为转换导致的误差
2020-10-23 09:13:02 947
原创 android通过webview调起微信app支付--h5部分实践
本次项目仅涉及h5通过android中bridge调用微信支付,不涉及android中微信支付bridge的开发系统环境vue: 2.6.11微信支付流程商户系统和微信支付系统主要交互说明:步骤1:用户在商户APP中选择商品,提交订单,选择微信支付。步骤2:商户后台收到用户支付单,调用微信支付统一下单接口。参见【统一下单API】。步骤3:统一下单接口返回正常的prepay_id,再按签名规范重新生成签名后,将数据传输给APP。参与签名的字段名为appid,partnerid,prepayi
2020-10-22 17:47:05 1154
原创 cordova之支付宝APP支付实践
当前方式目前仅在测试andrid环境下通过,IOS暂无测试targetSdkVersion: 28vue: 2.6.11cordova-android: 8.1.0"cordova-plugin-alipay-v2": "^2.0.0"APP支付支付情景用户已安装支付宝支付流程1.用户在商家 App 中选择商品下单、确认购买,进入支付环节,选择支付宝,用户点击确认支付,如图 1;2.进入到支付宝页面,调起支付宝支付,出现确认支付界面,如图 2;3.用户确认收款方和金额,点击立即支付
2020-10-22 16:23:24 1038
原创 cordova之支付宝手机网站支付方式实践
关于当前系统:targetSdkVersion: 28vue: 2.6.11cordova-android: 8.1.0手机网站支付流程手机网站支付情景用户已安装支付宝支付流程步骤1:用户在浏览器中访问商家网页应用,选择商品下单、确认购买,进入支付环节,选择支付宝付款,用户点击去支付,如下图1;步骤2:进入到支付宝支付路由页面,支付宝处理支付请求,并尝试唤起支付宝客户端,如下图2(此页无法自定义删除);步骤3:进入到支付宝页面,调起支付宝支付,出现确认支付界面,如下图3
2020-10-21 16:12:17 751
原创 Semver语义化版本号和npm包之semver的相关使用
依赖地狱通俗而言,“依赖地狱”指开发者安装某个软件包时,发现这个软件包里又依赖不同特定版本的其它软件包。随着系统功能越来越复杂,依赖的软件包越来越多,依赖关系也越来越深,这个时候可能面临版本控制被锁死的风险。因此,Github 起草了一个具有指导意义的,统一的版本号表示规则,称为 Semantic Versioning(语义化版本表示)。该规则规定了版本号如何表示,如何增加,如何进行比较,不同的版本号意味着什么。官网:semver.org/ 中文版:semver.org/lang/zh-CN/下面是
2020-10-09 17:41:04 2499
原创 cordova 请求http接口或socket失败
当前环境:targetSdkVersion: 28vue: 2.6.11cordova-android: 8.1.0问题最近将webApp打包成android APP之后发现无法HTTP通信,但是通过访问浏览器ip,是可以HTTP通信的!如图通过vconsole插件可以看到HTTP接口没有返回!出现问题的原因问题出现的原因是因为Android高版本(Android 6.0)以...
2020-04-02 10:03:30 1809 1
原创 axios在post请求变量为Object,变量Request Payload显示[Object, Object]
最近在运用了axios之后,发现发送post请求,一直不成功!!错误如图:查看了axios 实例的interceptors.request的config:感觉没啥毛病呀,data中的数据格式为Object的形式,是不是头部没有设置’Content-Type’: ‘application/json;charset=UTF-8’,加上!!还是和图一一样结果,图一中已经添加过Content...
2020-03-20 15:43:58 7353
原创 十分钟让你搞懂BFC IFC GFC FFC
什么是Formatting context(格式上下文)?Formatting context 是 W3C CSS2.1 规范中的一个概念。它是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素的关系和相互作用.Box:css的基本单位Box 是css的布局的基本单位,一个页面可以看作是由很多个box组成的。不同类型的box,会参与不同的Formatti...
2020-01-07 18:46:41 1031
原创 css hint规则
不要使用多个class选择元素,如a.foo.boo,这在ie6及以下不能正确解析移除空的css规则,如a{}正确的使用显示属性,如display:inline不要和width,height,float,margin,padding同时使用,display:inline-block不要和float 同时使用等避免过多的浮动,当浮动次数超过十次时,会显示警告避免使用过多的字号,当字号声明超...
2020-01-07 13:19:43 568
原创 linux常用文件夹的含义和用途
转载:Linux下各文件夹的含义和用途买了一个阿里云ECS服务器,顺便学习一下相关liunx相关知识,做个笔记Linux根目录”/“下各个系统文件夹的含义和用途/boot 该目录默认下存放的是linux的启动文件和内核/initrd 它的英文含义是boot loader initialized RAM disk,就是由boot loader初始化的内存盘。在linux内核启动前,bo...
2019-12-13 17:54:01 457
原创 cordova极光消息推送和个人推送
消息推送在极光推送开发平台添加应用,添加应用名称和应用图标,这样一个应用就注册完成,此时产生了一个AppKey和Master Secret,如图:修改极光推送,将andorid中的应用包名添加到极光推送平台android的应用包名,可以找到AndroidManifest.xml中,package中的名字<manifest android:hardwareAcceler...
2019-11-01 15:02:17 742
原创 cordova Android 端App版本更新
App的更新思路:如果只更新html5的部分,使用热更新也是无痕更新,好处:如果在ios端还可以绕过审核,不会有任何提示(热更新暂时没有实现,也就不瞎分享了)如果更新了插件,那就只能更新apk了:- 第一种:就是到各个手机的应用市场注册审核,然后有更新了就弹出框提示跳转到应用市场去更新- 第二种:自己的一个服务器,检查服务器版本和本地版本之后,下载服务器中最新的apk,完成更新自动安装...
2019-11-01 14:10:16 1671
原创 Cordova-获取移动端网络状态
1,安装插件:cordova plugin add cordova-plugin-network-information2,Connection的状态:Connection.UNKNOWNConnection.ETHERNETConnection.WIFIConnection.CELL_2GConnection.CELL_3GConnection.CELL_4GConnecti...
2019-11-01 10:35:31 1109
原创 flutter报错Manifest merger failed : Attribute application@appComponentFactory value=(android.support.v
1.编译失败Manifest merger failed : Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18...
2019-07-30 21:33:09 503
原创 flutter优化原则
代码优化冗余代码封装(重复使用3次以上的代码)包大小压缩本地图片(压缩代码在线工具)使用单架构so(android一般都支持,armeabi-v7,所以可以保证有这个架构就行)在app/build.gradledefaultConfig { // TODO: Specify your own unique Application ID (htt...
2019-07-30 10:24:12 301
原创 flutter中如何引入android module依赖包
如何在flutter运用中引入自己定义的依赖包本人在自己定义了一个Android library依赖包如图:方式有两中:方式一打开主程序[以后默认名字为app]的build.gradle.中添加:dependencies { testImplementation 'junit:junit:4.12' androidTestImplementation 'com.a...
2019-07-25 14:06:59 2193
原创 flutter分享
移动端开发新趋势FlutterFlutter是Google开发的新一代跨平台方案,Flutter可以实现写一份代码同时运行在iOS和Android设备上,并且提供很好的性能体验。Flutter使用Dart作为开发语言,这是一门简洁、强类型的编程语言。Flutter对于iOS和Android设备,提供了两套视觉库,可以针对不同的平台有不同的展示效果。在Google刚推出Flutter时,其发...
2019-07-11 18:07:38 1952
转载 如何防止重复提交
转载 如何防止重复提交一、有很多的应用场景都会遇到重复提交问题,比如:1、点击提交按钮两次。2、点击刷新按钮。3、使用浏览器后退按钮重复之前的操作,导致重复提交表单。4、使用浏览器历史记录重复提交表单。5、浏览器重复的 HTTP 请求。二、防止表单重复提交的方法1、禁掉提交按钮表单提交后使用 Javascript 使提交按钮disable。这种方法防止心急的用户多次点击按钮。但有...
2019-06-20 09:50:39 16404
原创 jenkins-构建命令行
scp:/opt/html/ids-admin:No such files err directory错误之前的jenkins构建:#npm update caniuse-lite browserslistchmod 777 /root/.jenkins/workspace/PRE-ids-admin/node_modules/.bin/*npm rebuild node-sass#np...
2019-06-14 18:06:35 1665
原创 跨域--理解
跨域常用的几种解决方案使用JSONP,前端加后端,绕过跨域前端构造script标签请求url(浏览器会受到同源策略,script不会受同源策略的限制),服务器返回一个函数执行语句,该语句名称通常通过callback的值指定,函数的参数为服务器返回的json数据。该函数在前端执行后即可获取数据代理服务器前端开发中测试服务器通过在本机搭建一个服务器,本地服务器再去请求接口服务器,从而绕...
2019-06-11 20:18:45 128
原创 记React Native打包Apk
由于平常在工作中,rn打包都是小伙伴负责,没有接触过,怀着忐忑的心情,自己试一般。参考:react native 中文网;Android studio 如何生成jks签名文件;我在打包过程中遇到的困难//这条命令会要求你输入密钥库(keystore)和对应密钥的密码,然后设置一些发行相关的信息。最后它会生成一个叫做my-release-key.keystore的密钥库文件。keyt...
2018-12-10 09:35:57 197
原创 Vue中refs和ref的用法
vue 中的ref开发过程中遇到的问题知识点的查漏补缺vm.$refsref开发过程中遇到的问题在实际的操作过程中发现在created生命周期中打印refs,结果为空对象created:{ console.log(this.$refs);// {}}知识点的查漏补缺vm.$refs类型: Object只读一个对象,持有已注册过ref的所有子组件refref被用来给元素...
2018-10-27 21:32:13 2368
原创 javascript方法--bind()
javascript方法--bind()bind方法,顾名思义,就是绑定的意思,到底是怎么绑定然后怎么用呢,下面就来说说我对这个方法的理解。 语法fun.bind(this,arg1,arg2,...)bind()方法会创建一个新的函数,称为绑定函数,fun方法在this环境下调用该方法可传入两个参数,第一个参数作为this,第二个及以后的参数则作为函数的参数调用 ...
2018-07-05 23:09:40 107
原创 Javascript事件循环机制
同步任务和异步任务的区别:同步任务指的是在主线程上排队执行的任务,只有一个任务执行完毕,另前一个任务才会执行异步任务:不进入主线程而进入任务队列的任务,一旦主任务中的所有同步任务执行完成,系统就会读取任务队列,看看里面有什么事件,从任务队列中拿到主任务中去执行 函数调用栈与任务队列Javascript有一个main thread 主进程和call-stack(一个调用堆栈),在...
2018-07-05 22:52:44 219
原创 关于一道题目引发的思考
var name = 'guy';function A(){ var name; this.name='world'; console.log(name);}function say(){ if(name === 'undefined'){//断点执行时 name: guy name='xing'; console.log(...
2018-06-05 10:18:15 329
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人