<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[leo]]></title><description><![CDATA[限制你的只有自己筑起的墙。]]></description><link>https://blog.youkuaiyun.com/zuorishu</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; zuorishu]]></copyright><item><title><![CDATA[uni-app数据请求封装]]></title><link>https://blog.youkuaiyun.com/zuorishu/article/details/105077056</link><guid>https://blog.youkuaiyun.com/zuorishu/article/details/105077056</guid><author>zuorishu</author><pubDate>Tue, 24 Mar 2020 17:51:38 +0800</pubDate><description><![CDATA[1. utils文件夹-&gt; 新建request.js



request.js :


const baseUrl = 'http://******'  //请求接口地址
const httpRequest = (url, method, data) =&gt; {
	let meth = method.toUpperCase();//小写改为大写
	if (!data) {
		da...]]></description><category></category></item><item><title><![CDATA[vue H5与（Android、iOS）原生APP交互]]></title><link>https://blog.youkuaiyun.com/zuorishu/article/details/103665340</link><guid>https://blog.youkuaiyun.com/zuorishu/article/details/103665340</guid><author>zuorishu</author><pubDate>Mon, 23 Dec 2019 15:03:26 +0800</pubDate><description><![CDATA[一：JS调用APP

1、封装公共方法：


/**
 *js调用APP
 * @params {*} Obj  传给app参数
 */
export function JSToNativeAPP(params) {
    let isAndroid = navigator.userAgent.indexOf('Android') &gt; -1 || navigator.userAgent.i...]]></description><category></category></item><item><title><![CDATA[Vue渲染富文本图片点击预览]]></title><link>https://blog.youkuaiyun.com/zuorishu/article/details/102639506</link><guid>https://blog.youkuaiyun.com/zuorishu/article/details/102639506</guid><author>zuorishu</author><pubDate>Sat, 19 Oct 2019 16:13:45 +0800</pubDate><description><![CDATA[1.渲染富文本：

使用Vue提供的 v-html 进行富文本内容渲染


&lt;div v-html="content" @click="imageChgange($event)"&gt;&lt;/div&gt;

2.获取点击元素，点击图片预览

绑定点击事件，传入 $event 参数


        //ImagePreview  Vant组件库图片预览组件

        ima...]]></description><category></category></item><item><title><![CDATA[js字符串插入指定字符]]></title><link>https://blog.youkuaiyun.com/zuorishu/article/details/99868999</link><guid>https://blog.youkuaiyun.com/zuorishu/article/details/99868999</guid><author>zuorishu</author><pubDate>Tue, 20 Aug 2019 18:16:09 +0800</pubDate><description><![CDATA[var str = 'abc' (例子转换后是有空格的，不需要的话转换时直接去掉空格即可："/ $1 /" =&gt;"/$1/")

1.  'abc' =&gt; '/ a // b // c /'


str.replace(/(.)/g, "/ $1 /")

2. 'abc' =&gt; 'a / b / c /'


str.replace(/(.)/g, " $1 ...]]></description><category></category></item><item><title><![CDATA[微信小程序笔记——小程序movable-view实现左滑删除功能]]></title><link>https://blog.youkuaiyun.com/zuorishu/article/details/94554386</link><guid>https://blog.youkuaiyun.com/zuorishu/article/details/94554386</guid><author>zuorishu</author><pubDate>Wed, 03 Jul 2019 11:25:26 +0800</pubDate><description><![CDATA[一：前言

movable-view(点击查看官方文档)

左滑的元素高度需要是固定的，因为movable-view要求必须设置width和height；

效果图：



wxml：


&lt;view wx:for="{{items}}" wx:key="{{index}}"&gt;
  &lt;movable-area class='movable-area'&gt;
    &lt;mo...]]></description><category></category></item><item><title><![CDATA[微信小程序笔记——微信小程序appjs的onLaunch执行完之后再执行Page的onLoad]]></title><link>https://blog.youkuaiyun.com/zuorishu/article/details/94441997</link><guid>https://blog.youkuaiyun.com/zuorishu/article/details/94441997</guid><author>zuorishu</author><pubDate>Tue, 02 Jul 2019 14:59:22 +0800</pubDate><description><![CDATA[一：前言

