<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[chi1130的博客]]></title><description><![CDATA[一步两步，一步一个魔爪]]></description><link>https://blog.csdn.net/chi1130</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; chi1130]]></copyright><item><title><![CDATA[el-table动态合并单元格]]></title><link>https://blog.csdn.net/chi1130/article/details/122952024</link><guid>https://blog.csdn.net/chi1130/article/details/122952024</guid><author>chi1130</author><pubDate>Tue, 15 Feb 2022 20:54:47 +0800</pubDate><description><![CDATA[需求背景


批量创建多个计划（plan），计划按组（group）进行分配，计划创建完成之后可以修改，删除


每个组第一列单元格合并显示第几组，组内添加全选/反选组下面的计划


组内计划删除完了之后组删除


demo
在线测试
代码github
代码
&lt;template&gt;
  &lt;div style="padding:0 20px"&gt;
    &lt;el-form
      :inline="true"
      :model="formInline"
      :rul]]></description><category></category></item><item><title><![CDATA[mockjs生成图片资源找不到]]></title><link>https://blog.csdn.net/chi1130/article/details/121548849</link><guid>https://blog.csdn.net/chi1130/article/details/121548849</guid><author>chi1130</author><pubDate>Thu, 25 Nov 2021 22:09:09 +0800</pubDate><description><![CDATA[error: Too big of an image!
对比
正确的  https://dummyimage.com/200x100
错误的  https://dummyimage.com/200×100

经过对比发现是 x 符号的问题

代码修改
直接 replace 替换就好了
在线 DEMO
const Mock = require('mockjs')

