自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

爱coding的小蕾蕾

前端技术分享博客

  • 博客(29)
  • 资源 (2)
  • 收藏
  • 关注

原创 2021-05-19

微信h5跳转小程序官方文档:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_Open_Tag.html#21开发过程中发现行内样式很多效果无法实现,且存在适配问题。于是想到以下方案:<div id="btn" className='btn'>点我跳转小程序 //外层的btn是正常的按钮样式,因为script里面的样式不好写。而且很难做到适配,因此,我产生了第一个想法,就是外层还是写正常的样

2021-05-19 16:36:52 303

原创 XAMPP连接远程服务器数据库

1.XAMPP下载https://www.apachefriends.org/download.html2.直接下一步下一步安装3.安装完成,打开http://localhost/phpmyadmin/ 出现以下界面,安装完毕4.连接服务器数据里点击此处找到安装文件,打开 phpmyadmin>config.inc.php,配置用户名密码和ip配置完成,重启apach再次打开http://localhost/phpmyadmin/,已经连接到了远程服务器..

2020-09-25 11:22:41 1212

原创 node跨域

node+express请求,get请求成功,post请求一直报错ccess to XMLHttpRequest at 'http://localhost.jd.com:8000/api/edit.do?_=1600998164854' from origin 'http://localhost.jd.com:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control c

2020-09-25 09:53:27 288

原创 pm2服务端部署支持ts的那些坑

1.文件结构如下图pm2常用命令pm2 delete all //先停止所有的端口pm2 delete $id //停止某个端口cd 到bin文件夹下,执行 pm2 start ../pm2.json pm2 log $id //打印端口信息pm2 flush //删除信息,否则日志是历史日志发现不支持ts-node,配置的时候加上,如果装了之后发现还是找不到,就把node_modules删除掉重新install一次"interpreter": "..

2020-08-25 21:31:39 3689 3

原创 hooks的基本用法

