22年3月工作笔记整理(前端)

工作内容开始有了挑战,也为我的博客提供了素材,但是疫情的影响,我还负责管部门的健康码行程码收集,还有招聘,导致效率不是很高,只要有收获就行啦。

一、视频播放遇到的问题

        <video
          width="100%"
          autoplay="autoplay"
          :poster="playvideo"
          :src="playvideo"
          controls="controls"
          id="video"
          preload
        ></video>

当使用video标签时,视频播放报403错误,触发了浏览器的防盗链机制,其中防盗链是利用http header中的referer来实现的,当浏览器向服务器发送请求时,会带上referer来告诉服务器,从哪个页面链接过来的,解决这个问题就在html头部加上

< meta name="referrer" content="never" />

二、日历上带有进程事件的组件

总结:这个需求的方案,我先是研究了好久,element-ui只提供了日历展示,很多日历上的交互也没提供,月底又要上线这个功能,感觉自己写来不及,于是找了很久找到了个日历管理进程组件fullcalendar,但是它是jq写的!看了半天还挺费劲的,(可能是我原生学得太差了吧555555)又找到个vue写的组件,叫vue-full-calendar,挺好的,但是没有农历和二十四节气,又找了找,发现有个vue-lunar-full-calendar组件,带了农历,于是决定用这个,好像封装得不太好,但勉强能用吧,后期我又把它源码改了,不想要里面一堆乱七八糟的节日,就把那段代码删掉了。其实现在反思一下,我明明可以把组件pull下来改造就行了,直接改源码写多方便,当时没这胆子也觉得自己看不懂,后悔了,只能等下次优化了。
接下来就是我对vue-lunar-full-calendar组件学习踩的坑了

  1. 时间格式只支持标准时间格式,所以得转化一下,end也是,转化后老是变成前一天,所以得给它加一天时间
new Date(time) //转为标准格式
//加一天的方法
addOneDay(time) {
      let dateTime = new Date(time)
      dateTime = dateTime.setDate(dateTime.getDate() + 1)
      return new Date(dateTime)
    },

2.由于产品有放图标的需求,但是这个组件不提供,我当时也不会改源码,就用背景图加位移的形式加上了,排列组合写了一堆样式展示。

//写多个背景图,并给其进行布局
css获取到当前class之后,background:url() no-repeat x位移 y位移,...;

3.数据去重的时候忘记转化了,通过Array.from(new set(list))
4.为了去掉各种节日,我想修改源码
步骤:先去gitlab上下载源码,然后对源码进行修改,再传到自己的npm上,再在项目里下载我的npm包,引入我自己的包名。
本地修改后,修改一下文件名,我取名为vue-noday-full-calendar,package.json里面也要改,npm不允许重名。
然后登陆:npm login 输入注册时的账户密码邮箱还有验证码之后
如果报错的话有可能是源出错,因为国内用的是npm的淘宝镜像,登陆需要切换到npm的官方源,命令是npm config set registry https://registry.npmjs.org
运行npm publish发布

使用的时候,下载命令 npm install 名字,
package.json:
“dependencies”:{“名称”:“版本号”}
main.js:
import 组件名 from ‘包名’
Vue.use(组件名)

三、js异步调用引起的问题

有需求是先查询数据接口,获取数据,然后让第一条显示到选择组件里,并调用查询接口。但是如果不先让查询数据接口方法执行,后面查询是没有条件的,所以需要await/async,必须要是异步函数才能生效。

   const temp = async () => {
      try {
        await 调用获取数据的方法
      } catch (err) {
        //
      }
      await 拿到条件调用查询的方法
    }
    temp()

await后面的函数会先执行一遍,然后就会跳出async函数来执行后面代码

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值