一、项目简介

uni-liveShow是一个基于vue+uni-app技术开发的集小视频/IM聊天/直播等功能于一体的微直播项目。界面仿制抖音|火山小视频/陌陌直播,支持编译到多端(H5、小程序、App端) 且兼容效果一致。

二、效果预览

在H5、小程序、App端测试效果如下:(后续大图均为APP端)

三、使用技术

编码器+技术:HBuilderX + vue/NVue/uniapp/vuex

iconfont图标:阿里字体图标库

自定义导航栏 + 底部Tabbar

弹窗组件:uniPop(uni-app封装自定义弹出窗)

测试环境:H5端 + 小程序 + App端

◆ uniapp计算设备顶部状态栏高度

/**

* @desc uniapp主页面App.vue

* @about Q:282310962 wx:xy190310*/

onLaunch:function() {//console.log('App Launch')

uni.getSystemInfo({

success:function(e){

Vue.prototype.statusBar=e.statusBarHeight//#ifndef MP

if(e.platform == 'android') {

Vue.prototype.customBar= e.statusBarHeight + 50}else{

Vue.prototype.customBar= e.statusBarHeight + 45}//#endif

//#ifdef MP-WEIXIN

let custom =wx.getMenuButtonBoundingClientRect()

Vue.prototype.customBar= custom.bottom + custom.top -e.statusBarHeight//#endif

//#ifdef MP-ALIPAY

Vue.prototype.customBar = e.statusBarHeight +e.titleBarHeight//#endif

}

})

},

}

◆ 项目中顶部透明导航栏设置

顶部导航栏采用的是自定义模式,可设置透明背景(如:个人主页/朋友圈动态) 具体可参看这篇文章:

◆ uniapp仿抖音小视频效果

项目中小视频界面功能效果类似抖音/火山小视频,使用swiper组件实现上下滑动切换视频播放。

# {{kwItem}}

{{item.subtitle}}

{{item.author}} {{item.attention ? '已关注' : '关注'}}

写评论...

{{ item.likeNum+(item.islike ? 1: 0) }}

{{item.replyNum}}

{{item.shareNum}}

视频滑动切换 播放、暂停 及单击/双击判断,商品及评论展示

//引入商品广告、评论

import videoCart from '@/components/cp-video/cart.vue'import videoComment from'@/components/cp-video/comment'let timer= nullexportdefault{

data() {return{

videoIndex:0,

vlist: videoJson,

isPlay:true, //当前视频是否播放中

clickNum: 0, //记录点击次数

}

},

components: {

videoCart, videoComment

},

onLoad(option) {this.videoIndex =parseInt(option.index)

},

onReady() {this.init()

},

methods: {

init() {this.videoContextList =[]for(var i = 0; i < this.vlist.length; i++) {//this.videoContextList.push(this.$refs['myVideo' + i][0])

this.videoContextList.push(uni.createVideoContext('myVideo' + i, this));

}

setTimeout(()=>{this.play(this.videoIndex)

},200)

},//滑动切换

handleSlider(e) {

let curIndex=e.detail.currentif(this.videoIndex >= 0){this.videoContextList[this.videoIndex].pause()this.videoContextList[this.videoIndex].seek(0)this.isPlay = false}if(curIndex === this.videoIndex + 1) {this.videoContextList[this.videoIndex + 1].play()this.isPlay = true}else if(curIndex === this.videoIndex - 1) {this.videoContextList[this.videoIndex - 1].play()this.isPlay = true}this.videoIndex =curIndex

},//播放

play(index) {this.videoContextList[index].play()this.isPlay = true},//暂停

pause(index) {this.videoContextList[index].pause()this.isPlay = false},//点击视频事件

handleClicked(index) {if(timer){

clearTimeout(timer)

}this.clickNum++timer= setTimeout(() =>{if(this.clickNum >= 2){

console.log('双击视频')

}else{

console.log('单击视频')if(this.isPlay){this.pause(index)

}else{this.play(index)

}

}this.clickNum = 0},300)

},//喜欢

handleIsLike(index){

let vlist= this.vlist

vlist[index].islike=!vlist[index].islikethis.vlist =vlist

},//显示评论

handleVideoComment() {this.$refs.videoComment.show()

},//显示购物车

handleVideoCart(index) {this.$refs.videoCart.show(index)

},

}

}

在项目开发过程中,遇到了视频video层级高不能覆盖的问题,使用nvue页面就可以解决view覆盖在video之上。.nvue(native vue的缩写)

更多关于nvue页面开发,可以参看:

◆ uniapp聊天页面实现

项目中的聊天页面,功能效果这里就不详细介绍了,可参看这篇:

◆ 直播页面live.nvue

为避免video不能覆盖问题,直播页面采用的是nvue编写,开发过程也遇到了一些坑,尤其是css,全部是flex布局,而且不能多级嵌套,有些css属性不支持。

...

总排名{{item.allRank}}

小时榜第{{item.hourRank}}名

U直播:{{item.uid}}

...

{{msgitem.uname}} {{msgitem.content}}

说点什么...

...

...

