js
好了来看下一题
热爱可抵岁月漫长
展开
-
Promise.all使用
Promise.all使用原创 2022-07-26 18:14:02 · 228 阅读 · 1 评论 -
js监听键盘点击事件
js监听键盘点击事件:keyCode、code原创 2022-07-19 17:39:45 · 1612 阅读 · 0 评论 -
Antd 时间日期选择器,选择当前时间以后的时间
Antd时间日期选择器,选择当前时间之后的时间原创 2022-07-12 13:31:21 · 2238 阅读 · 0 评论 -
获取图片信息
通过图片地址获取图片信息原创 2022-06-30 11:37:07 · 270 阅读 · 0 评论 -
时间戳转时间对象
时间戳转时间对象(年月日时分秒)、倒计时原创 2022-06-29 17:41:29 · 188 阅读 · 0 评论 -
iOS企业签下载
iOS企业签下载需要3个文件app logo:icon.pngiOS企业签安装包:xxx.ipaplist文件:ipa.plistapp logo 和 iOS企业签安装包 需要ui和终端提供,plist文件 格式如下:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyLis原创 2021-08-11 14:54:47 · 3522 阅读 · 0 评论 -
使用js、标签、文件版本跳过浏览器缓存
避免缓存缓存是浏览器的功能特性,不是 bug,为了增强用户体验,浏览器一般都会把网页上所需的静态文件缓存到本地,再次刷新的时候则无需再重新加载但是我们有时候就是不需要浏览器缓存这些文件,而是每次都从服务器端读取数据,可以用以下做法:使用 js 配合 mate 标签及文件版本号,实现避免浏览器缓存<meta HTTP-EQUIV="pragma" CONTENT="no-cache"><meta HTTP-EQUIV="Cache-Control" CONTENT="no-stor原创 2021-07-07 12:00:32 · 249 阅读 · 0 评论 -
VConsole 终端调试工具
VConsole 终端调试工具web 页面在终端展示时调试较为麻烦,可以使用 VConsole,实现类似于浏览器控制台的效果,引入方式如下:<script src="https://cdn.bootcss.com/vConsole/3.2.0/vconsole.min.js"></script><script> // 初始化 vConsole var vConsole = new VConsole();</script>这样,就能在终端方便原创 2021-07-05 15:09:45 · 209 阅读 · 0 评论 -
JSbridge
一、什么是JSBridge主要是给 JavaScript 提供调用 Native 功能的接口,让混合开发中的前端部分可以方便地使用 Native 的功能(例如:地址位置、摄像头)。而且 JSBridge 的功能不止调用 Native 功能这么简单宽泛。实际上,JSBridge 就像其名称中的 Bridge 的意义一样,是 Native 和非 Native 之间的桥梁,它的核心是构建 Native 和非 Native 间消息通信的通道,而且这个通信的通道是双向的。双向通信的通道:JS 向 Native原创 2021-07-05 14:34:38 · 599 阅读 · 0 评论 -
react函数组件和类组件
定义组件有两个要求:组件名称必须以大写字母开头组件的返回值只能有一个根元素函数组件function Welcome (props) { return <h1>Welcome {props.name}</h1>}ReactDOM.render(<Welcome name='react' />, document.getElementById('root'));函数组件接收一个props对象,并返回一个React元素类组件class Welcome原创 2021-04-27 15:51:20 · 342 阅读 · 0 评论 -
Path.resolve
Path.resolve()resolve 将路径或路径片段的序列解析为绝对路径resolve的定义对于给定的路径片段,是 从右向左 拼接处理,直至构造出绝对路径;如果在处理完所有给定的 path 片段之后还未生成绝对路径,则需要加上当前工作目录。demo示例var path = require("path") //引入node的path模块path.resolve('/foo/bar', './baz') // returns '/foo/bar/baz'path.res原创 2021-04-25 11:01:16 · 172 阅读 · 0 评论 -
公众号 接入微信支付
公众号页面 接入微信支付1. 引入js文件<script type="text/javascript" src="https://res2.wx.qq.com/open/js/jweixin-1.4.0.js"></script>2. 微信初始化配置wx.config({ debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 a原创 2021-04-20 10:36:29 · 643 阅读 · 0 评论 -
axios 自定义添加请求头 单独添加请求头
axios 自定义添加请求头axios 封装import Vue from 'vue'import axios from 'axios'axios.defaults.timeout = 5000;axios.defaults.baseURL = process.env.VUE_API_ROOT; // 请求拦截axios.interceptors.request.use((config) => { let userToken = window.localStorage.getIt原创 2021-04-19 18:41:49 · 6569 阅读 · 0 评论 -
vue项目部署后,文件加载相对路径设置
vue项目部署后,文件加载相对路径设置vue项目打包放在oss服务器上,有时会因为oss上项目文件夹没有存在于配置的域名根目录下,就可能引起项目文件css、js等出现加载失败的情况例如:oss配置域名 https://web.aaaa.com/ ,项目文件夹目录为 ost/web/H5/ ,这样我们在加载项目文件夹目录下 index.html 时,就可能会出现css、js文件加载失败,因为我们如果设置了绝对路径,项目就会从域名根目录下找资源vue.config.js 文件修改项目配置文件public原创 2021-04-15 14:48:17 · 3186 阅读 · 0 评论 -
.gitignore 常见忽略规则
.gitignore常见忽略规则如下:# 表示此为注释,将被Git忽略*.a: 表示忽略所有 .a 结尾的文件oss-*.js: 表示忽略 oss-xx.js 的文件!lib.a: 表示lib.a除外/TODO: 表示仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODObuild/: 表示忽略 build/目录下的所有文件,过滤整个build文件夹;doc/*.txt: 表示会忽略doc/notes.txt但不包括 doc/server/arch.tx原创 2021-04-06 11:40:08 · 404 阅读 · 0 评论 -
wx-open-launch-app 微信内H5页面打开app
微信内H5打开app一、准备条件微信内访问网页时跳转到 APP的准备条件:服务号已认证:微信公众平台 注册一个【服务号】并微信认证开放平台账号已认证:微信开放平台 注册一个账号,并完成开发者资质认证服务号与开放平台账号同主体:【服务号】和【开放平台账号】认证主体一致!二、相关文档官方文档很详细功能介绍、使用说明、前期准备微信开放标签说明文档App获取开放标签中的extinfo数据三、重要设置微信公众平台 设置IP白名单,该IP地址获取access_token开发->原创 2021-04-01 16:11:34 · 3121 阅读 · 6 评论 -
vite:极速、轻量构建工具(结合vue3 )
1.创建一个vite项目npm init vite-app <project-name>cd <project-name>npm install npm run dev或者yarn create vite-app <project-name>cd <project-name>yarn yarn dev2.vite简介vite 是一个基于 Vue3 单文件组件的非打包开发服务器,它做到了本地快速开发启动:快速的冷启动,不需要等待打包转载 2021-03-19 17:59:41 · 449 阅读 · 0 评论 -
JavaScript 中各种方法对数组遍历的速度比较
数组遍历速度循环一直是大多数编程语言的重要组成部分, JavaScript 为我们提供了许多迭代或循环值的方法。for 循环有很多变形,例如 for、for(倒序)、for…of、forEach、for…in、for…await。哪种循环更快呢?答案是: for(倒序)以下使用代码进行测试的结果:const steps = 1000000; const arr = Array(steps);console.time('⏰');for (let i = arr.length; i > 0原创 2021-03-18 19:33:42 · 1107 阅读 · 0 评论 -
js判断滚动到底或滚动到顶
js判断滚动到底或滚动到顶原生判断其中:scrollTop:滚动条滚动时,滚动条上端距离顶部的距离clientHeight:可视区的高度scrollHeight:滚动条的总高度(当前可滚动的页面的总高度)window.addEventListener('scroll', scroll)function scroll() { const scrollTop = document.documentElement.scrollTop || document.body.scrollT原创 2021-03-18 13:44:42 · 3120 阅读 · 3 评论 -
vue项目中 vscode 配置别名路径提醒
vue项目中 vscode 配置别名路径提醒实现效果:vue项目中,输入路径 "@/..." 自动提示后续路径修改项目默认配置// vue.config.jsmodule.exports = { publicPath: "/", outputDir: "dist", lintOnSave: false, // 关闭eslint productionSourceMap: true, // 生产环境下css 分离文件 configureWebpack: { resolve原创 2021-03-15 18:34:38 · 1284 阅读 · 0 评论 -
js内置编码解码函数decodeURI()与decodeURIComponent()的区别
decodeURI() 与 decodeURIComponent() 的区别编码函数encodeURI() 会对特殊字符进行编码(¥ %):¥ 对应 %EF%BF%A5;空格对应 %20 ;% 对应 %25encodeURIComponent() 不会对特殊字符进行编码(¥ %)解码函数decodeURI() 可对 encodeURI() 函数编码过的 URI 进行解码decodeURIComponent() 可对 encodeURIComponent() 函数编码的 URI 进行解码原创 2021-03-15 11:18:05 · 327 阅读 · 0 评论 -
js:判断页面在 微信 微博 QQ 支付宝 钉钉 内置浏览器内打开
js:判断页面在 微信 / 微博 / QQ / 支付宝 内置浏览器内打开const u = navigator.userAgent.toLowerCase()let isApp = u.match(/MicroMessenger/i) == "micromessenger" || u.match(/WeiBo/i) == "weibo" || u.match(/QQ/i) == "qq" || /alipay/ig.test(u)通过以上代码,就可以使用js判断,当前页面是否在 微信原创 2021-03-04 18:27:07 · 2979 阅读 · 3 评论 -
VUE报错 Uncaught (in promise) error
VUE报错 Uncaught (in promise) error原因:是因为后续并没有跟随任何 then | catch 语句,因此它将抛出错误,所以要养成良好习惯,promise记得写上catch可尝试在 then() 后加上 catch()login({ commit }, userInfo) { const { username, password } = userInfo return new Promise((resolve, reject) => { c原创 2021-03-03 16:26:18 · 8507 阅读 · 1 评论 -
VUE中使用router.addRoutes进行管理菜单权限
addRoutesvue 动态添加路由 官方文档需求:不同用户登陆后台,针对用户角色添加不同的权限思路:在路由全局前置守卫中,从后台获取用户最新的权限列表,使用 addRoutes 方法,动态更新用户权限// src/permission.jsimport router from './router'import { getToken } from '@/utils/auth' // get token from cookieconst whiteList = ['/login', '/原创 2021-03-01 19:39:45 · 1293 阅读 · 0 评论 -
webpack4 多页面应用 多环境配置
webpack4 多页面 多环境配置使用 webpack4 + 原生html ,搭建多页面应用(例如:app配套的活动项目)项目目录:build |-envs.js |-rules.js |-webpack.base.conf.js |-webpack.dev.conf.js |-webpack.prod.conf.js |-webpack.test.conf.jssrc |-commom |-css |-js |-pages |-home原创 2021-02-23 16:54:29 · 490 阅读 · 0 评论 -
webpack对js进行压缩处理
webpack对js进行压缩处理目前针对 webpack 配置有两个插件可以选择uglifyjs-webpack-pluginterser-webpack-plugin1 uglifyjs-webpack-plugin使用npm install uglifyjs-webpack-plugin --save-devwebpack配置plugins: [ //删除dist_h5目录 new cleanWebpackPlugin(['dist_h5'], { root: pat原创 2021-02-23 15:33:34 · 1223 阅读 · 0 评论 -
call-app H5 唤起 APP 的解决方案
call-appcallapp-lib 是一个 H5 唤起 APP 的解决方案,能够满足大部分唤起客户端的场景,也预留了扩展口,帮你实现一些定制化的功能。安装npm install --save callapp-lib使用import CallApp from 'callapp-lib';let scheme = { protocol: 'APP协议,URLScheme的scheme字段,就是你要打开的APP的标识', host: 'URL Scheme的host字段'}c原创 2021-02-22 11:30:16 · 3107 阅读 · 2 评论 -
腾讯IM即时通讯
腾讯 IM 即时通讯官方文档地址:官方文档地址1 集成SDK可以通过npm 和 script 标签的方式进行集成npm 方式集成// IM Web SDKnpm install tim-js-sdk --save// 发送图片、文件等消息需要腾讯云即时通信IM上传插件npm install tim-upload-plugin --savescript 标签方式集成<!-- js文件可以从 https://github.com/tencentyun/TIMSDK/tree/原创 2021-02-04 15:32:22 · 3227 阅读 · 0 评论 -
react 本地服务器端口号配置
react 本地项目端口号配置修改 react 本地服务器端口号查看源码:// node_modules/react-scripts/scripts/start.js/** * Copyright (c) 2015-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of原创 2021-02-02 15:09:49 · 986 阅读 · 0 评论 -
微前端的核心价值
微前端的核心价值整理自 11.20 晚阿里云微前端线下沙龙整个会议下来,我只对一个话题有兴趣,就是 #大果 提出的灵魂拷问:如果是 widget 级别,那么微前端跟业务组件的区别在哪里?微前端到底是因何而生?圆桌环节简单发表了一下自己的观点,这里再文字补充一下:先抛观点:我认为微前端的核心价值在于 “技术栈无关”,这才是它诞生的理由,或者说这才是能说服我采用微前端方案的理由。为什么"技术栈无关"这么重要?我抛两个场景,大家思考一下:你新入职一家公司,老板扔给你一个 5 年陈的项目,需转载 2021-02-01 12:00:51 · 296 阅读 · 0 评论 -
egg-mysql 使用及踩坑
egg-Mysql1 安装 Mysql官网下载链接 :Mysql 选择下面 No thanks, just start my download.安装Mysql: Excute - Next …一直到安装结束配置环境变量找到 Mysql 安装目录 bin 文件夹下 例如:C:\Program Files\MySQL\MySQL Server 8.0\bin系统环境变量 - xxx的用户变量 - path 后面添加进上面的目录2 egg内使用官网地址:Mysql安装依赖npm原创 2021-01-15 15:27:06 · 1737 阅读 · 2 评论 -
Http请求状态码
Http请求状态码1开头的http状态码表示临时响应并需要请求者继续执行操作的状态代码。- 100 (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。- 101 (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。2开头的http状态码表示请求成功- 200 成功处理了请求,一般情况下都是返回此状态码- 201 请求成功并且服务器创建了新的资源- 202 接受请求但没创建资源- 203 返回另一资源的请求- 204 服务器成原创 2021-01-14 14:15:00 · 2145 阅读 · 0 评论 -
观察者模式,发布-订阅者模式
JS设计模式设计模式:是一套被反复使用,多数人知晓的,经过分类的,代码设计经验的总结。换言之,就是用 “套路” 做事情。观察者模式发布 - 订阅者模式观察者模式我们假设你正在找一份软件工程师的工作,对“香蕉公司”很感兴趣。所以你联系了他们的HR,给了他你的联系电话。他保证如果有任何职位空缺都会通知你。这里还有几个候选人也你一样很感兴趣。所以职位空缺大家都会知道,如果你回应了他们的通知,他们就会联系你面试。所以,以上和“观察者模式”有什么关系呢?这里的“香蕉公司”就是Subject,用来维护O原创 2021-01-13 15:36:44 · 133 阅读 · 0 评论 -
使用mock.js 生成假数据
使用mock.js 生成假数据安装 mock.js 和 axiosnpm install --save-dev mockjsnpm install --save axios1 封装 axiosutils 文件夹下新建 request.js 配置 baseUrlimport axios from 'axios'// axios 实例const request = axios.create({ baseURL: 'http://localhost:8086', withCredent原创 2021-01-11 17:55:59 · 758 阅读 · 0 评论 -
Egg.js框架使用及项目搭建
Egg简介Egg 继承于 Koa,Egg 选择了 Koa 作为其基础框架,在它的模型基础上,进一步对它进行了一些增强Koa 的中间件选择了洋葱圈模型(像穿过一个洋葱一样)所有的请求经过一个中间件的时候都会执行两次,对比 Express 形式的中间件,Koa 的模型可以非常方便的实现后置处理逻辑,可以看到执行是从前到后再从后到前。1 项目准备安装 egg 脚手架$ npm i egg-init -g使用脚手架创建项目$ egg-init egg-example --type=sim原创 2020-11-26 17:49:20 · 778 阅读 · 0 评论