(项目总结)直播管理项目

1.直播封面更改,input type= file样式不可变的决绝方法:将其设为与自定义按钮一样的大小、透明,z-index置于自定义按钮之上

2.直播间链接的复制

<p class="live-link">
     直播间链接:{{ liveRoomInfo.url }}
     <img src="@/assets/images/ic_copy.png" alt="" class="live-image"
     v-clipboard:copy="liveRoomInfo.url" 
     v-clipboard:success="onCopy"
     v-clipboard:error="onError"
     >
</p>
<!--
v-clipboard:copy="liveRoomInfo.url" :待拷贝内容
v-clipboard:success="onCopy" :拷贝成功的回调
v-clipboard:error="onError" :拷贝失败的回调
 -->

3.文字计数,独立的div块,绝对定位置于input里。文字的计数方式为中文算一个字,两个英文算一个字。

let s="中文zh英文eng"
let reg=/[\u4e00-\u9fa5]/g  //匹配全文的中文
let zhLen=s.match(reg).length  //4

let len=Math.ceil((s.length+zhLen)/2)

4.推流地址的展示和非首次直播默认勾选协议

借助 localStorage进行存储。协议勾选默认长期存储。

推流地址的展示由于不在init网络请求的返回值里,而是只在开始直播时返回一次,因此也将其存储在localStorage,一是为了避免刷新丢失,二是减少网络请求。

5.橱窗商品的选择,录用父子间消息传递。父传子:props;子传父:自定义事件参数。

父组件将已经选择的商品和全部商品传给子组件,橱窗商品弹窗默认勾选已经选中商品。这里有个坑,即无法将父组件传过来的商品对象直接勾选,而是需要在所有的商品过滤除已选商品,才能实现在此框中的勾选。因为父组件传过来的已选商品对象数组和全部商品对象数组的相对应商品无法直接找到,所以需要重新找。而且勾选的数据可能会发生改变,而父元素传来的数据不可变,因此需要再维护一份选中商品数组。

  mounted(){
    this.hasSelected.forEach(item=>{ //hasSelected:父传来的已选商品
      let goodsIndex=this.shopGoods.findIndex(it=>{ //shopGoods:父传来的全部商品
        return it.goodsId===item.goodsId
      })
      this.selectedGoods.push(this.shopGoods[goodsIndex]) //独立维护一份已选商品,因为props传来的数据不可更改
    })
    this.toggleSelection(this.selectedGoods) //触发勾选
  },

 vue也提供了props子组件修改父组件的方法 : .sync

//子组件
this.$emit('update: dataSync', 要改变的值)
//父组件
<dataSyncView :dataSync.sync="改变的对象"/>

难点:

1.子组件中的遮罩层不能覆盖整个窗口

原因:子组件即使设置了position:fixed,也只能覆盖调用它的父组件,因为它是挂载在其上。原本是将遮罩层与其中的内容显示框分离,遮罩层在父组件上,父组件又被全局app调用,后因不符合组件拆分理念,故发现上述问题。

解决方法:在子组件中添加如下代码,将组件挂载到body身上

mounted() { 
    this.$nextTick(() => {
      const body = document.querySelector("body");
      if (body.append) {
        body.append(this.$el);
      } else {
        body.appendChild(this.$el);
      }
    });
  },

在vue3中可以使用 teleport,传送门

<teleport to='body'>
      <modal/>
</teleport>

七、阻止滚动穿透

弹框后滚动穿透解决方法 - 掘金

在弹窗显示时,body固定定位fixed,并设置body的scrollTop(否则页面回滚到顶部)

在弹窗关闭时,取消固定定位,取消scroll Top

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
大型项目项目管理是指对规模庞大、复杂度高的项目进行有效组织、协调和控制的过程。以下是大型项目管理的一般步骤和方法: 1. 项目规划:确定项目目标、范围、时间、成本和质量等方面的要求,制定项目计划和工作分解结构(WBS),明确项目的组织结构和角色职责。 2. 风险管理:识别、评估和应对项目风险,制定风险管理计划,并在项目执行过程中进行风险监控和控制。 3. 资源管理:确定项目所需的人力、物力和财力资源,进行资源分配和调度,确保项目能够按时完成。 4. 进度管理:制定项目进度计划,跟踪项目进展,及时发现并解决进度偏差,确保项目按时交付。 5. 成本管理:制定项目预算,跟踪项目成本,及时发现并解决成本偏差,确保项目在预算范围内完成。 6. 质量管理:制定质量管理计划,确保项目交付的成果符合质量要求,进行质量控制和质量保证。 7. 沟通管理:建立有效的沟通机制,确保项目团队、利益相关方之间的信息流畅和沟通顺畅。 8. 变更管理:对项目范围、进度、成本等方面的变更进行评估和控制,确保变更能够合理管理并对项目产生最小的影响。 9. 问题解决:及时发现和解决项目中出现的问题和障碍,确保项目顺利进行。 10. 项目评估:对项目执行过程进行评估和总结,提取经验教训,为未来类似项目提供参考。 以上是大型项目管理的一般步骤和方法,具体的项目管理方法和工具可以根据项目的特点和需求进行选择和应用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值