小程序网络请求默认为异步请求，在appjs的onLaunch运行后进行异步请求时，程序不会停止，Page页已执行onload, 我们希望onLaunch执行完后再执行onload。

解决方法：定义回调函数


//app.js

App({
  onLaunch: function () {
    wx.request({
      url: 'http://test.cn/lo...]]></description><category></category></item><item><title><![CDATA[js防抖和节流 区别及实现方式]]></title><link>https://blog.youkuaiyun.com/zuorishu/article/details/93630578</link><guid>https://blog.youkuaiyun.com/zuorishu/article/details/93630578</guid><author>zuorishu</author><pubDate>Tue, 25 Jun 2019 16:56:03 +0800</pubDate><description><![CDATA[概念：

函数防抖(debounce)：触发高频事件后n秒内函数只会执行一次，如果n秒内高频事件再次被触发，则重新计算时间。

函数节流(throttle)：高频事件触发，但在n秒内只会执行一次，所以节流会稀释函数的执行频率。

函数节流（throttle）与函数防抖（debounce）都是为了限制函数的执行频次，以优化函数触发频率过高导致的响应速度跟不上触发频率，出现延迟，假死或卡顿的现...]]></description><category></category></item><item><title><![CDATA[微信小程序笔记——处理小程序页面栈限制（小程序wx.navigateTo封装）]]></title><link>https://blog.youkuaiyun.com/zuorishu/article/details/93618624</link><guid>https://blog.youkuaiyun.com/zuorishu/article/details/93618624</guid><author>zuorishu</author><pubDate>Tue, 25 Jun 2019 14:45:46 +0800</pubDate><description><![CDATA[一、前言

小程序中页面栈最多十层，随着页面增加路由跳转很容易在不知道的情况下就会堆栈到十层，再用navigateTo去跳转就跳不动了。

这时候就需要删除当前页面栈（redirectTo）或删除所有页面栈（reLaunch）来跳转了。页面栈可以通过getCurrentPages方法获取。

1、新建js



navigateRoute.js


function navigateTo(url)...]]></description><category></category></item><item><title><![CDATA[微信小程序笔记——微信小程序request请求封装]]></title><link>https://blog.youkuaiyun.com/zuorishu/article/details/93616379</link><guid>https://blog.youkuaiyun.com/zuorishu/article/details/93616379</guid><author>zuorishu</author><pubDate>Tue, 25 Jun 2019 14:00:00 +0800</pubDate><description><![CDATA[一、前言

微信小程序提供的wx.request请求API，文档介绍的很清楚。直接使用代码未免累赘，并且处理一些返回操作不好统一处理，所以就对wx.request做了一下封装。

1.新建js文件（request =&gt; index.js）




// let baseUrl = 'http://******/'; //测试
// let baseUrl = 'http://******/'...]]></description><category></category></item><item><title><![CDATA[微信小程序笔记——小程序授权登录封装]]></title><link>https://blog.youkuaiyun.com/zuorishu/article/details/92989301</link><guid>https://blog.youkuaiyun.com/zuorishu/article/details/92989301</guid><author>zuorishu</author><pubDate>Thu, 20 Jun 2019 11:44:37 +0800</pubDate><description><![CDATA[一、前言

产品需求：在游客模式登录下，用户做某些操作（如：评论，点赞。。。）时，需要拉起小程序授权登录，在没有单独登录页的情况下（为了方便可以让产品&amp;UI出一个单独的登录页），封装一下小程序授权登录就比较方便了。

1、组件编写

新建Component =&gt; author



author.wxml:


&lt;!-- 未登录情况下拉起授权登录按钮 --&gt;
&lt;b...]]></description><category></category></item><item><title><![CDATA[Vue.js结合Canvas制作二维码和图片的合成（html2canvas + Canvas2Image）--整理]]></title><link>https://blog.youkuaiyun.com/zuorishu/article/details/88632978</link><guid>https://blog.youkuaiyun.com/zuorishu/article/details/88632978</guid><author>zuorishu</author><pubDate>Mon, 18 Mar 2019 20:40:40 +0800</pubDate><description><![CDATA[之前写过一篇关于二维码和图片合成的博文，但是存在一些问题，本篇是本人整理最后在项目中使用的。

