zj #69
@ -12,8 +12,15 @@ import { del, get, post, put, setToken } from './base'
|
|||||||
* @param password 密码
|
* @param password 密码
|
||||||
*/
|
*/
|
||||||
|
|
||||||
export async function loginpass(phone: string, password: string){
|
export async function loginpass(phone: string, password: string,type?: number,smscode?: string){
|
||||||
const res = await post<LoginData>("login",{type: 2,username: phone, password: password});
|
let newdata={}
|
||||||
|
if(type==1){
|
||||||
|
newdata={type:type?type:2,username: phone, smscode: smscode}
|
||||||
|
}else{
|
||||||
|
newdata={type:type?type:2,username: phone, password: password}
|
||||||
|
}
|
||||||
|
|
||||||
|
const res = await post<LoginData>("login",newdata);
|
||||||
console.log(res.code)
|
console.log(res.code)
|
||||||
if(res.code == 1){
|
if(res.code == 1){
|
||||||
message.error(res.msg)
|
message.error(res.msg)
|
||||||
@ -576,6 +583,59 @@ export async function checkuser(data?: any){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取区号列表
|
||||||
|
*/
|
||||||
|
export async function getquhaolist() {
|
||||||
|
const res=await get("phonecodes")
|
||||||
|
// console.log(res)
|
||||||
|
return res.data
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取时区列表
|
||||||
|
*/
|
||||||
|
export async function getzonelist(): Promise<any>{
|
||||||
|
const res=await get("timezones")
|
||||||
|
// console.log(res)
|
||||||
|
return res.data
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改时区 货币 语言
|
||||||
|
*/
|
||||||
|
export async function editsystemsetting(e?: any): Promise<boolean> {
|
||||||
|
let newdata={}
|
||||||
|
newdata=e
|
||||||
|
const res = await put(`member/${store.state.userinfo.memberid}`,newdata);
|
||||||
|
console.log(res)
|
||||||
|
if(res.code == 0){
|
||||||
|
message.success("修改成功")
|
||||||
|
store.dispatch("setUserInfo");
|
||||||
|
return true;
|
||||||
|
}else{
|
||||||
|
message.error(res.msg);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 货币列表
|
||||||
|
*/
|
||||||
|
export async function getcurrencys(){
|
||||||
|
const res=await get("currencys")
|
||||||
|
return res.data
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 登录右侧 视频列表
|
||||||
|
*/
|
||||||
|
export async function getwebvideolist() {
|
||||||
|
const res=await get("webvideos")
|
||||||
|
console.log(res)
|
||||||
|
return res.data
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 发送验证码
|
* 发送验证码
|
||||||
* @param phone 手机号
|
* @param phone 手机号
|
||||||
@ -718,6 +778,13 @@ export async function getliveinfo(id: number){
|
|||||||
return {...liveinfo,studentlist}
|
return {...liveinfo,studentlist}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 参与直播的学生列表
|
||||||
|
*/
|
||||||
|
export async function getstudentlist(data?: any) {
|
||||||
|
const studentlist = (await get<StudentList[]>("studentLive",data)).data;
|
||||||
|
return studentlist
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 直播日历
|
* 直播日历
|
||||||
@ -746,7 +813,20 @@ export async function cancellive(id: number, status: number){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改手机号
|
||||||
|
*/
|
||||||
|
export async function changetel(e: string) {
|
||||||
|
const res = await put(`member/${store.state.userinfo.memberid}`,{mobile:e});
|
||||||
|
console.log(res)
|
||||||
|
if(res.code == 0){
|
||||||
|
message.success("修改成功")
|
||||||
|
return true;
|
||||||
|
}else{
|
||||||
|
message.error(res.msg);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -2,14 +2,14 @@
|
|||||||
<div class="cont">
|
<div class="cont">
|
||||||
<div class="title">
|
<div class="title">
|
||||||
<div>上课学生</div>
|
<div>上课学生</div>
|
||||||
<div class="more">查看详情</div>
|
<div class="more" @click="toxq">查看详情</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">
|
||||||
<div style="display: flex">
|
<div style="display: flex">
|
||||||
<img :src="i.img" alt="" />
|
<img :src="i.img" alt="" />
|
||||||
<div class="stuinfo">
|
<div class="stuinfo">
|
||||||
<div>{{ i.name }}</div>
|
<div>{{ i.name }} {{zid}}</div>
|
||||||
<div class="lessonname">{{ i.interest }}</div>
|
<div class="lessonname">{{ i.interest }}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -236,12 +236,14 @@
|
|||||||
</style>
|
</style>
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { cancellive, refusedtolive } from '@/api';
|
import { cancellive, refusedtolive } from '@/api';
|
||||||
|
import router from '@/router';
|
||||||
import { defineComponent, ref, toRaw, watch } from "vue";
|
import { defineComponent, ref, toRaw, watch } from "vue";
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
props: {
|
props: {
|
||||||
info: Array,
|
info: Array,
|
||||||
livestatus: Number,
|
livestatus: Number,
|
||||||
|
zid:Number
|
||||||
},
|
},
|
||||||
setup(props) {
|
setup(props) {
|
||||||
const modalNode = () => document.getElementsByClassName('modal-container')[0]
|
const modalNode = () => document.getElementsByClassName('modal-container')[0]
|
||||||
@ -275,6 +277,11 @@ export default defineComponent({
|
|||||||
hidePhoneModal();
|
hidePhoneModal();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
function toxq(){
|
||||||
|
router.push({path:"/regime/studentlist",query:{liveid:props.zid}})
|
||||||
|
console.log(props.zid,"aaa")
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
list,
|
list,
|
||||||
@ -283,7 +290,8 @@ export default defineComponent({
|
|||||||
updatePhoneVisible,
|
updatePhoneVisible,
|
||||||
hidePhoneModal,
|
hidePhoneModal,
|
||||||
sum,
|
sum,
|
||||||
text
|
text,
|
||||||
|
toxq
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
@ -20,21 +20,22 @@
|
|||||||
</div>
|
</div>
|
||||||
<template v-slot:overlay>
|
<template v-slot:overlay>
|
||||||
<a-menu>
|
<a-menu>
|
||||||
<a-menu-item key="0">
|
<!-- 时区 -->
|
||||||
|
<a-menu-item v-for="(i,j) in zonelist" :key="j" @click="zonechange(i.zoneid)">
|
||||||
<div class="selitem">
|
<div class="selitem">
|
||||||
<span>时区1</span>
|
<span>{{i.city}}{{i.gmt}}</span>
|
||||||
</div>
|
</div>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item key="1">
|
<!-- <a-menu-item key="1">
|
||||||
<div class="selitem">
|
<div class="selitem">
|
||||||
<span>时区2</span>
|
<span>时区2a</span>
|
||||||
</div>
|
</div>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item key="3">
|
<a-menu-item key="3">
|
||||||
<div class="selitem">
|
<div class="selitem">
|
||||||
<span>时区3</span>
|
<span>时区3a</span>
|
||||||
</div>
|
</div>
|
||||||
</a-menu-item>
|
</a-menu-item> -->
|
||||||
</a-menu>
|
</a-menu>
|
||||||
</template>
|
</template>
|
||||||
</a-dropdown>
|
</a-dropdown>
|
||||||
@ -42,26 +43,27 @@
|
|||||||
<a-dropdown :trigger="['click']" :getPopupContainer="triggerNode => triggerNode.parentNode">
|
<a-dropdown :trigger="['click']" :getPopupContainer="triggerNode => triggerNode.parentNode">
|
||||||
<div class="item" @click="e => e.preventDefault()">
|
<div class="item" @click="e => e.preventDefault()">
|
||||||
<img src="@/static/images/qianbi.png" alt="" class="icon">
|
<img src="@/static/images/qianbi.png" alt="" class="icon">
|
||||||
<div class="name">{{userinfo.currency}}</div>
|
<div class="name">{{userinfo.currencyValue}}</div>
|
||||||
<img src="@/static/images/jiantou2.png" alt="" class="down">
|
<img src="@/static/images/jiantou2.png" alt="" class="down">
|
||||||
</div>
|
</div>
|
||||||
<template v-slot:overlay>
|
<template v-slot:overlay>
|
||||||
<a-menu>
|
<a-menu>
|
||||||
<a-menu-item key="0">
|
<!-- 货币 -->
|
||||||
<div class="selitem">
|
<a-menu-item v-for="(i,j) in currencylist" :key="j">
|
||||||
<span>时区1</span>
|
<div class="selitem" @click="currencychange(i.value)">
|
||||||
|
<span>{{i.name}}</span>
|
||||||
</div>
|
</div>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item key="1">
|
<!-- <a-menu-item key="1">
|
||||||
<div class="selitem">
|
<div class="selitem">
|
||||||
<span>时区2</span>
|
<span>时区2b</span>
|
||||||
</div>
|
</div>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item key="3">
|
<a-menu-item key="3">
|
||||||
<div class="selitem">
|
<div class="selitem">
|
||||||
<span>时区3</span>
|
<span>时区3b</span>
|
||||||
</div>
|
</div>
|
||||||
</a-menu-item>
|
</a-menu-item> -->
|
||||||
</a-menu>
|
</a-menu>
|
||||||
</template>
|
</template>
|
||||||
</a-dropdown>
|
</a-dropdown>
|
||||||
@ -73,21 +75,22 @@
|
|||||||
</div>
|
</div>
|
||||||
<template v-slot:overlay>
|
<template v-slot:overlay>
|
||||||
<a-menu>
|
<a-menu>
|
||||||
<a-menu-item key="0">
|
<!-- 语言 -->
|
||||||
<div class="selitem">
|
<a-menu-item v-for="(i,j) in languagelist" :key="j">
|
||||||
<span>时区1</span>
|
<div class="selitem" @click="setlanguage(i.value)">
|
||||||
|
<span>{{i.name}}</span>
|
||||||
</div>
|
</div>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item key="1">
|
<!-- <a-menu-item key="1">
|
||||||
<div class="selitem">
|
<div class="selitem">
|
||||||
<span>时区2</span>
|
<span>时区2cc</span>
|
||||||
</div>
|
</div>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item key="3">
|
<a-menu-item key="3">
|
||||||
<div class="selitem">
|
<div class="selitem">
|
||||||
<span>时区3</span>
|
<span>时区3c</span>
|
||||||
</div>
|
</div>
|
||||||
</a-menu-item>
|
</a-menu-item> -->
|
||||||
</a-menu>
|
</a-menu>
|
||||||
</template>
|
</template>
|
||||||
</a-dropdown>
|
</a-dropdown>
|
||||||
@ -174,9 +177,10 @@
|
|||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
|
import { editsystemsetting, getcurrencys, getlanguages, getzonelist } from '@/api';
|
||||||
import router from '@/router';
|
import router from '@/router';
|
||||||
import store from '@/store';
|
import store from '@/store';
|
||||||
import { computed, defineComponent, ref } from 'vue';
|
import { computed, defineComponent, onMounted, ref } from 'vue';
|
||||||
import { useRoute } from 'vue-router';
|
import { useRoute } from 'vue-router';
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
@ -191,6 +195,38 @@ export default defineComponent({
|
|||||||
const routes = useRoute();
|
const routes = useRoute();
|
||||||
console.log(routes.path);
|
console.log(routes.path);
|
||||||
const types = ref(props.type)
|
const types = ref(props.type)
|
||||||
|
const zonelist=ref<any>([{
|
||||||
|
city: "中途岛",
|
||||||
|
gmt: "GMT-11:00",
|
||||||
|
id: "Pacific/Midway",
|
||||||
|
zoneid: 1
|
||||||
|
|
||||||
|
}])
|
||||||
|
const selectedzone=ref([])
|
||||||
|
const currencylist=ref<any>([{
|
||||||
|
alias: "CNY",
|
||||||
|
code: "104110041000",
|
||||||
|
createdAt: "2020-08-19 11:54:59",
|
||||||
|
deletedAt: null,
|
||||||
|
dictionaryid: 241,
|
||||||
|
name: "人民币¥",
|
||||||
|
position: 1,
|
||||||
|
publish: 1,
|
||||||
|
updatedAt: "2020-08-19 11:54:59",
|
||||||
|
value: "1"
|
||||||
|
}])
|
||||||
|
const languagelist=ref<any>({
|
||||||
|
alias: "",
|
||||||
|
code: "104110011000",
|
||||||
|
createdAt: "2020-08-14 11:08:28",
|
||||||
|
deletedAt: null,
|
||||||
|
dictionaryid: 210,
|
||||||
|
name: "中文",
|
||||||
|
position: 1,
|
||||||
|
publish: 1,
|
||||||
|
updatedAt: "2020-08-14 11:08:28",
|
||||||
|
value: "zh"
|
||||||
|
})
|
||||||
console.log(types.value)
|
console.log(types.value)
|
||||||
interface Nav{
|
interface Nav{
|
||||||
name: string;
|
name: string;
|
||||||
@ -228,11 +264,36 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
onMounted(async () => {
|
||||||
|
zonelist.value=await getzonelist()
|
||||||
|
// console.log(zonelist.value)
|
||||||
|
currencylist.value=await getcurrencys()
|
||||||
|
languagelist.value=await getlanguages()
|
||||||
|
})
|
||||||
|
|
||||||
|
function zonechange(e?: any){
|
||||||
|
// console.log(e,1002)
|
||||||
|
editsystemsetting({zoneid:e})
|
||||||
|
}
|
||||||
|
function currencychange(e?: any){
|
||||||
|
editsystemsetting({currency:parseInt(e)})
|
||||||
|
}
|
||||||
|
function setlanguage(e?: any){
|
||||||
|
editsystemsetting({language:e})
|
||||||
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
nav,
|
nav,
|
||||||
types,
|
types,
|
||||||
navto,
|
navto,
|
||||||
userinfo
|
userinfo,
|
||||||
|
zonelist,
|
||||||
|
zonechange,
|
||||||
|
selectedzone,
|
||||||
|
currencylist,
|
||||||
|
currencychange,
|
||||||
|
languagelist,
|
||||||
|
setlanguage
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="cont">
|
<div class="cont">
|
||||||
<div class="title">视频数据</div>
|
<div class="title">视频数据</div>
|
||||||
<div class="info">
|
<div class="info">
|
||||||
|
@ -81,6 +81,10 @@ const routes: Array<RouteRecordRaw> = [
|
|||||||
path: "subscriber",
|
path: "subscriber",
|
||||||
component: () => import("../views/regime/Subscriber.vue")
|
component: () => import("../views/regime/Subscriber.vue")
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: "studentlist",
|
||||||
|
component: () => import("../views/regime/SignupStu.vue")
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: "live",
|
path: "live",
|
||||||
component: () => import("../views/regime/Live.vue")
|
component: () => import("../views/regime/Live.vue")
|
||||||
|
@ -10,6 +10,7 @@ export default createStore({
|
|||||||
country: "",
|
country: "",
|
||||||
countryValue: "",
|
countryValue: "",
|
||||||
cover: "",
|
cover: "",
|
||||||
|
code:"",
|
||||||
createdAt: "",
|
createdAt: "",
|
||||||
currency: "",
|
currency: "",
|
||||||
currencyValue: "",
|
currencyValue: "",
|
||||||
|
1
src/types/index.d.ts
vendored
1
src/types/index.d.ts
vendored
@ -58,6 +58,7 @@ export interface UserInfo {
|
|||||||
video: string;
|
video: string;
|
||||||
desc: string;
|
desc: string;
|
||||||
money: string;
|
money: string;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -17,11 +17,17 @@
|
|||||||
<a-form :layout="formLayout">
|
<a-form :layout="formLayout">
|
||||||
<a-form-item label="手机号" class="form-item">
|
<a-form-item label="手机号" class="form-item">
|
||||||
<a-input-group compact>
|
<a-input-group compact>
|
||||||
<a-select default-value="Zhejiang" class="getcode">
|
<!-- <a-select default-value="Zhejiang" class="getcode">
|
||||||
<a-select-option value="Zhejiang">
|
<a-select-option value="Zhejiang">
|
||||||
中国+0086
|
中国+0086
|
||||||
</a-select-option>
|
</a-select-option>
|
||||||
<a-select-option value="Jiangsu"> Jiangsu </a-select-option>
|
<a-select-option value="Jiangsu"> Jiangsu </a-select-option>
|
||||||
|
</a-select> -->
|
||||||
|
<a-select :default-value="quhaolist[0].code" size="small" @change="getquhao" class="getcode">
|
||||||
|
<a-select-option v-for="(i,j) in quhaolist" :key="j" :value="i.code">
|
||||||
|
{{i.name}}+{{i.code}}
|
||||||
|
</a-select-option>
|
||||||
|
<!-- <a-select-option value="Jiangsu"> Jiangsu </a-select-option> -->
|
||||||
</a-select>
|
</a-select>
|
||||||
<div class="line"></div>
|
<div class="line"></div>
|
||||||
<a-input v-model:value="phone" style="width: 50%" placeholder="请输入您的手机号" />
|
<a-input v-model:value="phone" style="width: 50%" placeholder="请输入您的手机号" />
|
||||||
@ -33,10 +39,10 @@
|
|||||||
点击获取验证码{{ time == 60 ? "" : "(" + time + ")" }}
|
点击获取验证码{{ time == 60 ? "" : "(" + time + ")" }}
|
||||||
</div>
|
</div>
|
||||||
<div class="line"></div>
|
<div class="line"></div>
|
||||||
<a-input style="width: 50%" placeholder="请输入您的验证码" />
|
<a-input style="width: 50%" placeholder="请输入您的验证码" v-model:value="code"/>
|
||||||
</a-input-group>
|
</a-input-group>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<div class="submit">立即登录</div>
|
<div class="submit" @click="sublogin">立即登录</div>
|
||||||
<div>Beelink公司版权所有 2019—2022</div>
|
<div>Beelink公司版权所有 2019—2022</div>
|
||||||
</a-form>
|
</a-form>
|
||||||
</div>
|
</div>
|
||||||
@ -73,48 +79,14 @@
|
|||||||
<div class="topdesc">Beelink 开启您的美好学习生活</div>
|
<div class="topdesc">Beelink 开启您的美好学习生活</div>
|
||||||
|
|
||||||
<div class="lessons">
|
<div class="lessons">
|
||||||
<div class="lessonitem">
|
<div class="lessonitem" v-for="(i,j) in videolist" :key="j" @click="tovideoxq(i.videoid)">
|
||||||
<div class="pic"></div>
|
<img :src="i.img" alt="" class="pic"/>
|
||||||
<div class="lessonname">
|
<div class="lessonname">
|
||||||
西班牙语A1级教学
|
<div>{{i.title}}</div>
|
||||||
<span class="score">7.5分</span>
|
<span class="score">{{i.score}}分</span>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="lessonitem">
|
|
||||||
<div class="pic"></div>
|
|
||||||
<div class="lessonname">
|
|
||||||
西班牙语A1级教学
|
|
||||||
<span class="score">7.5分</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="lessonitem">
|
|
||||||
<div class="pic"></div>
|
|
||||||
<div class="lessonname">
|
|
||||||
西班牙语A1级教学
|
|
||||||
<span class="score">7.5分</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="lessonitem">
|
|
||||||
<div class="pic"></div>
|
|
||||||
<div class="lessonname">
|
|
||||||
西班牙语A1级教学
|
|
||||||
<span class="score">7.5分</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="lessonitem">
|
|
||||||
<div class="pic"></div>
|
|
||||||
<div class="lessonname">
|
|
||||||
西班牙语A1级教学
|
|
||||||
<span class="score">7.5分</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="lessonitem">
|
|
||||||
<div class="pic"></div>
|
|
||||||
<div class="lessonname">
|
|
||||||
西班牙语A1级教学
|
|
||||||
<span class="score">7.5分</span>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="icons">
|
<div class="icons">
|
||||||
<img src="@/static/images/weixin.png" alt="" class="icon" />
|
<img src="@/static/images/weixin.png" alt="" class="icon" />
|
||||||
@ -146,10 +118,12 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { defineComponent, reactive, ref } from "vue";
|
import { defineComponent, onMounted, reactive, ref } from "vue";
|
||||||
import LoginTab from "@/components/login/LoginTab.vue";
|
import LoginTab from "@/components/login/LoginTab.vue";
|
||||||
import NavTop from "@/components/NavTop.vue"
|
import NavTop from "@/components/NavTop.vue"
|
||||||
import { loginpass } from '@/api';
|
import { checksmscode, getquhaolist, getwebvideolist, loginpass, sendsms } from '@/api';
|
||||||
|
import { message } from 'ant-design-vue';
|
||||||
|
import router from '@/router';
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: "Login",
|
name: "Login",
|
||||||
@ -165,10 +139,28 @@ export default defineComponent({
|
|||||||
const tabselected = ref(1); //tab切换的标志
|
const tabselected = ref(1); //tab切换的标志
|
||||||
const time = ref(60);//倒计时
|
const time = ref(60);//倒计时
|
||||||
const phone = ref(""); // 手机号
|
const phone = ref(""); // 手机号
|
||||||
|
const code =ref("")
|
||||||
|
const myquhao=ref("86")
|
||||||
const userinfo = reactive({
|
const userinfo = reactive({
|
||||||
phone: '13152639856',
|
phone: '13152639856',
|
||||||
password: '123456'
|
password: '123456'
|
||||||
})
|
})
|
||||||
|
const quhaolist = ref<any>([
|
||||||
|
{
|
||||||
|
code: "86",
|
||||||
|
id: 214,
|
||||||
|
name: "中国"
|
||||||
|
}
|
||||||
|
])
|
||||||
|
const videolist=ref<any>([{}])
|
||||||
|
|
||||||
|
onMounted(async ()=>{
|
||||||
|
quhaolist.value=await getquhaolist()
|
||||||
|
videolist.value=await getwebvideolist()
|
||||||
|
console.log(videolist.value,"listsssss")
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param val 子组件传过来的值
|
* @param val 子组件传过来的值
|
||||||
*/
|
*/
|
||||||
@ -182,10 +174,25 @@ export default defineComponent({
|
|||||||
* @param
|
* @param
|
||||||
* 点击获取验证码 触发倒计时
|
* 点击获取验证码 触发倒计时
|
||||||
*/
|
*/
|
||||||
|
let lock=false
|
||||||
const getcode: () => void = () => {
|
const getcode: () => void = () => {
|
||||||
console.log(phone.value);
|
console.log(phone.value);
|
||||||
const timestep = setInterval(() => {
|
if (lock) {
|
||||||
|
console.log("lock")
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (phone.value == "") {
|
||||||
|
message.error("手机号不能为空");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
lock = true;
|
||||||
|
console.log(myquhao.value,"quhao")
|
||||||
|
sendsms(myquhao.value + phone.value, 0);
|
||||||
|
const timestep = setInterval(() => {
|
||||||
console.log(11112);
|
console.log(11112);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
time.value = time.value - 1;
|
time.value = time.value - 1;
|
||||||
if (time.value > 0) {
|
if (time.value > 0) {
|
||||||
console.log();
|
console.log();
|
||||||
@ -195,11 +202,28 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
}, 1000);
|
}, 1000);
|
||||||
};
|
};
|
||||||
|
function getquhao(e?: any){
|
||||||
|
console.log(e)
|
||||||
|
myquhao.value = e.toString()
|
||||||
|
console.log(myquhao.value)
|
||||||
|
}
|
||||||
function login(): void {
|
function login(): void {
|
||||||
console.log(userinfo.phone,userinfo.password)
|
console.log(userinfo.phone,userinfo.password)
|
||||||
loginpass(userinfo.phone,userinfo.password)
|
loginpass(userinfo.phone,userinfo.password)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function sublogin(){
|
||||||
|
console.log(11)
|
||||||
|
//
|
||||||
|
// checksmscode(myquhao.value+phone.value,code.value)
|
||||||
|
loginpass(phone.value,'',1,code.value)
|
||||||
|
}
|
||||||
|
|
||||||
|
function tovideoxq(e?: number){
|
||||||
|
console.log(e)
|
||||||
|
router.push("/regime/videoinfo?id="+e)
|
||||||
|
}
|
||||||
return {
|
return {
|
||||||
formLayout,
|
formLayout,
|
||||||
tabselected,
|
tabselected,
|
||||||
@ -208,7 +232,14 @@ export default defineComponent({
|
|||||||
time,
|
time,
|
||||||
phone,
|
phone,
|
||||||
login,
|
login,
|
||||||
userinfo
|
userinfo,
|
||||||
|
quhaolist,
|
||||||
|
getquhao,
|
||||||
|
code,
|
||||||
|
myquhao,
|
||||||
|
sublogin,
|
||||||
|
videolist,
|
||||||
|
tovideoxq
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
@ -347,14 +378,23 @@ export default defineComponent({
|
|||||||
.pic {
|
.pic {
|
||||||
width: 200px;
|
width: 200px;
|
||||||
height: 112px;
|
height: 112px;
|
||||||
background: #98a6b8;
|
// background: #98a6b8;
|
||||||
border-radius: 18px 18px 0px 0px;
|
border-radius: 18px 18px 0px 0px;
|
||||||
}
|
}
|
||||||
.lessonname {
|
.lessonname {
|
||||||
color: #121212;
|
color: #121212;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
line-height: 45px;
|
// line-height: 45px;
|
||||||
text-indent: 17px;
|
text-indent: 17px;
|
||||||
|
height: 45px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
>div{
|
||||||
|
width: 140px;
|
||||||
|
white-space:nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow:ellipsis;
|
||||||
|
}
|
||||||
.score {
|
.score {
|
||||||
color: #f55456;
|
color: #f55456;
|
||||||
}
|
}
|
||||||
|
@ -209,7 +209,7 @@
|
|||||||
<div class="form-item">
|
<div class="form-item">
|
||||||
<label class="label">手机验证码</label>
|
<label class="label">手机验证码</label>
|
||||||
<a-input size="small" v-model:value="verificationCode" />
|
<a-input size="small" v-model:value="verificationCode" />
|
||||||
<div @click="sendVerificationCode(userinfo.mobile)" class="confirm-btn">获取验证码<span v-if="remainTime>0">({{ remainTime }}s)</span></div>
|
<div @click="sendVerificationCode(userinfo.code+userinfo.mobile)" class="confirm-btn">获取验证码<span v-if="remainTime>0">({{ remainTime }}s)</span></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div @click="nextPhoneStep" class="confirm-btn">下一步</div>
|
<div @click="nextPhoneStep" class="confirm-btn">下一步</div>
|
||||||
@ -220,15 +220,25 @@
|
|||||||
<div class="form-box">
|
<div class="form-box">
|
||||||
<div class="form-item">
|
<div class="form-item">
|
||||||
<label class="label">手机号</label>
|
<label class="label">手机号</label>
|
||||||
<a-input size="small" v-model:value="bindPhone.number" />
|
<!-- <a-input size="small" v-model:value="bindPhone.number" /> -->
|
||||||
|
<a-input-group compact class="telbox">
|
||||||
|
<a-select :default-value="quhaolist[0].code" size="small" @change="getquhao">
|
||||||
|
<a-select-option v-for="(i,j) in quhaolist" :key="j" :value="i.code">
|
||||||
|
{{i.name}}+{{i.code}}
|
||||||
|
</a-select-option>
|
||||||
|
<!-- <a-select-option value="Jiangsu"> Jiangsu </a-select-option> -->
|
||||||
|
</a-select>
|
||||||
|
<div class="line"></div>
|
||||||
|
<a-input v-model:value="mynewtel" size="small" placeholder="请输入您的手机号" />
|
||||||
|
</a-input-group>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-item">
|
<div class="form-item">
|
||||||
<label class="label">手机验证码</label>
|
<label class="label">手机验证码</label>
|
||||||
<a-input size="small" v-model:value="bindPhone.code" />
|
<a-input size="small" v-model:value="bindPhone.code" />
|
||||||
<div @click="sendVerificationCode" class="confirm-btn">获取验证码<span v-if="remainTime>0">({{ remainTime }}s)</span></div>
|
<div @click="sendVerificationCode(myquhao+mynewtel)" class="confirm-btn">获取验证码<span v-if="remainTime>0">({{ remainTime }}s)</span></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div @click="nextPhoneStep" class="confirm-btn">绑定手机</div>
|
<div @click="updatePhoneNumber" class="confirm-btn">绑定手机</div>
|
||||||
</div>
|
</div>
|
||||||
</a-modal>
|
</a-modal>
|
||||||
<!-- 修改密码 -->
|
<!-- 修改密码 -->
|
||||||
@ -277,7 +287,7 @@ import { uploadflie } from "@/utils/vod"
|
|||||||
import store from '@/store';
|
import store from '@/store';
|
||||||
import smile from "@/static/images/smile.png"
|
import smile from "@/static/images/smile.png"
|
||||||
import smilet from "@/static/images/smilet.png"
|
import smilet from "@/static/images/smilet.png"
|
||||||
import { editpassword, getarchives, getlanguages, putmember, sendsms } from "@/api/index"
|
import { changetel, checksmscode, editpassword, getarchives, getlanguages, getquhaolist, putmember, sendsms } from "@/api/index"
|
||||||
import { message } from 'ant-design-vue';
|
import { message } from 'ant-design-vue';
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
@ -306,10 +316,17 @@ export default defineComponent({
|
|||||||
|
|
||||||
const chiveslist = ref<any>([[],[]]);
|
const chiveslist = ref<any>([[],[]]);
|
||||||
const languages = ref<unknown>([]);
|
const languages = ref<unknown>([]);
|
||||||
|
const quhaolist = ref<any>([]);
|
||||||
|
const myquhao = ref<string>("");
|
||||||
|
|
||||||
|
const mynewtel = ref<string>("");
|
||||||
const isSecondStep: Ref<boolean> = ref(false);
|
const isSecondStep: Ref<boolean> = ref(false);
|
||||||
onMounted(async ()=>{
|
onMounted(async ()=>{
|
||||||
chiveslist.value = await getarchives()
|
chiveslist.value = await getarchives()
|
||||||
languages.value = await getlanguages()
|
languages.value = await getlanguages()
|
||||||
|
quhaolist.value=await getquhaolist()
|
||||||
|
myquhao.value=quhaolist.value[0].code
|
||||||
|
console.log(quhaolist.value,"listsssss")
|
||||||
})
|
})
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -371,10 +388,11 @@ export default defineComponent({
|
|||||||
/**
|
/**
|
||||||
* 发送验证码
|
* 发送验证码
|
||||||
*/
|
*/
|
||||||
function sendVerificationCode(phone: string): void {
|
function sendVerificationCode(tel: string): void {
|
||||||
if(remainTime.value === 0) {
|
if(remainTime.value === 0) {
|
||||||
computedVerificationCode();
|
computedVerificationCode();
|
||||||
sendsms(phone, 0)
|
console.log(tel,"send")
|
||||||
|
sendsms(tel, 0)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 绑定手机号是否是第二步
|
// 绑定手机号是否是第二步
|
||||||
@ -389,16 +407,45 @@ export default defineComponent({
|
|||||||
/**
|
/**
|
||||||
* 绑定手机号下一步
|
* 绑定手机号下一步
|
||||||
*/
|
*/
|
||||||
function nextPhoneStep(): void {
|
async function nextPhoneStep(): Promise<void> {
|
||||||
isSecondStep.value = true;
|
|
||||||
|
remainTime.value = 0
|
||||||
|
if(!isSecondStep.value){
|
||||||
|
console.log(formData.value.code)
|
||||||
|
if(verificationCode.value == ""){
|
||||||
|
return ;
|
||||||
|
}
|
||||||
|
const res=await checksmscode(formData.value.code+formData.value.mobile,verificationCode.value)
|
||||||
|
console.log(res,"0.0")
|
||||||
|
if(res){
|
||||||
|
isSecondStep.value = true;
|
||||||
|
}
|
||||||
|
// isSecondStep.value = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// isSecondStep.value = true;
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 修改手机号
|
* 修改手机号
|
||||||
* @return { void }
|
* @return { void }
|
||||||
*/
|
*/
|
||||||
function updatePhoneNumber (): void {
|
async function updatePhoneNumber (): Promise<void> {
|
||||||
console.log('修改手机号');
|
console.log('修改手机号');
|
||||||
|
console.log(mynewtel.value,myquhao.value,bindPhone.code)
|
||||||
|
const res=await checksmscode(myquhao.value+mynewtel.value,bindPhone.code.toString())
|
||||||
|
console.log(res,"xiugai")
|
||||||
|
if(res){
|
||||||
|
const res1=await changetel(mynewtel.value)
|
||||||
|
if(res1){
|
||||||
|
store.dispatch("setUserInfo");
|
||||||
|
updatePhoneVisible.value=false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function getquhao(e?: any){
|
||||||
|
console.log(e)
|
||||||
|
myquhao.value=e.toString()
|
||||||
}
|
}
|
||||||
// 是否显示修改密码框
|
// 是否显示修改密码框
|
||||||
const updatePasswordVisible: Ref<boolean> = ref(false);
|
const updatePasswordVisible: Ref<boolean> = ref(false);
|
||||||
@ -553,7 +600,11 @@ export default defineComponent({
|
|||||||
chiveslist,
|
chiveslist,
|
||||||
languages,
|
languages,
|
||||||
uploadprogress,
|
uploadprogress,
|
||||||
choosewillsay
|
choosewillsay,
|
||||||
|
mynewtel,
|
||||||
|
quhaolist,
|
||||||
|
getquhao,
|
||||||
|
myquhao
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -567,6 +618,10 @@ export default defineComponent({
|
|||||||
padding: 46px;
|
padding: 46px;
|
||||||
border-radius: 17px;
|
border-radius: 17px;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
.telbox{
|
||||||
|
margin-left:15px;
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
.update-btn {
|
.update-btn {
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
color: #08AE98;
|
color: #08AE98;
|
||||||
|
@ -29,9 +29,14 @@
|
|||||||
<div class="texts">
|
<div class="texts">
|
||||||
<div>账户余额</div>
|
<div>账户余额</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> -->
|
||||||
{{store.state.userinfo.moneyValue}}
|
{{store.state.userinfo.money.split('.')[0]}}
|
||||||
|
<span class="float">{{store.state.userinfo.money.split('.')[1]?'.'+store.state.userinfo.money.split('.')[1]:'.00'}}</span>
|
||||||
|
|
||||||
|
<!-- {{store.state.userinfo.money.split('.')[0]}}
|
||||||
|
<span class="float">{{'.'+store.state.userinfo.money.split('.')[1]}}</span> -->
|
||||||
|
|
||||||
|
|
||||||
<!-- {{store.state.userinfo.money.split('.')[0]}}
|
<!-- {{store.state.userinfo.money.split('.')[0]}}
|
||||||
<span class="float">{{store.state.userinfo.money.split('.')[1]?'.'+store.state.userinfo.money.split('.')[1]:''}}</span> -->
|
<span class="float">{{store.state.userinfo.money.split('.')[1]?'.'+store.state.userinfo.money.split('.')[1]:''}}</span> -->
|
||||||
|
204
src/views/regime/SignupStu.vue
Normal file
204
src/views/regime/SignupStu.vue
Normal file
@ -0,0 +1,204 @@
|
|||||||
|
<template>
|
||||||
|
<div class="subscriber">
|
||||||
|
<div class="top">
|
||||||
|
<div class="title">直播报名学生</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)"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mid">
|
||||||
|
<div class="studentlist">
|
||||||
|
<div class="stuitem" v-for="(i,j) in teacherlikedlist" :key="j">
|
||||||
|
<img :src="i.img" alt="" class="photo" />
|
||||||
|
<div>
|
||||||
|
<div class="info">
|
||||||
|
<div class="infoitem">
|
||||||
|
<span class="label">姓名:</span>
|
||||||
|
<span class="one-line-hide">{{i.name}}</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="infoitem">
|
||||||
|
<span class="label">所在国家:</span>
|
||||||
|
<span class="one-line-hide">{{i.live}}</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="infoitem">
|
||||||
|
<span class="label">年龄:</span>
|
||||||
|
<span class="one-line-hide">{{i.age}}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="info">
|
||||||
|
<div class="infoitem">
|
||||||
|
<span class="label">学生母语:</span>
|
||||||
|
<span class="one-line-hide">{{i.mtongue }}</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="infoitem">
|
||||||
|
<span class="label">兴趣点:</span>
|
||||||
|
<span class="one-line-hide">{{i.interestStr}}</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="infoitem">
|
||||||
|
<span class="label">语言等级:</span>
|
||||||
|
<span class="one-line-hide">{{i.levelStr}}</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>参加平台直播课程总时长:<span class="time">{{i.length}}min</span></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- <div class="pages">
|
||||||
|
<a-pagination v-model:current="page" :total="teacherlikedlist.total" :showLessItems="true" @change="pagechange"/>
|
||||||
|
</div> -->
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.subscriber {
|
||||||
|
width: 100%;
|
||||||
|
// height: 706px;
|
||||||
|
background-color: #fff;
|
||||||
|
border-radius: 17px;
|
||||||
|
// padding: 40px;
|
||||||
|
position: relative;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
padding-bottom: 200px;
|
||||||
|
.top {
|
||||||
|
display: flex;
|
||||||
|
width: 1241px;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
margin-top: 21px;
|
||||||
|
border-bottom: 1px solid #eeeeee;
|
||||||
|
padding-bottom: 6px;
|
||||||
|
.title {
|
||||||
|
font-size: 13px;
|
||||||
|
color: #121212;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
.sel {
|
||||||
|
// width: 171px;
|
||||||
|
height: 26px;
|
||||||
|
border: 1px solid #999;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
// padding: 8px;
|
||||||
|
border-radius: 4px;
|
||||||
|
padding-right:30px;
|
||||||
|
> img {
|
||||||
|
width: 11px;
|
||||||
|
height: 11px;
|
||||||
|
margin-left:5px
|
||||||
|
}
|
||||||
|
> input {
|
||||||
|
width: 170px;
|
||||||
|
font-size: 9px;
|
||||||
|
line-height: 1;
|
||||||
|
margin-left: 6px;
|
||||||
|
border: none;
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.mid {
|
||||||
|
.studentlist {
|
||||||
|
width: 1241px;
|
||||||
|
margin: 0 auto;
|
||||||
|
.stuitem {
|
||||||
|
height: 131px;
|
||||||
|
border-bottom: 1px solid #eeeeee;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
.photo {
|
||||||
|
width: 74px;
|
||||||
|
height: 74px;
|
||||||
|
background: #125cb4;
|
||||||
|
border-radius: 50%;
|
||||||
|
}
|
||||||
|
.info {
|
||||||
|
margin-left: 35px;
|
||||||
|
display: flex;
|
||||||
|
font-size: 12px;
|
||||||
|
color: #121212;
|
||||||
|
line-height: 45px;
|
||||||
|
.infoitem {
|
||||||
|
width: 194px;
|
||||||
|
display: flex;
|
||||||
|
.label{
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.time {
|
||||||
|
color: #08AE98;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.pages {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 114px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
::v-deep(.ant-pagination-next) > .ant-pagination-item-link,
|
||||||
|
::v-deep(.ant-pagination-prev) > .ant-pagination-item-link,
|
||||||
|
::v-deep(.ant-pagination-item),
|
||||||
|
::v-deep(.ant-pagination-jump-next-custom-icon),
|
||||||
|
::v-deep(.ant-pagination-jump-prev-custom-icon) {
|
||||||
|
border: 1px solid #08ae98;
|
||||||
|
}
|
||||||
|
::v-deep(.ant-pagination-item-active) a {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
::v-deep(.ant-pagination-item-active) {
|
||||||
|
background-color: #08ae98;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<script lang="ts">
|
||||||
|
import { getstudentlist, getteacherliked } from '@/api';
|
||||||
|
import { defineComponent, onMounted, ref, toRaw } from "vue";
|
||||||
|
import { useRoute } from 'vue-router';
|
||||||
|
export default defineComponent({
|
||||||
|
name: "Subscriber",
|
||||||
|
components: {},
|
||||||
|
setup() {
|
||||||
|
const page = ref(1);
|
||||||
|
const teacherlikedlist =ref<any>({
|
||||||
|
|
||||||
|
});
|
||||||
|
const title=ref('')
|
||||||
|
const condition = ref<any>({
|
||||||
|
title:"",
|
||||||
|
id:Number(useRoute().query.liveid)
|
||||||
|
})
|
||||||
|
onMounted(async () => {
|
||||||
|
console.log(useRoute().query.liveid,"mmmmmmm")
|
||||||
|
const id=useRoute().query.liveid
|
||||||
|
teacherlikedlist.value=await getstudentlist({id:Number(id)})
|
||||||
|
});
|
||||||
|
async function search(e: any){
|
||||||
|
teacherlikedlist.value=await getstudentlist(e)
|
||||||
|
}
|
||||||
|
async function pagechange(){
|
||||||
|
teacherlikedlist.value=await getstudentlist(toRaw(condition.value))
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
page,
|
||||||
|
teacherlikedlist,
|
||||||
|
condition,
|
||||||
|
title,
|
||||||
|
search
|
||||||
|
};
|
||||||
|
},
|
||||||
|
});
|
||||||
|
</script>
|
@ -2,7 +2,7 @@
|
|||||||
<div class="videoinfo">
|
<div class="videoinfo">
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<VideoPlay :url="result.fileurl"></VideoPlay>
|
<VideoPlay :url="result.fileurl"></VideoPlay>
|
||||||
<VideoCont :videoid="result.videoid" :date="result.created_at" :watch="result.watch" :share="result.share" :status="result.status"></VideoCont>
|
<VideoCont :videoid="result.videoid" :date="result.createdAt" :watch="result.watch" :share="result.share" :status="result.status"></VideoCont>
|
||||||
</div>
|
</div>
|
||||||
<VideoReview class="review"></VideoReview>
|
<VideoReview class="review"></VideoReview>
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
Reference in New Issue
Block a user