前端笔记
Swn_
这个作者很懒,什么都没留下…
展开
-
APP代码打包成apk文件
APP代码打包成apk文件原创 2022-05-26 09:53:26 · 4297 阅读 · 0 评论 -
前端中 let 和 var 的区别
作用域不同var是函数作用域,let是块作用域。在函数中声明了var,整个函数内都是有效的,比如说在for循环内定义的一个var变量,实际上其在for循环以外也是可以访问的而let由于是块作用域,所以如果在块作用域内定义的变量,比如说在for循环内,在其外面是不可被访问的,所以for循环推荐用letlet不能在定义之前访问该变量,但是var可以。let必须先声明,再使用。而var先使用后声明也行,只不过直接使用但没有定义的时候,其值是undefined。var有一个变量提升的过程,当整个函.原创 2022-02-16 17:52:44 · 2033 阅读 · 1 评论 -
萤石云接入网页步骤
摄像头接入步骤:获取录像机的序列号和验证码(九位数序列号----进入录像机配置里面获取)设备序列号不能使用出厂的,需要重新设置;注册萤石云(注册时需要输入应用信息,用于哪个方面的);获取Appkey和AppSecret;(用于获取AccessToken,通过接口获取,此过程必须放在后台获取。)将应用信息保存到数据库表中;检查设备是否加密,关闭加密设置(在萤石云PC终端设置);通过接口获取录像机的设备序列号和通道号。用iframe并设置src即可查看'<i原创 2022-02-16 11:25:52 · 8526 阅读 · 0 评论 -
谷歌chrome 安装Vue devtools
首先在官网下载vuejs官网地址:https://github.com/vuejs/devtools点击下述红框部分。下载完成后在点击谷歌右上角,选择更多工具。点击扩展程序。目录选择若有如下报错,原创 2021-11-16 16:18:57 · 827 阅读 · 0 评论 -
使用uni-app uniPush功能实现对APP消息推送
Hbuilder 模块配置–>push打勾点击HBuilder下面的 “配置”,会自动跳转到DCloud Web 后台配置若当前没开通,需要输入包名、SH1,SH1是打包时使用证书的SHA1。查看代码keytool -list -keystore +签名证书文件名及后缀开通后,就可以填写通知内容了。填写后,点击预览,需要输入CID,这里填写的cid就是APP代码段获取到的clientId,即客户的IP。var info = plus.push.getClientInfo();con原创 2021-11-03 20:54:53 · 985 阅读 · 0 评论 -
文本框输入限制
文本框只可以能输入整数<input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')">文本框只可以输入数字,可输入带小数点的<input onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo'原创 2021-10-20 11:44:16 · 370 阅读 · 0 评论 -
动态获取对象(object)中的key/动态给object中的key赋值
若想要给对象中的key赋值,或者动态取某个对象中的key。如下对象var mapLocationObj = { "项目部":[], "混凝土":[], "其他":[],};var LocationMapList = [{ MarkPointName: "项目部", MarkPointStyle: 1, MarkPoineImage: './images/Location-XMB.png'},{ MarkPointName: "混凝土", MarkPointStyle: 2原创 2021-09-01 18:03:08 · 2846 阅读 · 0 评论 -
table动态上下移动行
/* params t:触发事件的元素 oper:操作方式*/function check(t, oper) { var data_tr = $(t).parent().parent(); //获取到触发的tr if (oper == "MoveUp") { //向上移动10 if ($(data_tr).prev().html() == null) { //获取tr的前一个相同等级的元素是否为空11原创 2021-08-27 18:16:43 · 417 阅读 · 0 评论 -
二维数组绘图时给没有的项补0
原始data格式:data:{ lstReceiveStakeNumber:[101,102,103,104,105,106,107], wz:{ "碎石": [{ name: 107, weight: 38.12 }], "水泥":[{ name: 102, weight: 15.97 }] }} var xValue = [], yValue = []; var materialnameData = Obj原创 2021-07-19 10:38:38 · 315 阅读 · 0 评论 -
uni-app 优化扫码功能
uni-app 自带的扫码功能出现识别失败以及识别准确率不高的情况,因此需要使用第三方插件来实现快速、准确扫码功能。1、首先在项目pages里加入plusScan -> index.vue页面,加完之后记得去pages.json添加。index.vue代码内容<template></template><script> var barcode = null; export default { data() { return { name原创 2021-06-15 14:48:40 · 2863 阅读 · 1 评论 -
layui table内嵌入select
layui数据表格没有支持select的参数,因此需要手动加入模板进去到td中,具体使用方法如下HTML<script type="text/html" id="selectTool"> <select name="materialtype" lay-filter="materialtype" id="materialtype"> <option value="">请选择或输入</option> {{# layui.ea原创 2021-02-25 17:23:04 · 2416 阅读 · 0 评论 -
ZUI 动态加载树形菜单+动态打开Tab
appData数据:{ "code": 0, "msg": "操作成功", "data": [{ "AppGUID": "b02311e5-48ea-471f-8b5f-ea62956eb1cd", "AppNameJC": "用户管理", "MainMenu": [{ "GUID": "269f7bc5-38c8-48de-916f-3fe926c52cf3", "AppMainMenuName": "新增", "ID": 1, "MenuIcon": "des原创 2021-02-08 16:56:54 · 662 阅读 · 0 评论 -
datatables + sorttable.js 列排序
首先看看官网是怎么说排序的:https://datatables.net/examples/basic_init/table_sorting.html我用这种方式试了一下,图标是出来了,也可以点击,but点击之后没什么用,数据还是原来的顺序。table = $('#datatable').DataTable({ // "scrollX": true, "scrollY": $(window).height() - 300, "stateSave": false, autoWid原创 2021-01-29 17:22:09 · 546 阅读 · 1 评论 -
Layui treeTable相关
layui官网是没有treeTable这个功能的,需要下载额外的插件实现,幸运的是有符合layui风格的treeTable插件,此篇围绕树状表格讲述。treeTable官网指路:https://gitee.com/whvse/treetable-lay/wikis/pages下载有Gitee账号官网TreeTable资源下载路径:https://gitee.com/whvse/treetable-lay无Gitee账号导入treeTable的导入方式和layui其他组件一样,都是通过layui原创 2020-12-11 08:47:02 · 1543 阅读 · 0 评论 -
iframe 解决跨域
按情境分1、不跨域时2、主域相同、子域不同时3、主域不同不跨域时访问iframe: contentWindow访问父级:parent访问顶级:topa.html<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>A<转载 2020-11-17 11:36:50 · 872 阅读 · 0 评论 -
layui tree树形组件,根据json条件修改字体颜色
并不是点击后修改字体颜色,而是在页面初始加载时显示。官网中并没有给done回调函数,因此只能在源码中修改,因为需求比较简单,所以修改源码也不会影响其他的操作。修改内容如下:本来这儿只有一个class,通过判断条件给tree-txt再加一个类名,这样直接在css中指定颜色即可。...原创 2020-09-28 11:48:50 · 1713 阅读 · 4 评论 -
使用bootstrap的下拉菜单(dropdown-menu)动态多级
当下拉菜单数据动态变化且有多级时,就只能通过JavaScript循环加载。json数据格式为 GUID、PGUID格式for (var i in Data) { if (Data[i].PGUID == "0") { InfoStr += '<li class="dropdown-submenu">' + '<a href="###">' + Data[i].Name + '</a>' + '<ul class="dropdown-menu"&原创 2020-09-24 10:51:33 · 1976 阅读 · 0 评论 -
解决使用百度地图API时偏移问题并自适应中心点和比例
关于地图偏移官方给出的说明:4.3 百度坐标为何有偏移?国际经纬度坐标标准为WGS-84,国内必须至少使用国测局制定的GCJ-02,对地理位置进行首次加密。百度坐标在此基础上,进行了BD-09二次加密措施,更加保护了个人隐私。百度对外接口的坐标系并不是GPS采集的真实经纬度,需要通过坐标转换接口进行转换。解决办法 setZoom(json.data); //多个坐标数组 //设置中心点 function setZoom(points) { if (points.length原创 2020-09-23 17:16:23 · 1986 阅读 · 0 评论 -
将children数组转为一位数组
数组格式为树状children格式//将数组拍平为以为数组,递归实现function flatten(checkData){ // map函数,就是遍历 // ...三个点表示遍布checkData和flatten对象并获取其所有属性,也可获取某个属性,可以修改concat里面的item,比如item.title //然后用我们传递的属性覆盖现有属性。 //可以将这种传播视为逐个提取所有单个属性并将它们传递给新对象。 return [].concat(...checkData.map(item原创 2020-08-12 17:19:00 · 643 阅读 · 0 评论 -
layui 树状下拉框
准备先获取treeSelect.js文件原js文件不提供自定义解析jsondata的功能,需要自己在源码里面修改。treeselect.js文件已上传至我的资源使用1、script引用 <script type="text/javascript" src="js/treeSelect.js"></script>;2、layui.use加上“treeSelect”,3、var treeSelect = layui.treeSelect4、 function XMTr原创 2020-07-31 11:50:40 · 1439 阅读 · 0 评论 -
datatables 封装传给后台的参数以及拆分穿回来的参数
方法一:ajax逐步封装ajax: function (data, callback, settings){ //封装请求参数 var param = {}; param.limit = data.length;//页面显示记录条数,在页面显示每页显示多少项的时候 param.draw = data.draw;//开始的记录序号 param.start = data.start;//开始的记录序号 param.page = (data.原创 2020-07-16 14:10:47 · 434 阅读 · 0 评论 -
前端实现表格搜索
搜索函数function select() { var keyword = o('#edt-search').val(); var searchCount = 0; o('#tree-table').find('tbody tr td').each( function() { o(this).css('background-color', 'transparent'); var text = o(this).text(); if (keyword !原创 2020-06-24 17:04:47 · 835 阅读 · 0 评论 -
关于时间格式和获取指定时间的方法
使用moment.js脚本官网地址: moment.js日期格式化moment().format('MMMM Do YYYY, h:mm:ss a'); // 六月 24日 2020, 4:57:17 下午moment().format('dddd'); // 星期三moment().format("MMM Do YY"); // 6月 24日 20moment().format('YYYY [escaped] YYYY');原创 2020-06-24 17:01:30 · 292 阅读 · 0 评论 -
Css实现数据过多...显示,鼠标悬浮时显示完整信息
显示宽度内数据div{ width: 70px; white-space: nowrap; text-overflow: ellipsis; overflow: hidden;}显示完整数据div:hover{ text-overflow:inherit; overflow: visible; white-space: pre-line; /*合并空白符序列,但是保留换行符。*/}...原创 2020-06-14 16:02:19 · 1446 阅读 · 0 评论 -
子页面监听父页面点击事件
父页面for (var i in chooseXM_li) { (function(j) { chooseXM_li[j].onclick = function() { // $(".chooseXMLi").trigger("change"); //jQuery获取全部li列表 var myEvent = new Event("change"); //也可以换成click chooseXM_li[j].dispatchEvent(myEvent); };原创 2020-06-09 10:46:07 · 993 阅读 · 0 评论 -
微信小程序做电子签名,并导出图片
wxml:<canvas class="canvas" id="canvas" canvas-id="canvas" disable-scroll="true" bindtouchstart="canvasStart" bindtouchmove="canvasMove" bindtouchend="canvasEnd" touchcancel="canvasEnd" binderror="canvasIdErrorCallback"></canvas><button t原创 2020-05-26 09:35:22 · 2231 阅读 · 0 评论 -
window.postMessage() 跨域通信父子页面
父页面向子页面传输相对容易,而子页面回传比较困难,尤其是回传再加上跨域,就是难上加难了。如果不涉及跨域使用window.opener.父方法名(回传参数)就可以调用父页面的函数。如果有跨域时,该方法会报错。而window.postMessage() 可以成功传递,方法如下:1、父页面a.html中:window.open("b.html",'_blank',);window.addEvent...原创 2020-03-26 14:51:57 · 1486 阅读 · 0 评论 -
关于echarts和tab结合,导致echarts宽度改变的问题
当一个页面中既有echarts又有Tab标签,且echarts图不止一个时,会出现下面的问题。改变窗口大小时,当前页面的图resize正常,而此刻切换到另外一个有图的tab时,却发现该图的尺寸不正常了!这一问题的原因是当改变窗口大小时,只能获取到当前页面的chart元素,其他页面获取不到,因此它的尺寸发生变化。解决方案如下:1、首先给tab添加点击事件$('a').click(functio...原创 2020-03-25 17:37:28 · 558 阅读 · 0 评论 -
网页使用微信扫码登录
第一步在微信开发平台登录进去之后再管理中心——>创建网站应用。填上网站应用的基本信息之后提交审核。审核通过后会有AppID和secret。做好保存。注:这里的回调域名很重要,请填XXX.XXX.XXX格式。并尽量填写互联网上的域名,测试域名如果没报错也可以用。第二步在需要扫码登录的页面添加下面代码<!-- 放置二维码的div --><div id="login...原创 2020-03-24 17:49:55 · 2075 阅读 · 8 评论 -
获取对象的key和value并保存到数组
获取对象keyvar partKeys = Object.keys(data);xValue.push(partKeys);获取对象valuesvar partValues = Object.values(data);seriesData.push(partValues);原创 2020-01-21 14:52:23 · 1992 阅读 · 0 评论 -
将多维数组变成一维数组及数组转置
数组维数转换const allValue = Object.values(data)const flatten = arr => [].concat( ...arr.map(x => Array.isArray(x) ? flatten(x) : x))const allData = flatten(allValue)const FANG_LIANG = allData.map...原创 2020-01-21 14:49:31 · 421 阅读 · 0 评论 -
组织结构图OrgChart.js
环境配置先引入两个文件:<link href="https://fonts.googleapis.com/css?family=Gochi+Hand" rel="stylesheet"><script type="text/jscript" src="https://balkangraph.com/js/latest/OrgChart.js"></script&...原创 2019-12-19 17:30:13 · 2206 阅读 · 0 评论 -
jQuery DataTables 使用方法整理
https://blog.csdn.net/lovetea99/article/details/52116945Data sources 数据源DataTables可以从四种基本形式的数据源获取数据:HTML document (DOM)Javascript (array / objects)Ajax sourced data with client-side processingAj...转载 2019-12-19 17:30:02 · 1861 阅读 · 0 评论 -
AS build菜单显示不全解决方法
新安装上Android Studio时,build打包菜单里面没有Build Bundle(s)/APK(s)打包菜单,此时只需点击file下面的sync project with gradle file选项。选择复制来的SDK进行Sync,便有了该选项。...原创 2019-11-08 16:56:12 · 1893 阅读 · 0 评论 -
uni-app获取车牌号
创建应用首先在百度智能云官网中创建应用,创建完成之后会自动生成AppIDAPI KeySecret Key生成access_token通过前面生成的api key 和 secret key请求百度api接口获取access_token,注意该access_token不是永久的,过期之后需要重新申请。刚开始并没有很成功的获取到,最后发现自己吧grant_type的值写错了。改正之后成...原创 2019-10-29 10:27:20 · 3242 阅读 · 3 评论 -
关于手机上显示地址的问题
首先在高德SDK上面配置SHA1 ,这里面有开发板和调试版,之前看调试版前面没有星号,以为不重要,后来在调试的时候怎么也显示不出来地址详细信息。使用夜神模拟器调试得到了关于两个SHA1不一致的bug,Hbuilder控制台并给出了该调试版的SHA1,只需要将此填入高德的调试版SHA1中即可成功。注意:该调试版的SHA1是可能是动态的,如果手机没显示就在用夜神试一次。...原创 2019-10-21 17:42:48 · 389 阅读 · 0 评论 -
HbuilderX生成证书文件
看网上都是在Java目录下,我用的不是Java开发,因此我的目录是这个下面有keytool.exe文件。确认是否有效,确定之后,可以输入keytool -genkey -alias ceshi -keyalg RSA -keytool -genkey -alias ceshi -keyalg RSA -即可在当前目录下生成证书文件。...原创 2019-10-16 14:20:52 · 2355 阅读 · 0 评论 -
HbuilderX 连接夜神
之前用的好好的,今天打开模拟器准备测试,编辑器却连不上了。连接代码是先到夜神模拟器的Bin目录下,输入:nox_adb connect 127.0.0.1:62001;然后到HbuilderX的tools下输入: adb connect 127.0.0.1:62001;我的HbuilderX目录是:在这中间本来是连不上的,报出了错误:计算机积极拒绝。解决方法是先关闭模拟器1、进...原创 2019-10-14 14:49:53 · 720 阅读 · 0 评论 -
Android开发定位
Android开发定位功能使用Hbuilder+uni-app+android studio开发安卓时,需要定位功能,uni-app官方指定如下:所以需要借用高德或百度申请SDK资质,获取APPKey。申请过程及步骤:高德官方给出的步骤其中需要SHA1和packageName信息,packageName则是包名,在Android studio中有。麻烦在于SHA1,首先要找到安装时的k...原创 2019-10-11 19:53:37 · 574 阅读 · 0 评论 -
利用Hbuilder + Android Studio 制作安卓APP
制作过程Hbuilder部分首先第一步在Hbuilder中创建uni-app项目,由于我是第一次尝试,因此直接借用了原来的login代码模板。如图所示:创建好了之后,想了解的可以看代码,不想了解的直接本地打包。当然,本地打包直接我也遇到了一些问题,这些问题无非就是因为缺少插件而无法编译下去,此时,只需要点击工具——>插件安装,在里面寻找需要的插件安装即可。除此之外,还需要点击...原创 2019-09-27 17:08:07 · 7776 阅读 · 0 评论