<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[guoqing的博客]]></title><description><![CDATA[JavaScript yyds]]></description><link>https://blog.youkuaiyun.com/guoqing2016</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; guoqing2016]]></copyright><item><title><![CDATA[echarts 多y轴 数据有负数导致0刻度线不对齐]]></title><link>https://blog.youkuaiyun.com/guoqing2016/article/details/130338129</link><guid>https://blog.youkuaiyun.com/guoqing2016/article/details/130338129</guid><author>guoqing2016</author><pubDate>Mon, 24 Apr 2023 11:40:11 +0800</pubDate><description><![CDATA[先计算出每列的最大数占比数量和最小数占比数量，然后分别去对比，少数量的就根据分段间隔去补数量，保证两边的最大数列数和最小数列数相同，就可以保持一致的列刻度。先分别读取出两个数组的最大值和最小值，如果数组的长度为0，为了方面后面的计算先设置值为1。目的是为了让最大和最小数刚好分段间隔成比例，这个时候的最大和最小数就是根据间隔比例来的。网上找了很多方法去尝试，效果都不是很好，这边自己写了个处理的方法。然后分别计算出，每个数组在理想分段数下的每段实际间隔数。然后根据计算的实际分段间隔数去重新计算最大和最小数。]]></description><category></category></item><item><title><![CDATA[vue3 vite 使用 unplugin-icon 数据动态渲染图标]]></title><link>https://blog.youkuaiyun.com/guoqing2016/article/details/129196760</link><guid>https://blog.youkuaiyun.com/guoqing2016/article/details/129196760</guid><author>guoqing2016</author><pubDate>Fri, 24 Feb 2023 14:13:10 +0800</pubDate><description><![CDATA[vue3 vite 使用 unplugin-icon 数据动态渲染图标
当遇到路由图标那种需要根据数据渲染出图标，就不行了，这里的解决方法是封装图标渲染的组件。本地的图标好像有点问题，还在研究为啥动态渲染不了，后面发现问题了再改。或者有没有大佬看看，是啥原因导致本地svg动态导入不进去。图标库的时候遇到的图标动态渲染问题，这里记录一下。其实就是个全局常量 代表图标的前缀而已。然后到渲染的地方呢 读取出你绑定的字段。常量这块 直接写死都一样的。使用的时候直接导出封装的。]]></description><category></category></item><item><title><![CDATA[汇总 git 常用命令]]></title><link>https://blog.youkuaiyun.com/guoqing2016/article/details/127510741</link><guid>https://blog.youkuaiyun.com/guoqing2016/article/details/127510741</guid><author>guoqing2016</author><pubDate>Thu, 27 Oct 2022 10:19:44 +0800</pubDate><description><![CDATA[git push 提交 git pull 拉取 git fetch 获取 git merge 合并 git commit 提交文件 git add 添加 git branch 分支 git checkout 切换/检出]]></description><category></category></item><item><title><![CDATA[node 根据xlsx表格数据，批量生成表格文件，并且设置样式和行高]]></title><link>https://blog.youkuaiyun.com/guoqing2016/article/details/125495822</link><guid>https://blog.youkuaiyun.com/guoqing2016/article/details/125495822</guid><author>guoqing2016</author><pubDate>Fri, 16 Sep 2022 10:55:55 +0800</pubDate><description><![CDATA[任务目标就是 根据数据1的字段 相同的每条的数据，去生成一个表格文件（数据1的值为1的全放一个表格文件里，数据1的值为2的放下一个文件里，以此类推）的一些问题，会导致行高没效果，还需要进行下面的操作。(代码中有不太了解的地方，可以留言问我哈)文件夹找到index.js 打开编辑。文件夹找到xlsx.js 打开编辑。假如我们有这么一个数据的表格文件。文件，在136行添加代码。将下面的代码对其进行替换。下面先来进行准备操作。]]></description><category></category></item><item><title><![CDATA[uniapp vue3 如何调用uni-popup组件的this.$refs.xxx.close()]]></title><link>https://blog.youkuaiyun.com/guoqing2016/article/details/125672575</link><guid>https://blog.youkuaiyun.com/guoqing2016/article/details/125672575</guid><author>guoqing2016</author><pubDate>Fri, 08 Jul 2022 10:05:51 +0800</pubDate><description><![CDATA[uniapp vue3 如何调用uni-popup组件的this.$refs.xxx.close(),
在uniapp使用vue3进行开发时，使用了uni-popup弹框，但是在对弹框进行操作的时候，发现调用`this.$refs.xxx.close()`报错`Cannot read property '$refs' of undefined`......]]></description><category></category></item><item><title><![CDATA[vue3 实现简易的router]]></title><link>https://blog.youkuaiyun.com/guoqing2016/article/details/125061881</link><guid>https://blog.youkuaiyun.com/guoqing2016/article/details/125061881</guid><author>guoqing2016</author><pubDate>Tue, 31 May 2022 11:45:26 +0800</pubDate><description><![CDATA[实现了个简易的router，只做了路由切换支持hash和history模式
index.js  代码
import {ref,inject} from 'vue'
import RouterView from "./RouterView.vue"
import RouterLink from "./RouterLink.vue"
const ROUTER_KEY = '__router__'

