自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(73)
  • 资源 (1)
  • 收藏
  • 关注

原创 JavaScript实现屏幕录像

20行代码,实现屏幕录像可以给任何网站、网页实现屏幕录像功能

2023-02-25 15:24:15 1041 1

转载 CSS属性-filter用法

由于blur的特点是多个元素相互碰撞会出现融合,所以就有了上面的小尾巴的效果,而属性值hue-rotate()这个高斯函数的含义就是图片色相旋转,设置不同的度数可以实现不同的颜色值。

2023-01-31 19:21:10 1251

原创 微信小程序组件无法使用全局样式

当我们在开发微信小程序时,使用自定义组件的话,会发现全局样式无法使用,解决办法如下

2022-10-12 15:21:00 635

原创 js常见算法及算法思想-分而治之

概念:分而治之算法可以分为三个部分。1、分解原问题为多个子问题(原问题的多个小实例);2、解决子问题,用返回解决子问题的方式的递归算法。递归算法的基本情形可以用来解决子问题;3、组合这些子问题的解决方式,得到原问题的解。...

2022-08-15 15:58:55 477

原创 js常见算法及算法思想-排序

1)冒泡排序比较所有相邻元素,如果第一个比第二个大就交换他们执行一次后可以保证最后一个数字是最大的重复执行 n-1 次,就可以完成排序2)选择排序找到数组中最小的值,选中它并放到第一位接着找到数组中第二小的值,选中它并放到第二位重复上述步骤执行 n-1 次3)插入排序从第二个数,开始往前比较如它大就往后排以此类推进行到最后一个数4)归并排序分:把数组劈成两半 在递归的对子数组进行分操作,直到分成一个个单独的数合:把两个树合并为有序数组,再对有序数组进行合并, 直到全部子数组合并为

2022-08-12 18:52:37 324

原创 JS生成UUID唯一标识方法

UUID的编码规则:1)1~8位采用系统时间,在系统时间上精确到毫秒级保证时间上的惟一性;2)9~16位采用底层的IP地址,在服务器集群中的惟一性;3)17~24位采用当前对象的HashCode值,在一个内部对象上的惟一性;4)25~32位采用调用方法的一个随机数,在一个对象内的毫秒级的惟一性。通过以上4种策略可以保证惟一性。在系统中需要用到随机数的地方都可以考虑采用UUID算法。...

2022-07-05 14:59:26 1819

原创 elementUI Upload实现自定义阿里云上传文件

2.封装上传方法upload_oss.js3.封装上传组件UploadFile.vue4.在页面上调用这样就ok了

2022-06-07 17:32:34 328

原创 Object.assign()用法以及问题点

Object.assign() 拷贝的只是属性值,假设源对象的属性值是一个指向对象的引用,那么它也只拷贝那个引用值,也就是说,对于Object.assign()而言,如果对象的属性值为简单类型(string,number),通过 Object.assign() 得到的新对象为深拷贝;如果属性值为对象或其他引用类型,那对于这个对象而言其实是浅拷贝的

2022-05-31 15:35:25 2324

原创 python环境安装

点击下载python下载完成点击打开安装,如图:这里直接选择默认安装,点击Install Now这样就安装完成了,可以输入win+R打开窗口输入 cmd 后就打开了命令行输入python -V,如果显示python版本号说明安装成功了over...

2022-04-21 23:00:49 923

原创 vue配置开发环境,测试环境,生产环境

