duoyuyan
This commit is contained in:
parent
99a36363da
commit
c5c5a8f7b1
@ -1,8 +1,8 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="cont">
|
<div class="cont">
|
||||||
<div class="title">
|
<div class="title">
|
||||||
<div>上课学生</div>
|
<div>{{lan.$t('shangkexuesheng')}}</div>
|
||||||
<div class="more" @click="toxq">查看详情</div>
|
<div class="more" @click="toxq">{{lan.$t('chakanxiangqing')}}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<div class="item" v-for="(i, j) in list" :key="j">
|
<div class="item" v-for="(i, j) in list" :key="j">
|
||||||
@ -14,7 +14,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="takehour" v-if="i.status == 1 && livestatus == 2">
|
<div class="takehour" v-if="i.status == 1 && livestatus == 2">
|
||||||
参加时长
|
{{lan.$t('canjiashichang')}}
|
||||||
<div>30min</div>
|
<div>30min</div>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
@ -22,10 +22,10 @@
|
|||||||
v-if="i.status == 2 || (livestatus == 0 && i.status == 1)"
|
v-if="i.status == 2 || (livestatus == 0 && i.status == 1)"
|
||||||
@click="quxiao(j)"
|
@click="quxiao(j)"
|
||||||
>
|
>
|
||||||
取消直播
|
{{lan.$t('quxiaozhibo')}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="refuse" v-if="i.status == 3">已拒绝</div>
|
<div class="refuse" v-if="i.status == 3">{{lan.$t('yijujue')}}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-container">
|
<div class="modal-container">
|
||||||
<a-modal
|
<a-modal
|
||||||
@ -41,17 +41,17 @@
|
|||||||
</template>
|
</template>
|
||||||
<!-- 换绑手机号第一步 -->
|
<!-- 换绑手机号第一步 -->
|
||||||
<div class="yuanyin">
|
<div class="yuanyin">
|
||||||
请输入您举着该学生参与直播的原因
|
{{lan.$t('jujueyuanyintext')}}
|
||||||
</div>
|
</div>
|
||||||
<div class="body">
|
<div class="body">
|
||||||
<div class="jubao">拒绝原因</div>
|
<div class="jubao">{{lan.$t('juejueyuanyin')}}</div>
|
||||||
<a-textarea
|
<a-textarea
|
||||||
v-model:value="text"
|
v-model:value="text"
|
||||||
class="text"
|
class="text"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="submit-btn" @click="sum">
|
<div class="submit-btn" @click="sum">
|
||||||
确认拒绝
|
{{lan.$t('querenjujue')}}
|
||||||
</div>
|
</div>
|
||||||
</a-modal>
|
</a-modal>
|
||||||
</div>
|
</div>
|
||||||
@ -237,6 +237,7 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { cancellive, refusedtolive } from '@/api';
|
import { cancellive, refusedtolive } from '@/api';
|
||||||
import router from '@/router';
|
import router from '@/router';
|
||||||
|
import { useI18n } from '@/utils/i18n';
|
||||||
import { defineComponent, ref, toRaw, watch } from "vue";
|
import { defineComponent, ref, toRaw, watch } from "vue";
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
@ -246,6 +247,7 @@ export default defineComponent({
|
|||||||
zid:Number
|
zid:Number
|
||||||
},
|
},
|
||||||
setup(props) {
|
setup(props) {
|
||||||
|
const lan: any = useI18n();
|
||||||
const modalNode = () => document.getElementsByClassName('modal-container')[0]
|
const modalNode = () => document.getElementsByClassName('modal-container')[0]
|
||||||
const updatePhoneVisible = ref(false)
|
const updatePhoneVisible = ref(false)
|
||||||
const sid = ref(0)
|
const sid = ref(0)
|
||||||
@ -291,7 +293,8 @@ export default defineComponent({
|
|||||||
hidePhoneModal,
|
hidePhoneModal,
|
||||||
sum,
|
sum,
|
||||||
text,
|
text,
|
||||||
toxq
|
toxq,
|
||||||
|
lan
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<img src="@/static/images/play.png" alt="" class="play">
|
<img src="@/static/images/play.png" alt="" class="play">
|
||||||
<div class="title">
|
<div class="title">
|
||||||
<div class="one-line-hide">{{title}}</div>
|
<div class="one-line-hide">{{title}}</div>
|
||||||
<span class="lv">{{score}}分</span>
|
<span class="lv">{{score}} {{lan.$t('fen')}}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<div class="datetime">
|
<div class="datetime">
|
||||||
@ -23,13 +23,13 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="state audit" v-if="status==0">
|
<div class="state audit" v-if="status==0">
|
||||||
还未开始
|
{{lan.$t('haiweikaishi')}}
|
||||||
</div>
|
</div>
|
||||||
<div class="state live" v-if="status==1">
|
<div class="state live" v-if="status==1">
|
||||||
进入直播
|
{{lan.$t('jinruzhibo')}}
|
||||||
</div>
|
</div>
|
||||||
<div class="state over" v-if="status==2">
|
<div class="state over" v-if="status==2">
|
||||||
查看回放
|
{{lan.$t('chakanhuifang')}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -135,6 +135,7 @@
|
|||||||
</style>
|
</style>
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import router from '@/router';
|
import router from '@/router';
|
||||||
|
import { useI18n } from '@/utils/i18n';
|
||||||
import { defineComponent } from 'vue';
|
import { defineComponent } from 'vue';
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
@ -169,6 +170,7 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
setup(props){
|
setup(props){
|
||||||
|
const lan: any = useI18n();
|
||||||
function navto(){
|
function navto(){
|
||||||
let url = '';
|
let url = '';
|
||||||
switch (props.type) {
|
switch (props.type) {
|
||||||
@ -187,7 +189,8 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
navto
|
navto,
|
||||||
|
lan
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
<div class="left">
|
<div class="left">
|
||||||
<div>
|
<div>
|
||||||
<img src="@/static/images/livelesson.png" alt="" class="icon">
|
<img src="@/static/images/livelesson.png" alt="" class="icon">
|
||||||
<span>西班牙语</span>
|
<span>{{lan.$t('xiabanyayu')}}</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<img src="@/static/images/livewatch.png" alt="" class="icon">
|
<img src="@/static/images/livewatch.png" alt="" class="icon">
|
||||||
@ -17,15 +17,15 @@
|
|||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<img src="@/static/images/shoucang.png" alt="" class="icon">
|
<img src="@/static/images/shoucang.png" alt="" class="icon">
|
||||||
<span class="score">5.0分</span>
|
<span class="score">5.0{{lan.$t('fen')}}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="display: flex">
|
<div style="display: flex">
|
||||||
<div class="right" @click="bianji">
|
<div class="right" @click="bianji">
|
||||||
编辑信息
|
{{lan.$t('bianjixinxi')}}
|
||||||
</div>
|
</div>
|
||||||
<div class="right" @click="kaishi">
|
<div class="right" @click="kaishi">
|
||||||
开始直播
|
{{lan.$t('kaishizhibo')}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -85,6 +85,7 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { livestart } from '@/api';
|
import { livestart } from '@/api';
|
||||||
import router from '@/router';
|
import router from '@/router';
|
||||||
|
import { useI18n } from '@/utils/i18n';
|
||||||
import { defineComponent, ref } from "vue";
|
import { defineComponent, ref } from "vue";
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
@ -92,6 +93,7 @@ export default defineComponent({
|
|||||||
info: Object
|
info: Object
|
||||||
},
|
},
|
||||||
setup(props) {
|
setup(props) {
|
||||||
|
const lan: any = useI18n();
|
||||||
console.log(props.info);
|
console.log(props.info);
|
||||||
function bianji(){
|
function bianji(){
|
||||||
if(props.info != undefined){
|
if(props.info != undefined){
|
||||||
@ -110,7 +112,8 @@ export default defineComponent({
|
|||||||
// const liveinfo = ref(props.liveinfo)
|
// const liveinfo = ref(props.liveinfo)
|
||||||
return {
|
return {
|
||||||
bianji,
|
bianji,
|
||||||
kaishi
|
kaishi,
|
||||||
|
lan
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
@ -5,12 +5,13 @@
|
|||||||
<div :class="item.route==nowroute?'active':''">{{ item.name }}</div>
|
<div :class="item.route==nowroute?'active':''">{{ item.name }}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="copyright" :style="color">Beelink公司版权所有 2019—2022</div>
|
<div class="copyright" :style="color">{{lan.$t("banquan")}}</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import router from '@/router';
|
import router from '@/router';
|
||||||
|
import { useI18n } from '@/utils/i18n';
|
||||||
import { defineComponent, onMounted, ref } from 'vue';
|
import { defineComponent, onMounted, ref } from 'vue';
|
||||||
import { useRoute } from 'vue-router';
|
import { useRoute } from 'vue-router';
|
||||||
|
|
||||||
@ -19,6 +20,7 @@ export default defineComponent({
|
|||||||
color: Object
|
color: Object
|
||||||
},
|
},
|
||||||
setup(){
|
setup(){
|
||||||
|
const lan: any = useI18n();
|
||||||
interface Nav{
|
interface Nav{
|
||||||
name: string;
|
name: string;
|
||||||
route: string;
|
route: string;
|
||||||
@ -27,24 +29,42 @@ export default defineComponent({
|
|||||||
const routes=useRoute()
|
const routes=useRoute()
|
||||||
const nowroute=ref<string>(routes.path)
|
const nowroute=ref<string>(routes.path)
|
||||||
console.log(routes.path)
|
console.log(routes.path)
|
||||||
const navArray: Array<Nav> = [
|
const navArray: Array<Nav> = [
|
||||||
{
|
{
|
||||||
name: "直播管理",
|
name: lan.$t('zhiboguanli'),
|
||||||
route: "/regime/live"
|
route: "/regime/live"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "视频管理",
|
name: lan.$t('shipinguanli'),
|
||||||
route: "/regime/video"
|
route: "/regime/video"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "订阅者管理",
|
name: lan.$t("dingyuezheguanli"),
|
||||||
route: "/regime/subscriber"
|
route: "/regime/subscriber"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "个人中心",
|
name: lan.$t("gerenzhongxin"),
|
||||||
route: "/mine/archives"
|
route: "/mine/archives"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
// const navArray: Array<Nav> = [
|
||||||
|
// {
|
||||||
|
// name: "直播管理",
|
||||||
|
// route: "/regime/live"
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// name: "视频管理",
|
||||||
|
// route: "/regime/video"
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// name: "订阅者管理",
|
||||||
|
// route: "/regime/subscriber"
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// name: "个人中心",
|
||||||
|
// route: "/mine/archives"
|
||||||
|
// }
|
||||||
|
// ]
|
||||||
function navto(url: string){
|
function navto(url: string){
|
||||||
nowroute.value=url
|
nowroute.value=url
|
||||||
router.push(url)
|
router.push(url)
|
||||||
@ -55,7 +75,8 @@ export default defineComponent({
|
|||||||
return {
|
return {
|
||||||
navArray,
|
navArray,
|
||||||
navto,
|
navto,
|
||||||
nowroute
|
nowroute,
|
||||||
|
lan
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -11,10 +11,10 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="num">{{(score+'').split('.')[1]?score:score+'.0'}}分</div>
|
<div class="num">{{(score+'').split('.')[1]?score:score+'.0'}} {{lan.$t('fen')}}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="all" @click="findall(replyid)" >
|
<div class="all" @click="findall(replyid)" >
|
||||||
<span>查看所有回复</span>
|
<span>={{lan.$t('suoyouhuifu')}}</span>
|
||||||
<img src="@/static/images/arrowdownblue.png" alt="">
|
<img src="@/static/images/arrowdownblue.png" alt="">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -23,7 +23,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="bottom">
|
<div class="bottom">
|
||||||
<div class="date">{{date}}</div>
|
<div class="date">{{date}}</div>
|
||||||
<div class="reply" @click="reply(username)">回复</div>
|
<div class="reply" @click="reply(username)">{{lan.$t('huifu ')}}</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="huifu" v-if="ifshow">
|
<div class="huifu" v-if="ifshow">
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
回复
|
回复
|
||||||
</div> -->
|
</div> -->
|
||||||
<div class="del" @click="del(replyid)" v-if="parseInt(memberid)==myid">
|
<div class="del" @click="del(replyid)" v-if="parseInt(memberid)==myid">
|
||||||
删除
|
{{lan.$t('shanchu')}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -99,6 +99,7 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { delreply } from '@/api';
|
import { delreply } from '@/api';
|
||||||
import store from '@/store';
|
import store from '@/store';
|
||||||
|
import { useI18n } from '@/utils/i18n';
|
||||||
import { defineComponent, ref } from 'vue';
|
import { defineComponent, ref } from 'vue';
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
@ -126,6 +127,7 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
setup(prop,context){
|
setup(prop,context){
|
||||||
|
const lan: any = useI18n();
|
||||||
const myid=ref<number>(store.state.userinfo.memberid)
|
const myid=ref<number>(store.state.userinfo.memberid)
|
||||||
function reply(e?: string){
|
function reply(e?: string){
|
||||||
console.log(155)
|
console.log(155)
|
||||||
@ -144,7 +146,8 @@ export default defineComponent({
|
|||||||
return {
|
return {
|
||||||
reply,
|
reply,
|
||||||
myid,
|
myid,
|
||||||
del
|
del,
|
||||||
|
lan
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -1,49 +1,47 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="cont">
|
<div class="cont">
|
||||||
<div class="title">视频数据</div>
|
<div class="title">{{lan.$t('shipinshuju')}}</div>
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<img src="@/static/images/livewatch.png" alt="" />
|
<img src="@/static/images/livewatch.png" alt="" />
|
||||||
<span> 上传时间: </span>
|
<span> {{lan.$t('shangchuanshijian')}} </span>
|
||||||
<span>{{date}}</span>
|
<span>{{date}}</span>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<img src="@/static/images/watch.png" alt="" />
|
<img src="@/static/images/watch.png" alt="" />
|
||||||
<span>播放量</span>
|
<span>{{lan.$t('bofangliang')}}</span>
|
||||||
<span> {{watch}}</span>
|
<span> {{watch}}</span>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<img src="@/static/images/share.png" alt="" />
|
<img src="@/static/images/share.png" alt="" />
|
||||||
<span>转发量</span>
|
<span>{{lan.$t('zhuanfaliang')}}</span>
|
||||||
<span>{{share}}</span>
|
<span>{{share}}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="item item1" v-if="status==0">
|
<div class="item item1" v-if="status==0">
|
||||||
<span>状态</span>
|
<span>{{lan.$t('zhuangtai')}}</span>
|
||||||
<span class="status">正在审核中,情耐心等待</span>
|
<span class="status">{{lan.$t('shenheing')}}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="item item1" v-if="status==2">
|
<div class="item item1" v-if="status==2">
|
||||||
<span>状态</span>
|
<span>{{lan.$t('zhuangtai')}}</span>
|
||||||
<span class="status1">审核未通过</span>
|
<span class="status1">{{lan.$t('shenheweitongguo')}}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="item item1" v-if="status==1">
|
<div class="item item1" v-if="status==1">
|
||||||
<span style="flex-shrink:0">原因</span>
|
<span style="flex-shrink:0">{{lan.$t('yuanyin')}}</span>
|
||||||
<span class="status">您的视频中含有大量敏感词汇,请修改后再次上传,感谢您对Beelink的技术支持 </span>
|
<span class="status"> {{lan.$t('yuanyintext')}} </span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="button">
|
<div class="button">
|
||||||
<div class="modify" @click="update(videoid)">修改该视频</div>
|
<div class="modify" @click="update(videoid)">{{lan.$t('xiugaishipin')}}</div>
|
||||||
<div class="del" @click="drop(videoid)">删除该视频</div>
|
<div class="del" @click="drop(videoid)">{{lan.$t('shanchushipin')}}</div>
|
||||||
<a-modal
|
<a-modal
|
||||||
title="确认删除"
|
title="确认删除"
|
||||||
v-model:visible="visible"
|
v-model:visible="visible"
|
||||||
:confirm-loading="confirmLoading"
|
:confirm-loading="confirmLoading"
|
||||||
@ok="handleOk"
|
@ok="handleOk"
|
||||||
okText="确定"
|
|
||||||
cancelText="取消"
|
|
||||||
>
|
>
|
||||||
<p>您确认删除该视频吗?</p>
|
<p>{{lan.$t('querenshanchu')}}</p>
|
||||||
</a-modal>
|
</a-modal>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -118,6 +116,7 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { videodel } from '@/api';
|
import { videodel } from '@/api';
|
||||||
import router from '@/router';
|
import router from '@/router';
|
||||||
|
import { useI18n } from '@/utils/i18n';
|
||||||
import { defineComponent, ref } from "vue";
|
import { defineComponent, ref } from "vue";
|
||||||
import { useRoute } from 'vue-router';
|
import { useRoute } from 'vue-router';
|
||||||
|
|
||||||
@ -140,6 +139,7 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
setup(){
|
setup(){
|
||||||
|
const lan: any = useI18n();
|
||||||
console.log(1)
|
console.log(1)
|
||||||
const visible = ref(false);
|
const visible = ref(false);
|
||||||
const confirmLoading = ref(false);
|
const confirmLoading = ref(false);
|
||||||
@ -166,7 +166,8 @@ export default defineComponent({
|
|||||||
update,
|
update,
|
||||||
confirmLoading,
|
confirmLoading,
|
||||||
visible,
|
visible,
|
||||||
handleOk
|
handleOk,
|
||||||
|
lan
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -24,13 +24,13 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="state audit" v-if="status==0">
|
<div class="state audit" v-if="status==0">
|
||||||
审核中
|
{{lan.$t('shenhezhong')}}
|
||||||
</div>
|
</div>
|
||||||
<div class="state audit fail" v-if="status==2">
|
<div class="state audit fail" v-if="status==2">
|
||||||
未通过
|
{{lan.$t('weitongguo')}}
|
||||||
</div>
|
</div>
|
||||||
<div class="state audit" v-if="status==1">
|
<div class="state audit" v-if="status==1">
|
||||||
已发布
|
{{lan.$t('yifabu')}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -130,6 +130,7 @@
|
|||||||
</style>
|
</style>
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import router from '@/router';
|
import router from '@/router';
|
||||||
|
import { useI18n } from '@/utils/i18n';
|
||||||
import { defineComponent } from 'vue';
|
import { defineComponent } from 'vue';
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
@ -167,12 +168,14 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
setup() {
|
setup() {
|
||||||
|
const lan: any = useI18n();
|
||||||
function navto(e: number){
|
function navto(e: number){
|
||||||
router.push("/regime/videoinfo?id="+e)
|
router.push("/regime/videoinfo?id="+e)
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
navto,
|
navto,
|
||||||
|
lan
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -2,10 +2,10 @@
|
|||||||
<div class="review">
|
<div class="review">
|
||||||
<div class="top">
|
<div class="top">
|
||||||
<div class="title">
|
<div class="title">
|
||||||
该视频评价
|
{{lan.$t('shipinpingjia')}}
|
||||||
<span>8.0分</span>
|
<span>8.0{{lan.$t('fen')}}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="score">8.0分</div>
|
<div class="score">8.0{{lan.$t('fen')}}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="list" v-for="(i,j) in reviewlist.data" :key="j" >
|
<div class="list" v-for="(i,j) in reviewlist.data" :key="j" >
|
||||||
<ReviewItem
|
<ReviewItem
|
||||||
@ -25,8 +25,8 @@
|
|||||||
|
|
||||||
<div class="reply">
|
<div class="reply">
|
||||||
<span v-if="uinfo.name">@{{uinfo.name}}</span>
|
<span v-if="uinfo.name">@{{uinfo.name}}</span>
|
||||||
<a-textarea v-model:value="commentval" placeholder="Basic usage" :rows="4" />
|
<a-textarea v-model:value="commentval" :placeholder="lan.$t('shuruliuyan')" :rows="4" />
|
||||||
<div class="send" @click="send">发表留言</div>
|
<div class="send" @click="send">{{lan.$t('fabiaoliuyan')}}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -93,6 +93,7 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { addcomment, getcommentlist, videodetail } from '@/api';
|
import { addcomment, getcommentlist, videodetail } from '@/api';
|
||||||
import store from '@/store';
|
import store from '@/store';
|
||||||
|
import { useI18n } from '@/utils/i18n';
|
||||||
import { message } from 'ant-design-vue';
|
import { message } from 'ant-design-vue';
|
||||||
import { defineComponent, onMounted, ref, toRaw } from 'vue';
|
import { defineComponent, onMounted, ref, toRaw } from 'vue';
|
||||||
import { useRoute } from 'vue-router';
|
import { useRoute } from 'vue-router';
|
||||||
@ -109,6 +110,7 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
setup(prop,context){
|
setup(prop,context){
|
||||||
|
const lan: any = useI18n();
|
||||||
const reviewlist=ref({})
|
const reviewlist=ref({})
|
||||||
const commentval=ref<string>('')
|
const commentval=ref<string>('')
|
||||||
const uinfo=ref<any>({})
|
const uinfo=ref<any>({})
|
||||||
@ -166,7 +168,8 @@ export default defineComponent({
|
|||||||
replylist,
|
replylist,
|
||||||
haslist,
|
haslist,
|
||||||
reviewlist,
|
reviewlist,
|
||||||
refresh
|
refresh,
|
||||||
|
lan
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
108
src/i18n/zh.ts
108
src/i18n/zh.ts
@ -11,6 +11,7 @@ export default {
|
|||||||
haiweikaishi: "还未开始",
|
haiweikaishi: "还未开始",
|
||||||
yijueshi: "已结束",
|
yijueshi: "已结束",
|
||||||
jinruzhibo: "进入直播",
|
jinruzhibo: "进入直播",
|
||||||
|
chakanhuifang:"查看回放",
|
||||||
quanbushipin: "全部视频",
|
quanbushipin: "全部视频",
|
||||||
shenhezhong: "审核中",
|
shenhezhong: "审核中",
|
||||||
weitongguo: "未通过",
|
weitongguo: "未通过",
|
||||||
@ -81,6 +82,109 @@ export default {
|
|||||||
yanzhengxinxi:"验证账号信息,重置密码",
|
yanzhengxinxi:"验证账号信息,重置密码",
|
||||||
chongzhiwancheng:"密码重置完成",
|
chongzhiwancheng:"密码重置完成",
|
||||||
xiugaitouxiang:"修改头像",
|
xiugaitouxiang:"修改头像",
|
||||||
xiugai:"修改"
|
xiugai:"修改",
|
||||||
|
shuruxinnicheng:"请输入新的昵称",
|
||||||
|
jibenxinxi:"基本信息",
|
||||||
|
laiziguojia:"来自国家",
|
||||||
|
juzhudi:"居住地",
|
||||||
|
shurujuzhudi:"输入居住地",
|
||||||
|
wohaihuishuo:"我还会说",
|
||||||
|
shuliandu:"熟练度",
|
||||||
|
jixutianjia:"继续添加",
|
||||||
|
xindemuyu:"请输入新的母语",
|
||||||
|
duanshipin:"短视频",
|
||||||
|
shipinyaoqiu:"视频要求:",
|
||||||
|
shipinyaoqiu1:"上传视频时间要求为30s之内",
|
||||||
|
shipinyaoqiu2:"支持文件大小100M",
|
||||||
|
shipinyaoqiu3:"文件扩展名:fiv、mp4…",
|
||||||
|
ziwojieshao:"自我介绍",
|
||||||
|
lianxifangshi:"联系方式",
|
||||||
|
genghuanshoujihao:"更换手机号",
|
||||||
|
xitongshezhi:"系统设置",
|
||||||
|
shiqu:"时区",
|
||||||
|
huobi:"货币",
|
||||||
|
yuyan:"语言",
|
||||||
|
wanchengrenzheng:"请完成以下认证",
|
||||||
|
shuru:"请输入",
|
||||||
|
shoudaodeyzm:"收到的验证短信码",
|
||||||
|
shoujiyanzhengma:"手机验证码",
|
||||||
|
huoquyanzhengma:"获取验证码",
|
||||||
|
bangdingxinhaoma:"完成以下操作,绑定新号码",
|
||||||
|
bangdingshouji:"绑定手机",
|
||||||
|
xiugaizhanghaomima:"完成以下操作,修改账号密码",
|
||||||
|
yuanmima:"原密码",
|
||||||
|
xinmima:"新密码",
|
||||||
|
xinmimatwo:"确认新密码",
|
||||||
|
xiugaimima:"修改密码",
|
||||||
|
baocun:"保存信息",
|
||||||
|
gerenjieshao:"请输入个人介绍",
|
||||||
|
shangchuanshipin:"上传视频",
|
||||||
|
shipinbiaoti:"视频标题",
|
||||||
|
shurushipinbiaoti:"请输入您的视频标题",
|
||||||
|
shipinfengmian:"视频封面",
|
||||||
|
xuanzeshipin:"选择视频",
|
||||||
|
shipinjianjie:"视频简介",
|
||||||
|
shurushipinjianjie:"请输入您的视频简介",
|
||||||
|
zhiboxinxi:"直播信息",
|
||||||
|
zhibobiaoti:"直播标题",
|
||||||
|
shuruzhibobiaoti:"请输入您的直播标题",
|
||||||
|
zhibofengmian:"直播封面",
|
||||||
|
shipinjieshao:"视频介绍",
|
||||||
|
kaishishijian:"开始时间",
|
||||||
|
shezhikaishishijian:"请设置您的开始时间",
|
||||||
|
zhiboshichang:"直播时长",
|
||||||
|
shuruzhiboshijian:"请输入直播时间",
|
||||||
|
fenzhong:"分钟",
|
||||||
|
zhiborenshu:"直播人数",
|
||||||
|
shuruzhiborenshu:"请输入直播人数",
|
||||||
|
zhibojianjie:"直播简介",
|
||||||
|
shuruzhibojianjie:"请输入您的直播简介",
|
||||||
|
fabuzhibo:"发布直播",
|
||||||
|
wuzhibozige:"您尚未获得直播资格",
|
||||||
|
yijianfankui:"意见反馈",
|
||||||
|
fen:"分",
|
||||||
|
shipinshuju:"视频数据",
|
||||||
|
shangchuanshijian:"上传时间:",
|
||||||
|
bofangliang:"播放量",
|
||||||
|
zhuanfaliang:"转发量",
|
||||||
|
zhuangtai:"状态",
|
||||||
|
shenheing:"正在审核中,情耐心等待",
|
||||||
|
shenheweitongguo:"审核未通过",
|
||||||
|
yuanyin:"原因",
|
||||||
|
yuanyintext:"您的视频中含有大量敏感词汇,请修改后再次上传,感谢您对Beelink的技术支持",
|
||||||
|
xiugaishipin:"修改该视频",
|
||||||
|
shanchushipin:"删除该视频",
|
||||||
|
querenshanchu:"您确认删除该视频吗?",
|
||||||
|
shipinpingjia:"该视频评价",
|
||||||
|
fabiaoliuyan:"发表留言",
|
||||||
|
shuruliuyan:"请输入您的看法和见解",
|
||||||
|
suoyouhuifu:"查看所有回复",
|
||||||
|
huifu:"回复",
|
||||||
|
shanchu:"删除",
|
||||||
|
xiabanyayu:"西班牙语",
|
||||||
|
bianjixinxi:"编辑信息",
|
||||||
|
kaishizhibo:"开始直播",
|
||||||
|
shangkexuesheng:"上课学生",
|
||||||
|
chakanxiangqing:"查看详情",
|
||||||
|
canjiashichang:"参加时长",
|
||||||
|
quxiaozhibo:"取消直播",
|
||||||
|
yijujue:"已拒绝",
|
||||||
|
jujueyuanyintext:"请输入您拒绝该学生参与直播的原因",
|
||||||
|
juejueyuanyin:"拒绝原因",
|
||||||
|
querenjujue:"确认拒绝",
|
||||||
|
zhiboyemian:"直播页面",
|
||||||
|
querenguanbi:"您确认关闭直播吗",
|
||||||
|
dingyuezhe:"我的订阅者",
|
||||||
|
sousuodingyue:"请输入想要搜索的学生姓名",
|
||||||
|
wodeqianbao:"我的钱包",
|
||||||
|
lijitixian:"立即提现",
|
||||||
|
tixianjilu:"提现记录",
|
||||||
|
bangdingyonghu:"绑定用户",
|
||||||
|
zhanghuyue:"账户余额",
|
||||||
|
tianjiazhanghu:"添加新的账户",
|
||||||
|
yinhangka:"银行卡",
|
||||||
|
zhifubao:"支付宝",
|
||||||
|
weixin:"微信",
|
||||||
|
zhanghao0:"帐号",
|
||||||
|
tixianzhanghu:"提现到指定账户"
|
||||||
}
|
}
|
File diff suppressed because it is too large
Load Diff
@ -1,15 +1,15 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="upload-video">
|
<div class="upload-video">
|
||||||
<a-form :label-col="labelCol" :wrapper-col="wrapperCol">
|
<a-form :label-col="labelCol" :wrapper-col="wrapperCol">
|
||||||
<div class="title">上传视频</div>
|
<div class="title">{{lan.$t("shangchuanshipin")}}</div>
|
||||||
<a-form-item label="视频标题">
|
<a-form-item :label="lan.$t('shipinbiaoti')">
|
||||||
<a-input
|
<a-input
|
||||||
size="small"
|
size="small"
|
||||||
v-model:value="form.title"
|
v-model:value="form.title"
|
||||||
placeholder="请输入您的视频标题"
|
:placeholder="lan.$t('shurushipinbiaoti')"
|
||||||
/>
|
/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item label="视频封面" class="video-cover">
|
<a-form-item :label="lan.$t('shipinfengmian')" class="video-cover">
|
||||||
<a-upload list-type="picture" :customRequest="uploadspic" :before-upload="beforeUpload">
|
<a-upload list-type="picture" :customRequest="uploadspic" :before-upload="beforeUpload">
|
||||||
<div class="upload-image" v-if="!viewCover && form.img.length == 0">
|
<div class="upload-image" v-if="!viewCover && form.img.length == 0">
|
||||||
<PlusOutlined
|
<PlusOutlined
|
||||||
@ -28,7 +28,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</a-upload>
|
</a-upload>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item label="选择视频" class="video-introduction">
|
<a-form-item :label="lan.$t('xuanzeshipin')" class="video-introduction">
|
||||||
<div class="upload-container">
|
<div class="upload-container">
|
||||||
<a-upload list-type="picture" :customRequest="uploads" :beforeUpload="beforeVideoUpload">
|
<a-upload list-type="picture" :customRequest="uploads" :beforeUpload="beforeVideoUpload">
|
||||||
<div class="upload-image">
|
<div class="upload-image">
|
||||||
@ -79,24 +79,24 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="demand">
|
<div class="demand">
|
||||||
<p class="one-line-hide">视频要求:</p>
|
<p class="one-line-hide">{{lan.$t('shipinyaoqiu')}}</p>
|
||||||
<p class="one-line-hide">
|
<p class="one-line-hide">
|
||||||
1.文件扩展名:fiv、mp4…文件扩展名:fiv、mp4…
|
1. {{lan.$t('shipinyaoqiu3')}}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item label="视频简介" class="brief">
|
<a-form-item :label="lan.$t('shipinjianjie')" class="brief">
|
||||||
<a-textarea
|
<a-textarea
|
||||||
v-model:value="form.desc"
|
v-model:value="form.desc"
|
||||||
:autoSize="true"
|
:autoSize="true"
|
||||||
class="brief-textarea"
|
class="brief-textarea"
|
||||||
:maxlength="200"
|
:maxlength="200"
|
||||||
placeholder="请输入您的视频简介"
|
:placeholder="lan.$t('shurushipinjianjie')"
|
||||||
/>
|
/>
|
||||||
<span class="words-number">{{ form.desc.length }}/200</span>
|
<span class="words-number">{{ form.desc.length }}/200</span>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item :wrapper-col="{ span: 4, offset: 0 }">
|
<a-form-item :wrapper-col="{ span: 4, offset: 0 }">
|
||||||
<a-button @click="onSubmit">上传视频</a-button>
|
<a-button @click="onSubmit">{{lan.$t('shangchuanshipin')}}</a-button>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-form>
|
</a-form>
|
||||||
<nav-bottom></nav-bottom>
|
<nav-bottom></nav-bottom>
|
||||||
@ -112,6 +112,7 @@ import { uploadflie } from "@/utils/vod";
|
|||||||
import { setvideo, videoadd, videodetail } from "@/api";
|
import { setvideo, videoadd, videodetail } from "@/api";
|
||||||
import { useRoute } from 'vue-router';
|
import { useRoute } from 'vue-router';
|
||||||
import { message } from 'ant-design-vue';
|
import { message } from 'ant-design-vue';
|
||||||
|
import { useI18n } from '@/utils/i18n';
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: "ReleaseWebcast",
|
name: "ReleaseWebcast",
|
||||||
@ -121,6 +122,7 @@ export default defineComponent({
|
|||||||
NavBottom,
|
NavBottom,
|
||||||
},
|
},
|
||||||
setup() {
|
setup() {
|
||||||
|
const lan: any = useI18n();
|
||||||
interface FileItem {
|
interface FileItem {
|
||||||
video: Array<string>;
|
video: Array<string>;
|
||||||
}
|
}
|
||||||
@ -319,7 +321,8 @@ export default defineComponent({
|
|||||||
removeFile,
|
removeFile,
|
||||||
beforeUpload,
|
beforeUpload,
|
||||||
ifalowupload,
|
ifalowupload,
|
||||||
beforeVideoUpload
|
beforeVideoUpload,
|
||||||
|
lan
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
@ -1,16 +1,20 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="webcast">
|
<div class="webcast">
|
||||||
<a-form :label-col="labelCol" :wrapper-col="wrapperCol">
|
<a-form :label-col="labelCol" :wrapper-col="wrapperCol">
|
||||||
<div class="title">直播信息</div>
|
<div class="title">{{ lan.$t("zhiboxinxi") }}</div>
|
||||||
<a-form-item label="直播标题">
|
<a-form-item :label="lan.$t('zhibobiaoti')">
|
||||||
<a-input
|
<a-input
|
||||||
size="small"
|
size="small"
|
||||||
v-model:value="form.title"
|
v-model:value="form.title"
|
||||||
placeholder="请输入您的直播标题"
|
:placeholder="lan.$t('shuruzhibobiaoti')"
|
||||||
/>
|
/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item label="直播封面" class="item-cover">
|
<a-form-item :label="lan.$t('zhibofengmian')" class="item-cover">
|
||||||
<a-upload list-type="picture" :customRequest="uploadspic" :before-upload="beforeUploadpic">
|
<a-upload
|
||||||
|
list-type="picture"
|
||||||
|
:customRequest="uploadspic"
|
||||||
|
:before-upload="beforeUploadpic"
|
||||||
|
>
|
||||||
<div
|
<div
|
||||||
class="upload-image"
|
class="upload-image"
|
||||||
v-if="!viewCover && form.img.length == 0"
|
v-if="!viewCover && form.img.length == 0"
|
||||||
@ -34,8 +38,15 @@
|
|||||||
</div>
|
</div>
|
||||||
</a-upload>
|
</a-upload>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item label="视频介绍" class="video-introduction">
|
<a-form-item
|
||||||
<a-upload list-type="picture" :customRequest="uploads" :before-upload="beforeUpload">
|
:label="lan.$t('shipinjieshao')"
|
||||||
|
class="video-introduction"
|
||||||
|
>
|
||||||
|
<a-upload
|
||||||
|
list-type="picture"
|
||||||
|
:customRequest="uploads"
|
||||||
|
:before-upload="beforeUpload"
|
||||||
|
>
|
||||||
<div class="upload-image" v-if="form.fileurl.length == 0">
|
<div class="upload-image" v-if="form.fileurl.length == 0">
|
||||||
<PlaySquareOutlined
|
<PlaySquareOutlined
|
||||||
style="fontsize: 22px"
|
style="fontsize: 22px"
|
||||||
@ -67,15 +78,23 @@
|
|||||||
</div>
|
</div>
|
||||||
</a-upload>
|
</a-upload>
|
||||||
<div class="demand">
|
<div class="demand">
|
||||||
|
<p class="one-line-hide">
|
||||||
|
{{ lan.$t("shipinyaoqiu") }}
|
||||||
|
</p>
|
||||||
|
<p class="one-line-hide">1.{{ lan.$t("shipinyaoqiu1") }}</p>
|
||||||
|
<p class="one-line-hide">2.{{ lan.$t("shipinyaoqiu2") }}</p>
|
||||||
|
<p class="one-line-hide">3.{{ lan.$t("shipinyaoqiu3") }}</p>
|
||||||
|
</div>
|
||||||
|
<!-- <div class="demand">
|
||||||
<p class="one-line-hide">视频要求:</p>
|
<p class="one-line-hide">视频要求:</p>
|
||||||
<p class="one-line-hide">1.上传视频时间要求为30s之内</p>
|
<p class="one-line-hide">1.上传视频时间要求为30s之内</p>
|
||||||
<p class="one-line-hide">2.支持文件大小100M</p>
|
<p class="one-line-hide">2.支持文件大小100M</p>
|
||||||
<p class="one-line-hide">
|
<p class="one-line-hide">
|
||||||
3.文件扩展名:fiv、mp4…文件扩展名:fiv、mp4…
|
3.文件扩展名:fiv、mp4…文件扩展名:fiv、mp4…
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div> -->
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item label="开始时间">
|
<a-form-item :label="lan.$t('kaishishijian')">
|
||||||
<!-- <a-input
|
<!-- <a-input
|
||||||
size="small"
|
size="small"
|
||||||
v-model:value="form.startTime"
|
v-model:value="form.startTime"
|
||||||
@ -85,42 +104,45 @@
|
|||||||
show-time
|
show-time
|
||||||
:value="form.dateline"
|
:value="form.dateline"
|
||||||
@change="startchange"
|
@change="startchange"
|
||||||
placeholder="请设置您的开始时间"
|
:placeholder="lan.$t('shezhikaishishijian')"
|
||||||
/>
|
/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item
|
<a-form-item
|
||||||
label="直播时长"
|
:label="lan.$t('zhiboshichang')"
|
||||||
class="duration"
|
class="duration"
|
||||||
v-bind="validateInfos.livetime"
|
v-bind="validateInfos.livetime"
|
||||||
>
|
>
|
||||||
<a-input
|
<a-input
|
||||||
size="small"
|
size="small"
|
||||||
v-model:value="form.livetime"
|
v-model:value="form.livetime"
|
||||||
placeholder="请输入直播时间"
|
:placeholder="lan.$t('shuruzhiboshijian')"
|
||||||
type="number"
|
type="number"
|
||||||
/>
|
/>
|
||||||
<span class="unit">分钟</span>
|
<span class="unit">{{ lan.$t("fenzhong") }}</span>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item label="直播人数" v-bind="validateInfos.livenumber">
|
<a-form-item
|
||||||
|
:label="lan.$t('zhiborenshu')"
|
||||||
|
v-bind="validateInfos.livenumber"
|
||||||
|
>
|
||||||
<a-input
|
<a-input
|
||||||
size="small"
|
size="small"
|
||||||
v-model:value="form.livenumber"
|
v-model:value="form.livenumber"
|
||||||
placeholder="请输入直播人数"
|
:placeholder="lan.$t('shuruzhiborenshu')"
|
||||||
type="number"
|
type="number"
|
||||||
/>
|
/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item label="直播简介" class="brief">
|
<a-form-item :label="lan.$t('zhibojianjie')" class="brief">
|
||||||
<a-textarea
|
<a-textarea
|
||||||
v-model:value="form.desc"
|
v-model:value="form.desc"
|
||||||
:autoSize="true"
|
:autoSize="true"
|
||||||
class="brief-textarea"
|
class="brief-textarea"
|
||||||
:maxlength="200"
|
:maxlength="200"
|
||||||
placeholder="请输入您的直播简介"
|
:placeholder="lan.$t('shuruzhibojianjie')"
|
||||||
/>
|
/>
|
||||||
<span class="words-number">{{ form.desc.length }}/200</span>
|
<span class="words-number">{{ form.desc.length }}/200</span>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item :wrapper-col="{ span: 4, offset: 0 }">
|
<a-form-item :wrapper-col="{ span: 4, offset: 0 }">
|
||||||
<a-button @click="onSubmit">发布直播</a-button>
|
<a-button @click="onSubmit">{{ lan.$t("fabuzhibo") }}</a-button>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-form>
|
</a-form>
|
||||||
<div class="modal-container">
|
<div class="modal-container">
|
||||||
@ -136,14 +158,16 @@
|
|||||||
<img src="@/static/images/delete.png" class="close" />
|
<img src="@/static/images/delete.png" class="close" />
|
||||||
</template>
|
</template>
|
||||||
<div class="notice-container report" v-if="lives.status == 1">
|
<div class="notice-container report" v-if="lives.status == 1">
|
||||||
<div class="title">您尚未获得直播资格</div>
|
<div class="title">{{ lan.$t("wuzhibozige") }}</div>
|
||||||
<div class="title sub-title">
|
<div class="title sub-title">
|
||||||
{{ lives.data.msg }}
|
{{ lives.data.msg }}
|
||||||
</div>
|
</div>
|
||||||
<div class="confirm-btn" @click="fankui">意见反馈</div>
|
<div class="confirm-btn" @click="fankui">
|
||||||
|
{{ lan.$t("yijianfankui") }}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="notice-container" v-else>
|
<div class="notice-container" v-else>
|
||||||
<div class="title">您尚未获得直播资格</div>
|
<div class="title">{{ lan.$t("wuzhibozige") }}</div>
|
||||||
<div class="title sub-title">
|
<div class="title sub-title">
|
||||||
<!-- 上一周/月您在平台视频点击量为
|
<!-- 上一周/月您在平台视频点击量为
|
||||||
<span class="red">第24名</span>,要在前
|
<span class="red">第24名</span>,要在前
|
||||||
@ -178,7 +202,8 @@ import { getlivest, liveadd, liveinfo, setlive } from "@/api";
|
|||||||
import { useRoute } from "vue-router";
|
import { useRoute } from "vue-router";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
import { message } from "ant-design-vue";
|
import { message } from "ant-design-vue";
|
||||||
import router from '@/router';
|
import router from "@/router";
|
||||||
|
import { useI18n } from "@/utils/i18n";
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: "ReleaseWebcast",
|
name: "ReleaseWebcast",
|
||||||
@ -189,6 +214,7 @@ export default defineComponent({
|
|||||||
RankList,
|
RankList,
|
||||||
},
|
},
|
||||||
setup() {
|
setup() {
|
||||||
|
const lan: any = useI18n();
|
||||||
// 表单数据
|
// 表单数据
|
||||||
const form = ref({
|
const form = ref({
|
||||||
title: "",
|
title: "",
|
||||||
@ -266,8 +292,8 @@ export default defineComponent({
|
|||||||
viewCover.value = true;
|
viewCover.value = true;
|
||||||
// form.cover = fileList;
|
// form.cover = fileList;
|
||||||
}
|
}
|
||||||
function fankui(){
|
function fankui() {
|
||||||
router.push({path:"/mine/aboutus",query:{selected:3}})
|
router.push({ path: "/mine/aboutus", query: { selected: 3 } });
|
||||||
}
|
}
|
||||||
const { resetFields, validate, validateInfos } = useForm(form, rules);
|
const { resetFields, validate, validateInfos } = useForm(form, rules);
|
||||||
|
|
||||||
@ -323,24 +349,23 @@ export default defineComponent({
|
|||||||
message.error("直播简介不能为空");
|
message.error("直播简介不能为空");
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
if(lives.value.status==0){
|
|
||||||
// subdata.fileid=picinfo.
|
|
||||||
if (id != undefined && id) {
|
|
||||||
/**
|
|
||||||
* todo 提交会报错 编辑直播
|
|
||||||
*/
|
|
||||||
subdata.id = id;
|
|
||||||
// setlive(subdata)
|
|
||||||
} else {
|
|
||||||
console.log(subdata);
|
|
||||||
console.log(lives.value)
|
|
||||||
// liveadd(subdata);
|
|
||||||
}
|
|
||||||
}else{
|
|
||||||
message.error("您尚未获得直播资格")
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
if (lives.value.status == 0) {
|
||||||
|
// subdata.fileid=picinfo.
|
||||||
|
if (id != undefined && id) {
|
||||||
|
/**
|
||||||
|
* todo 提交会报错 编辑直播
|
||||||
|
*/
|
||||||
|
subdata.id = id;
|
||||||
|
setlive(subdata)
|
||||||
|
} else {
|
||||||
|
console.log(subdata);
|
||||||
|
console.log(lives.value);
|
||||||
|
liveadd(subdata);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
message.error("您尚未获得直播资格");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch((err: unknown) => {
|
.catch((err: unknown) => {
|
||||||
@ -394,51 +419,49 @@ export default defineComponent({
|
|||||||
action: string;
|
action: string;
|
||||||
data: unknown;
|
data: unknown;
|
||||||
file: File;
|
file: File;
|
||||||
}
|
|
||||||
const ifallowupload=ref<boolean>(false)
|
|
||||||
function beforeUpload(info?: any){
|
|
||||||
console.log(info)
|
|
||||||
if(info.type.split("/")[0]!="video"){
|
|
||||||
ifallowupload.value=false
|
|
||||||
message.error("视频介绍的文件格式错误")
|
|
||||||
return
|
|
||||||
}else{
|
|
||||||
ifallowupload.value=true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
async function uploads(file: AntUpload) {
|
|
||||||
if(ifallowupload.value){
|
|
||||||
console.log(file);
|
|
||||||
videofile.value = file.file;
|
|
||||||
videos.value[0].addEventListener("durationchange", () => {
|
|
||||||
console.log(videos.value[0].duration);
|
|
||||||
form.value.fileduration = videos.value[0].duration;
|
|
||||||
});
|
|
||||||
const res = await uploadflie(file.file, (info: any) => {
|
|
||||||
console.log(info);
|
|
||||||
uploadprogress.value = info.percent.toFixed(2) * 100;
|
|
||||||
});
|
|
||||||
console.log(res);
|
|
||||||
|
|
||||||
form.value.fileid = res.fileId;
|
|
||||||
form.value.fileurl = res.video.url;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
const ifallowpic=ref<boolean>(false)
|
const ifallowupload = ref<boolean>(false);
|
||||||
async function uploadspic(file: AntUpload) {
|
function beforeUpload(info?: any) {
|
||||||
if(ifallowpic.value){
|
console.log(info);
|
||||||
const res = await uploadflie(file.file, (info: any) => {
|
if (info.type.split("/")[0] != "video") {
|
||||||
console.log(info);
|
ifallowupload.value = false;
|
||||||
uploadpicprogress.value = info.percent.toFixed(2) * 100;
|
message.error("视频介绍的文件格式错误");
|
||||||
});
|
return;
|
||||||
console.log(res);
|
} else {
|
||||||
|
ifallowupload.value = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
async function uploads(file: AntUpload) {
|
||||||
|
if (ifallowupload.value) {
|
||||||
|
console.log(file);
|
||||||
|
videofile.value = file.file;
|
||||||
|
videos.value[0].addEventListener("durationchange", () => {
|
||||||
|
console.log(videos.value[0].duration);
|
||||||
|
form.value.fileduration = videos.value[0].duration;
|
||||||
|
});
|
||||||
|
const res = await uploadflie(file.file, (info: any) => {
|
||||||
|
console.log(info);
|
||||||
|
uploadprogress.value = info.percent.toFixed(2) * 100;
|
||||||
|
});
|
||||||
|
console.log(res);
|
||||||
|
|
||||||
// picinfo.fileId=res.fileId
|
form.value.fileid = res.fileId;
|
||||||
// picinfo.url=res.video.url
|
form.value.fileurl = res.video.url;
|
||||||
form.value.img = res.video.url;
|
}
|
||||||
}
|
}
|
||||||
|
const ifallowpic = ref<boolean>(false);
|
||||||
|
async function uploadspic(file: AntUpload) {
|
||||||
|
if (ifallowpic.value) {
|
||||||
|
const res = await uploadflie(file.file, (info: any) => {
|
||||||
|
console.log(info);
|
||||||
|
uploadpicprogress.value = info.percent.toFixed(2) * 100;
|
||||||
|
});
|
||||||
|
console.log(res);
|
||||||
|
|
||||||
|
// picinfo.fileId=res.fileId
|
||||||
|
// picinfo.url=res.video.url
|
||||||
|
form.value.img = res.video.url;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
getlivest().then((res) => {
|
getlivest().then((res) => {
|
||||||
@ -446,17 +469,17 @@ export default defineComponent({
|
|||||||
isEntitled.value = true;
|
isEntitled.value = true;
|
||||||
lives.value = res;
|
lives.value = res;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
function beforeUploadpic(info?: any){
|
function beforeUploadpic(info?: any) {
|
||||||
console.log(info)
|
console.log(info);
|
||||||
if(info.type.split("/")[0]!='image'){
|
if (info.type.split("/")[0] != "image") {
|
||||||
message.error("封面必须是图片文件")
|
message.error("封面必须是图片文件");
|
||||||
ifallowpic.value=false
|
ifallowpic.value = false;
|
||||||
return
|
return;
|
||||||
}else{
|
} else {
|
||||||
ifallowpic.value=true
|
ifallowpic.value = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
labelCol: { span: 4 },
|
labelCol: { span: 4 },
|
||||||
@ -481,12 +504,13 @@ export default defineComponent({
|
|||||||
startchange,
|
startchange,
|
||||||
videofile,
|
videofile,
|
||||||
videos,
|
videos,
|
||||||
lives,
|
lives,
|
||||||
beforeUploadpic,
|
beforeUploadpic,
|
||||||
ifallowpic,
|
ifallowpic,
|
||||||
beforeUpload,
|
beforeUpload,
|
||||||
ifallowupload,
|
ifallowupload,
|
||||||
fankui
|
fankui,
|
||||||
|
lan,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
@ -3,17 +3,17 @@
|
|||||||
<div class="top">
|
<div class="top">
|
||||||
<div class="mywallet">
|
<div class="mywallet">
|
||||||
<div class="topinfo">
|
<div class="topinfo">
|
||||||
<div class="title">我的钱包</div>
|
<div class="title">{{lan.$t('wodeqianbao')}}</div>
|
||||||
|
|
||||||
<div class="topbtn" @click="navto(2)">立即提现</div>
|
<div class="topbtn" @click="navto(2)">{{lan.$t('lijitixian')}}</div>
|
||||||
<div class="topbtn topbtn1" @click="navto(3)">提现记录</div>
|
<div class="topbtn topbtn1" @click="navto(3)">{{lan.$t('tixianjilu')}}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="line"></div>
|
<div class="line"></div>
|
||||||
<div class="accounts">
|
<div class="accounts">
|
||||||
<div class="left" @click="listchange(1)">
|
<div class="left" @click="listchange(1)">
|
||||||
<img src="@/static/images/account.png" alt="" class="pic" />
|
<img src="@/static/images/account.png" alt="" class="pic" />
|
||||||
<div class="texts">
|
<div class="texts">
|
||||||
<div>绑定用户</div>
|
<div>{{lan.$t('bangdingyonghu')}}</div>
|
||||||
<div class="num">{{accountlist.length}}</div>
|
<div class="num">{{accountlist.length}}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -21,7 +21,7 @@
|
|||||||
<div class="left" @click="listchange(2)">
|
<div class="left" @click="listchange(2)">
|
||||||
<img src="@/static/images/money.png" alt="" class="pic" />
|
<img src="@/static/images/money.png" alt="" class="pic" />
|
||||||
<div class="texts">
|
<div class="texts">
|
||||||
<div>账户余额</div>
|
<div>{{lan.$t('zhanghuyue')}}</div>
|
||||||
<div class="num">
|
<div class="num">
|
||||||
<!-- <span class="moneyicon" v-if="ifchina">¥</span>
|
<!-- <span class="moneyicon" v-if="ifchina">¥</span>
|
||||||
<span class="moneyicon" v-else> $ </span> -->
|
<span class="moneyicon" v-else> $ </span> -->
|
||||||
@ -43,7 +43,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="add" @click="navto(1)">
|
<div class="add" @click="navto(1)">
|
||||||
<img src="@/static/images/walletadd.png" alt="" class="icon" />
|
<img src="@/static/images/walletadd.png" alt="" class="icon" />
|
||||||
<div>添加新的账户</div>
|
<div>{{lan.$t('tianjiazhanghu')}}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -52,7 +52,7 @@
|
|||||||
<div class="hostinfo">
|
<div class="hostinfo">
|
||||||
<div v-if="i.type==4">
|
<div v-if="i.type==4">
|
||||||
<img src="@/static/images/bank.png" alt="" class="icon" />
|
<img src="@/static/images/bank.png" alt="" class="icon" />
|
||||||
<span class="accounttype">银行卡</span>
|
<span class="accounttype">{{lan.$t('yinhangka')}}</span>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="i.type==2">
|
<div v-if="i.type==2">
|
||||||
<img
|
<img
|
||||||
@ -60,7 +60,7 @@
|
|||||||
alt=""
|
alt=""
|
||||||
class="icon icon1"
|
class="icon icon1"
|
||||||
/>
|
/>
|
||||||
<span class="accounttype">支付宝</span>
|
<span class="accounttype">{{lan.$t('zhifubao')}}</span>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="i.type==1">
|
<div v-if="i.type==1">
|
||||||
<img
|
<img
|
||||||
@ -68,15 +68,15 @@
|
|||||||
alt=""
|
alt=""
|
||||||
class="icon icon1"
|
class="icon icon1"
|
||||||
/>
|
/>
|
||||||
<span class="accounttype">微信</span>
|
<span class="accounttype">{{lan.$t('weixin')}}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="btns">
|
<div class="btns">
|
||||||
<div class="btn" @click="navto(1,i.wallectid)">修改</div>
|
<div class="btn" @click="navto(1,i.wallectid)">{{lan.$t('xiugai')}}</div>
|
||||||
<div class="btn1" @click="del(i.wallectid)">删除</div>
|
<div class="btn1" @click="del(i.wallectid)">{{lan.$t('shanchu')}}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="zhanghao" v-if="i.type==4">账号 <span>{{i.bankcode}}</span></div>
|
<div class="zhanghao" v-if="i.type==4">{{lan.$t('zhanghao0')}} <span>{{i.bankcode}}</span></div>
|
||||||
<div class="zhanghao" v-else>账号 <span>{{i.account}}</span></div>
|
<div class="zhanghao" v-else>{{lan.$t('zhanghao0')}} <span>{{i.account}}</span></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- <div class="accountitem">
|
<!-- <div class="accountitem">
|
||||||
@ -209,12 +209,14 @@ import router from "@/router";
|
|||||||
import store from '@/store';
|
import store from '@/store';
|
||||||
import { deleteaccount, getwallect, saleinfo } from "@/api";
|
import { deleteaccount, getwallect, saleinfo } from "@/api";
|
||||||
import { useRoute } from 'vue-router';
|
import { useRoute } from 'vue-router';
|
||||||
|
import { useI18n } from '@/utils/i18n';
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: "Wallet",
|
name: "Wallet",
|
||||||
components: {
|
components: {
|
||||||
NavBottom,
|
NavBottom,
|
||||||
},
|
},
|
||||||
setup() {
|
setup() {
|
||||||
|
const lan: any = useI18n();
|
||||||
const ifchina = true;
|
const ifchina = true;
|
||||||
const ifmingxi = false;
|
const ifmingxi = false;
|
||||||
const salelist=ref<any>({})
|
const salelist=ref<any>({})
|
||||||
@ -304,7 +306,8 @@ export default defineComponent({
|
|||||||
dates,
|
dates,
|
||||||
del,
|
del,
|
||||||
store,
|
store,
|
||||||
pagechange
|
pagechange,
|
||||||
|
lan
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
@ -3,18 +3,18 @@
|
|||||||
<div class="nav">
|
<div class="nav">
|
||||||
<div class="tabs">
|
<div class="tabs">
|
||||||
<div :class="tabindex == 1 ? 'on' : ''" @click="tabchange(1)">
|
<div :class="tabindex == 1 ? 'on' : ''" @click="tabchange(1)">
|
||||||
全部直播
|
{{lan.$t('quanbuzhibo')}}
|
||||||
</div>
|
</div>
|
||||||
<div :class="tabindex == 0 ? 'on' : ''" @click="tabchange(0)">
|
<div :class="tabindex == 0 ? 'on' : ''" @click="tabchange(0)">
|
||||||
未开始
|
{{lan.$t('weikaishi')}}
|
||||||
</div>
|
</div>
|
||||||
<div :class="tabindex == 2 ? 'on' : ''" @click="tabchange(2)">
|
<div :class="tabindex == 2 ? 'on' : ''" @click="tabchange(2)">
|
||||||
已结束
|
{{lan.$t('yijieshu')}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="sel">
|
<div class="sel">
|
||||||
<img src="@/static/images/sousuo.png" alt="" class="icon" />
|
<img src="@/static/images/sousuo.png" alt="" class="icon" />
|
||||||
<input placeholder="请输入想要搜索的直播标题" type="text" @keyup.enter="sel()" v-model="input" />
|
<input :placeholder="lan.$t('zhibosousuo')" type="text" @keyup.enter="sel()" v-model="input" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="list" v-if="tabindex == 1">
|
<div class="list" v-if="tabindex == 1">
|
||||||
@ -173,11 +173,13 @@ import { defineComponent, onMounted, ref } from "vue";
|
|||||||
import LiveItem from "@/components/LiveItem.vue";
|
import LiveItem from "@/components/LiveItem.vue";
|
||||||
import { getlivelist } from "@/api";
|
import { getlivelist } from "@/api";
|
||||||
import { LivelistInfo } from "@/types";
|
import { LivelistInfo } from "@/types";
|
||||||
|
import { useI18n } from '@/utils/i18n';
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
components: {
|
components: {
|
||||||
LiveItem,
|
LiveItem,
|
||||||
},
|
},
|
||||||
setup() {
|
setup() {
|
||||||
|
const lan: any = useI18n();
|
||||||
const page = ref(1);
|
const page = ref(1);
|
||||||
const tabindex = ref(1);
|
const tabindex = ref(1);
|
||||||
const livelist = ref<LivelistInfo>({
|
const livelist = ref<LivelistInfo>({
|
||||||
@ -211,7 +213,8 @@ export default defineComponent({
|
|||||||
tabchange,
|
tabchange,
|
||||||
livelist,
|
livelist,
|
||||||
input,
|
input,
|
||||||
sel
|
sel,
|
||||||
|
lan
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<div class="liveing">
|
<div class="liveing">
|
||||||
|
|
||||||
<div class="top">
|
<div class="top">
|
||||||
<div class="left">直播页面</div>
|
<div class="left">{{lan.$t('zhiboyemian')}}</div>
|
||||||
<div class="right">
|
<div class="right">
|
||||||
<img src="@/static/images/liveshare.png" alt="" @click="qiehuan()" />
|
<img src="@/static/images/liveshare.png" alt="" @click="qiehuan()" />
|
||||||
<img src="@/static/images/liveend.png" alt="" @click="visible = true" />
|
<img src="@/static/images/liveend.png" alt="" @click="visible = true" />
|
||||||
@ -60,7 +60,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<a-modal v-model:visible="visible" title="Basic Modal" @ok="guanbi">
|
<a-modal v-model:visible="visible" title="Basic Modal" @ok="guanbi">
|
||||||
<p>您确认关闭直播吗</p>
|
<p>{{lan.$t('querenguanbi')}}</p>
|
||||||
</a-modal>
|
</a-modal>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -202,6 +202,7 @@ import { getliveinfo, usersig } from '@/api';
|
|||||||
import { useRoute } from 'vue-router';
|
import { useRoute } from 'vue-router';
|
||||||
import store from '@/store';
|
import store from '@/store';
|
||||||
import { message } from 'ant-design-vue';
|
import { message } from 'ant-design-vue';
|
||||||
|
import { useI18n } from '@/utils/i18n';
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
components: {
|
components: {
|
||||||
@ -209,6 +210,7 @@ export default defineComponent({
|
|||||||
LiveingWatcher,
|
LiveingWatcher,
|
||||||
},
|
},
|
||||||
setup() {
|
setup() {
|
||||||
|
const lan: any = useI18n();
|
||||||
console.log(1);
|
console.log(1);
|
||||||
let client: any;
|
let client: any;
|
||||||
let localStream: any;
|
let localStream: any;
|
||||||
@ -366,7 +368,8 @@ export default defineComponent({
|
|||||||
qiehuan,
|
qiehuan,
|
||||||
roominfo,
|
roominfo,
|
||||||
guanbi,
|
guanbi,
|
||||||
visible
|
visible,
|
||||||
|
lan
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="subscriber">
|
<div class="subscriber">
|
||||||
<div class="top">
|
<div class="top">
|
||||||
<div class="title">我的订阅者({{teacherlikedlist.total}})</div>
|
<div class="title">{{lan.$t('dingyuezhe')}}({{teacherlikedlist.total}})</div>
|
||||||
<div class="sel">
|
<div class="sel">
|
||||||
<img src="@/static/images/sousuo.png" alt="" class="icon" />
|
<img src="@/static/images/sousuo.png" alt="" class="icon" />
|
||||||
<input type="text" placeholder="请输入想要搜索的学生姓名" v-model="condition.title" @keyup.enter="search(condition)"/>
|
<input type="text" :placeholder="lan.$t('sousuodingyue')" v-model="condition.title" @keyup.enter="search(condition)"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="mid">
|
<div class="mid">
|
||||||
@ -15,38 +15,38 @@
|
|||||||
<div>
|
<div>
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<div class="infoitem">
|
<div class="infoitem">
|
||||||
<span class="label">姓名:</span>
|
<span class="label">{{lan.$t("xingming")}}:</span>
|
||||||
<span class="one-line-hide">{{i.name}}</span>
|
<span class="one-line-hide">{{i.name}}</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="infoitem">
|
<div class="infoitem">
|
||||||
<span class="label">所在国家:</span>
|
<span class="label">{{lan.$t('suozaiguojia')}}:</span>
|
||||||
<span class="one-line-hide">{{i.live}}</span>
|
<span class="one-line-hide">{{i.live}}</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="infoitem">
|
<div class="infoitem">
|
||||||
<span class="label">年龄:</span>
|
<span class="label">{{lan.$t('nianling')}}:</span>
|
||||||
<span class="one-line-hide">{{i.age}}</span>
|
<span class="one-line-hide">{{i.age}}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<div class="infoitem">
|
<div class="infoitem">
|
||||||
<span class="label">学生母语:</span>
|
<span class="label">{{lan.$t('xueshengmuyu')}}:</span>
|
||||||
<span class="one-line-hide">{{i.mtongue }}</span>
|
<span class="one-line-hide">{{i.mtongue }}</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="infoitem">
|
<div class="infoitem">
|
||||||
<span class="label">兴趣点:</span>
|
<span class="label">{{lan.$t('xingqudian')}}:</span>
|
||||||
<span class="one-line-hide">{{i.interestStr}}</span>
|
<span class="one-line-hide">{{i.interestStr}}</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="infoitem">
|
<div class="infoitem">
|
||||||
<span class="label">语言等级:</span>
|
<span class="label">{{lan.$t("yuyandengji")}}:</span>
|
||||||
<span class="one-line-hide">asd</span>
|
<span class="one-line-hide">asd</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div>参加平台直播课程总时长:<span class="time">{{i.longtime}}min</span></div>
|
<div>{{lan.$t('canyupingtaishichang')}}:<span class="time">{{i.longtime}}min</span></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -166,11 +166,13 @@
|
|||||||
</style>
|
</style>
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { getteacherliked } from '@/api';
|
import { getteacherliked } from '@/api';
|
||||||
|
import { useI18n } from '@/utils/i18n';
|
||||||
import { defineComponent, onMounted, ref, toRaw } from "vue";
|
import { defineComponent, onMounted, ref, toRaw } from "vue";
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: "Subscriber",
|
name: "Subscriber",
|
||||||
components: {},
|
components: {},
|
||||||
setup() {
|
setup() {
|
||||||
|
const lan: any = useI18n();
|
||||||
const page = ref(1);
|
const page = ref(1);
|
||||||
const teacherlikedlist =ref<any>({
|
const teacherlikedlist =ref<any>({
|
||||||
|
|
||||||
@ -194,7 +196,8 @@ export default defineComponent({
|
|||||||
teacherlikedlist,
|
teacherlikedlist,
|
||||||
condition,
|
condition,
|
||||||
title,
|
title,
|
||||||
search
|
search,
|
||||||
|
lan
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
@ -3,21 +3,21 @@
|
|||||||
<div class="nav">
|
<div class="nav">
|
||||||
<div class="tabs">
|
<div class="tabs">
|
||||||
<div :class="tabindex == 4 ? 'on' : ''" @click="tabchange(4)">
|
<div :class="tabindex == 4 ? 'on' : ''" @click="tabchange(4)">
|
||||||
全部视频
|
{{lan.$t('quanbushipin')}}
|
||||||
</div>
|
</div>
|
||||||
<div :class="tabindex == 0 ? 'on' : ''" @click="tabchange(0)">
|
<div :class="tabindex == 0 ? 'on' : ''" @click="tabchange(0)">
|
||||||
审核中
|
{{lan.$t('shenhezhong')}}
|
||||||
</div>
|
</div>
|
||||||
<div :class="tabindex == 2 ? 'on' : ''" @click="tabchange(2)">
|
<div :class="tabindex == 2 ? 'on' : ''" @click="tabchange(2)">
|
||||||
未通过
|
{{lan.$t('weitongguo')}}
|
||||||
</div>
|
</div>
|
||||||
<div :class="tabindex == 1 ? 'on' : ''" @click="tabchange(1)">
|
<div :class="tabindex == 1 ? 'on' : ''" @click="tabchange(1)">
|
||||||
已发布
|
{{lan.$t('yifabu')}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="sel">
|
<div class="sel">
|
||||||
<img src="@/static/images/sousuo.png" alt="" class="icon" />
|
<img src="@/static/images/sousuo.png" alt="" class="icon" />
|
||||||
<input type="text" placeholder="请输入想要搜索的直播标题" @keyup.enter="sel()" v-model="input"/>
|
<input type="text" :placeholder="lan.$t('shipinsousuo')" @keyup.enter="sel()" v-model="input"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="list" v-if="tabindex == 4">
|
<div class="list" v-if="tabindex == 4">
|
||||||
@ -195,11 +195,13 @@ import { defineComponent, onMounted, reactive, ref, UnwrapRef } from "vue";
|
|||||||
import VideoItem from "@/components/VideoItem.vue";
|
import VideoItem from "@/components/VideoItem.vue";
|
||||||
import { getvideolist } from "@/api";
|
import { getvideolist } from "@/api";
|
||||||
import { useRoute } from 'vue-router';
|
import { useRoute } from 'vue-router';
|
||||||
|
import { useI18n } from '@/utils/i18n';
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
components: {
|
components: {
|
||||||
VideoItem,
|
VideoItem,
|
||||||
},
|
},
|
||||||
setup() {
|
setup() {
|
||||||
|
const lan: any = useI18n();
|
||||||
const page = ref(1);
|
const page = ref(1);
|
||||||
const tabindex = ref(4);
|
const tabindex = ref(4);
|
||||||
interface VideoList {
|
interface VideoList {
|
||||||
@ -251,7 +253,8 @@ export default defineComponent({
|
|||||||
videolist,
|
videolist,
|
||||||
sel,
|
sel,
|
||||||
input,
|
input,
|
||||||
pagechange
|
pagechange,
|
||||||
|
lan
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user