<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[zhangli0421的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/zhangli0421</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; zhangli0421]]></copyright><item><title><![CDATA[微信小程序插件]]></title><link>https://blog.youkuaiyun.com/zhangli0421/article/details/127986378</link><guid>https://blog.youkuaiyun.com/zhangli0421/article/details/127986378</guid><author>zhangli0421</author><pubDate>Tue, 22 Nov 2022 17:14:25 +0800</pubDate><description><![CDATA[微信小程序插件]]></description><category></category></item><item><title><![CDATA[在原生的node.js中封装一个db.js]]></title><link>https://blog.youkuaiyun.com/zhangli0421/article/details/127732733</link><guid>https://blog.youkuaiyun.com/zhangli0421/article/details/127732733</guid><author>zhangli0421</author><pubDate>Mon, 07 Nov 2022 15:52:51 +0800</pubDate><description><![CDATA[node]]></description><category></category></item><item><title><![CDATA[递归实现对象和数组的深拷贝]]></title><link>https://blog.youkuaiyun.com/zhangli0421/article/details/127635210</link><guid>https://blog.youkuaiyun.com/zhangli0421/article/details/127635210</guid><author>zhangli0421</author><pubDate>Tue, 01 Nov 2022 15:49:17 +0800</pubDate><description><![CDATA[【代码】递归实现对象和数组的深拷贝。]]></description><category></category></item><item><title><![CDATA[uniapp中处理swiper轮播图]]></title><link>https://blog.youkuaiyun.com/zhangli0421/article/details/125409496</link><guid>https://blog.youkuaiyun.com/zhangli0421/article/details/125409496</guid><author>zhangli0421</author><pubDate>Wed, 22 Jun 2022 15:04:56 +0800</pubDate><description><![CDATA[uniapp开发小程序或者app]]></description><category></category></item><item><title><![CDATA[VUE中写一个hover效果]]></title><link>https://blog.youkuaiyun.com/zhangli0421/article/details/124969571</link><guid>https://blog.youkuaiyun.com/zhangli0421/article/details/124969571</guid><author>zhangli0421</author><pubDate>Wed, 25 May 2022 16:58:20 +0800</pubDate><description><![CDATA[&lt;template&gt;
    &lt;div&gt;
        啊哈哈哈
        &lt;div :class="flag ? 'item ani' : 'item'" @mouseenter = "haha" @mouseleave="haha"&gt;效果出来吧&lt;/div&gt;
    &lt;/div&gt;
&lt;/template&gt;

&lt;script&gt;
    export default {
        data() {
       .]]></description><category></category></item><item><title><![CDATA[Swiper在vue中的引用]]></title><link>https://blog.youkuaiyun.com/zhangli0421/article/details/124880761</link><guid>https://blog.youkuaiyun.com/zhangli0421/article/details/124880761</guid><author>zhangli0421</author><pubDate>Fri, 20 May 2022 11:58:10 +0800</pubDate><description><![CDATA[1.在vue中使用 首先 npm install --save swiper@5 // 安装低版本的最好，这里装5.x

2.安装结束后，直接复制下面代码。哪里需要放哪里，组件直接用就好了



&lt;template&gt;
  &lt;div id="swipercom"&gt;
    &lt;div class="swiper-container" id="swiperIndex"&gt;
      &lt;div class="swiper-wrapper"&gt;
        &lt;.]]></description><category></category></item><item><title><![CDATA[wow.js插件，让滚动动画更简单，让生活更美好]]></title><link>https://blog.youkuaiyun.com/zhangli0421/article/details/124838911</link><guid>https://blog.youkuaiyun.com/zhangli0421/article/details/124838911</guid><author>zhangli0421</author><pubDate>Wed, 18 May 2022 11:30:33 +0800</pubDate><description><![CDATA[直接上代码，我相信你肯定可以看懂。



&lt;!DOCTYPE html&gt;
&lt;html&gt;
	&lt;head&gt;
		&lt;meta charset="utf-8"&gt;
		&lt;title&gt;&lt;/title&gt;
		&lt;style type="text/css"&gt;
			.item {
				width: 200px;
				height: 200px;
				margin: 30px auto;
				background-color:.]]></description><category></category></item><item><title><![CDATA[echarts在vue中的使用]]></title><link>https://blog.youkuaiyun.com/zhangli0421/article/details/124800692</link><guid>https://blog.youkuaiyun.com/zhangli0421/article/details/124800692</guid><author>zhangli0421</author><pubDate>Mon, 16 May 2022 15:37:08 +0800</pubDate><description><![CDATA[1.局部使用：哪里需要哪里引入


