基础
BLUESKYHOST
这个作者很懒,什么都没留下…
展开
-
form表单多维对象赋值
原数据let obj = { 'a.b.c':111, // 'c':2, 'a.b.d':3, 'date.name':'ceso'}目标数据 { a: { b: { c: 111, d: 3 } }, date: { name: 'ceso' } }案例let obj = { 'a.b.c':111, // 'c':2, 'a.b.d':3, 'date.name':'ceso'}var deepExtend = r原创 2021-11-21 16:08:23 · 1204 阅读 · 0 评论 -
input加载本地图片
/创建读取文件的对象 var reader = new FileReader(); //创建文件读取相关的变量 var imgFile; //正式读取文件 reader.readAsDataURL(e.raw); //为文件读取成功设置事件 var str = ''; reader.onload = function(e:any) { imgFile = e.target.result; imgBg.value = imgFile console原创 2021-11-12 10:02:05 · 866 阅读 · 0 评论 -
a下载链接
const downloadElement = document.createElement("a"); const href = window.URL.createObjectURL(blob); //后台再header中传文件名 downloadElement.href = href; downloadElement.download = "demo1.xls"; document.body.appendChild(downloadElement); downloa.原创 2021-09-17 17:19:48 · 226 阅读 · 0 评论 -
前端必备网站
查询浏览器Api在各个平台的兼容情况https://www.caniuse.com/原创 2021-05-21 11:15:43 · 144 阅读 · 0 评论 -
禁用F12
document.onkeydown=function (e){ var currKey=0,evt=e||window.event; currKey=evt.keyCode||evt.which||evt.charCode; if (currKey == 123) {//123是f12 window.event.cancelBubble = true;//取消冒泡 window.event.returnVal.原创 2021-05-21 10:32:23 · 187 阅读 · 0 评论 -
加密技术
加密分类对称加密特点是文件加密和解密使用相同的密钥DES3DESAESIDEA以上四种由于加密本身特性安全性不高不推荐使用非对称加密特点有两个密钥一个是公钥一个私钥,公钥加密,私钥解密RSA不用事先通过秘密信道传递密钥,可以用于数字签名,速度慢,慢是因为它长速度慢,慢是因为它长Elgamal是一个基于迪菲-赫尔曼密钥交换的非对称加密算法。其安全性依赖于计算有限域上离散对数这一难题Rabin基于计算模合数平方根困难性问题的公钥密码算法D-原创 2021-05-19 17:00:32 · 290 阅读 · 2 评论 -
uniapp H5扫码解决方案
通过webview来解决这个问题webView引入的代码案例<!DOCTYPE html><html><head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"> <title>二维码扫描</title> <原创 2021-05-18 11:19:48 · 4113 阅读 · 1 评论 -
去重算法-数组去重
初始值,原创 2021-05-11 10:46:58 · 210 阅读 · 0 评论 -
js-xlsx
安装 npm install xlsx效果图注意事项需要替换css样式以及js代码库 不然无法使用<!DOCTYPE html><html lang="zh-cn"><head> <meta charset="UTF-8"> <title>JS读取和导出excel示例</title> <meta name="description" content="使用sheetjs读取和导出excel示例">原创 2021-05-10 15:32:57 · 250 阅读 · 0 评论 -
sku无线层级算法/订单sku规格选择JS/
订单sku规格选择参考 https://juejin.cn/post/6914163217124032525/* 重新实现笛卡尔积 传入的数组 '为空', '长度为1', '长度大于1' 三种情况 分别处理入参数组格式: [ { attr:"颜色", valueList:["黑","白"] }, { attr:"尺寸", valueList:["大","中"] } ] 返回的数组格式:[ {"颜色":"黑"原创 2021-05-08 13:54:48 · 587 阅读 · 0 评论 -
虚拟dom和diff算法
snabbodm简介snabbdom是著名的虚拟DOM库,是diff算法的鼻祖配置环境因为snabbdom环境简单 所以只需要安装webpack即可,版本要求最低5起步npm i -D webpack@5 webpack-cli@3 webpack-dev-server@3虚拟dom与h函数...原创 2021-01-08 14:36:23 · 113 阅读 · 0 评论 -
鸿蒙OS Service生命周期解析
基本概述基于Service模板的Ability(以下简称“Service”)主要用于后台运行任务(如执行音乐播放、文件下载等),但不提供用户交互界面。Service可由其他应用或Ability启动,即使用户切换到其他应用,Service仍将在后台继续运行。Service是单实例的。在一个设备上,相同的Service只会存在一个实例。如果多个Ability共用这个实例,只有当与Service绑定的所有Ability都退出后,Service才能够退出。由于Service是在主线程里执行的,因此,如果在Se原创 2020-12-20 10:24:55 · 533 阅读 · 1 评论 -
鸿蒙OS实用文档
入门图库示例一次开发,多段部署分布式任务调度鸿蒙os 发布形式是 app Pack一个app 只能有一个 entry类型 以及多个 多个featureentry:应用的主模块。一个APP中,对于同一设备类型必须有且只有一个entry类型的HAP,可独立安装运行。feature:应用的动态特性模块。一个APP可以包含一个或多个feature类型的HAP,也可以不含。只有包含Ability的HAP才能够独立运行。页面布局尺寸单位 布局容器ComponentContainer 布局容器原创 2020-12-20 00:23:13 · 1411 阅读 · 1 评论 -
vue刷新页面丢失404
解决方案nginx添加配置文件 下面内容加入配置文件location @rewrites { rewrite ^(.+)$ /index.html last; }完整配置 location / { root /usr/share/nginx/html; index index.html index.htm; try_files $uri $uri/ @rewrites; } location原创 2020-12-18 12:13:37 · 422 阅读 · 0 评论 -
java 发送邮件
封装工具发送邮件方法类QQ邮箱的456 端口改成了 587端口 用456会超时线上空指针异常,超时问题 用我的方法就解决了package com.llt.utils;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.mail.MailException;import org.springframework.mail.SimpleMailMessage;import org.s原创 2020-12-18 11:39:41 · 287 阅读 · 1 评论 -
九宫格实现原理
先看图1.每个格子的flex值设置为12. 重点是这里的算法假设我们只有七个剩下俩布局如何处理呢?第一步,if条件渲染我们这里只有3列,用循环索引值%3==0 满足条件的正常现实 不满足的 透明度调成0即可...原创 2020-12-14 20:15:37 · 1333 阅读 · 0 评论 -
vue引入外部字体报错问题
报错的原因是路径导致的目录结构先上正确的写法@font-face { font-family: 'ali'; src: url('/src/assets/font/Alibaba-PuHuiTi-Regular.ttf');}错误的写法@font-face { font-family: 'ali'; src: url('../assets/font/...原创 2020-04-26 22:22:59 · 1499 阅读 · 1 评论 -
常用的正则表达式
1 用户名正则//用户名正则,4到16位(字母,数字,下划线,减号)var uPattern = /^[a-zA-Z0-9_-]{4,16}$/;//输出 trueconsole.log(uPattern.test("caibaojian"));2 密码强度正则//密码强度正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符var pPattern = /^...原创 2019-11-16 21:51:14 · 292 阅读 · 0 评论 -
倒计时纯js插件
原创 2019-11-11 18:15:52 · 141 阅读 · 0 评论 -
分页功能
先说原理防百度底部分页前面5个,后面四个开始index 等于当前页-5 结束index 等于当前页+4下面上核心代码/** * 定义开始位置 */ var begin,end; if (pb.totalPage<10){ ...原创 2019-11-07 18:18:27 · 136 阅读 · 0 评论 -
Node
Node.js各种坑node调用接口的时候注意 创建http类型如果本地模拟调用http接口创建http服务选择http 如果是https就选择https服务https可以取代httplet http = require('https')/*读取文件 结束需要把 res.end(data) 放到外部会报错*/关于send的坑res.send之后不能写json或者head一类...原创 2019-05-27 22:10:01 · 288 阅读 · 0 评论 -
侧边栏实现思路
如果你们在实际写代码的情况遇见bug可以加我QQ私聊 229236940侧边栏式例上图所示获取所有的li标签,先实现鼠标放上去改变背景颜色然后鼠标放到对应的li标签,显示对应的内容代码实现 methods:{ getclass(){ //侧边栏内容 var classArr = document.query...原创 2019-06-05 17:38:50 · 1460 阅读 · 1 评论 -
v-model数据双向数据绑定原理
vue中实现数据双向绑定<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><div id="app"> <input type="text...原创 2019-06-01 16:49:19 · 687 阅读 · 0 评论 -
swiper
第一步安装npm install swiper //这个是在别的情况下载的文件npm install vue-awesome-swiper --savenpm install vue-awesome-swiper -Dswiper4.0,一定要引用到公共样式里否则会报错这里讲解的是用模板来使用swiperhtml部分 <div class="swipe...原创 2019-06-01 17:26:05 · 209 阅读 · 0 评论 -
Swiper自定义分页器
swiper的使用之一:自定义分页器pagiantion今天项目用到swiper的自定义分页器,由于官网写的比较简单,而在网上看到也多数是以前版本的实例。经过多篇博客的参考,最后终于写出来了。使用版本我使用的是3版本以上,而发现以前的版本和新版API上面有些差别,所以这儿就主要以3+版本为参考。使用的API做自定义分页器的时候,我们需要使用pagination的type和renderCu...原创 2019-06-02 09:59:30 · 899 阅读 · 0 评论 -
关于http请求
get请求需要请求的页面需要提交的数据/从后台请求回来的数据处理响应的数据多用于请求页面数据例如图片,文字等等post请求请求的url需要提交的数据 axios.post('/api/users',{ userName:this.username, userPassword:this.userpwd ...原创 2019-06-19 20:31:15 · 121 阅读 · 0 评论 -
捕获事件与冒泡事件
如何区分捕获事件与冒泡事件捕获事件从外向里触发事件冒泡事件从里向外触发事件捕获事件与冒泡事件先手顺序先捕获在冒泡 如果有注册事件 按照注册顺序addeventlistener()如何阻止冒泡与阻止默认事件阻止冒泡:event对象中的 event.stopPropagation默认事件:event.preventDefaultel.addeventlistener([事件...原创 2019-06-10 22:27:52 · 109 阅读 · 0 评论 -
小米首页二级菜单栏实现原理
小米二级菜单介绍小米这个菜单栏跟别的二级还有所不同,她二级菜单是通栏的如果按照普通的写法肯定是写不出来的需要再此之上延申一个,就是需要控制二级菜单里通栏的哪个大盒子擦可以实现跟小米官网同样的效果我们先看效果图效果就是这样子的具体原理最后将我把代码也发上来这个代码需要jQuery 需要你们自己引入<!DOCTYPE html><html lang="en">&...原创 2019-06-18 09:45:40 · 3250 阅读 · 3 评论 -
RegExp对象正则表达式
^ 表示打头的字符要匹配紧跟^后面的规则$ 表示打头的字符要匹配紧靠$前面的规则/^ 和 $/成对使用是表示要求整个字符串完全匹配定义的规则,而不是只匹配字符串中的一个子串。\d表示数字[ ]方括号表示查找范围n{X,} 匹配包含至少 X 个 n 的序列的字符串。var reg=/^\d{1,}$/var pattern=new RegExp(reg);console.log(p...原创 2019-06-18 09:59:06 · 198 阅读 · 0 评论 -
vue Webpack 中sass配置文件
vue学习日记:在项目中引用sassvue-cli生成的项目引入sass方法:npm i -D sass-loader style-loader css-loader node-sass打开build下的webpack.base.conf.js,在其中的module的rule数组中加入以下规则:{ test: /\.scss$/, loaders: ["style-loader",...原创 2019-07-05 17:17:18 · 415 阅读 · 0 评论 -
class使用方法
封装好的request第一步调用模块化的getLatest()方法这个方法是替换原本在当前使用封装好的request方法的这个方法有一个回调函数用来接收从服务器请求到数据再次分装自定义的request方法用来优化以及便于维护当前代码引入封装好的HTTP请求方法传入需要的参数这里this.request指的就是HTTP中的request方法 res其实就是 HTTP中通过url向...原创 2019-07-06 22:01:34 · 357 阅读 · 0 评论 -
webpack全面引入jQuery
方法一:使用expose-loader 链接地址//首先安装expose-loader npm install expose-loader --save-dev//添加这个loader到你的webpack配置中 webpack.config.jsmodule.exports = { module: { rules: [ { test: /.js/,...原创 2019-07-12 11:06:40 · 420 阅读 · 0 评论 -
css隐藏技能指定行数
不要管什么意思 因为他不在css草案中 font-size: 13px; text-overflow: -o-ellipsis-lastline; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -w...原创 2019-09-21 09:40:23 · 210 阅读 · 0 评论 -
关于node请求与响应
请求[request]GET(请求的方式) /newcoder/hello.html(请求的目标资源) HTTP/1.1(请求采用的协议和版本号)Accept: /(客户端能接收的资源类型)Accept-Language: en-us(客户端接收的语言类型)Connection: Keep-Alive(维护客户端和服务端的连接关系)Host: localhost:8080(连接的目标主机...原创 2019-05-26 23:15:43 · 593 阅读 · 0 评论