export default {
  'GET /mock/api/users': Mock.mock({
    status: 'succes]]></description><category></category></item><item><title><![CDATA[vue实现树形tree展示组件封装]]></title><link>https://blog.csdn.net/chi1130/article/details/121110772</link><guid>https://blog.csdn.net/chi1130/article/details/121110772</guid><author>chi1130</author><pubDate>Tue, 02 Nov 2021 22:20:23 +0800</pubDate><description><![CDATA[效果
在线demo????????

代码

TreeItem.vue


&lt;template&gt;
  &lt;div class="tree-item"&gt;
    &lt;div @click="handleToggle" class="tree-title"&gt;
      &lt;i v-if="hasChild" :class="open?'el-icon-remove-outline':'el-icon-circle-plus-outline'"&gt;&lt;/i&gt;
 ]]></description><category></category></item><item><title><![CDATA[nginx http转https]]></title><link>https://blog.csdn.net/chi1130/article/details/121003715</link><guid>https://blog.csdn.net/chi1130/article/details/121003715</guid><author>chi1130</author><pubDate>Wed, 27 Oct 2021 22:21:22 +0800</pubDate><description><![CDATA[域名、子域名、ssl证书

域名子域名的开通网上找找都有，很简单，这里主要讲证书的问题

一个域名一个证书

建议创建一个my_configs文件夹里面放各种项目配置xx.conf 在nginx.conf #gzip  on;下面 添加 include ./my_configs/*.conf;

server {
  listen 80;
  server_name demo.xxx.cn;
  location / {
    rewrite (.*) https://demo.xxx.cn.cn$1 p]]></description><category></category></item><item><title><![CDATA[nodejs服务获取微信用户openid]]></title><link>https://blog.csdn.net/chi1130/article/details/121003695</link><guid>https://blog.csdn.net/chi1130/article/details/121003695</guid><author>chi1130</author><pubDate>Wed, 27 Oct 2021 22:20:21 +0800</pubDate><description><![CDATA[前端代码

接口发送code就可以

&lt;template&gt;
    &lt;view class="brn-wrap"&gt;
      &lt;view class="uni-btn-v" v-if="!hasLogin"&gt;
        &lt;button @click="handleBeforeLogin"&gt;{{ title }}&lt;/button&gt;
      &lt;/view&gt;
      &lt;view class="uni-btn-v" v-e]]></description><category></category></item><item><title><![CDATA[node server如何实现登录生成token及接口校验token]]></title><link>https://blog.csdn.net/chi1130/article/details/121003678</link><guid>https://blog.csdn.net/chi1130/article/details/121003678</guid><author>chi1130</author><pubDate>Wed, 27 Oct 2021 22:19:16 +0800</pubDate><description><![CDATA[创建方法

在utils下创建一个token.js 抛出setToken，getToken方法

var jwt = require("jsonwebtoken");
var jwtSecret = "write messages"; //签名
//登录接口 生成token的方法
var setToken = function(_id, openid) {
  return new Promise((resolve, reject) =&gt; {
    //expiresln 设置token过期的时间
]]></description><category></category></item><item><title><![CDATA[node+mongodb+vue实现一个写寄语小程序]]></title><link>https://blog.csdn.net/chi1130/article/details/121003640</link><guid>https://blog.csdn.net/chi1130/article/details/121003640</guid><author>chi1130</author><pubDate>Wed, 27 Oct 2021 22:17:49 +0800</pubDate><description><![CDATA[前言
近期利用十一的时候写了一个小程序，把node、mongodb、nginx、vue的知识点复习了一遍，从开发到上线流程梳理了一遍，下面是一些涉及到的易错步骤
1、如何使用multer实现文件上传及回显
2、node server如何实现登录生成token及接口校验token
3、mongoose操作数据
4、centos7 安装mongodb、pm2等
5、nginx http转https
6、nodejs服务获取微信用户openid
完整代码
前端
node服务端
预览


...]]></description><category></category></item><item><title><![CDATA[按返回日期数据显示刚刚，几分钟前/几点几分/今天/昨天/具体日期]]></title><link>https://blog.csdn.net/chi1130/article/details/109519805</link><guid>https://blog.csdn.net/chi1130/article/details/109519805</guid><author>chi1130</author><pubDate>Thu, 05 Nov 2020 20:22:16 +0800</pubDate><description><![CDATA[需求
实现一个消息通知，类似微信聊天一样，按时间显示刚刚，一个小时前，今天xx，昨天。。。。
export const dateTimeFormat = date =&gt; {
  //  auto 0
  const autoZero = (n) =&gt; (String(n).length === 1 ? '0' : '') + n
  // string to timestamp
  const strToTimestamp = (str) =&gt; Date.parse(str.replace]]></description><category></category></item><item><title><![CDATA[解决vue中移动端ios键盘收起页面不归位问题]]></title><link>https://blog.csdn.net/chi1130/article/details/105080984</link><guid>https://blog.csdn.net/chi1130/article/details/105080984</guid><author>chi1130</author><pubDate>Tue, 24 Mar 2020 20:57:59 +0800</pubDate><description><![CDATA[前言
网上找的例子
千篇一律～～～～～

代码
&lt;template&gt;
  &lt;div&gt;
    &lt;div @focusout="inputBlur" @focusin="inputFocus"&gt;
      &lt;input type="tel" placeholder="请输入手机号" /&gt;
      &lt;input type="number" p...]]></description><category></category></item><item><title><![CDATA[DateTimePicker自定义选择大于当前时间限制]]></title><link>https://blog.csdn.net/chi1130/article/details/104763890</link><guid>https://blog.csdn.net/chi1130/article/details/104763890</guid><author>chi1130</author><pubDate>Mon, 09 Mar 2020 22:54:39 +0800</pubDate><description><![CDATA[问题
something think
代码
&lt;template&gt;
  &lt;el-form
    :model="ruleForm"
    :rules="rules"
    ref="ruleForm"
    label-width="150px"
    class="demo-ruleForm"
  &gt;
    &lt;el-form-item label="大于...]]></description><category></category></item><item><title><![CDATA[原生js实现redux中getState,subscribe,listener,dispatch函数]]></title><link>https://blog.csdn.net/chi1130/article/details/104599065</link><guid>https://blog.csdn.net/chi1130/article/details/104599065</guid><author>chi1130</author><pubDate>Sun, 01 Mar 2020 20:13:13 +0800</pubDate><description><![CDATA[原生代码
