Merge pull request 'xbx' (#133) from xbx into master

Reviewed-on: http://git.luyuan.tk/luyuan/beelink/pulls/133
This commit is contained in:
luyuan 2020-11-13 17:22:37 +08:00
commit 5fdd0c3fc6
13 changed files with 79 additions and 60 deletions

View File

@ -7,6 +7,15 @@
<meta name="viewport" content="width=device-width,initial-scale=1.0"> <meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico"> <link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title><%= htmlWebpackPlugin.options.title %></title> <title><%= htmlWebpackPlugin.options.title %></title>
<link href="http://imgcache.qq.com/open/qcloud/video/tcplayer/tcplayer.css" rel="stylesheet">
<!-- 如需在IE8、9浏览器中初始化播放器浏览器需支持Flash并在页面中引入 -->
<!--[if lt IE 9]>
<script src="//imgcache.qq.com/open/qcloud/video/tcplayer/ie8/videojs-ie8.js"></script>
<![endif]-->
<!-- 如果需要在 Chrome Firefox 等现代浏览器中通过H5播放hls需要引入 hls.js -->
<script src="http://imgcache.qq.com/open/qcloud/video/tcplayer/lib/hls.min.0.8.8.js"></script>
<!-- 引入播放器 js 文件 -->
<script src="http://imgcache.qq.com/open/qcloud/video/tcplayer/tcplayer.min.js"></script>
<script> <script>
//designWidth:设计稿的实际宽度值,需要根据实际设置 //designWidth:设计稿的实际宽度值,需要根据实际设置
//maxWidth:制作稿的最大宽度值,需要根据实际设置 //maxWidth:制作稿的最大宽度值,需要根据实际设置

View File

@ -12,28 +12,8 @@
<body> <body>
<div id="root"> <div id="root">
<!-- 登录页面 -->
<div id="login-root">
<!-- 登录卡片 -->
<div id="login-card" class="card">
<!-- 顶部三个蓝条 -->
<div class="row-div" style="width: 100%; height: 10px">
<div style="width: 190px; height: 100%; background-color: #006EFF"></div>
<div style="width: 160px; height: 100%; background-color: #00A4FF"></div>
<div style="width: 100px; height: 100%; background-color: #5AD5E0"></div>
</div>
<!-- 腾讯云logo -->
<div class="row-div" style="width: 100%; height: 100px; justify-content: center">
<img style="height: 23px" src="./img/logo.png" alt="">
<div style="width: 9px"></div>
<div style="width: 1px; height: 10px; background-color: #D8D8D8"></div>
<div style="width: 9px"></div>
<div style="width: 86px; height: 23px; font-size: 18px; color: #333333">视频通话</div>
</div>
<!-- 用户名 房间号 登录按钮-->
</div>
</div>
<!-- 设备检测界面弹窗 --> <!-- 设备检测界面弹窗 -->
<div id="device-testing-root" style="display: none;"> <div id="device-testing-root" style="display: none;">
<!-- 设备检测卡片 --> <!-- 设备检测卡片 -->
@ -269,25 +249,20 @@
<!-- 聊天室页面 --> <!-- 聊天室页面 -->
<div id="room-root" class="col-div"> <div id="room-root" class="col-div">
<!-- header --> <!-- header -->
<div class="row-div card" style="width: 100%; height: 65px; justify-content: space-between"> <div class="row-div card" style="width: 100%; height: 65px; justify-content: space-between;border-radius: 17px;">
<!-- 腾讯云logo --> <!-- 腾讯云logo -->
<div class="row-div" style="height: 100%; width: 230px; justify-content: center"> <div class="row-div" style="height: 100%; width: 230px; justify-content: center">
<img style="height: 23px" src="./img/logo.png" alt="">
<div style="width: 9px"></div> <div style="width: 86px; height: 23px; font-size: 18px; color: #333333">直播页面</div>
<div style="width: 1px; height: 10px; background-color: #D8D8D8"></div>
<div style="width: 9px"></div>
<div style="width: 86px; height: 23px; font-size: 18px; color: #333333">视频通话</div>
</div> </div>
<!-- 分享屏幕 退出 按钮 --> <!-- 分享屏幕 退出 按钮 -->
<div class="row-div" style="height: 100%; width: auto;"> <div class="row-div" style="height: 100%; width: auto;margin-right: 28px;">
<img id="screen-btn" style="width: 65px; height: 65px" src="./img/screen-off.png" alt=""> <img id="screen-btn" style="width: 45px; height: 45px" src="./img/screen-off.png" alt="">
<div style="width: 20px"></div> <div style="width: 20px"></div>
<img id="logout-btn" style="width: 65px; height: 65px" src="./img/logout.png" alt=""> <img id="logout-btn" style="width: 45px; height: 45px" src="./img/logout.png" alt="">
</div> </div>
<!-- 房间号 -->
<div id="header-roomId"
style="width: 230px; justify-content: flex-end; padding-right: 20px; font-size: 14px; color: #888888">
房间号: 12345</div>
</div> </div>
<!-- content --> <!-- content -->
<div class="row-div" style="height: 100%; width: 100%; padding: 10px"> <div class="row-div" style="height: 100%; width: 100%; padding: 10px">
@ -310,17 +285,7 @@
</div> </div>
</div> </div>
</div> </div>
<!-- 广告 -->
<div class="col-div" style="width: 100%; height: 244px">
<div style="width: 280px; height: 1px; background-color: #f0f0f0"></div>
<div class="row-div" style="width: 100%; height: 186px; justify-content: center">
<img style="height: 150px" src="./img/code.jpg" alt="">
<div style="width: 46px"></div>
<img style="height: 150px" src="./img/shot.png" alt="">
</div>
<div style="width: 290px; font-size: 14px; color: #888888">微信扫一扫打开小程序,点击“视频通话”即可加入通话
</div>
</div>
</div> </div>
</div> </div>
<!-- 视频网格 --> <!-- 视频网格 -->

View File

@ -769,7 +769,8 @@ export async function putmember(data: any): Promise<any>{
language: data.languageValue, language: data.languageValue,
tlanguage: data.tlanguageValue, tlanguage: data.tlanguageValue,
video: data.video, video: data.video,
desc: data.desc desc: data.desc,
videoid: data.videoid
} }
console.log(newdata) console.log(newdata)
const res = await put<Liveaddrule>(`member/${store.state.userinfo.memberid}`, newdata) const res = await put<Liveaddrule>(`member/${store.state.userinfo.memberid}`, newdata)

