<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[cybcc的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/cybcc</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; cybcc]]></copyright><item><title><![CDATA[2020-12-30]]></title><link>https://blog.youkuaiyun.com/cybcc/article/details/111978626</link><guid>https://blog.youkuaiyun.com/cybcc/article/details/111978626</guid><author>cybcc</author><pubDate>Wed, 30 Dec 2020 13:43:49 +0800</pubDate><description><![CDATA[下载mp4文件流
问题：前端下载后端接口数据中的文件流
1.　首先在axios.post的请求中把默认的 " responseType:‘json’ " 改为" responseType:‘blob’
axios({
     method: 'get',
     url: debug.servers + '/TinklingCat/api/rechargeManage/exportPertrolRecord',
     responseType: 'blob',
     params: submit]]></description><category></category></item><item><title><![CDATA[2020-12-30]]></title><link>https://blog.youkuaiyun.com/cybcc/article/details/111978433</link><guid>https://blog.youkuaiyun.com/cybcc/article/details/111978433</guid><author>cybcc</author><pubDate>Wed, 30 Dec 2020 13:42:50 +0800</pubDate><description><![CDATA[JS去掉时间的空格，冒号，横杠
例如 ：var date = “2018-8-8 08:08:08”
//去掉中间的-
var dateTimeNum = date.replace(/-/g, '');


//去掉中间的:
var dateStr = dateTimeNum.replace(/:/g, '');


//去掉中间的空格和全部空格
var start = this.strTrim(dateStr, "g")



//去掉字符串中所有空格(包括中间空格,需要设置第2个参数为字符串:g)

s]]></description><category></category></item><item><title><![CDATA[2020-12-30]]></title><link>https://blog.youkuaiyun.com/cybcc/article/details/111978188</link><guid>https://blog.youkuaiyun.com/cybcc/article/details/111978188</guid><author>cybcc</author><pubDate>Wed, 30 Dec 2020 13:41:43 +0800</pubDate><description><![CDATA[js判断一个时间是否在一组时间段内
例如：let data = 2020-12-12  01:05:40
数组：let dataList =[

             {

                startTime:'2020-12-12  00:00:00'

                endTime: '2020-10-12  01:00:00'

             },

            {

                startTime:'2020-12-1]]></description><category></category></item><item><title><![CDATA[2020-12-30]]></title><link>https://blog.youkuaiyun.com/cybcc/article/details/111977705</link><guid>https://blog.youkuaiyun.com/cybcc/article/details/111977705</guid><author>cybcc</author><pubDate>Wed, 30 Dec 2020 13:39:49 +0800</pubDate><description><![CDATA[iview 中日历禁用
问题：
let data ={
                      '2020-11':'1,2,5,9,14'
                      '2020-12':'19,20,21,22,23,24'
              }

设置属性options对象中的disabledDate可以设置不可选择的日期。
disabledDate是函数，参数为当前的日期，需要返回Boolean是否替换这天。
效果：

&lt;template&gt;
&lt;Row&]]></description><category></category></item><item><title><![CDATA[UUID]]></title><link>https://blog.youkuaiyun.com/cybcc/article/details/108881150</link><guid>https://blog.youkuaiyun.com/cybcc/article/details/108881150</guid><author>cybcc</author><pubDate>Wed, 30 Sep 2020 10:34:31 +0800</pubDate><description><![CDATA[UUID
GUID是一个128位长的数字，一般用16进制表示。算法的核心思想是结合机器的网卡、当地时间、一个随即数来生成GUID。从理论上讲，如果一台机器每秒产生10000000个GUID，则可以保证（概率意义上）3240年不重复。
UUID是1.5中新增的一个类，在java.util下，用它可以产生一个号称全球唯一的ID
UUID 的目的，是让分布式系统中的所有元素，都能有唯一的辨识资讯，而不需要透过中央控制端来做辨识资讯的指定。如此一来，每个人都可以建立不与其它人冲突的 UUID
UUID由以下几部分的]]></description><category></category></item><item><title><![CDATA[vue-video-player组件实现视频播放]]></title><link>https://blog.youkuaiyun.com/cybcc/article/details/108881010</link><guid>https://blog.youkuaiyun.com/cybcc/article/details/108881010</guid><author>cybcc</author><pubDate>Wed, 30 Sep 2020 10:24:05 +0800</pubDate><description><![CDATA[vue-video-player组件实现视频播放
使用
1.安装：npm install vue-video-player --save

