自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 使用mac自带服务器(一行命令即可启动)

输入 /Library/WebServer/Documents。启动后地址: http://127.0.0.1/然后按住快捷键Command+Shift+G。

2024-04-18 16:05:47 591

原创 钉钉应用接入、免登、前端,简单易懂,省去你翻阅文档的时间

钉钉应用接入、免登、前端部分

2024-04-12 10:47:14 511

原创 前端开发工作中遇到的bug汇总(备忘录)

vux移动端组件库问题:在ios系统中用vux-xscroll组件写的界面会出现停止滑动自动回到顶部的问题,找了几个手机试了下,发现升级了ios13的有问题、ios13以下的没有问题、安卓的没有问题。修复:找到\node_modules_vux-xscroll@3.1.12@vux-xscroll\build\cmd\simulate-scroll.js找到getScrollTop方法getScrollTop: function() {var transY = window.getCo.

2022-02-18 16:27:21 3216

原创 git rebase和git merge的区别(简洁易懂)

初始分支master ---- commit记录 1 - 2 - 3从master分支切出来一个prod分支 ---- commit记录 1 - 2 - 3master分支继续开发,分别又提交了4,5 ---- commit记录 1 - 2 - 3 - 4 - 5prod分支也在继续开发,分别提交了 6,7 ---- commit记录 1 - 2 - 3 - 6 - 7把master分支上的最新代码和并到prod上用 git rebase origin/master ---- commit记录..

2021-12-09 14:35:51 224

原创 前端搭建自己的组件库并发布npm(完整流程)

上传第一步:用脚手架搭建一个新项目vue create 项目名称第二步:src同级目录下创建一个packages文件夹并在里面新建两个文件Button.vue<template> <button class="MyButton"> 我是一个按钮组件 </button></template><script>export default { name: 'MyButton', data () {

2021-12-08 18:21:23 4935 4

原创 (前端) 获取文件md5值 spark-md5

import SparkMD5 from 'spark-md5'const base64 = '......'const spark = new SparkMD5()spark.append(base64)const hash = spark.end()

2021-11-13 18:27:05 1483

原创 (前端vue) vue-timers 替代定时器和延时器

import {mixin as VueTimers} from 'vue-timers'export default { mixins: [VueTimers], // 混入 timers: { tm1: { time: 300, // 定时时间 repeat: true, // 是否重复执行 immediate: false // 是否立即执行 }, tm2: { time: 1000, // 定时时间 rep

2021-11-13 18:10:17 1769

原创 (前端) 获取当前浏览器类型、获取IE浏览器版本

/*** * 获取当前浏览器类型 */export const myBrowser = () => { const userAgent = navigator.userAgent; //取得浏览器的userAgent字符串 const isOpera = userAgent.indexOf("Opera") > -1; if (isOpera) { //判断是否Opera浏览器 return "Opera" } if (userAgent.indexOf("

2021-11-13 17:27:58 1270

原创 (前端) 获取上周上月上半年上一年,获取前几天、后几天、当天

import moment from "moment"/*** * 获取上周上月上半年上一年 * @param flag * 1 上周 * 2 当月 * 3 上一月 * 4 上半年 * 5 近一年 * 6 上一年 */const getDate: any = (flag: string) => { let obj: any = { beginDate: '', endDate: '' } const now = new Date(); //当前日期

2021-11-13 16:12:25 393

原创 (前端)页面截取生成图片 html2canvas

1. 封装一个公共的截图函数import html2canvas from 'html2canvas'/** * 截屏函数 * @param id 需要截取的dom元素id * @param name 下载的图片名称 * @param isReturn 是否返回截取的图片,用作回显 */export const screenshot = (id: any, name: any, isReturn?: boolean) => { const dom = document.getE

2021-11-13 15:10:59 1527

原创 (前端React)手写签名 react-canvas-draw

import CanvasDraw from 'react-canvas-draw'const signCanvas = useRef<any>();// 清空signCanvas.current.clear()// 获取结果const img = signCanvas.current.canvas.drawing.toDataURL('image/png')<div> <div className="backageImg"></div>

2021-11-13 14:39:59 908 1

原创 (前端)录音功能实现 js-audio-recorder

1. 创建import Recorder from 'js-audio-recorder'const parameter = { sampleBits: 16, // 采样位数,支持 8 或 16,默认是16 sampleRate: 8000, // 采样率,支持 11025、16000、22050、24000、44100、48000,根据浏览器默认值,我的chrome是48000 numChannels: 1 // 声道,支持 1 或 2, 默认是1}const recorderEx

2021-11-13 14:07:51 7394 3

原创 Echarts(api汇总+配图)

1.柱状图and折线图const dom = document.getElementById(chartsId)if (!dom) returnconst myChart = echarts.init(dom as HTMLDivElement)const option = { /** 边距 **/ grid: { left: '2%', right: '2%', bottom: '15%', top: '12%', containLa

2021-11-13 11:47:24 1075

原创 (前端)file、blob、base64相互转换

blob转fileconst blob = '.....'const file = new File([blob], 'name.wav', {type: 'audio/wav'});blob转base64const blob = '.....'const a = new FileReader();a.readAsDataURL(blob);a.onload = (e) => { const base64 = e.target.result}blob转blobUrlcons

2021-11-10 17:04:17 2482

原创 (前端)前后端“文件流”,上传、接收、下载

文件上传(两种)方法1 -- 表单方式上传通过input拾取到文件获取fileconst formData = new FormData() formData.append('file', file)request(`/mark/...`, { method: 'POST', headers: { 'Content-Type': 'multipart/form-data', }, data: formData})方法2 -- base64字符串上传let

2021-11-10 14:32:45 3227

原创 前端模块化详解(包含各种导入导出及输出结果)

CommonJS浏览器不认识,需Browserify翻译1. 导出module.exports = ???exports.??? = ???2. 导入const ?? = require('??')/* 打印??结果 --> {???: ???} */AMD用的不多了,这里就不细讲了,感兴趣的自行百度CMD用的不多了,这里就不细讲了,感兴趣的自行百度ES6浏览器不认识,需babel翻译成commonJS,再用Browserify翻译成浏览器认识的**1. 导出**

2021-06-16 10:50:41 221

原创 Nonde+MongoDB基础创建及增删改查

第一部分:原生node搭建服务器第二部分:express框架搭建服务器第三部分:数据库部分第四部分:阿里云部署

2021-06-09 11:49:25 131

原创 vue项目CDN引入

注:一些对系统并不是至关重要的文件诸如字体文件、css重置、js小插件、背景图片等可能适合使用CDN,因为即使CDN文件不可用,网站也能做到平稳退化。第一步:public/index.html 里⬇️注:需引入vue并且main.js中正常引入,但element-ui就无需引入,可以直接使用<!DOCTYPE html><html> <head> <link rel="stylesheet" href="https://unpkg.com/ele

2021-05-26 15:15:21 6249 1

原创 打包&配置&优化--备忘录

一、打包环境区分1、正常/ * npm start */ process.env.NODE_ENV === 'production',/ * npm run build */ process.env.NODE_ENV === 'development'2、额外环境区分打包配置package.json中配置命令⬇️ "build-pro": "REACT_APP_ENV=pro 打包执行代码" "build-dev": "REACT_APP_ENV=dev 打包执行代码"等号前面

2021-05-13 17:10:03 236

原创 React+TypeScript+Hooks+Umi+Dev+Ant Design(笔记篇)

Hook 是 React 16.8 的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性。// interface.ts文件,一般用于存放ts类型export interface ItemType { name: string age: number | number // | 标示或 fn1: () => void // 无参数,无返回值 fn2: (parame: number) => number // 数字格式参数且返回值

2021-04-25 14:48:11 693

原创 大文件断点续传/切片上传(react、vue通用)

----整体流程解析 - 1断点续传首先要满足的功能是第一次上传30%关闭上传后,再次上传此文件继续从30%开始继续上传。要想满足此功能,首先要做的是把一个文件切割成多份上传,而每次上传时,后台需要告诉你此文件已经上传了多少份。例:A文件(100M),切割成100份,每一份有一个id,如1-100,第一次上传了id1-30的切片文件总计三十份,打断上传后,第二次上传时后台先告诉你已上传id1-30,前端知道后,直接从id31开始上传,做到了续传的实现。----整体流程解析 - 2功能实现至少需要后

2021-04-20 16:09:08 2493 1

原创 前端解析zip压缩包 --- vue、react等等通用

第一步:下载安装jszip插件yarn add jszip第二步: 导入插件import JSZip from 'jszip'第三步: new一个JSZip对象const zip = new JSZip()第四步: 获取内部每个文件的filezip.loadAsync(file).then((res) => { consol.log(res.files) // 每个file}) 拓展: 判断压缩包内部文件是否都是img或jpg或png或jpeg图片zip.loadAsyn

2021-04-20 10:47:41 2815 1

原创 rem项目踩到的坑

接到一个项目需要你去迭代修改,如果是rem布局,切记先点开浏览器dom树的html标签,看一下上面的font-size是多少,如果浏览器手机模拟器是375的宽dom树上html的font-size应该是25px,那相对ui给的750的图则正好是1rem = 50px,但如果浏览器手机模拟器375宽的dom树你点开html的font-size是20px的话,那他的项目中设置的1rem对应的就是40px—记得手动设置一下vscode里的rem自动转换—大部分项目都是配置1rem = 50px,但也

2020-12-09 11:23:21 284 1

原创 前端生成并导出表格+样式修改(只需一个插件,无需修改源码)

前端生成并导出表格+样式修改(只需一个插件,无需修改源码)众所周知,一般表格生成都是后端的事情,但如果数据不是很多的表格其实前端生成并导出更简便,而前端生成并导出表格也只需要一个xlsx插件即可,并且导出的表格列宽等都可以通过几行代码调整,很简洁,调整样式并不需要像网上查到的那样下载xlsx-style插件,也不需要改什么源码,废话不多说,直接贴代码// 一.导出的表格名let dateVal = '标注工作量.xlsx'// 二.获取DOM上的表格并生成表格对象let workbook = XL

2020-12-08 20:17:48 1570 5

原创 vue-cli3.0搭建项目后--使用全局颜色(样式)变量(style-resources-loader)

第一步:安装style-resources-loader????vue add style-resources-loader第二步:在vue.config.js中加入这块代码????// 如果没有下载path插件需要先安装一下const path = require('path')module.exports = { pluginOptions: { 'style-resources-loader': { preProcessor: 'less', // 如果你使用的是s

2020-10-28 10:34:10 1178

原创 手动生成随机密码(长度自定义)and 插件生成uuid

function createCode(num) { const codeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', '

2020-09-10 15:01:45 268

原创 解决ios的scroll滑动不流畅问题(一行代码搞定)

当使用overflow-y: scroll;后,IOS滑动不流畅,css加一条属性即可 “ -webkit-overflow-scrolling: touch; ” 例????.box{ overflow-y: scroll; touch-action: pan-y; -webkit-overflow-scrolling: touch;}其中 “-webkit-overflow-scrolling” 除了touch外还有touch属性 详解????auto:使用普通滚动,

2020-09-10 10:26:24 2414

原创 在vue项目中使用字体图标(精简易懂)(配图)

1.进入阿里图标库2.选择自己要用到的图标添加到购物车中3.随便创建一个项目4.把购物车中的图标添加到项目中5.从项目中把图标下载到本地6.在项目中assets文件夹下创建一个iconfont文件夹7.解压开下载的文件,把解压出的文件中的iconfont.css和iconfont.ttf两个文件 拷贝到项目中的iconfont文件夹中8.把iconfont.css...

2020-01-08 15:03:20 315

原创 使用keep-alive两步实现缓存(精简)

第一步在 App.vue 里????<template> <div id="app"> <keep-alive> <router-view v-if="$route.meta.keepAlive"></router-view> </keep-alive> <router-view v-...

2019-11-13 15:24:45 185

原创 点击复制内容到手机粘贴板(简洁易懂-只需五步)

点击按钮复制内容到手机粘贴板只需简单五步↓第一步npm install clipboard --save第二步在需要的页面引入(注:路径根据文件…/) 代码如下↓<script>import ClipboardJS from '../../../node_modules/clipboard/dist/clipboard.js'export default {}&lt...

2019-09-29 10:44:19 1453

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除