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