function createRouter(options){
  return new Router(optio]]></description><category></category></item><item><title><![CDATA[vue3 实现一个vuex]]></title><link>https://blog.youkuaiyun.com/guoqing2016/article/details/125052170</link><guid>https://blog.youkuaiyun.com/guoqing2016/article/details/125052170</guid><author>guoqing2016</author><pubDate>Mon, 30 May 2022 19:05:37 +0800</pubDate><description><![CDATA[实现了个简易的vuex，包含 state、getters、mutations、actions 等
import {
  inject,
  reactive,
  computed
} from 'vue';

const STORE_KEY = '__store__'

function useStore() {
  return inject(STORE_KEY)
}

function createStore(options) {
  return new Store(options)
}

clas]]></description><category></category></item><item><title><![CDATA[微信小程序 canvas生成海报]]></title><link>https://blog.youkuaiyun.com/guoqing2016/article/details/124478988</link><guid>https://blog.youkuaiyun.com/guoqing2016/article/details/124478988</guid><author>guoqing2016</author><pubDate>Thu, 28 Apr 2022 17:32:47 +0800</pubDate><description><![CDATA[最近遇到个需求，需要根据一个指定的页面，生成图片并且进行保存，大致就是需要在canvas上画出来和当前页面一样内容，然后转存为图片这样。
准备工作 先获取到canvas对象
const query = wx.createSelectorQuery()
query.select('#myCanvas')
.fields({
  node: true,
  size: true
})
.exec((res) =&gt; {
  const canvas = res[0].node
  const ctx = c]]></description><category></category></item><item><title><![CDATA[微信小程序 canvas设置字体无效问题]]></title><link>https://blog.youkuaiyun.com/guoqing2016/article/details/124472270</link><guid>https://blog.youkuaiyun.com/guoqing2016/article/details/124472270</guid><author>guoqing2016</author><pubDate>Thu, 28 Apr 2022 13:53:48 +0800</pubDate><description><![CDATA[在使用canvas画海报图的时候有一些特殊字体，但是，无论使用方法引入还是css直接引用，都无效。
ctx.font = "normal 20px 'SourceHanSerifCN'";

后面发现，在方法内引入时需要设置scopes参数，默认为webview还需要额外加上native即可
wx.loadFontFace({
    global: true,
    family: 'SourceHanSerifCN',
    source: 'url("xxx.OTF")',
    scopes:]]></description><category></category></item><item><title><![CDATA[微信小程序 通用节流函数]]></title><link>https://blog.youkuaiyun.com/guoqing2016/article/details/124472139</link><guid>https://blog.youkuaiyun.com/guoqing2016/article/details/124472139</guid><author>guoqing2016</author><pubDate>Thu, 28 Apr 2022 13:46:31 +0800</pubDate><description><![CDATA[throttle(fn, gapTime) {
    if (gapTime == null || gapTime == undefined) {
        gapTime = 1000
    }
    let _lastTime = null
    return function (e) {
        let _nowTime = +new Date()
        if (_nowTime - _lastTime &gt; gapTime || !_lastTime) {
   ]]></description><category></category></item><item><title><![CDATA[uniapp 自定义底部tabbar 点两下 会闪烁问题]]></title><link>https://blog.youkuaiyun.com/guoqing2016/article/details/124043922</link><guid>https://blog.youkuaiyun.com/guoqing2016/article/details/124043922</guid><author>guoqing2016</author><pubDate>Fri, 08 Apr 2022 16:23:38 +0800</pubDate><description><![CDATA[在做自定义tabbar时，遇到了个问题，第一次切换tab，底部操作栏会明显的感觉闪烁，并且选中状态还会有抖动现象出现
