![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
前端常用开发记录
白马湖小龙王
我在修仙
展开
-
node+multiparty接受formdata上传文件保存在硬盘
前言 之前想起一个专门接受文件保存到本地的node服务,查遍了全网大部分都是浅尝辄止,点到为止。胡乱贴两段代码完事。经过一段时间的摸索写了一个完整可用的服务,希望能为有相关需要的开发提供一点思路。效果我们前端传输文件一般采用formdata的格式,所以服务端的核心在于怎样去解析formdata格式的数据,目前比较流行的解析插件主要有multiparty与 busboy ,但我看了下大部分的资料都是围绕multiparty的,所以我这边也是采用multiparty进行数据解析。multipart原创 2021-07-20 16:22:49 · 942 阅读 · 1 评论 -
eggjs实现图片上传显示
效果参考框架内置了 Multipart 插件,用于解析formData数据egg文件上传服务端const fs = require('fs');const path = require('path');const sendToWormhole = require('stream-wormhole');... async uploadImg() { // const form = new multiparty.Form(); const { ctx } = this;原创 2021-07-14 16:34:49 · 585 阅读 · 0 评论 -
最全前端设置跨域方法
首先想实现跨域先弄懂什么是跨域所谓的跨域是建立在浏览器同源策越下对异源资源进行请求的行为同源策略是一个重要的安全策略,它用于限制一个origin的文档或者它加载的脚本如何能与另一个源的资源进行交互。它能帮助阻隔恶意文档,减少可能被攻击的媒介。目前抛开只能跨域get请求的jsonp之外流行的两种跨域方式分别是1 corsCORS (Cross-Origin Resource Sharing,跨域资源共享)是一个系统,它由一系列传输的HTTP头组成,这些HTTP头决定浏览器是否阻止前端 Java原创 2021-07-14 14:33:24 · 1698 阅读 · 0 评论 -
重置vuex所有state的状态
效果思路主要是在store首次生成state后深拷贝出一份备份,然后在reset方法中将各个属性还原回去,注意最重要的是不要破坏原来数据的结构 我之前还看到有人用delete,数据属性都没了肯定是会报错的步骤1准备一个深拷贝方法 // 定义一个深拷贝函数 接收目标target参数 deepClone(target) { // 定义一个变量 let result // 如果当前需要深拷贝的是一个对象的话 if (typeof target === 'object原创 2020-11-09 12:09:23 · 1927 阅读 · 2 评论 -
Vue中使用Element 以el-menu导航菜单形式展示Tree树形结构
目的项目分为全局路由如登录页面,404页面之类的和由侧边栏menu控制跳转的子路由页面主要是业务页面。页面子页面放入views文件夹下,将自动读入注册成route,配置文件主要用于生成树形menu侧边栏。建议配合项目结构进行阅读效果更佳效果项目结构子页面配置文件将根据以下配置文件生成树形menu导航栏 export default [ { url: "/page1", meta: { title: '页面1', requiresAuth: false原创 2020-07-17 09:35:53 · 5638 阅读 · 0 评论 -
React中使用Ant Design 以Menu导航菜单形式展示Tree树形结构
目的项目分为全局路由如登录页面,404页面之类的和由侧边栏menu控制跳转的子路由页面主要是业务页面。页面子页面放入views文件夹下,将自动读入注册成route,配置文件主要用于生成树形menu侧边栏。建议配合项目结构进行阅读效果更佳效果项目结构子页面配置文件将根据以下配置文件生成树形menu导航栏export default [ { name: '测试页面', path: '/test', meta: { a原创 2020-07-14 09:29:16 · 2551 阅读 · 0 评论 -
Property or method toJSON is not defined
// var vConsole = new VConsole();原创 2020-06-03 18:31:16 · 1256 阅读 · 1 评论 -
vue指令实现上下滚动翻页
效果使用直接将这段指令声明代码拷贝到需要使用该功能的vue实例上,当然你也可以全局注册 directives: { bottomScroll: { inserted: function(el, binding) { let [clientHeight, scrollHeight] = [el.clientHeight, el.scrollHeight]; el.addEventListener("scroll", e => {原创 2020-06-03 18:24:09 · 1449 阅读 · 0 评论 -
React-redux数据交互实例
没有使用redux之前 1 定义state constructor(props){ super(props); this.state ={ mobile:"", password:"" } }2 在对应的input框绑定state改变的监听事件,将input中的数据通过this...原创 2018-07-17 20:27:38 · 4569 阅读 · 0 评论 -
vue监听左右滑动事件
引入 vue-touch **1**npm insall vue-touch@next2在main.js中将vue-touch注入到vueimport VueTouch from 'vue-touch'Vue.use(VueTouch, {name: 'v-touch'})3用vur-touch将需要滑动的包裹起来 <v-touch v-on:swipeleft="le...原创 2018-08-16 19:14:38 · 9353 阅读 · 0 评论 -
RSA非对称加密应用于前台js加密后台java解密
首先我们加密的时候都是使用对称加密,就是加密解密都是使用一套秘钥 非对称加密是指加密解密使用不同的秘钥说明:本次记录的加密思路是后台java生成1 加密模块 2 加密公钥 3 加密秘钥其中公钥用于对字符串进行加密,秘钥用于对字符串进行解密,每次http请求后台将新生产的加密模块和加密公钥传送的前台,秘钥保存在后台。当前台使用公钥加密后,将数据传送到后台,后台再使用之前保存的秘钥进行解密。...原创 2018-08-30 17:47:29 · 8716 阅读 · 1 评论 -
vue随滚动条滚动而改变属性
vue随滚动条滚动而改变属性scrollTop: 滚动条卷起的高度clientHeight: 滚动条可视高度scrollHeight: 滚动条总高度原创 2018-09-19 21:03:59 · 1399 阅读 · 0 评论 -
前端axios下载excel文件(二进制)的处理方法
示例 downExcel(){ var d=new Date() this.$http({ url: "", method: 'get', responseType:'blob', params: { ...原创 2018-10-18 17:18:14 · 1404 阅读 · 2 评论 -
input框图片预览
input框图片预览效果&lt;!DOCTYPE html&gt;&lt;html lang="en"&gt;&lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;Title&am原创 2018-10-30 11:30:00 · 940 阅读 · 0 评论 -
js-xlxs导出excel
s2ab(s) { if(typeof ArrayBuffer !== 'undefined') { var buf = new ArrayBuffer(s.length); var view = new Uint8Array(buf); for(var i = 0; i != s.length; ...原创 2018-10-30 18:07:50 · 282 阅读 · 0 评论 -
canvas绘制多张网络图片
为了解决多重回调,所以采用promise第一步 新建一个方法接受网络图片url返回一个promise对象 // 新建promise对象 downfile(url) { return new Promise(function (resolve, reject) { wx.downloadFile({ url: ur...原创 2018-11-19 10:16:04 · 1734 阅读 · 0 评论 -
mpvue上拉刷新,下拉加载
第一种重点:不要用scroll-view效果main.json{ "navigationBarTitleText": "", "enablePullDownRefresh": true,//开启下拉刷新 "backgroundTextStyle":"drak",//显示刷新三个点 "backgroundColor": "#fff"}js原创 2018-11-20 15:27:43 · 3840 阅读 · 4 评论 -
微信小程序局部刷新触发整页刷新效果
效果图如上图所示,头部的选项栏时固定的(fixed),下部的信息栏是滚动的, 由于头部是fixed所以无法实现下拉刷新的效果,如果去掉fixed当我们上拉的时候,选项栏又无法固定,所以我们需要监听页面下拉的状态随时改变选项栏的状态1获取滚动状态 onPageScroll(e) { this.scrollTop = e.scrollTop },2信息栏监听下拉状态的改变而改...原创 2018-11-21 14:47:50 · 2221 阅读 · 0 评论 -
mpvue解决同一页面组件反复进入数据被覆盖的问题
问题当同一个页面组件被反复进入时由于在mpvue中他们用的是一套vm,所以后面渲染的数据就会将前面页面的数据覆盖,这样在我们回退时就不会有以前页面的记录,一直会是最后一张页面的记录思路每次当我们对同一页面组件进行跳转的时候将该页面的数据this.$data push进数据栈中,当在该页面组件执行回退事件unload是将最后放入的数据弹出,也就是前一个页面的数据,再将数据栈中的最后一个数据复制给t...原创 2018-11-23 14:46:13 · 5089 阅读 · 0 评论 -
canvas文本绘制自适应以及自动换两行
自适应1算出文本宽度,后面的文本位置加上前面的宽度 // 获取字符串长度 getStrWidth(ctx, str) { var lineWidth = 0 for (let code of str) { lineWidth += ctx.measureText(code).width } ret...原创 2018-11-27 19:18:32 · 2670 阅读 · 0 评论