总结知识点
Swn_
这个作者很懒,什么都没留下…
展开
-
在IIS服务器上部署SSL证书(基于阿里云平台)
阿里云续费SSL证书下载证书文件在正式服务器上部署IIS部署阿里云部署步骤:步骤一: 下载文件1、登录SSL证书控制台。2、在左侧导航栏,单击SSL证书。3、定位到已签发的SSL证书,单击操作列下的下载。4、在证书下载面板,单击IIS服务器类型后的下载5、解压缩已下载的SSL证书(IIS)压缩包。此时,证书已保存在本地计算机中,导入到服务器端即可步骤二: 导入到服务器中1、在服务器按Win+R键,打开运行。2、输入mmc,单击确定3、为本地计算机添加证书管理单元。3.1、在原创 2022-04-25 09:27:47 · 1700 阅读 · 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 评论 -
chrome取消自动升级
1、输入win+R启动运行功能2、输入 msconfig,确定,在系统配置中选择“服务”标签。3、勾选“隐藏所有Microsoft服务”4、找到两个Google更新服务,并禁用,即可取消谷歌浏览器自动升级。原创 2020-11-23 18:01:16 · 749 阅读 · 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 评论 -
Node(express)连接mongodb到前端-访问接口将数据显示页面
如果你是前端想步入全栈领域,如果你想用Node做一个接口,如果你想自己操作一下数据库连接到自己页面的冲动,本篇会大大帮助你,让你一步一步跨过阻碍,到达全栈的第一脚。1、安装node和expressnode安装就不说了网上一大堆,给个链接不会的看看就懂了http://note.youdao.com/noteshareid=c1abd19bbe12e12522d61f5867751a9a&sub=0C8B4FA7214F4D1383446EDD1952374Eexpress安装使用npmnp转载 2020-10-27 14:27:52 · 1758 阅读 · 2 评论 -
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 评论