这里在网上找到几个解决方法汇总一下
1、在tab页的onShow生命周期写了切换选中状态后，tab组件那边的切换就没必要再加setData去修改选择的状态了，可以直接注释掉
tab组件的`wxml`文件中 `cover-view` 和`cover-image` 分别替换为 `view` 和 `image`]]></description><category></category></item><item><title><![CDATA[uni-app小程序 画布转base64并且进行压缩]]></title><link>https://blog.youkuaiyun.com/guoqing2016/article/details/121287272</link><guid>https://blog.youkuaiyun.com/guoqing2016/article/details/121287272</guid><author>guoqing2016</author><pubDate>Fri, 12 Nov 2021 14:48:57 +0800</pubDate><description><![CDATA[在做一个签名的功能时，遇到的问题，签名后的画布需要转成图片，转成图片后，图片还要转base64，并且base64必须要很小（不能超过8kb），具体代码如下
uni.canvasToTempFilePath({
	fileType: 'jpg',
	canvasId: 'mycanvas',
	quality: 1,
	success: function(res) {
		console.log("第一个画布生成图片",res,res.tempFilePath)
		uni.getImageInfo({ //]]></description><category></category></item><item><title><![CDATA[nuxt 使用图片懒加载 lazy-component 标签报错]]></title><link>https://blog.youkuaiyun.com/guoqing2016/article/details/121126965</link><guid>https://blog.youkuaiyun.com/guoqing2016/article/details/121126965</guid><author>guoqing2016</author><pubDate>Wed, 03 Nov 2021 17:54:03 +0800</pubDate><description><![CDATA[在nuxt使用图片懒加载的时遇到的问题，在未使用&lt;lazy-component&gt;标签的时候还是正常的，但是使用了之后，就直接40多个异常提示出来

后面发现，需要在&lt;lazy-component&gt;标签外面加多个&lt;no-ssr&gt;标签就好了
&lt;no-ssr&gt;
	&lt;lazy-component&gt;
	...
	&lt;/lazy-component&gt;
&lt;/no-ssr&gt;

个人博客地址：nuxt 使用图片懒加载 lazy-componen]]></description><category></category></item><item><title><![CDATA[nuxt github-markdown-css 无法正常加载]]></title><link>https://blog.youkuaiyun.com/guoqing2016/article/details/121126929</link><guid>https://blog.youkuaiyun.com/guoqing2016/article/details/121126929</guid><author>guoqing2016</author><pubDate>Wed, 03 Nov 2021 17:52:17 +0800</pubDate><description><![CDATA[最近在使用nuxt搭建博客，文章详情使用的是mavon-editor做写入和展示，但是在使用的时候，发现有时候highlight和github-markdown.min.css的一些样式和css加载失败
其实是网络的问题，有的网络无法访问github的，就会出现这种情况
这边的做法就是把文件下载下来，直接丢服务器上，去设置mavon-editor使用自定义的样式和js地址
&lt;mavon-editor
 ...
:external-link="externalLink"
&gt;&lt;/mavon-e]]></description><category></category></item><item><title><![CDATA[我有自己的博客啦，自己搭建的博客网站]]></title><link>https://blog.youkuaiyun.com/guoqing2016/article/details/121126748</link><guid>https://blog.youkuaiyun.com/guoqing2016/article/details/121126748</guid><author>guoqing2016</author><pubDate>Wed, 03 Nov 2021 17:49:46 +0800</pubDate><description><![CDATA[社会喵 - 一个基于内容分享,创作与交流学习结合的分享博客
经过一个月的折腾，终于搞出了自己的博客网站，前端是用的nuxt，听说这个可以有很好的seo效果，才选的这个框架，等后面看看收录情况，再决定要不要换别的吧
后端使用的是renren-fast那套框架，也是比较熟悉了有一定的经验，在写博客中主要遇到的一些问题就是ui和nuxt的使用，ui确实很难受，找了半天也没找到喜欢的那种，博主本身不太会搞设计，都是东抄抄西改改什么的，不过最终还是搞完了，感觉界面上还可以吧，二次元的主题，哈哈哈哈
csdn这边的博客]]></description><category></category></item><item><title><![CDATA[中间带文字的hr分割线]]></title><link>https://blog.youkuaiyun.com/guoqing2016/article/details/120553287</link><guid>https://blog.youkuaiyun.com/guoqing2016/article/details/120553287</guid><author>guoqing2016</author><pubDate>Wed, 29 Sep 2021 17:49:02 +0800</pubDate><description><![CDATA[&lt;hr class="hr"&gt;