常用的hooks有以下几种1.useState(state,setState)示例:点击按钮,使得按钮的文案由"点击前"变为“点击后”。函数组件不需要构造函数,可以通过调用useState来初始化 state传统的写法:import React, { Component } from "react";export default class Button extends Component { constructor() { super(); ..

2020-05-25 16:11:53 9640 1

原创 如何判断页面是否滑到底部的方法

// 获取滑动位置function getScrollTop(){ var scrollTop = 0, bodyScrollTop = 0, documentScrollTop = 0; if(document.body){ bodyScrollTop = document.body.scrollTop; } if(document.docum...

2019-10-18 18:12:32 2567

原创 shell脚本实现自动提交代码

1.在package.json中引入命令,使其执行beta.command文件 "scripts": { "pack": "./beta.command" },2.beta.command文件主要执行一些文件操作,如复制A文件到B文件夹 git 提交等命令 一些简单的shell脚本如下读取父级目录# 读取父级目录preName=`pw...

2019-08-07 15:22:36 2536

原创 将git上面的代码自动部署到服务器

1.在电脑上配置gitlab-runner参考文档https://docs.gitlab.com/runner/install/osx.html安装: sudo curl --output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/g...

2019-07-19 17:51:34 2990

原创 发布一个属于自己的npm包

最近做项目遇到一个问题,很多页面,项目初始化的时候,总是把旧项目copy一个过来,然后删除里面不需要的东西,再加新项目要用的东西。做多之后感觉很繁琐。于是想到,有没有办法一键初始化项目呢。于是调研到了发布npm包。1.注册npmnpm网站地址:https://www.npmjs.com/npm网站注册地址:https://www.npmjs.com/signup注册之后,输入命令...

2019-06-28 10:35:38 479

原创 Fiddler抓包工具--必须知道的几个用法

我们以plus.m.jd.com 为例1.打开fiddler,浏览器随便打开页面,左侧就会显示访问的页面以及请求地址2.拦截请求修改返回值假设现在我们要拦截以下红色框标记请求,在黑色框输入 bpafter+空格+请求,回车再次访问页面,如果请求出现红色盾牌表示拦截成功。点击右侧 Inspectors,下面的TextView可修改返回值,修改后,点击绿色按钮,Run to c...

2019-01-15 14:30:10 2355

原创 git常用命令

首先拉取主干 master 代码git clone ***然后,查看本地分支git branch此时,只有 master 分支然后新建分支git branch [name] ----注意新分支创建后不会自动切换为当前分支git checkout [name]git checkout -b [name]切换到新分支后提交的时候:git add ...

2018-11-19 11:49:17 229

原创 react-radio-group修改样式

相信有不少人遇到过这个问题,想用 React-radio-group 表单组件的时候,发现他的样式都是固定写好的,官网里面也没有给定参数去修改选中/未选中的状态。他的默认样式是这样的:去查阅很多资料都无法修改。后来在审查元素的时候看到这个 input[type="radio" i]。就想着能不能修改他的样式呢?然后,就尝试修改了这个元素的样式:input[type='ra...

2018-10-23 10:28:03 2796

原创 git commit 规范工具

为什么使用 commit 规范?首先看一下国际知名项目 angularjs 提交历史我的提交历史:纳尼???我都写了什么??? 你有没有中枪 --&gt;因此,我们的 git commit 规范提上日程1.commitizen    拉取线上代码库,执行sudo cnpm install -g commitizen生成 package.json 文件 ...

2018-10-19 18:26:44 3464

原创 设置flex后元素不能根据内容自动撑开

问题如下:设置flex后元素显示为:解决办法:在想根据内容自动撑开的元素上写样式:align-self: baseline; 生效:

2018-10-10 17:34:12 14532

原创 npm install -g cnpm --registry=https://registry.npm.taobao.org

mac运行 npm install -g cnpm --registry=https://registry.npm.taobao.org报错如下;npm WARN deprecated [email protected]: If using 2.x branch, please upgrade to at least 2.1.6 to avoid a serious bug with soc...

2018-09-28 10:03:05 10251

原创 Webpack搭建项目工程

 虽然项目已经搭建成功,但是,我现在愿意重新走一次来帮自己和大家捋顺一点。 基本篇——打包成功第一个文件1.新建一个文件,在当前目录下执行npm init然后一直回车:可以发现,当前目录下多了一个 package.json 的文件,文件里面自动生成以下代码:{ "name": "demo", "version": "1.0.0", "descri...

2018-08-16 15:19:55 4872 5

原创 vue-cli搭建一个项目

欢迎使用Markdown编辑器写博客本Markdown编辑器使用[StackEdit][6]修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键超级详细的vue-cli+webpack搭建项目1.安...

2018-07-26 17:44:06 655

原创 call,apply,bind的联系与区别

call,apply 的相同点A.call(B) A.apply(B) 把 A 的方法放在 B 上面执行。比如:apply(代表上文的A) 对象有一个方法 say(), 但是如果我们有一个对象banana(代表上文的B)= {color : “yellow”} ,我们不想对它重新定义 say 方法,那么我们可以通过 call 或 apply 用 apple 的 say 方法:function

2017-08-31 16:24:09 405

原创 Fis 打包工具

Fis 的组成:工具:提供了命令行,在 node 的基础上做了优化 插件:一些 npm 包,实现了对插件的安装Fis 旨在解决:代码模块化:提供了模块化插件性能优化: 提供了压缩,合并,打包,缓存插件自动化: 基于文件的流水线工作模式 (校验,编译,打包,发布),只需配置,即可完成代码规范: 插件处理需要对代码进行相应的标记Fis工作原理:读取项目目录下的所有文件读取

2017-08-30 13:56:50 1023

原创 两端对齐不生效:文字长度小于容器宽度的时候

两端对齐不生效:文字长度小于容器宽度的时候

2017-08-30 11:08:26 1693

原创 IOS 下输入中文没有触发 keyup,导致绑定不了数据

导致问题出现的原因是 IOS 自带输入法输入中文时不触发 KEYUP 事件,因为不触发 KEYUP 事件,导致文本框最后一个字符没有执行双向绑定解决方法:1.在提交前手工去执行KEYUP事件。2.使用 js 判断值是否一致,不一致把 js 文本框值赋值给 vue 绑定值。html 里面进行双向绑定,结果会发现调起 IOS 中文键盘的时候,输入的值和 v-model=”insName” 绑定的值 “

2017-08-30 10:28:45 2043

原创 github+hexo搭建个人博客

github+hexo搭建个人博客

2017-08-29 17:58:03 388

转载 去除inline-block元素间间距的N种方法

inline-block 默认的间距样式会使我们写的样式有问题,去触默认间距的方法,张鑫旭讲的很好了。链接如下:(不收广告费,良心推荐)http://www.zhangxinxu.com/wordpress/2012/04/inline-block-space-remove-%E5%8E%BB%E9%99%A4%E9%97%B4%E8%B7%9D/

2017-08-29 17:08:17 249

原创 树的创建以及树的遍历(递归和非递归方法)

分别用递归和非递归方法遍历树。包含前序遍历,中序遍历,后序遍历。本人觉得构建树的方法也很妙,有了这个方法,直接输入数组转化成树,之后测试代码就方便多了。

2017-08-29 16:24:24 1679

原创 Android 下面调起键盘后的样式兼容性问题

Android 上写 H5 页面,我们想实现的是一下图片的”完成”按钮相对底部进行 absolute 定位。原本实现的效果如下:但是,调起键盘后,这个“按钮”的位置变了,和计划的不一样。居然跑到上面来了~~。现在觉得,嗯,还好,可以接受。那么问题来了,如果输入框很多,调起键盘变成这样了呢。。。这就尴尬了,所以,必须来解决这个问题了。定位问题: 为什么 IOS 下面没问题,Android 下面就有问题

2017-08-29 15:00:59 720

转载 JS 判断数据类型的方法

JS 判断数据类型的方法

2017-08-29 11:10:12 356

原创 使用 v-model 后 filter 失效怎么办

使用 v-model 后 filter 失效怎么办

2017-08-29 10:15:46 15248

原创 常见的链表操作

//定义链表 function Node (value) { this.value = value; this.next = null; } //把数组转化成链表 function arrToList (arr) { var head = new Node(arr[

2017-08-28 18:39:58 285

原创 冒泡事件和默认事件是两回事!

阻止默认事件和阻止冒泡的区别

2017-08-28 18:02:06 1084

蓝桥北京赛题

竞赛题,可以是你在大型比赛中的优良参考。事半功倍

2013-02-28

matlab地板分割

%检测地板 clear all; close all; clc; f=imread('F:\图像处理\练习-分割地板\12.jpg'); g=rgb2gray(f); g1=imadjust(g,[0 1],[0 1]); t=graythresh(g1); g2=edge(g1,'canny',t); se=strel('disk',3); bw1=imdilate(g2,se); bw2=imdilate(bw1,se); bw2=imcomplement(bw2); figure,imshow(bw2); [B,L,NR,A]=bwboundaries(bw2); [L,num]=bwlabel(bw2,8); stats=regionprops(L,'Area'); [M,N]=size(bw2); image=false(M,N); max=1; for i=2:num if( stats(max).Area<stats(i).Area) max=i; end end bR=cat(1,B{max}); linearindex=sub2ind([M,N],bR(:,1),bR(:,2)); linearindex1=imdilate(linearindex,se); image(linearindex1)=1; fR=f(:,:,1); fG=f(:,:,2); fB=f(:,:,3); fR(linearindex)=255; fG(linearindex)=0; fB(linearindex)=0; rgb_image=cat(3,fR,fG,fB);

2015-07-15

空空如也

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

TA关注的人

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