注意一定要给dom容器加宽高，不然出不来，啥也看不到



&lt;template&gt;
  &lt;div&gt;
      &lt;div id="main" :style="{width: '500px', height: '300px'}"&gt;
        
      &lt;/div&gt;
  &lt;/div&gt;
&lt;/template&gt;

&lt;script&gt;
import * as echarts from 'ech]]></description><category></category></item><item><title><![CDATA[Vue3.0跨域配置]]></title><link>https://blog.youkuaiyun.com/zhangli0421/article/details/124631048</link><guid>https://blog.youkuaiyun.com/zhangli0421/article/details/124631048</guid><author>zhangli0421</author><pubDate>Sat, 07 May 2022 14:56:27 +0800</pubDate><description><![CDATA[在 vue.config.js 的目录下配置即可，与2.0的配置相同



const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
  transpileDependencies: true,
  devServer: {
    port: 8080, // 端口
    proxy: {
      '/api': { //请求路径关键字
        target: 'http://..]]></description><category></category></item><item><title><![CDATA[React 路由]]></title><link>https://blog.youkuaiyun.com/zhangli0421/article/details/124454578</link><guid>https://blog.youkuaiyun.com/zhangli0421/article/details/124454578</guid><author>zhangli0421</author><pubDate>Fri, 29 Apr 2022 07:32:47 +0800</pubDate><description><![CDATA[1.首先下载路由模块(注意版本)

cnpm install react-router-dom@5





]]></description><category></category></item><item><title><![CDATA[端口被占用，我们最爱用的3000，或者8080]]></title><link>https://blog.youkuaiyun.com/zhangli0421/article/details/124196431</link><guid>https://blog.youkuaiyun.com/zhangli0421/article/details/124196431</guid><author>zhangli0421</author><pubDate>Fri, 15 Apr 2022 15:44:59 +0800</pubDate><description><![CDATA[1.使用npm 下载 killport2 全局安装一下


cnpm install killport2 -g

2.干掉被占用的端口,比如被占用的3000端口


killport 3000



]]></description><category></category></item><item><title><![CDATA[vue过滤器处理手机号中间四位]]></title><link>https://blog.youkuaiyun.com/zhangli0421/article/details/123378992</link><guid>https://blog.youkuaiyun.com/zhangli0421/article/details/123378992</guid><author>zhangli0421</author><pubDate>Wed, 09 Mar 2022 15:28:47 +0800</pubDate><description><![CDATA[&lt;template&gt;
  &lt;div&gt;
    &lt;div v-for="item in person" :key="item.id"&gt;
    {{ item.iphone | phoneFilter }}

    &lt;/div&gt;
  &lt;/div&gt;
&lt;/template&gt;

&lt;script&gt;
export default {
  data() {
    return {
      person: [
        {
.]]></description><category></category></item><item><title><![CDATA[正则表达式去掉字符串中的特殊符号]]></title><link>https://blog.youkuaiyun.com/zhangli0421/article/details/123230531</link><guid>https://blog.youkuaiyun.com/zhangli0421/article/details/123230531</guid><author>zhangli0421</author><pubDate>Wed, 02 Mar 2022 14:56:02 +0800</pubDate><description><![CDATA[&lt;script type="text/javascript"&gt;
		var res = [];
		function replace_function(a){
			var pattern = new RegExp("[`~! @#$^&amp;*()=|{}':;',\\[\\].&lt;&gt;/?~！@#￥……&amp;*（）——|{}【】‘；：”“'。，、？%]","g")
			for (var i=0;i&lt;a.length;i++) {
				res.push(a[i]...]]></description><category></category></item><item><title><![CDATA[VUE滚动监听]]></title><link>https://blog.youkuaiyun.com/zhangli0421/article/details/123047954</link><guid>https://blog.youkuaiyun.com/zhangli0421/article/details/123047954</guid><author>zhangli0421</author><pubDate>Mon, 21 Feb 2022 15:19:15 +0800</pubDate><description><![CDATA[&lt;template&gt;
  &lt;div class="home"&gt;
    &lt;div ref="header" class="header-bg" :class="headerFixed?'issFixed':''"&gt;Header&lt;/div&gt;
    &lt;div style="height: 500px"&gt;111&lt;/div&gt;
    &lt;div style="height: 3000px"&gt;
        222
       .]]></description><category></category></item><item><title><![CDATA[Element UI 中国省市区级联数据]]></title><link>https://blog.youkuaiyun.com/zhangli0421/article/details/122570527</link><guid>https://blog.youkuaiyun.com/zhangli0421/article/details/122570527</guid><author>zhangli0421</author><pubDate>Tue, 18 Jan 2022 22:45:14 +0800</pubDate><description><![CDATA[npm install element-china-area-data -S



&lt;template&gt;
  &lt;div id="app"&gt;
    &lt;el-cascader
      size="large"
      :options="options"
      v-model="selectedOptions"
      @change="handleChange"&gt;
    &lt;/el-cascader&gt;
  &lt;/div&gt;
&lt;.]]></description><category></category></item><item><title><![CDATA[vue中使用axios]]></title><link>https://blog.youkuaiyun.com/zhangli0421/article/details/122522960</link><guid>https://blog.youkuaiyun.com/zhangli0421/article/details/122522960</guid><author>zhangli0421</author><pubDate>Sun, 16 Jan 2022 22:23:19 +0800</pubDate><description><![CDATA[先干个加个速，要是没有安装cnpm的先安装一下。

