- 博客(43)
- 收藏
- 关注
原创 TypeScript位运算符
位操作是程序设计中对位模式按位或二进制数的一元和二元操作。运算符描述例子类似于结果十进制&AND,按位与处理两个长度相同的二进制数,两个相应的二进位都为 1,该位的结果值才为 1,否则为 0。x = 5 & 10101 & 000100011lOR,按位或处理两个长度相同的二进制数,两个相应的二进位中只要有一个为 1,该位的结果值为 1。x = 5 l 10101 l 000101015~取反,取反是一元运算符,对一个二
2022-05-27 16:26:37
1088
原创 TS基础类型
TypeScript基础类型:any(任意类型):声明为 any 的变量可以赋予任意类型的值。number(数字类型):双精度 64 位浮点值。它可以用来表示整数和分数。string(字符串类型):一个字符系列,使用单引号(')或双引号(")来表示字符串类型。反引号(`)来定义多行文本和内嵌表达式。boolean(布尔类型):表示逻辑值:true 和 false。无(数组类型):声明变量为数组。如在元素类型后面加上[]:let arr: number[] = [1, 2];或使用数组泛型let
2022-05-27 15:58:02
987
原创 CSS3 -webkit-transition
transition(属性渐变):“CSS Transitions allow property changes in CSS values to occur smoothly over a specified duration”过渡——Transition在W3C的描述:“css的transition允许css的属性值在一定的时间区间内平滑地过渡。这种效果可以在鼠标单击、获得焦点、被点击或对元素任何改变中触发,并圆滑地以动重点内容画效果改变CSS的属性值。-webkit-transition:CSS
2022-05-26 09:43:34
1790
原创 JS-正则表达式(基本语法、test、exec、\d\D\w\W\s\S .)
正则表达式 1,什么是正则表达式 是一种规范,对字符串格式进行验证的规范 不用自己写,常用的正则表达式,网上都有,只要会使用就可以 2,定义方法 字面量 var reg = /正则表达式/ 常用方法 构造函数 var reg = new RegExp('正则表达式') 3,正则方法 正则表达式.test(字符串) 验证字符串是否符合规范 4,基本语法 元
2022-05-25 09:58:59
1157
原创 App消息栏推送参考文章
html5 plus.push,HTML5+规范:Push(管理推送消息功能)uni-app unipush + 个推 实现推送服务全过程(干货)UniPush开通指南创建通知栏plus.push.createMessage
2022-04-15 17:03:14
258
转载 创建通知栏plus.push.createMessage
uniapp 创建推送通知栏plus.push.createMessage(content,payload,option)参数**content**: ( String 类型) 必选 消息显示的内容,在系统通知中心中显示的文本内容。**payload**: ( String 类型 ) 可选 消息承载的数据,可根据业务逻辑自定义数据格式。**option**: ( MessageOptions ) 可选 创建消息的额外参数,参考MessageOptions。MessageOptions :
2022-02-28 11:32:09
3035
转载 vue 父子组件的加载顺序
1、父子组件的加载顺序为父beforeCreated ->父created ->父beforeMounted ->子beforeCreated ->子created ->子beforeMounted ->子mounted -> 父mounted2、父组件更新顺序为父beforeUpdate->父updated3、子组件更新顺序为父beforeUpdate->子beforeUpdate->子updated->父updated4、父子
2021-12-13 09:49:57
4937
1
原创 JS,JQuery事件整理及对比
JS事件名称事件通常与函数配合使用,这样就可以通过发生的事件来驱动函数执行。onabort 图像加载被中断onblur 元素失去焦点onchange 用户改变域的内容onclick 鼠标点击某个对象ondblclick 鼠标双击某个对象onerror 当加载文档或图像时发生某个错误onfocus 元素获得焦点onkeydown 某个键盘的键被按下onkeypress 某个键盘的键被按下或按住onkeyup 某个键盘的键被松开onload 某个页面或图像被完成加载onmousedo
2021-11-18 10:29:35
249
转载 JS中的offsetWidth、offsetHeight、clientWidth、clientHeight等等的详细介绍
javascript中offsetWidth、clientWidth、width、scrollWidth、clientX、screenX、offsetX、pageX原文:https://www.cnblogs.com/ifworld/p/7605954.htmloffsetWidth //返回元素的宽度(包括元素宽度、内边距和边框,不包括外边距)offsetHeight //返回元素的高度(包括元素高度、内边距和边框,不包括外边距)clientWidth //返回
2021-11-18 09:50:02
313
原创 uniapp判断APP所处运营环境 (android/ios)及APP更新
1.判断当前客户端平台(android/ios)uni.getSystemInfoSync().platform获取客户端平台,值域为:ios、android、mac(3.1.10+)、windows(3.1.10+)、linux(3.1.10+)。//判断是否是android或是ios let platform=uni.getSystemInfoSync().platform; if(platform=='ios'){ console.log('这里是ios端');
2021-09-27 17:07:03
1249
原创 苹果端APP兼容问题(长期更新)
一.JS兼容问题1.时间格式兼容问题当使用传统格式new Date(“YYYY-MM-DD HH:mm:ss”)获取时间对象时,在ios端其时间显示会变成NaN,如下图,所以需要修改时间参数的格式,将‘-’改为‘/’,此时格式为new Date(“YYYY/MM/DD HH:mm:ss”),此时可正常获取时间,Android端两种格式都可以。二.Css兼容问题1.页面横向滑动当页面宽度设为width:100%,页面可以左右滑动,可直接禁止横向滑动,添加overflow: hidden;overf
2021-09-13 13:51:35
523
原创 uniAPP Android端内部更新与热更新
综述:1.uni-app打包成apk或wgt文件,使用plus.runtime.getProperty方法获取本地应用资源版本号。2.调用后端接口,拿到与后端规定好的版本号,与前面获取的版本号进行对比,如果不一致(也可以判断当前版本号是否小于线上版本号,也就是最新版本号),进行下一步操作。3.uni.showModal或其他弹出框弹出下载提示。4.使用plus.downloader.createDownload下载安装包。下载完可以使用plus.runtime.openFile(path),打开文件
2021-09-09 15:49:40
2649
原创 HbuilderX PC端APP测试连接苹果端-iTunes
HbuilderX在苹果端进行真机测试。首先要在PC端下载iTunes。步骤如下图:iTunes下载地址:https://pc.qq.com/search.html#!keyword=itunesitool4更新驱动下载地址:https://www.itools.cn/uni-app使用iPhone手机真机调试(window):https://blog.youkuaiyun.com/weixin_43783419/article/details/109230914官方教程参考文档连接为:https://a
2021-08-30 17:55:13
431
转载 SVN安装与使用
下载`TortoiseSVN官网下载址:https://www.visualsvn.com/visualsvn/download/tortoisesvn/下载完成后是这样的 安装TortoiseSVN:此处的安装地址建议不动,当然你也可以选择你要安装的地址安装完成后在桌面点击右键查看如果有标记的两个文件说明已经安装成功.如果感觉英语看到有点困难的可以安装汉化TortoiseSVN:下载语言包 :下载地址:http://tortoisesvn.net/downloads.ht.
2021-07-06 09:03:08
174
原创 /deep/ 深度选择器
当style添加scoped时,表示组件私有化,可使组件模块化,其样式不会污染其他组件,也不被其他组件污染的CSS规范。这样在打包的时候会生成一个独一无二hash值,这样父组件的样式就不会影响到子组件了。但这时需要引用公共组件时,无法改变公共组件样式,此时需要/deep/深度选择器,此时可以修改公共组件样式。例如a-modal,如下:vue<div class="box"> <a-modal v-model="visibles" :title="title" class="
2021-07-05 17:42:19
389
原创 post get用法与对比
post与get都属于http请求方法,用来进行前端对后端的资源交互。GET方法用于对指定资源请求数据,可携带数据量有限,且参数直接存在于url上。POST方法用于对后端数据进行更新,数据长度无限制,参数不直接显示在url上 。GET在浏览器回退时是无害的,而POST会再次提交请求。GET产生的URL地址可以被Bookmark,而POST不可以。GET请求会被浏览器主动cache,而POST不会,除非手动设置。GET请求只能进行url编码,而POST支持多种编码方式。GET
2021-06-17 16:47:51
262
原创 sort函数 return -1 0 1的不同
数组arr里面的数字大小排序。arr.sort()如果里面没有函数,则默认按照最大位数的值的大小依次从小到大排序,即升序。例:let arr = [13,5,8,7,26,47,3];arr.sort();//[13,26,3,47,5,7,8]当有函数且每个元素为纯数字时arr.sort(function(a,b){return a-b;})//[3,6,7,8,13,26,47]此时为升序,即从小到大排序。当a-b>0时,a>b,相当于return 1,ab之间交换;当
2021-05-16 21:25:48
4402
3
原创 Echarts图高度设定 ref
想要动态设定echarts的高度,需要echarts实例中resize页面主体及相应样式动态设定 let chart1 = this.$refs.chart1.$echarts.init(document.getElementById("chart1"));//获取echarts实例对象 chart1.setOption(options);//重新存入设定 let chart2 = this.$refs.chart2.$echarts.init(documen
2021-04-16 15:15:26
2810
转载 TCP和UDP的最完整的区别
TCP和UDP的最完整的区别TCP的优点: 可靠,稳定 TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源。 TCP的缺点: 慢,效率低,占用系统资源高,易被攻击 TCP在传递数据之前,要先建连接,这会消耗时间,而且在数据传递时,确认机制、重传机制、拥塞控制机制等都会消耗大量的时间,而且要在每台设备上维护所有的传输连接,事实上,每个连接都会占用系统的CPU、内存等硬件资源。 而且,因为TCP有确认机
2021-04-12 17:07:49
268
原创 箭头函数
箭头函数词法作用域编译器的第一个工作阶段叫作分词,就是把由字符组成的字符串分解成词法单元。这个概念是理解词法作用域的基础简单地说,词法作用域就是定义在词法阶段的作用域,是由写代码时将变量和块作用域写在哪里来决定的,因此当词法分析器处理代码时会保持作用域不变关系无论函数在哪里被调用,也无论它如何被调用,它的词法作用域都只由函数被声明时所处的位置决定function foo(a) { var b = a * 2; function bar(c) { console.
2021-04-12 17:06:52
157
转载 Buffer类
Buffer的基本操作:Buffer本质上就是字节数组,Buffer对象是Node处理二进制数据的一个接口。它是Node原声提供的全局对象,可以直接使用,不需要require(‘buffer’)。1.实例化:(静态方法)Buffer.from(array)Buffer.from(string)Buffer.alloc(size)2.功能方法:(静态方法)Buffer.isEncoding(‘编码类型(如UTF8)’) 判断是否支持该编码Buffer.isBuffer(obj) 判断是否为
2021-04-12 17:04:57
298
转载 flex布局 属性使用详解
Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。任何一个容器都可以指定为 Flex 布局。关于布局我们知道当并列书写多个div标签,它们会纵向向下排位,如果我们想将多个div并列成一排,就得借助position,float,或display属性,这便是传统的盒模型做法。而flex布局则是一种新的布局方案,通过为修改父div的display属性,让父元素成为一个flex容器,从而可以自由的操作容器中子元素(项目)的排列方式。例如我们让多个div横向
2020-12-16 11:24:03
1843
1
原创 leaflet marker设置 地图 图像(geoJson)
map地图定义及添加图层setMap1(){ //到 mapbox 官网注册并创建下面的access token都是免费的,不过有5w次的浏览限制 var url = 'http://124.163.214.106:18065/arcgis/rest/services/shenjie_bg/MapServer/tile/{z}/{y}/{x}'; //初始化 地图 //map = L.map('mapid').setView([35.717, 112.633
2020-12-16 09:15:10
924
原创 leaflet marker显示全代码(geoJson)
<template> <div class="airMoniMap1"> <div class="mapClass" id="mapid"> </div> <!-- 标题时间显示 --> <div class="airMoniTitle"> <p>空气质量实测信息</p> <p>{{selectedTimeTitle}}</p>
2020-12-16 09:14:12
599
原创 leaflet marker简单方法全代码 参照官网实例
<template> <div class="airMoniMap1"> <div class="mapClass" id="mapid"> </div> <!-- 标题时间显示 --> <div class="airMoniTitle"> <p>空气质量实测信息</p> <p>{{selectedTimeTitle}}</p>
2020-12-16 09:13:08
902
1
原创 leaflet marker设置及根据zoom改变样式
1.获取数据queryData(){//调用接口查询城市数据 let params={time:this.selectedTime,type:this.timeType}; Promise.all([getAllCityAirMoniListOnChina(params), getAllSiteAirMoniListOnChina(params)]).then(res => { if (res[0].success&& res[1].succe
2020-12-16 09:10:54
3408
转载 leaflet属性及方法
谷歌地图加载地址:谷歌交通地图地址:http://www.google.cn/maps/vt/pb=!1m4!1m3!1i{z}!2i{x}!3i{y}!2m3!1e0!2sm!3i380072576!3m8!2szh-CN!3scn!5e1105!12m4!1e68!2m2!1sset!2sRoadmap!4e0!5m1!1e0,平面图地址2:http://www.google.cn/maps/vt?lyrs=m@189&gl=cn&x={x}&y={y}&z={z},
2020-12-11 21:20:18
3137
原创 leaflet在移动端使用
处理事件每当leaflet中发生任何事情时,例如用户单击标记或更改地图缩放,相应对象都会发送一个时间,可使用功能订阅该时间。它允许您对用户交互做出反应:function onMapClick(e) {alert("You clicked the map at " + e.latlng);}mymap.on(‘click’, onMapClick);每个对象都有自己的事件集-有关详细信息,请参见文档。侦听器函数的第一个参数是事件对象-它包含有关发生的事件的有用信息。例如,地图单击事件对象(e在上
2020-12-11 21:08:31
1483
原创 leaflet图标样式
标记,圆形和多边形(Markers, circles and polygons)除了图层图块,还可以向地图添加其他内容,包括标记,折线,多边形,圆形和弹出窗口。让我们添加一个标记:var marker = L.marker([51.5, -0.09]).addTo(mymap);添加圆是相同的(除了以米为单位指定半径作为第二个参数),但是可以通过创建对象时将选项作为最后一个参数传递来控制圆的外观:var circle = L.circle([51.508, -0.11], {color: ‘re
2020-12-11 21:06:25
891
原创 leaflet初学--设置地图
快速入门指南:第一步:准备页面其一:引入leaflet CSS文件其二:在leaflet CSS之后引入leaflet JavaScript文件 其三:在要放置地图的位置放一个div元素id其四:给地图容器设置一个定义的高度:#mapid { height: 180px; }第二步:设置地图使用Mapbox Streets磁贴创建地图,这里创建伦敦市的中心地图。初始化地图 设置视图的地理坐标和缩放级别:var mymap = L.map(‘mapid’).setView([51.
2020-12-11 21:04:20
1687
原创 var,let和const区别
var ,let , const 的区别:1. 不存在变量提升var 命令会发生变量提升现象,即变量可以在声明之前使用,值为undefined。let 和 const 则没有变量声明提升的功能,必须要先声明才能使用2. 不允许重复声明var命令能重复声明,后者覆盖前者let 和 const不允许在相同作用域内,重复声明同一个变量3. 作用域var 的作用域是以函数为界限let 和 const 的作用域是块作用域,块级作用域指 { } 内的范围var 可以定义全局变量和局部变量,
2020-12-07 15:13:51
894
原创 Js数组Array方法
静态方法:Array.isArray(arr):返回一个布尔值,判断arr是否是数组,可以弥补typeof运算符的不足实例方法:valueof(),toString():valueof()返回数组本身;toString()返回数组的字符串形式;push(),pop():push可以在字符串末尾添加一个或多个元素,并返回新原数组的长度;pop()删除并返回数组最后一个元素;shift(),unshift():shift()用于删除并返回数组的第一个元素;unshift()在数组第一个位置添加元
2020-12-07 14:35:31
492
原创 npm,yarn安装配置及node-sass安装错误解决
node,npm,yarn的下载和配置参考http://doc.jeecg.com/1273968配置相应npm,yarn淘宝镜像npm config set registry https://registry.npm.taobao.org --globalnpm config set disturl https://npm.taobao.org/dist --globalyarn config set registry https://registry.npm.taobao.org --glob
2020-11-24 11:24:47
785
原创 Vue Echarts风向折线图拐点生成
风向拐点生成准备一个向下的风向箭头如下:data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAZCAYAAAA8CX6UAAAAAXNSR0IArs4c6QAAAk9JREFUOBGdlE1oE0EUx+dN1mhN2oOUPQnizVuwlKoN3jx4kba5evTuTbC33EUQ9GIPHho1athkIxRR8eNQY9GLDQgFL35QctBCas2lCfN8b5pdJrNjElzYnTfv/d9v3pudXVhqLN0QKJ7V8rX
2020-11-23 18:05:41
1019
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人