vue整合uniapp_基于vue+uniapp直播项目|uni-app仿抖音/陌陌直播室
一、项目简介
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仿抖音/陌陌直播室相关推荐
- Android直播头像动画,iOS 仿抖音直播头像缩放动画
效果图 仿抖音直播头像缩放效果, 简单写了demo, 思路简单, 直接用的递归重复调用, 呈上所有代码. @interface YCXHeaderZoomViewController () @prop ...
- 基于android的防抖音直播,基于vue+uniapp直播项目实现uni-app仿抖音/陌陌直播室功能...
一.项目简介 uni-liveShow是一个基于vue+uni-app技术开发的集小视频/IM聊天/直播等功能于一体的微直播项目.界面仿制抖音|火山小视频/陌陌直播,支持编译到多端(H5.小程序.Ap ...
- 基于Uni-APP多端「h5+小程序+App」高仿抖音小视频|直播|聊天实例
uni-ttLive 基于uni-app+uView-ui跨端开发短视频+直播聊天实例. 全新研发的一款多端仿制抖音短视频+直播+聊天项目,基于uniApp+Vue.js+Vuex+Nvue+uVie ...
- Vue的使用 -- 基于Vue搭建前端页面
Vue的使用 – 基于Vue搭建前端页面 首先,用到的前端技术只有 Vue.Element-ui.axios.Echarts,至于其它的技术点,我一个后端很少接触. 其次,Echarts 我也不怎么会 ...
- android仿抖音直播间聊天,Uni-App直播小视频|仿微信聊天界面|uniapp仿抖音
U直播是一个基于Nvue+vue+uniapp技术开发的仿抖音小视频.陌陌直播的项目.小视频及直播页面均实现了类似抖音上下滑动切换效果,还有点赞.评论.商品等功能展示. 运行效果: 技术实现:编辑器+ ...
- android仿陌陌tab,uniapp直播室|仿抖音视频|nvue+uniapp高仿陌陌直播
一.介绍说明 U直播uniLiveShow是一款基于vue+Nvue+uni-app技术开发的综合小视频/聊天室/直播等功能的聊天直播项目.界面高仿热门抖音|火山小视频/陌陌直播,可滑动切换视频播放, ...
- 整合vite2.0+electron12+vant3.x跨端仿抖音短视频+聊天+直播exe应用
vite2-electron-douyin 基于vite2.x+electron模仿抖音短视频应用实例. 整合了vite2+electron跨端开发技术仿制抖音界面桌面版exe应用软件.基于Vite2 ...
- uniapp - 仿抖音短视频项目
仿抖音短视频阅读手册 特殊通知 1.请用户认真阅读以下说明,千万不能混淆页面随意引入,如果你发现运行后页面样式排版错乱,大概率是引入错误喔. 2.请App端用户将HbuilderX版本调整到3.3.9 ...
- vue+swiper仿抖音视频滑动
解释一番,本文章只是做了一个仿抖音的滑动效果,并没有添加其他效果,例如头部的类似关注与推荐功能.广告.右侧按钮等等,这些功能可按项目需求添加,在这里我就不多bb了. 先看下模拟器上的成品图. ps:手 ...
最新文章
- js 获取图片url的Blob值并预览
- 跑步app保活_android判断不同手机厂商,打开允许后台运行APP弹窗
- Redis启动报错:[27960] 19 Mar 13:52:32.642 # Creating Server TCP listening socket 127.0.0.1:6379: bind: N
- python语言保留字的特点_python保留字及其说明
- MySQL开源工具推荐,有了它我卸了珍藏多年Nactive!
- 为什么技术人干得越久越拿不到高薪?
- 杨凌职业技术学院计算机专业宿舍,杨凌职业技术学院宿舍条件,宿舍图片和环境空调及分配方法...
- 李宏毅机器学习——无监督学习(四)
- Docker的核心概念镜像Images, 容器Containers, 数据卷Volumes
- gopython 获取python 全局线程锁失败_Python之路(第四十三篇)线程的生命周期、全局解释器锁...
- 小程序消息提示框标题字数限制
- 渗透测试-安全岗位面试题总结(含答案)
- 江苏省计算机一级主要考什么,江苏省计算机一级考试复习资料 很全面的
- CICD -- pipeline 流水线
- eNSP基础实验日记一
- 张坤 2012.5.4 sed去掉所有的HTML标签
- 计算机科技英语文章及翻译,计算机专业英语短文翻译.doc
- 收获之英雄会产品论坛
- 设计模式之工厂模式详解和应用
- 透过OpenStack Ocata贡献排名看中国力量强势崛起