在main.js入口文件中引入
import VideoPlayer from 'vue-video-player'
 
require('video.js/dist/video-js.css')
 
require('vue-video-player/src/custom-theme.css')
 
Vue.use(VideoPlayer)


在页面中引用
&lt;]]></description><category></category></item><item><title><![CDATA[时间转化为带有毫秒的格式]]></title><link>https://blog.youkuaiyun.com/cybcc/article/details/108880114</link><guid>https://blog.youkuaiyun.com/cybcc/article/details/108880114</guid><author>cybcc</author><pubDate>Wed, 30 Sep 2020 09:39:57 +0800</pubDate><description><![CDATA[时间转化为带有毫秒的格式
封装转换格式的js文件
export function timeTransform_reverse(day) {
   Date.prototype.formatTime = function(fmt) {
     var o = {
     "M+": this.getMonth() + 1, //月份
     "d+": this.getDate(), //日
     "h+": this.getHours(), //小时
     "m+": this.getMinu]]></description><category></category></item><item><title><![CDATA[HTTP-FLV协议的视频播放]]></title><link>https://blog.youkuaiyun.com/cybcc/article/details/108879984</link><guid>https://blog.youkuaiyun.com/cybcc/article/details/108879984</guid><author>cybcc</author><pubDate>Wed, 30 Sep 2020 09:36:49 +0800</pubDate><description><![CDATA[Web直播之HTTP-FLV协议：flv.js
视频直播服务目前支持3种直播协议：RTMP、HLS、HTTP-FLV。
本文主要讲解在 Vue 项目中如何使用 flvjs 播放器播放 flv 流。
Flv.js 是 HTML5 Flash 视频（FLV）播放器，纯原生 JavaScript 开发，没有用到 Flash。
1.准备工作
cnpm install --save flv.js

2.代码实战
&lt;template&gt;
  &lt;div id="app"&gt;
    &lt;video]]></description><category></category></item><item><title><![CDATA[react-redux]]></title><link>https://blog.youkuaiyun.com/cybcc/article/details/107498528</link><guid>https://blog.youkuaiyun.com/cybcc/article/details/107498528</guid><author>cybcc</author><pubDate>Tue, 21 Jul 2020 21:26:53 +0800</pubDate><description><![CDATA[react-redux
安装
npm install --save react-redux
Provider标签
react-redux 是官方提供的解决方案，Provider 本身并没有做很多事情，只是把store放在context里罢了。实际上如果你用react-redux，那么连接视图和数据层最好的办法是使用 connect 函数。本质上Provider 就是给 connect 提供store用的。

在入口文件
1.引入标签


import {Provider} from ‘react-redux]]></description><category></category></item><item><title><![CDATA[redux核心]]></title><link>https://blog.youkuaiyun.com/cybcc/article/details/107466917</link><guid>https://blog.youkuaiyun.com/cybcc/article/details/107466917</guid><author>cybcc</author><pubDate>Mon, 20 Jul 2020 17:41:43 +0800</pubDate><description><![CDATA[redux
Redux 是一个独立的JavaScript 状态管理库， 非React内容之一
redux使用场景
引入 Redux 是比较明智的：

你有着相当大量的、随时间变化的数据
你的 state 需要有一个单一可靠数据来源
你觉得把所有 state 放在最顶层组件中已经无法满足需要了

安装

npm i redux

核心概念


理解Redux 核心几个概念与它们之间的关系


store ：仓库


reducer：纯函数，用此来修改state数据


state：仓库中的数据，但是只读，同时]]></description><category></category></item><item><title><![CDATA[react-router]]></title><link>https://blog.youkuaiyun.com/cybcc/article/details/107342281</link><guid>https://blog.youkuaiyun.com/cybcc/article/details/107342281</guid><author>cybcc</author><pubDate>Tue, 14 Jul 2020 19:51:17 +0800</pubDate><description><![CDATA[路由
前言
传统模式下，我们是把整个应用分成了多个页面，然后通过 URL 进行连接。但是这种每次切换页面都需要重新发送所有请求和渲染整个页面，不止性能上会有影响，同时也会导致整个 JavaScript 重新执行，丢失状态。
安装

