自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(146)
  • 资源 (2)
  • 收藏
  • 关注

原创 Docker相关命令

2. docker run -d -p 19966:9898 harbor.emotibot.com/bfop/chat-search-ui:0a8228d6-20230217-1818 把image内的nginx端口,指向当前机器的19966端口,并把image跑起来。1. docker ps 查看docker进程。

2023-02-17 18:29:24 119

原创 浏览器中js的执行机制

作用域就是变量与函数的可访问范围,即作用域控制着变量和函数的可见性和生命周期var定义的变量存在变量生命的提升,变量提升会造成一些问题,比如:1. 变量突然被篡改2. 变量没有正确的被回收(for循环)块级作用域是通过词法环境的栈结构实现,变量提升是通过变量环境实现总结:块级作用域是通过词法环境的栈结构实现,变量提升是通过变量环境实现。ES6 明确规定,如果区块中存在let和const命令,这个区块对这些命令声明的变量,从一开始就形成了封闭作用域。凡是在声明之前就使用这些变量,就会报错。...

2022-08-12 17:32:39 267

原创 导航流程:从输入URL到页面展示,这中间发生了什么?

导航流程:从输入URL到页面展示,这中间发生了什么?

2022-08-09 14:38:49 286

原创 TCP协议:如何保证页面文件能被完整送达浏览器?

TCP协议:如何保证页面文件能被完整送达浏览器?

2022-08-08 20:10:00 596

原创 仅仅打开了1个页面,为什么有4个进程?

仅仅打开了1个页面,为什么有4个进程?

2022-08-08 19:51:53 832

转载 axios请求设置responseType为‘blob‘或‘arraybuffer‘下载文件时,正确处理返回值为文件流或json对象的情况

参考:axios请求设置responseType为'blob'或'arraybuffer'下载文件时,正确处理返回值为文件流或json对象的情况_努力学习的小绵羊的博客-CSDN博客_axios buffer

2022-04-28 20:27:12 2721

转载 axios封装 防止重复请求

// 正在进行中的请求列表let reqList = []/** * 阻止重复请求 * @param {array} reqList - 请求缓存列表 * @param {string} url - 当前请求地址 * @param {function} cancel - 请求中断函数 * @param {string} errorMessage - 请求中断时需要显示的错误信息 */const stopRepeatRequest = function (reqList, url, ca.

2021-12-14 13:42:34 530

原创 vscode + js 跨文件go to definition

You need to create ajsconfig.jsonfile at the root of your project.{ "compilerOptions": { "target": "ES6" }, "exclude": [ "node_modules", "**/node_modules/*" ]}

2021-09-22 18:36:33 337

原创 POST请求数据过大,nginx服务器报500的问题

参考:https://blog.csdn.net/feifeixiang2835/article/details/84964036把对应nginx里面的client_body_buffer_size值调大即可

2021-08-11 15:06:38 2167

原创 高级前端-页面性能优化

高级前端-页面性能优化

2021-07-19 20:26:17 164

原创 高级前端-axios

Axios源码分析简单源码实现参考:https://jframesea.coding.net/public/interview/Interview/git/files/master/javascript/axios.js请求API化1. api不要出现在视图层,不然的话修改起来会很麻烦2. 建立一个api目录,然后根据业务模块划分api3. 使用 module.method的方式实现调用api,例子:apiModule.user.login()、apiModule.sku.ge.

2021-05-21 18:38:05 133

原创 高级前端-webpack

什么是webpackTapable是webpack的底层依赖loader让webpack可以处理除了js和json文件以外的别的类型的文件module.rules.{use: '', test: ''} 目前用的是chainWebpack可以链式调用loader和plugin,并且可以修改对应loader或者插件的属性webpack的主要配置Entry Output loader pluginwebpack代码分离多入口 splitChunks 动态导入为什.

2021-05-13 00:34:52 676 2

原创 高级前端-Babel