自己执行以下这句命令就好了：


npm install -g cnpm --registry=https://registry.npmmirror.com



]]></description><category></category></item><item><title><![CDATA[express上传图片并处理图片名字]]></title><link>https://blog.youkuaiyun.com/zhangli0421/article/details/122181303</link><guid>https://blog.youkuaiyun.com/zhangli0421/article/details/122181303</guid><author>zhangli0421</author><pubDate>Mon, 27 Dec 2021 21:58:29 +0800</pubDate><description><![CDATA[这里使用我们 multer 中间件，当然你也可以直接使用node提供的fs内置模块完成。

1.引入以下模块



var multer = require('multer');
 //导入连个内置模块
const path= require('path')
const fs=require('fs')


2.设置上传文件的路径（一般都会设置在public目录下）



var objMulter=multer({dest: './public/images'}); 
router.use(objMul.]]></description><category></category></item><item><title><![CDATA[express邮件发送验证码]]></title><link>https://blog.youkuaiyun.com/zhangli0421/article/details/122118773</link><guid>https://blog.youkuaiyun.com/zhangli0421/article/details/122118773</guid><author>zhangli0421</author><pubDate>Thu, 23 Dec 2021 23:37:10 +0800</pubDate><description><![CDATA[1.肯定要引入邮件模块，顺手建一个maileConfig.js


// 准备：进入邮箱：设置&gt;账户&gt;POP3/SMTP服务(开启之后记得复制密钥)

//maileCinfig.js
const nodemailer = require('nodemailer');

//创建一个smtp服务器
const config = {
    host: 'smtp.qq.com',
    port: 465,
    auth: {
        user: '1192719918@qq.co]]></description><category></category></item><item><title><![CDATA[js地址传过来的参数解析成对象]]></title><link>https://blog.youkuaiyun.com/zhangli0421/article/details/121468823</link><guid>https://blog.youkuaiyun.com/zhangli0421/article/details/121468823</guid><author>zhangli0421</author><pubDate>Thu, 23 Dec 2021 23:24:55 +0800</pubDate><description><![CDATA[//		做一个简单的封装 ，哈哈我就把获取过来的数据当字符串处理了
		function udata(str) {
//			注意要是有汉字做个简单的解码decodeURI(str)
			str = decodeURI(str);
			//		1.处理掉?
			var dataStr = str.split("?")[1];
			//		2.进行一个截取转化成数组
			dataStr = dataStr.split("&amp;");
			//		3.定义一个新对象存放数据	
			var...]]></description><category></category></item><item><title><![CDATA[express发送验证码以及验证码的校验]]></title><link>https://blog.youkuaiyun.com/zhangli0421/article/details/122118433</link><guid>https://blog.youkuaiyun.com/zhangli0421/article/details/122118433</guid><author>zhangli0421</author><pubDate>Thu, 23 Dec 2021 23:22:06 +0800</pubDate><description><![CDATA[// 发送邮件的接口
router.get('/email', function (req, res, next) {
  //保存验证码和邮箱，时间
  let student = {};
  let email = req.query.email;
  let code = createSixNum();
  console.log(code);
  let time = new Date().getTime();
  student.initCode = code;
  student.time =.]]></description><category></category></item></channel></rss>