npm i -S react-router-dom

SPA
Single Page Application: 单页面应用，整个应用只加载一个页面（入口页面），后续在与用户的交互过程中，通过 DOM 操作在这个单页上动态生成结构和内容
简单说来就是：不管你这个网站有多少页面，我都]]></description><category></category></item><item><title><![CDATA[函数式组件]]></title><link>https://blog.youkuaiyun.com/cybcc/article/details/107325557</link><guid>https://blog.youkuaiyun.com/cybcc/article/details/107325557</guid><author>cybcc</author><pubDate>Mon, 13 Jul 2020 21:40:14 +0800</pubDate><description><![CDATA[函数式组件
函数式组件中，没有 state 和 生命周期，所以又被称为 无状态组件，在早期 react 版本中，被当前纯渲染组件来用
Hook 使用规则
只在 React 函数中调用 Hook

只在函数组件调⽤Hooks，React Hooks目前只支持函数组件，所以⼤大家别在class组件或者普通的函数⾥面调⽤Hook钩⼦函数
React Hooks的应用场景在函数组件，自定义hooks
只在顶层调⽤Hooks Hooks的调⽤，尽量只在顶层作⽤域进行调用不要在循环，条件或者是嵌套函数中调⽤Hook，否]]></description><category></category></item><item><title><![CDATA[setState]]></title><link>https://blog.youkuaiyun.com/cybcc/article/details/107101437</link><guid>https://blog.youkuaiyun.com/cybcc/article/details/107101437</guid><author>cybcc</author><pubDate>Fri, 03 Jul 2020 15:48:41 +0800</pubDate><description><![CDATA[setState(updater, [callback])

参数1： updater: 更新数据 （函数/对象）
参数2callback: 更新成功后的回调 FUNCTION

  changeName=()=&gt;{
        this.setState({
          name: "大王"
        });
  }


异步:react通常会集齐一批需要更新的组件，然后一次性更新来保证渲染的性能
浅合并 Object.assign()

组件间通信
在 React.js 中，数据]]></description><category></category></item><item><title><![CDATA[组件]]></title><link>https://blog.youkuaiyun.com/cybcc/article/details/107068169</link><guid>https://blog.youkuaiyun.com/cybcc/article/details/107068169</guid><author>cybcc</author><pubDate>Wed, 01 Jul 2020 17:38:22 +0800</pubDate><description><![CDATA[组件
对具有一定独立功能的数据与方法的封装，对外暴露接口，有利于代码功能的复用，且不用担心冲突问题。
函数式组件

函数的名称就是组件的名称
函数的返回值就是组件要渲染的内容

类式组件

组件类必须继承 React.Component
组件类必须有 render 方法

// 类式组件写法的必要条件
import React, {Component} from 'react';
import FriendList from './FriendList';

// 1.组件类必须继承 React.Compo]]></description><category></category></item><item><title><![CDATA[React]]></title><link>https://blog.youkuaiyun.com/cybcc/article/details/107045162</link><guid>https://blog.youkuaiyun.com/cybcc/article/details/107045162</guid><author>cybcc</author><pubDate>Tue, 30 Jun 2020 19:01:06 +0800</pubDate><description><![CDATA[React 是什么？
一个用于构建用户界面的 JavaScript 库
命令式编程 和 声明式编程

告诉计算机怎么做（How） - 过程
告诉计算机我们要什么（What） - 结果

如何使用 React
基于浏览器的模式

React.js 提供 React.js 核心功能代码，如：虚拟 dom，组件