开发环境:一般是本地开发时所使用的环境,改动很频繁测试环境:较为稳定的版本,一般用于部署测试生产环境:发布到线上的版本配置不同环境变量可避免切换不同环境时手动修改项目配置,请求url等,vue项目中可先在package.json文件中这样设置:"scripts": { "dev": "vue-cli-service serve --mode development", //开发环境 "dev:test": "vue-cli-service serve --mode t.

2022-04-18 15:01:25 6317 1

原创 Vue 面试点

目录1.Vue 如何实现数据双向绑定2.Vue 怎么实现对象和数组的监听3.Vue中vm.$set 的实现原理4.Vue 中的 key 有什么作用5.虚拟 DOM 实现原理6.vue-router 路由模式有几种7.vue-router 中常用的 hash 和 history 路由模式实现原理8.Vue 服务端渲染SSR9.组件中 data 为什么是一个函数10.对 SPA 单页面的理解和它的优缺点11.v-show 与 v-if 有...

2021-11-30 16:55:43 271

原创 Vue 项目优化

1.代码层面的优化 v-if 和 v-show 区分使用场景 computed 和 watch 区分使用场景 v-for 遍历必须为 item 添加 key,且避免同时使用 v-if 长列表性能优化 事件的销毁 图片资源懒加载 路由懒加载 第三方插件的按需引入 优化无限列表性能 服务端渲染 SSR or 预渲染 2.Webpack 层面的优化 Webpack 对图片进行压缩 减少 ES

2021-11-30 11:03:33 293

原创 js 加减乘除精度

js小数点的计算精度会存在缺失问题,这里封装了一段代码用来解决加减乘除精度问题:calc.js文件:/** ** 加法函数,用来得到精确的加法结果 ** 说明:javascript的加法结果会有误差,在两个浮点数相加的时候会比较明显。这个函数返回较为精确的加法结果。 ** 调用:accAdd(arg1,arg2) ** 返回值:arg1加上arg2的精确结果 **/function accAdd(arg1, arg2) { let r1, r2, m try { r1

2021-11-29 17:36:27 1316

原创 require 加载原理

module : 在 node 中每一个 js 文件都是一个 module ,module 上除了保存了 exports 等信息,还有 loaded 表示该模块是否被加载:false表示没有加载,true 为已加载Module : 以nodejs 为例,整个系统运行以后,会用 Module 缓存每一个模块加载的信息require 大致流程:1. require 会接收一个参数——文件标识符,然后分析定位文件,分析过程我们上述已经讲到了,加下来会从 Module 上查找有没有缓存,如果有缓存..

2021-11-26 18:06:17 721

原创 import() 动态引入

import()返回一个 Promise对象, 返回的Promise的 then 成功回调中,可以获取模块的加载成功信息。 import()的使用:fn_handle.jssetTimeout(() => { const result = import('./fn_data.js') result.then(res => { console.log(res) })}, 0);fn_data.jsexport const name = '张三...

2021-11-26 17:41:29 3131

原创 keep-alive用法

在<router-view />外包裹keep-alive,这样在不刷新页面的情况下每个页面只会在首次进入触发生命周期,之后再重新进入页面就不会触发created(),mounted()等钩子函数如果需要在指定页面解除keep-alive的缓存,实现每次进入页面都会触发生命周期,keep-alive有2个属性:include,exclude

2021-11-25 10:50:40 138

原创 HBuilderX app启动时自动申请访问相册和拨打电话权限解决方法

HBuilderX打包后app安装启动会自动申请读写手机存储需访问系统相册,申请获取设备信息权限,这2种都是敏感权限,容易导致上架应用商店审核被拒,如图:下面介绍如何不自动申请这2种权限:打开manifest.json文件,切换到“源码视图”项uni-app项目 在 "app-plus" -> "distribute" -> "android" 节点下添加 5+ App项目 在 "plus" -> "distribute" -> "google" 节点..

2021-11-19 16:16:50 2430 9

原创 HBuilderX因为隐私权限无法正常上架应用市场

根据工业和信息化部关于开展APP侵害用户权益专项整治要求,App提交到应用市场必须满足以下条件:应用启动运行时需弹出隐私政策协议,说明应用采集用户数据 这里将详细介绍如何配置弹出“隐私协议和政策”提示框 应用不能强制要求用户授予权限,即不能“不给权限不让用” 如不希望应用启动时申请“读写手机存储”和“访问设备信息”权限,请参考:Android平台应用启动时读写手机存储、访问设备信息(如IMEI)等权限策略及提示信息 - DCloud问答效果图如下:1.HBuilderX3.2.1及.

2021-11-19 10:35:58 1851

原创 Commonjs 和 Es Module

Commonjs的特性:CommonJS 模块由 JS 运行时实现。 CommonJs 是单个值导出,本质上导出的就是 exports 属性。 CommonJS 是可以动态加载的,对每一个加载都存在缓存,可以有效的解决循环引用问题。 CommonJS 模块同步加载并执行模块文件。Es module的特性: ES6 Module 静态的,不能放在块级作用域内,代码发生在编译时。 ES6 Module 的值是动态绑定的,可以通过导出方法修改,可以直接访问修改结果。 ..

2021-11-15 17:59:12 1848

原创 导入import和导出export

export { }, 与变量名绑定,命名导出。import { } from 'module', 导入module的命名导出 ,module 为如上的./fn_data.js这种情况下 import { } 内部的变量名称,要与 export { } 完全匹配。export default any 导入 module 的默认导出。any 可以是函数,属性方法,或者对象。对于引入默认导出的模块,import anyfrom 'module', any 可以是自定义名称。

2021-11-12 18:03:08 1961

原创 require 加载流程

nodejs中对标识符的处理原则:首先像 fs ,http ,path 等标识符,会被作为 nodejs 的核心模块。 ./和../作为相对路径的文件模块,/作为绝对路径的文件模块。 非路径形式也非核心模块的模块,将作为自定义模块。核心模块的处理:核心模块的优先级仅次于缓存加载,在Node源码编译中,已被编译成二进制代码,所以加载核心模块,加载过程中速度最快。路径形式的文件模块处理:已./,../和/开始的标识符,会被当作文件模块处理。require()...

2021-11-11 17:47:22 418

原创 commonjs 使用与原理

commonjs特点:1.在commonjs中每一个 js 文件都是一个单独的模块,我们可以称之为 module;2.该模块中,包含 CommonJS 规范的核心变量: exports、module.exports、require;3.exports 和 module.exports 可以负责对模块中的内容进行导出;4.require 函数可以帮助我们导入其他模块(自定义模块、系统模块、第三方库模块)中的内容;简单的导出(fn_data.js):let name = '张三..

2021-11-11 17:27:09 7837

原创 连接mysql报错2003-Can‘t connect to MySql server on ‘localhost‘(10061)

解决办法:Windows+R打开命令窗口,输入services.msc找到mysql服务,如果没启动就右键启动然后再连接就ok了

2021-11-10 11:48:37 659

原创 git关联远程仓库并拉取代码

git从无到有关联远程仓库并拉取代码:不用新建文件夹,在放置项目的文件夹打开git窗口,输入命令:git clone 仓库地址(https://xxx)如果是拉取指定分支:git clone -b 分支名 仓库地址(https://xxx)git add后撤销add操作:git reset .(或者文件名)...

2021-11-02 17:51:50 659

原创 js判断浏览器类型大全

var u = window.navigator.userAgent; var type_obj={ isOpera: u.indexOf("Opera") > -1, //判断是否Opera浏览器 isFF: u.indexOf("Firefox") > -1, //判断是否Firefox浏览器 isSafari: u.indexOf("Safari") > -1 && u.indexOf("Chrome") .

2021-11-02 16:22:09 491

原创 js监听移动端横屏和竖屏状态

1.通过添加监听事件onorientationchange,然后判断window.orientation这个参数:window.addEventListener("onorientationchange" in window ? "orientationchange" : "resize", function() { console.log(window.orientation) if (window.orientation === 180 || window.

2021-11-02 15:11:01 1588

原创 js计算2个日期相差的天数

function calc_day(timestamp1, timestamp2) { // 将时间戳相减获得差值(毫秒数) var differ = timestamp1 - timestamp2 /** * @desc 毫秒数除以1000就转为秒数 * @desc 秒数除以60后取整,就是分钟(因为1分钟等于60秒) * @desc 秒数除以3600后取整,就是小时(因为1小时等于3600秒) * @des.

2021-10-29 14:39:45 2608

原创 js获取当前时间并转化成年月日时分秒格式

js获取当前时间并转化成年月日时分秒格式

2021-10-28 18:02:44 546

原创 微信小程序不同类型demo集合含源码

一.微信官方的云开发教程demo:https://github.com/TencentCloudBase/mp-bookhttps://github.com/TencentCloudBase/tcb-demo-basic二.小程序demo汇总,如图:汇总github地址:https://github.com/justjavac/awesome-wechat-weapp三.营销小程序,手势解锁,大转盘,刮刮乐,九宫格,摇一摇等https://github....

2021-09-07 18:09:00 768

原创 js生成随机数

一行代码实现随机生成字符串:Math.random() 生成 [0,1)的数,也就是0.123312、0.982931之类的,然后调用 number的 toString方法将其转换成36进制的,按照MDN的说法,36进制的转换应该是包含了字母a~z和数字 0~9 的,因为这样生成的是0.89kjna21sa类似这样的,所以要截取一下小数部分,即从索引2开始截取10个字符就是我们想要的随机字符串了

2021-06-28 11:13:01 740

原创 js判断是否微信浏览器

is_weixin() { var ua = navigator.userAgent.toLowerCase(); if (ua.match(/MicroMessenger/i) == "micromessenger") { return true; } else { return false; } }

2021-06-17 10:12:20 324

原创 electron-builder打包配置

这里介绍的是直接在package.json中直接配置使用:"build": { "productName":"xxxx",//项目名 这也是生成的exe文件的前缀名 "appId": "com.leon.xxxxx",//包名 "copyright":"xxxx",//版权 信息 "directories": { // 输出文件夹 "output": "build" }, "nsis": { "oneClick": false

2021-05-27 15:53:55 2641

原创 electron (二) 暗黑模式

前置代码:electron (一) 快速入门首先,让我们编辑我们的接口,以便可以在光线和暗色的 模式之间切换。 这个基本的界面包含更改 原生主题 设置的按钮,并且包含一个文本元素,指明了哪些 主题 值被选中将以下内容添加到 index.html 文件:<!doctype html><html lang="cn"> <head> <meta charset="UTF-8"> <meta name="viewport" conte

2021-05-21 17:16:09 1525

原创 electron 导入ipcRenderer报错

const { ipcRenderer } = require(‘electron’)electron项目中导入ipcRenderer时报错如图所示:原因:为了安全性,官方将 electron v12.0.0 的 contextIsolation 的默认值改了解决办法:在创建窗口方法中添加代码:const win = new BrowserWindow({ width: 800, height: 600, webPreferences: { nodeInteg

2021-05-21 16:13:03 2029 1

转载 electron (一) 快速入门

官方文档:https://electronjs.org/docs一、安装配置1、为你的应用创建一个新的空文件夹 Electron2、打开你的命令行工具,从该文件夹运行 npm init 会帮助你创建一个基本的 package.json 文件3、安装electron npm install --save-dev electron4、项目根目录新建main.js文件(入口文件)const { app, BrowserWindow } = require('electron')function

2021-05-20 16:05:40 305 1

原创 HbuildX H5+App监听手机返回键以及webview关闭

//直接将方法写在index.html即可document.addEventListener('plusready', function () { var webview = plus.webview.currentWebview() plus.key.addEventListener('backbutton', function () { var l=plus.webview.all().length if(l>1){ .

2021-01-14 10:29:55 1301

原创 基于vue封装axios请求

import axios from 'axios';import qs from "qs";const url = "https://www.baidu.com"; //访问地址域名axios.interceptors.request.use( config => { //如需添加token if (localStorage.getItem('token')) { config.headers["token"] = local.

2020-10-31 14:00:07 241

原创 ES6特性一览

class类constructor():构造函数,new命令生成实例时自动调用extends:继承父类super:新建父类的thisstatic:定义静态属性方法get:取值函数,拦截属性的取值行为set:存值函数,拦截属性的存值行为

2020-05-25 18:12:07 254

原创 使用npm下载依赖报错

错误如下:“Unexpected end of JSON input while parsing near···”解决方法:1.清理缓存:npm cache clean --force2.执行命令:npm install --registry=https://registry.npm.taobao.org --loglevel=silly

2020-05-25 15:56:21 496

原创 VUE使用总结

一.Vue 的父组件和子组件生命周期钩子函数执行顺序Vue 的父组件和子组件生命周期钩子函数执行顺序可以归类为以下 4 部分:加载渲染过程父 beforeCreate -> 父 created -> 父 beforeMount -> 子 beforeCreate -> 子 created -> 子 beforeMount -> 子 mounted -> 父 mounted子组件更新过程父 beforeUpdate -> 子 beforeUpdate -> 子 updated -> 父 updated

2020-05-15 16:43:33 184

前端MD5加密 js代码文件

/* * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message * Digest Algorithm, as defined in RFC 1321. * Version 2.1 Copyright (C) Paul Johnston 1999 - 2002. * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet * Distributed under the BSD License * 避免请求时密码等明文显示在请求中

2020-10-31

空空如也

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

TA关注的人

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