View File

@ -76,7 +76,8 @@
.info{ .info{
display: flex; display: flex;
align-items: center; align-items: center;
margin-top: 18px; margin-top: 9px;
margin-bottom: 9px;
margin-left: 18px; margin-left: 18px;
.datetime{ .datetime{

View File

@ -1,6 +1,6 @@
<template> <template>
<div class="video"> <div class="video">
<video :controls="true" :src="info.livestatus == 0 ? info.fileurl : info.vodurl"></video> <video :id=" 'a' + time" style="width:100%;height:100%"></video>
<div class="liveinfo"> <div class="liveinfo">
<div class="left"> <div class="left">
<div> <div>
@ -38,11 +38,14 @@
height: 563px; height: 563px;
border-radius: 18px; border-radius: 18px;
overflow: hidden; overflow: hidden;
display: flex;
flex-direction: column;
> video { > video {
width: 100%; width: 100%;
height: 505px; height: 505px;
} }
.liveinfo{ .liveinfo{
flex-shrink: 0;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
height: 58px; height: 58px;
@ -87,7 +90,8 @@
import { livestart } from '@/api'; import { livestart } from '@/api';
import router from '@/router'; import router from '@/router';
import { useI18n } from '@/utils/i18n'; import { useI18n } from '@/utils/i18n';
import { defineComponent, ref } from "vue"; import { defineComponent, onUpdated, ref } from "vue";
import { onBeforeRouteLeave } from 'vue-router';
export default defineComponent({ export default defineComponent({
props:{ props:{
@ -110,12 +114,30 @@ export default defineComponent({
}) })
} }
} }
const time = ref(new Date().getTime())
let play: any;
onUpdated(()=>{
// console.log(props.url)
if(props.info){
play = window.TCPlayer('a' + time.value, {
fileID: (props.info.livestatus == 0 ? props.info.fileid : props.info.vodid),
appID: '1303872925'
});
}
})
onBeforeRouteLeave((to, from, next) => {
console.log(121)
play.dispose()
next()
})
// const liveinfo = ref(props.liveinfo) // const liveinfo = ref(props.liveinfo)
return { return {
bianji, bianji,
kaishi, kaishi,
lan lan,
time
} }
}, }
}); });
</script> </script>