React.createElement(type,props,children);



 // 2.利用React创建视图
        let h1 = React.createElement("]]></description><category></category></item><item><title><![CDATA[数据库]]></title><link>https://blog.youkuaiyun.com/cybcc/article/details/106768020</link><guid>https://blog.youkuaiyun.com/cybcc/article/details/106768020</guid><author>cybcc</author><pubDate>Mon, 15 Jun 2020 20:14:56 +0800</pubDate><description><![CDATA[云开发
新建云开发模板

增删改查
初始化
在开始使用数据库 API 进行增删改查操作之前，需要先获取数据库的引用。以下调用获取默认环境的数据库的引用：

const db = wx.cloud.database()

增
Promise 风格也是支持的，只要传入对象中没有 success, fail 或 complete，那么 add 方法就会返回一个 Promise：
数据库的增删查改 API 都同时支持回调风格和 Promise 风格调用。
在创建成功之后，我们可以在控制台中查看到刚新增的数据。
ad]]></description><category></category></item><item><title><![CDATA[小程序--自定义组件、插槽]]></title><link>https://blog.youkuaiyun.com/cybcc/article/details/106648000</link><guid>https://blog.youkuaiyun.com/cybcc/article/details/106648000</guid><author>cybcc</author><pubDate>Tue, 09 Jun 2020 20:45:04 +0800</pubDate><description><![CDATA[自定义组件
component 的使用
component使用模板目录
1.创建components目录
2.在其中添加任意名字目录（success）
3.在该目录下新建任意名字的component（index）

在自定义组件的 js 文件中，需要使用 Component() 来注册组件，并提供组件的属性定义、内部数据和自定义方法
使用自定义组件
使用已注册的自定义组件前，首先要在页面的 json 文件中进行引用声明。此时需要提供每个自定义组件的标签名和对应的自定义组件文件路径：
{
  "usingCo]]></description><category></category></item><item><title><![CDATA[小程序开发]]></title><link>https://blog.youkuaiyun.com/cybcc/article/details/106612579</link><guid>https://blog.youkuaiyun.com/cybcc/article/details/106612579</guid><author>cybcc</author><pubDate>Tue, 09 Jun 2020 18:03:08 +0800</pubDate><description><![CDATA[小程序与普通网页开发的区别
小程序的主要开发语言是 JavaScript ，小程序的开发同普通的网页开发相比有很大的相似性。对于前端开发者而言，从网页开发迁移到小程序的开发成本并不高，但是二者还是有些许区别的。


网页开发者可以使用到各种浏览器暴露出来的 DOM API，进行 DOM 选中和操作。​网页开发者需要面对的环境是各式各样的浏览器，PC 端需要面对 IE、Chrome、QQ浏览器等。


小程序的逻辑层和渲染层是分开的，逻辑层运行在 JSCore 中，并没有一个完整浏览器对象，因而缺少相关的DO]]></description><category></category></item><item><title><![CDATA[Git]]></title><link>https://blog.youkuaiyun.com/cybcc/article/details/106602870</link><guid>https://blog.youkuaiyun.com/cybcc/article/details/106602870</guid><author>cybcc</author><pubDate>Sun, 07 Jun 2020 16:09:35 +0800</pubDate><description><![CDATA[Git
什么是版本控制？
版本控制是指对软件开发过程中各种程序代码、说明文档等文件的变更进行管理，它将追踪文件变化，记录文件的变更时间、变更内容、甚至变更执行人进行记录，同时对每一个阶段性变更（不仅仅只是一个文件的变化）添加版本编号，方便将来进行查阅特定阶段的变更信息，甚至是回滚
人工版本控制器
通过人工的复制行为来保存项目的不同阶段的内容，添加适当的一些描述文字加以区分

繁琐、容易出错
产生大量重复（冗余）数据

版本控制工具
通过程序完成上述人工版本控制行为

方便且功能强大
只记录不同版本之间变化的]]></description><category></category></item><item><title><![CDATA[webpack]]></title><link>https://blog.youkuaiyun.com/cybcc/article/details/106454571</link><guid>https://blog.youkuaiyun.com/cybcc/article/details/106454571</guid><author>cybcc</author><pubDate>Sun, 31 May 2020 13:39:19 +0800</pubDate><description><![CDATA[webpack
webpack 是什么？

官⽅方⽹网站:https://webpack.js.org/
中⽂文⽹网站:https://www.webpackjs.com/

本质上，webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler)。当 webpack 处理应用程序时，它会递归地构建一个依赖关系图(dependency graph)，其中包含应用程序需要的每个模块，然后将所有这些模块打包成一个或多个 bundle。
安装
webpack 是一个使用 ]]></description><category></category></item></channel></rss>