建议：如果是单张背景图或者是多张背景图且二维码在同一位置的话，建议直接在后台合成分享图直接给前端返回即可，我这次项目需求是多张背景图并且二维码的位置都不同，后台不方便处理，所以直接前端来处理了。

需求背景：

分享图片，图片中含有自己分享链接生成的二维码！！

大体思路：

第一步、将自己的分享码或...]]></description><category></category></item><item><title><![CDATA[vue input输入框关键字筛选检索列表数据展示]]></title><link>https://blog.youkuaiyun.com/zuorishu/article/details/86630097</link><guid>https://blog.youkuaiyun.com/zuorishu/article/details/86630097</guid><author>zuorishu</author><pubDate>Thu, 24 Jan 2019 17:43:13 +0800</pubDate><description><![CDATA[想必大家在项目开发中难免会用到关键字筛选的功能，正好这次项目有需求要做这一块，就整理一下vue的input输入框输入关键字检索数据列表的代码。下面直接上代码：

html：


&amp;lt;!-- 筛选demo --&amp;gt;
&amp;lt;template&amp;gt;
    &amp;lt;div&amp;gt;
        &amp;lt;input type=&quot;text&quot; v-model=&quot;search&quot;&amp;gt;
     ...]]></description><category></category></item><item><title><![CDATA[make sure to provide the "name" option. vue循环引用组件报错问题]]></title><link>https://blog.youkuaiyun.com/zuorishu/article/details/86490153</link><guid>https://blog.youkuaiyun.com/zuorishu/article/details/86490153</guid><author>zuorishu</author><pubDate>Tue, 15 Jan 2019 11:59:15 +0800</pubDate><description><![CDATA[最近在开发项目中遇到引用组件老是报错：[Vue warn]: Unknown custom element: &amp;lt;is-notice&amp;gt; - did you register the component correctly? For recursive components, make sure to provide the &quot;name&quot; option.  

在我的项目中错误只发生在首页...]]></description><category></category></item><item><title><![CDATA[vue之img标签:src地址拼接 --随记]]></title><link>https://blog.youkuaiyun.com/zuorishu/article/details/84992194</link><guid>https://blog.youkuaiyun.com/zuorishu/article/details/84992194</guid><author>zuorishu</author><pubDate>Thu, 13 Dec 2018 17:32:59 +0800</pubDate><description><![CDATA[背景：图片为本地资源，根据后台返回的icon（图片名字/标记）匹配本地图片。

代码：（假数据）



&amp;lt;template&amp;gt;
    &amp;lt;div&amp;gt;
        &amp;lt;ul class=&quot;gift_main_list&quot; v-if=&quot;tabIndex == 1&quot;&amp;gt;
          &amp;lt;li class=&quot;list_item&quot; v-for=&quot;(it]]></description><category></category></item><item><title><![CDATA[vue2+axios 请求拦截器及路由拦截器封装（笔记）]]></title><link>https://blog.youkuaiyun.com/zuorishu/article/details/84870744</link><guid>https://blog.youkuaiyun.com/zuorishu/article/details/84870744</guid><author>zuorishu</author><pubDate>Fri, 07 Dec 2018 11:26:05 +0800</pubDate><description><![CDATA[
axios依赖安装：npm install axios -S
	新建axios文件夹-&amp;gt; baseUrl.js &amp;amp; index.js &amp;amp; router.js
	main.js 引入