vue整合uniapp_基于vue+uniapp直播项目|uni-app仿抖音/陌陌直播室相关推荐

  1. Android直播头像动画,iOS 仿抖音直播头像缩放动画

    效果图 仿抖音直播头像缩放效果, 简单写了demo, 思路简单, 直接用的递归重复调用, 呈上所有代码. @interface YCXHeaderZoomViewController () @prop ...

  2. 基于android的防抖音直播,基于vue+uniapp直播项目实现uni-app仿抖音/陌陌直播室功能...

    一.项目简介 uni-liveShow是一个基于vue+uni-app技术开发的集小视频/IM聊天/直播等功能于一体的微直播项目.界面仿制抖音|火山小视频/陌陌直播,支持编译到多端(H5.小程序.Ap ...

  3. 基于Uni-APP多端「h5+小程序+App」高仿抖音小视频|直播|聊天实例

    uni-ttLive 基于uni-app+uView-ui跨端开发短视频+直播聊天实例. 全新研发的一款多端仿制抖音短视频+直播+聊天项目,基于uniApp+Vue.js+Vuex+Nvue+uVie ...

  4. Vue的使用 -- 基于Vue搭建前端页面

    Vue的使用 – 基于Vue搭建前端页面 首先,用到的前端技术只有 Vue.Element-ui.axios.Echarts,至于其它的技术点,我一个后端很少接触. 其次,Echarts 我也不怎么会 ...

  5. android仿抖音直播间聊天,Uni-App直播小视频|仿微信聊天界面|uniapp仿抖音

    U直播是一个基于Nvue+vue+uniapp技术开发的仿抖音小视频.陌陌直播的项目.小视频及直播页面均实现了类似抖音上下滑动切换效果,还有点赞.评论.商品等功能展示. 运行效果: 技术实现:编辑器+ ...

  6. android仿陌陌tab,uniapp直播室|仿抖音视频|nvue+uniapp高仿陌陌直播

    一.介绍说明 U直播uniLiveShow是一款基于vue+Nvue+uni-app技术开发的综合小视频/聊天室/直播等功能的聊天直播项目.界面高仿热门抖音|火山小视频/陌陌直播,可滑动切换视频播放, ...

  7. 整合vite2.0+electron12+vant3.x跨端仿抖音短视频+聊天+直播exe应用

    vite2-electron-douyin 基于vite2.x+electron模仿抖音短视频应用实例. 整合了vite2+electron跨端开发技术仿制抖音界面桌面版exe应用软件.基于Vite2 ...

  8. uniapp - 仿抖音短视频项目

    仿抖音短视频阅读手册 特殊通知 1.请用户认真阅读以下说明,千万不能混淆页面随意引入,如果你发现运行后页面样式排版错乱,大概率是引入错误喔. 2.请App端用户将HbuilderX版本调整到3.3.9 ...

  9. vue+swiper仿抖音视频滑动

    解释一番,本文章只是做了一个仿抖音的滑动效果,并没有添加其他效果,例如头部的类似关注与推荐功能.广告.右侧按钮等等,这些功能可按项目需求添加,在这里我就不多bb了. 先看下模拟器上的成品图. ps:手 ...

最新文章

  1. js 获取图片url的Blob值并预览
  2. 跑步app保活_android判断不同手机厂商,打开允许后台运行APP弹窗
  3. Redis启动报错:[27960] 19 Mar 13:52:32.642 # Creating Server TCP listening socket 127.0.0.1:6379: bind: N
  4. python语言保留字的特点_python保留字及其说明
  5. MySQL开源工具推荐,有了它我卸了珍藏多年Nactive!
  6. 为什么技术人干得越久越拿不到高薪?
  7. 杨凌职业技术学院计算机专业宿舍,杨凌职业技术学院宿舍条件,宿舍图片和环境空调及分配方法...
  8. 李宏毅机器学习——无监督学习(四)
  9. Docker的核心概念镜像Images, 容器Containers, 数据卷Volumes
  10. gopython 获取python 全局线程锁失败_Python之路(第四十三篇)线程的生命周期、全局解释器锁...
  11. 小程序消息提示框标题字数限制
  12. 渗透测试-安全岗位面试题总结(含答案)
  13. 江苏省计算机一级主要考什么,江苏省计算机一级考试复习资料 很全面的
  14. CICD -- pipeline 流水线
  15. eNSP基础实验日记一
  16. 张坤 2012.5.4 sed去掉所有的HTML标签
  17. 计算机科技英语文章及翻译,计算机专业英语短文翻译.doc
  18. 收获之英雄会产品论坛
  19. 设计模式之工厂模式详解和应用
  20. 透过OpenStack Ocata贡献排名看中国力量强势崛起

热门文章

  1. 金融机构外部数据的概念和分类
  2. 特权级转移 之 保护模式下数据段特权级保护依据
  3. 微信卡券跳转小程序遇到的小坑
  4. office关闭不必要的插件加载项解决文档打开慢问题
  5. 如何增加 yota3 的 墨水屏应用?
  6. 火狐浏览器与google Chrome浏览器插件
  7. java职工工资管理系统(GUI+无数据库)
  8. 实际开发中关于模糊搜索的几种实现方式
  9. 爬虫小案例 爬取百度贴吧赵丽颖图片案例 xpath 美丽汤
  10. Caught Exception while registering Interceptor class注册拦截器时错误解决方法