&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
  &lt;!-- 原生js实现dispatch 函数 --&gt;

  &lt;head&gt;
    &lt;meta charset="UTF-8" /&gt;
    &lt;meta name="viewport" content="width=device-width, initia...]]></description><category></category></item><item><title><![CDATA[nodejs中常见的跨域处理]]></title><link>https://blog.csdn.net/chi1130/article/details/104468294</link><guid>https://blog.csdn.net/chi1130/article/details/104468294</guid><author>chi1130</author><pubDate>Sun, 23 Feb 2020 21:48:59 +0800</pubDate><description><![CDATA[跨域问题
ajax 同源策略 协议 主机(ip,域名) 端口号

协议，端口
cors
header 头文件信息
jsonp
服务器

解决 ????‍♀️

协议，端口

将跨域的文件放入与服务器一样的文件下

cors

以 express 为例
const express = require('express');
const cors = require('cors');
...
your co...]]></description><category></category></item><item><title><![CDATA[2019-nCoV为期两周的宅计划]]></title><link>https://blog.csdn.net/chi1130/article/details/104417752</link><guid>https://blog.csdn.net/chi1130/article/details/104417752</guid><author>chi1130</author><pubDate>Thu, 20 Feb 2020 20:45:32 +0800</pubDate><description><![CDATA[前言
2019 年 12 月以来，湖北省武汉市持续开展流感及相关疾病监测，发现多起病毒性肺炎病例，均诊断为病毒性肺炎/肺部感染，在这里提醒各大小朋友做好自我保护：保持基本的手部和呼吸道卫生，坚持安全饮食习惯，并尽可能避免与任何表现出有呼吸道疾病症状（如咳嗽和打喷嚏等）的人密切接触。同时向奋斗在一线的医务人员致敬,抗战疫情,为武汉和中国加油!初来上海，公司规定需居家隔离 14 天，对自己负责同时也对...]]></description><category></category></item><item><title><![CDATA[怎么使用docker运行nuxt项目]]></title><link>https://blog.csdn.net/chi1130/article/details/103898978</link><guid>https://blog.csdn.net/chi1130/article/details/103898978</guid><author>chi1130</author><pubDate>Wed, 08 Jan 2020 22:10:37 +0800</pubDate><description><![CDATA[个人日常 DEMO
git clone git@github.com:chengheai/ssr-project.git

添加 Dockerfile
touch Dockerfile
vi Dockerfile
FROM node:8.11.0

WORKDIR /opt
ADD node_modules /opt/node_modules
ADD server /opt/server
ADD ...]]></description><category></category></item><item><title><![CDATA[小程序中优雅的获取手机号]]></title><link>https://blog.csdn.net/chi1130/article/details/103898962</link><guid>https://blog.csdn.net/chi1130/article/details/103898962</guid><author>chi1130</author><pubDate>Wed, 08 Jan 2020 22:05:17 +0800</pubDate><description><![CDATA[前言
最近在写小程序项目，有个获取手机号功能，网上荡了一下，虽不说是代码问题，有些文章都是残缺不全的，说到容易错误的区域又并未使用代码避免，说而不做的问题，索性自己结合网上的文章及官网文档写了一套完整的代码，完全开箱即用 ????????‍♂️????????????
效果