.hr {
    color: #000;
    border: 0;
    font-size: 12px;
    padding: 10px 0;
    position: relative;
}
.hr::before {
    content: "分隔线";
    position: absolute;
    padding: 0 10px;
    line-height: 1px;
    border: solid red;
  .]]></description><category></category></item><item><title><![CDATA[uni-app 小程序蓝牙库]]></title><link>https://blog.youkuaiyun.com/guoqing2016/article/details/119574163</link><guid>https://blog.youkuaiyun.com/guoqing2016/article/details/119574163</guid><author>guoqing2016</author><pubDate>Tue, 10 Aug 2021 17:34:43 +0800</pubDate><description><![CDATA[分享一下之前用uni-app写小程序的时候，做的蓝牙库
git地址：https://github.com/qinnnn/bleTool
使用方法
主要是项目中 utils/bleTool.js 的文件，这个是库的本体，可以单独使用
首先需要执行 init 去初始化
BleTool.init()

在开启搜索前，需要执行 getBleState获取蓝牙状态，返回参数为状态，如果蓝牙 状态正常，则可以开始搜索
BleTool.getBleState((state)=&gt;{})

搜索的方法为search 返]]></description><category></category></item><item><title><![CDATA[css3 按钮翻转效果]]></title><link>https://blog.youkuaiyun.com/guoqing2016/article/details/119446829</link><guid>https://blog.youkuaiyun.com/guoqing2016/article/details/119446829</guid><author>guoqing2016</author><pubDate>Fri, 06 Aug 2021 10:16:33 +0800</pubDate><description><![CDATA[css3 按钮翻转效果



html
&lt;div class="flipper"&gt;
	&lt;span class="flipper-object flipper-vertical"&gt;
		&lt;span class="panel front"&gt;the front&lt;/span&gt;
		&lt;span class="panel back"&gt;the back&lt;/span&gt;
	&lt;/span&gt;
&lt;/div&gt;

css
.flipper ]]></description><category></category></item><item><title><![CDATA[web前端开发随缘------随便聊聊]]></title><link>https://blog.youkuaiyun.com/guoqing2016/article/details/119247715</link><guid>https://blog.youkuaiyun.com/guoqing2016/article/details/119247715</guid><author>guoqing2016</author><pubDate>Wed, 04 Aug 2021 21:59:41 +0800</pubDate><description><![CDATA[唠嗑
入职新公司也有一个月了，新公司这边工作制度为大小周，我觉得可以接受，每天上下班挺准时的，到点了没事没事就都走了（在上一家做外包的时候，很少准时6点下班），晚上不加班的感觉很舒服了，在这边我主要是负责做小程序，使用uni-app去写小程序，这里要吐槽一下，这边小程序的商场系统，购物车的优惠金额折扣什么的都是前端计算，然后计算好直接传给后端进行创建订单的，就感觉很奇怪，这种金额计算，不应该是后端那边处理的吗？还是说大家都是这样？我也算是第一次做购物车商场小程序，没什么经验，有经验的大佬可以评论区说下那边是]]></description><category></category></item><item><title><![CDATA[记录6月面试遇到的面试题]]></title><link>https://blog.youkuaiyun.com/guoqing2016/article/details/117708337</link><guid>https://blog.youkuaiyun.com/guoqing2016/article/details/117708337</guid><author>guoqing2016</author><pubDate>Thu, 10 Jun 2021 10:32:09 +0800</pubDate><description><![CDATA[跳转目录js相关作用域考察继承和this指向考察js中判断数据类型有哪些方法，各有什么优缺点？防抖和节流有什么作用（是否可以手写防抖和节流？）vue和react对比Vue组件通讯vuex 有几种模式？vue响应式原理React组件通讯redux其他相关对webpack的了解对gulp的了解
部分问题的答案出自个人理解，或者是摘抄别处的，这里只做问题的汇总（附带“答案”好看一些）
js相关
作用域考察
var a = 10;
(function () {
    console.log(a)
    a = ]]></description><category></category></item></channel></rss>