//axios封装
import './axios'

 


js介绍：

baseUrl.js：


baseUrl.js 简单区分开发环境、测试环境及生产环境 ，之前有篇文章已经介绍  ...]]></description><category></category></item><item><title><![CDATA[vue之menu弹出菜单效果]]></title><link>https://blog.youkuaiyun.com/zuorishu/article/details/84134194</link><guid>https://blog.youkuaiyun.com/zuorishu/article/details/84134194</guid><author>zuorishu</author><pubDate>Fri, 16 Nov 2018 09:58:31 +0800</pubDate><description><![CDATA[先上效果图，这个项目的github可以看一看



从上图中，我们可以看出界面主要分为menu和item2块，其中menu的动画是自传，item的动画是位移，然后这里我们通过绝对布局的方式将整个控件定位在四个角落。


.menu_container {
    position: absolute;
    z-index: 100;
    border-radius: 50%;
    tr...]]></description><category></category></item><item><title><![CDATA[Vue.js结合Canvas制作二维码和图片的合成（qrcanvas + html2canvas）]]></title><link>https://blog.youkuaiyun.com/zuorishu/article/details/83866234</link><guid>https://blog.youkuaiyun.com/zuorishu/article/details/83866234</guid><author>zuorishu</author><pubDate>Fri, 09 Nov 2018 10:38:57 +0800</pubDate><description><![CDATA[(这个有问题，最近会把整理后的更新上去！！！！！！)

最新最新！！！：https://blog.youkuaiyun.com/zuorishu/article/details/88632978

需求背景：

分享图片，图片中含有自己分享链接生成的二维码！！

大体思路：

第一步、根据自己的分享链接生成一张二维码；
	第二步、结合一张图片合成带分享二维码的大图；
开干：

首先来生成二维码，之前都是使用...]]></description><category></category></item><item><title><![CDATA[vue2结合qrcanvas生成二维码]]></title><link>https://blog.youkuaiyun.com/zuorishu/article/details/83865990</link><guid>https://blog.youkuaiyun.com/zuorishu/article/details/83865990</guid><author>zuorishu</author><pubDate>Thu, 08 Nov 2018 18:45:33 +0800</pubDate><description><![CDATA[一. npm安装

 npm install qrcanvas

二. 在用的页面引入

import { qrcanvas } from 'qrcanvas';

三. html

&amp;lt;div id=&quot;qrcode&quot; &amp;gt;&amp;lt;/div&amp;gt;

四.script


this.$nextTick(()=&amp;gt; {
    var canvas = qrcanvas({
      ...]]></description><category></category></item><item><title><![CDATA[js获取地址栏url参数 亲测好用]]></title><link>https://blog.youkuaiyun.com/zuorishu/article/details/83659181</link><guid>https://blog.youkuaiyun.com/zuorishu/article/details/83659181</guid><author>zuorishu</author><pubDate>Fri, 02 Nov 2018 17:48:57 +0800</pubDate><description><![CDATA[代码 ：


    //获取地址栏参数
     function GetQueryString(str) {
        var reg = new RegExp("(^|&amp;)" + name + "=([^&amp;]*)(&amp;|$)", "i");
        var r = window.location.search.substr(1).match(reg);
 ...]]></description><category></category></item><item><title><![CDATA[时间转时间戳&时间戳转时间格式兼容ios方法封装]]></title><link>https://blog.youkuaiyun.com/zuorishu/article/details/83542110</link><guid>https://blog.youkuaiyun.com/zuorishu/article/details/83542110</guid><author>zuorishu</author><pubDate>Tue, 30 Oct 2018 15:09:03 +0800</pubDate><description><![CDATA[废话不多说，直接上代码！！！


export default {
    //时间格式返回 方法一：
    //data ：传过来的时间/时间戳  type：时间返回格式类型 （可自定义）
    formatDate: function(date, type) {
        if (date != undefined) {
            //兼容ios
           ...]]></description><category></category></item></channel></rss>