Babel是什么?是个编译器,把高版本js代码变成低版本js代码编译过程,把原代码通过词法分析变成一个个token,举例:a+b则拆成了a,+,b三个token语法分析器把这些token根据对应的语法生成抽象语法????语义分析器根据目标语法生成新的AST最后生成目标代码,遍历新的AST,生成目标代码Babel的工作步骤为什么要用Babel?Babel怎么用?常见面试题:1. Babel的原理2. 实现一个Babel插件...

2021-04-23 17:16:30 1506 3

原创 高级前端-vue的主流插件

1. VuexMutations是修改数据的唯一方法2. Vue Routerhashhistory

2021-04-23 08:15:21 119

原创 高级前端-Vue源码分析

1. Vue的响应式原理let nextTick = (cb) => Promise.resolve().then(cb)let queue = []function queueJob(dep) { queue.push(dep) // 微任务,最后执行,真正执行数据操作函数 nextTick(flushJobs)}function flushJobs() { // 拿出队列中的所有job,从第一个开始往后执行}Class Dep { dep

2021-04-22 14:12:44 220

原创 高级前端-Vue组件世界

1. 自定义指令2. 数据双向绑定::value + @inputv-model作用于表单元素自定义组件使用v-model之后,父组件不用再监听子组件的事件触发.sync语法糖3. 组件通信1. 跨层级访问:$emit,组件过多时会很麻烦,vue提供了$root和$parent两个属性(强耦合),访问组件根节点和父节点,父组件通过ref访问子组件2. 依赖注入:父组件provide对应属性,子组件通过injected去使用provide提供的数据,injected的内

2021-04-21 22:40:47 1759 12

原创 手写promise骨架

var p1 = new Promise((resolve, reject) => { resolve(1)})p1.then((val) => { console.log(val)}, (reason) => { console.log(reason)})p1.then(2)// 通过onfulfulled里面的return的值,修改promise// x是promise,resolve的值,rejected的reason或者then里面的fulFilled方.

2021-04-21 15:38:02 80

原创 高级前端-JS进阶-设计模式

设计模式分类创建型模式:工厂模式:建造者模式:单例模式:结构型模式:享元模式:桥接模式:适配器:console.log变成mylog装饰器:dom绑定的click事件的增加操作;Vue数组监听,封装原有方法命令模式:实现和命令解耦,用户只关心调用api的参数不关心行为行为型模式:经典实现:Axios的拦截器技巧型模式:...

2021-04-15 19:13:25 126

原创 Android安卓 + webview + vue 实现图片上传

前提:需要首先实现web端的网页上传图片(只要网页上传图片成功,后续集成和android部分的相关操作,就可以成功实现图片上传)步骤:web端实现网页上传 web嵌入安卓webview实现安卓手机拍照和选择图片上传问题:对安卓开发不太了解的web开发小伙伴,需要粗略的了解一下安卓开发的一些基本内容,这一步需要自己去适当的学习,如果这一步没有,那就不用往下看了 图片上传和拍照上传,需要的一些权限 高安卓版本的手机拍照上传,需要进行的额外操作web端实现网页上传的代码这边就不赘述了,需要了

2021-03-08 11:06:52 1527 2

转载 看完这篇 “原型” & “this”,就两字“通透了”

主题今天想跟大家分享一个比较 "别扭" 的概念:“原型 & this”。想把这玩意儿给说清楚,大多都会感到头大。用的时候也会遇到些尴尬的场景。就很难去整明白,这到底是个啥。这一期,就试着将这 说个清楚,讲个明白。开始~原型什么是原型?带着这个问题往下看。原型-构造器 (constructor)首先说到原型,那就跟对象密不可分。如果我们需要创建一个对象,就需要区定义一个object。那我们在开发中如何去创建一个对象?肯定有人会说,就是var 一个对象呗。很好你说的很对...

2021-02-22 17:37:33 164

转载 javascript(js)小数精度丢失的解决方案

原因:js按照2进制来处理小数的加减乘除,在arg1的基础上 将arg2的精度进行扩展或逆扩展匹配,所以会出现如下情况.javascript(js)的小数点加减乘除问题,是一个js的bug如0.3*1 = 0.2999999999等,下面列出可以完美求出相应精度的四种js算法function accDiv(arg1,arg2){ var t1=0,t2=0,r1,r2; try{t1=arg1.toString().split(".")[1].length}catch(e){}

2021-02-22 17:29:41 568

转载 我终于弄懂了Promise

转自:https://juejin.cn/post/6921593620680802311写在前面以前总是似懂非懂,这次总算把它弄了个清楚什么是Promise ES6 异步编程的一种解决方案,比传统的方案(回调函数和事件)更加的合理和强大 好处 异步操作以同步操作的流程表达出来,避免了层层嵌套的回调函数 promise可以解决异步的问题,本身不能说promise是异步的 Promise特点 对象的状态不受外界影响。Promise对象代表一个异步操作,有三种状态

2021-02-22 11:50:46 130

原创 高级前端-JS进阶-异步编程指南

目录1. 什么是异步编程思考:JS单线程是如何实现异步的?单线程,一次只能执行一个任务浏览器内核的多线程实现js异步场景定时器应用场景:防抖,节流,倒计时,动画(requestAnimationFrame)网络请求事件绑定ES6的promiseEventLoop机制宏任务和微任务,先执行微任务,再执行宏任务2. 为什么需要异步编程让需要耗时并且会阻塞到主线程的任务,放到属于该任务自己的线程中执行3. 异步的实现方式

2021-02-18 16:51:52 157

原创 微信小程序iphonex底部兼容

padding-bottom: constant(safe-area-inset-bottom);padding-bottom: env(safe-area-inset-bottom);

2020-02-26 20:51:58 1075

转载 “文本溢出截断省略” 方案合集

先来点基础的,单行文本溢出省略核心 CSS 语句 overflow: hidden;(文字长度超出限定宽度,则隐藏超出的内容) white-space: nowrap;(设置文字在一行显示,不能换行) text-overflow: ellipsis;(规定当文本溢出时,显示省略符号来代表被修剪的文本) 优点 无兼容问题 响应式截断 文本...

2019-12-16 15:33:06 165

原创 微信小程序使用lottie

import lottie from 'lottie-miniprogram'onReady: function () { wx.createSelectorQuery().select('#canvas').node(res => { const canvas = res.node const context = canvas.get...

2019-10-11 15:45:36 1293

转载 移动端真机调试

spy-debugger真机调试转载:https://www.jianshu.com/p/833397313de1Spy-debugger内部集成了weinre,通过代理的方式拦截所有html自动注入weinre所需的js代码。简化了weinre需要给每个调试的页面添加js代码。spy-debugger原理是拦截所有html页面请求注入weinre所需要的js代码。让页面调试更加方便。...

2019-03-29 14:28:08 233

原创 ES7值async+await分析

ES7:const a = function(val) {  return new Promise(function(resolve, reject) {    if (val > 5) {        resolve(val * val);    } else {        reject(val);    }  });};const b = async fun...

2018-12-18 17:01:01 173

转载 ES6 promise详解

http://www.cnblogs.com/whybxy/p/7645578.html

2018-12-10 14:32:13 109

原创 微信+阿里支付流程详解

微信登录微信登录授权流程图:QQ登录与微信登录类似阿里支付电脑端支付请求地址:https://openapi.alipay.com/gateway.do请求参数:公共请求参数:    app_id 应用ID    method 接口名称    format 仅支持JSON&nbs...

2018-10-29 16:08:18 1692

转载 搭建Maven私服那点事

摘要:本文主要介绍在CentOS7.1下使用nexus3.6.0搭建maven私服,以及maven私服的使用(将自己的Maven项目指定到私服地址、将第三方项目jar上传到私服供其他项目组使用)一、简介  Maven是一个采用纯Java编写的开源项目管理工具, Maven采用了一种被称之为Project Object Model(POM)概念来管理项目,所有的项目配置信息都被定义在一个叫做POM.

2018-04-03 16:01:52 190

转载 CSS布局解决方案(终结版)

前端布局非常重要的一环就是页面框架的搭建,也是最基础的一环。在页面框架的搭建之中,又有居中布局、多列布局以及全局布局,今天我们就来总结总结前端干货中的CSS布局。居中布局水平居中1)使用inline-block+text-align(1)原理、用法原理:先将子框由块级元素改变为行内块元素,再通过设置行内块元素居中以达到水平居中。用法:对子框设置display:inline-block,对父框设置t...

2018-03-29 13:48:40 162

原创 问卷倒计时脚本

$(function () { var submitTimerWrapper = $('.submit-timer-wrapper'); var submitTimerDom = $('#submit-timer'); var remainSec = 3 * 60; function fillZero(num) { return num < 1...

2018-03-26 11:13:22 602

原创 Yii1.1版本实现批量插入

public static function batchInsert($arrayColumns) public static function batchInsert($arrayColumns) { { $connection = Yii::app()->db; $transaction = Yii::app()->db-&g...

2018-03-23 11:07:39 1876 2

转载 从输入URL到页面加载的过程?由一道题完善自己的前端知识体系!

对知识体系进行一次预评级看到这道题目,不借助搜索引擎,自己的心里是否有一个答案?这里,以目前的经验(了解过一些处于不同阶段的相关前端人员的情况),大概有以下几种情况:(以下都是以点见面,实际上不同阶段人员一般都会有其它的隐藏知识点的)level1:完全没什么概念的,支支吾吾的回答,一般就是这种水平(大致形象点描述):浏览器发起请求,服务端返回数据,然后前端解析成网页,执行脚本。。。这类人员一般都是:

2018-03-16 10:01:31 2036

转载 Windows环境下Composer的安装教程

1.先下载Composer-Setup.exe,会自动搜索PHP.exe的安装路径,如果没有,就手动找到php路径下的php.exe。2.在PHP目录下,打开php.ini文件,开启openssl扩展。去掉extension=php_openssl.dll前面的分号(;)3.把php目录添加到环境变量(和php.exe同级目录的路径)例如:D:apache_phpphp添加到环境变量path里...

2018-03-10 20:56:27 161

转载 Cronjob

首先说说cron它是一个linux下的定时执行工具。根用户以外的用户可以使用 crontab 工具来配置 cron 任务。所有用户定义的 crontab 都被保存在/var/spool/cron 目录中,并使用创建它们的用户身份来执行。要以某用户身份创建一个 crontab 项目,登录为该用户,然后键入 crontab -e 命令来编辑该用户的 crontab。该文件使用的格式和 /etc/cron

2018-03-01 10:02:51 617

原创 微信jssdk使用

使用jssdk之前,我们需要在服务器端准备什么数据(jssdk使用的config)wx.config({ debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId: '', // 必填,公众号的唯一标识 timestamp: ,

2018-02-28 10:10:54 309

转载 Cookie与Session

目录Cookie机制什么是CookieCookie的不可跨域名性Unicode编码:保存中文BASE64编码:保存二进制图片设置Cookie的所有属性Cookie的有效期Cookie的修改、删除Cookie的域名Cookie的路径Cookie的安全属性JavaScript操作Cookie案例:永久登录Session机制什么是Session实现用户登录Session的生命周期Session的有效期Se

2018-02-23 17:06:11 142

原创 nginx location配置二级目录

server {        listen       80;        server_name  localhost;                root   /workspace/EC/dist;        #access_log  logs/host.access.log  main;        location / {         

2018-02-13 10:32:53 17334 1

test (1).pdf

test (1).pdf

2021-12-01

录屏软件

这是一款非常好用的录屏软件,希望大家多多下载,也希望这款录屏软件对大家有所帮助

2015-05-25

空空如也

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

TA关注的人

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