代码
//Page Object
Page({
  data: {},
  getPhoneNumber: function(e) {
    let ...]]></description><category></category></item><item><title><![CDATA[解决iOS12及一下弹框滚动会带动body内容滑动]]></title><link>https://blog.csdn.net/chi1130/article/details/103191809</link><guid>https://blog.csdn.net/chi1130/article/details/103191809</guid><author>chi1130</author><pubDate>Thu, 21 Nov 2019 22:07:33 +0800</pubDate><description><![CDATA[前言
在移动项目开发中往往会写一些 H5 页面，一个项目可能只有一两个页面，引入其他 UI 组件项目显得太臃肿，也没有啥必要，毕竟那些组件都是被人写的，有的时候不能一味的去使用他人写好的代码，有时间也需要自己谢谢，锻炼自己的同时也在巩固一些基础知识～～
问题
一个页面弹出一个框，框里的内容可以滚动，但是滚动弹框时，body 内容也在动 【前提是你的 body 超过屏幕的高度】，然而在 iOS13 ...]]></description><category></category></item><item><title><![CDATA[vue中实现图片上传添加自定义水印并下载]]></title><link>https://blog.csdn.net/chi1130/article/details/103191783</link><guid>https://blog.csdn.net/chi1130/article/details/103191783</guid><author>chi1130</author><pubDate>Thu, 21 Nov 2019 22:06:34 +0800</pubDate><description><![CDATA[前言
最近看了一篇用 Angular4+ 写的添加水印功能，觉得挺好玩，就自己试着用 vue 写一个相同功能
效果

LIVE
☀️???????????? 在线例子 ????????☃️❄️
代码
✈️✈️✈️✈️✈️✈️ 直达完整代码 ????✈️????????????????
&lt;div class="wrap"&gt;
  &lt;div class="optea"&gt;
    &lt;div class="file-upload"&gt...]]></description><category></category></item><item><title><![CDATA[多个el-select共用一个options且一个option只能用一次]]></title><link>https://blog.csdn.net/chi1130/article/details/102673458</link><guid>https://blog.csdn.net/chi1130/article/details/102673458</guid><author>chi1130</author><pubDate>Mon, 21 Oct 2019 22:24:11 +0800</pubDate><description><![CDATA[需求
一个表单多个下拉框，假如 options 里有中国，美国，第一个 select 选择里中国那么第二个 select 的 options 中国就置为灰色，反之我第二个选里中国，第一个 options 中中国就置为灰色
效果

DEMO
在线 demo ⛩⛽️????✈️????????????????
代码
&lt;template&gt;
  &lt;div&gt;
    &lt;el-form :model="rul...]]></description><category></category></item><item><title><![CDATA[git分支上删除某次提交与获取其他分支上某个提交]]></title><link>https://blog.csdn.net/chi1130/article/details/102576750</link><guid>https://blog.csdn.net/chi1130/article/details/102576750</guid><author>chi1130</author><pubDate>Tue, 15 Oct 2019 22:59:15 +0800</pubDate><description><![CDATA[前言
～在日常开发中，常常会碰到这样的问题，我们在dev分支上写好的代码，经过严格的测试确认无误没有问题，打包发不到正式环境上去了，后来产品经理说这个功能不是本期上的，但是正式服已经有了，那怎么弄呢？
例子
例如，现在当前分支上代码有三次提交，我想把其中间一次提交去掉，怎么做？
步骤：
git log // 查看log信息记下commitId


git rebase -i commitId //...]]></description><category></category></item><item><title><![CDATA[Linux执行history命令显示命令执行时间]]></title><link>https://blog.csdn.net/chi1130/article/details/100942246</link><guid>https://blog.csdn.net/chi1130/article/details/100942246</guid><author>chi1130</author><pubDate>Tue, 17 Sep 2019 22:26:03 +0800</pubDate><description><![CDATA[附录
在线快速生成JSON对象api
【MYJSON】(http://myjson.com/1g17dp)
前言
在实际项目开发中，往往碰到这样一种情况，我明明没有敲这个指令啊，怎么代码被覆盖了？怎么回事？????
用history命令查看 ：

这时间也没有也不知道是谁敲的名字，这可咋办？
效果

实现过程
在你的命令行中贱【键】入
echo 'export HISTTIMEFORMAT="%Y-%m...]]></description><category></category></item></channel></rss>