View File

@ -76,7 +76,8 @@
.info{ .info{
display: flex; display: flex;
align-items: center; align-items: center;
margin-top: 18px; margin-top: 9px;
margin-bottom: 9px;
margin-left: 18px; margin-left: 18px;
.datetime{ .datetime{

View File

@ -1,7 +1,7 @@
<template> <template>
<div class="video"> <div class="video">
<video :src="url" :controls="true"></video> <video style="width:100%; height:100%;" :id="'a' + url" ></video>
</div> </div>
</template> </template>
<style lang="scss" scoped> <style lang="scss" scoped>
@ -19,7 +19,9 @@
} }
</style> </style>
<script lang="ts"> <script lang="ts">
import { defineComponent } from 'vue'; import router from '@/router';
import { defineComponent, onMounted, onUpdated } from 'vue';
import { onBeforeRouteLeave, useRouter } from 'vue-router';
export default defineComponent({ export default defineComponent({
props:{ props:{
@ -27,8 +29,22 @@ export default defineComponent({
type:String type:String
} }
}, },
setup(){ setup(props, ctx){
console.log(1) console.log(1)
let play: any;
onUpdated(()=>{
console.log(props.url)
play = window.TCPlayer('a' + props.url, {
fileID: props.url,
appID: '1303872925'
});
})
onBeforeRouteLeave((to, from, next) => {
console.log(121)
play.dispose()
next()
})
} }
}) })
</script> </script>

2
src/import-png.d.ts vendored
View File

@ -19,3 +19,5 @@ declare module 'tim-js-sdk'{
} }
declare var FB: any; declare var FB: any;
declare var TCPlayer: any;

View File

@ -45,6 +45,7 @@ export default createStore({
uid: "", uid: "",
updatedAt: "", updatedAt: "",
video: "", video: "",
videoid: 0,
willsay: [{name: "请选择", level: 0}], willsay: [{name: "请选择", level: 0}],
willsayValue: [{name: "0", level: 0}], willsayValue: [{name: "0", level: 0}],
zoneStr: "中途岛GMT-11:00", zoneStr: "中途岛GMT-11:00",

View File

@ -6,7 +6,7 @@ interface OnFunctio {
} }
interface UploaderDone { interface UploaderDone {
fileId: string; fileId: number;
video: { video: {
url: string; url: string;
verify_content: string; verify_content: string;

View File

@ -932,6 +932,7 @@ export default defineComponent({
uploadprogress.value = info.percent.toFixed(2) * 100; uploadprogress.value = info.percent.toFixed(2) * 100;
}); });
userinfo.value.video = res.video.url; userinfo.value.video = res.video.url;
userinfo.value.videoid = res.fileId;
} }
if (formData.value.video != "") { if (formData.value.video != "") {

View File

@ -257,7 +257,7 @@ export default defineComponent({
const form = ref({ const form = ref({
title: "", title: "",
img: "", img: "",
fileid: "", fileid: 0,
fileurl: "", fileurl: "",
fileduration: 0, fileduration: 0,
dateline: "", dateline: "",

View File

@ -1,7 +1,7 @@
<template> <template>
<div class="videoinfo"> <div class="videoinfo">
<div class="info"> <div class="info">
<VideoPlay :url="result.fileurl"></VideoPlay> <VideoPlay :url="result.fileid"></VideoPlay>
<VideoCont :videoid="result.videoid" :yuanyin="result.statusdesc" :date="result.createdAt" :watch="result.watch" :share="result.share" :status="result.status"></VideoCont> <VideoCont :videoid="result.videoid" :yuanyin="result.statusdesc" :date="result.createdAt" :watch="result.watch" :share="result.share" :status="result.status"></VideoCont>
</div> </div>
<VideoReview :videoinfo="result.score" class="review" v-if="result.status == 1"></VideoReview> <VideoReview :videoinfo="result.score" class="review" v-if="result.status == 1"></VideoReview>