1 Star 0 Fork 7

xcy188/畅阳教培 在线教育 在线视频教育+在线试题+在线题库+在线考试源码Java+SpringBoot+MySql+vue+uni-app

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
App.vue 17.14 KB
一键复制 编辑 原始数据 按行查看 历史
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703
<script>
import Vue from "vue";
import appUpdate from "common/util/appUpdate.js";
// import plv from "@/wxcomponents/polyv-sdk/index";
import {
getMajorInfo,
getToken,
setCode,
setEntityId,
setTitle
} from "@/common/util/index.js";
import {
componentInfoBrief
} from '@/api/mine/about.js'
import {
isApplet,
loginRecord,
judge
} from "@/api/login.js";
const NET = require("@/uview-ui/request");
const API = require("@/api/tuiguang");
export default {
globalData: {
loginAss: false,
LearningServiceId: '',
isApplet: true,
// imageUrl: 'http://www.muyuan68.com' //uni.scss中有css变量
imageUrl: 'https://education.changyangdt.com/xcxImg', //uni.scss中有css变量
imageWdUrl: 'https://education.changyangdt.com/xcxImg/static', //uni.scss中有css变量
imageWd: 'https://education.changyangdt.com/xcxImg/static/fsdownload',
imgTG: 'https://education.changyangdt.com/xcxImg/static/live',
imgwendu: 'https://education.changyangdt.com/xcxImg/static/helpStuImg/img',
imgZb: 'https://education.changyangdt.com/xcxImg/static/learn/homeLive',
studyPlanImg: 'https://education.changyangdt.com/xcxImg/static/helpStuImg/img',
imaeWd: 'https://education.changyangdt.com/xcxImg/questionBank/static',
imgHome: 'https://education.changyangdt.com/xcxImg/home'
},
onLaunch: function(e) {
// this.get_componentInfoBrief()
uni.setStorageSync('courseState', false) // 小程序课程权限
uni.setStorageSync('questionState', false) // 小程序题库权限
// uni.setStorageSync('tabbarIndex', 1) // 小程序题库权限
console.log(e, 'onLaunch')
console.log(e.query)
if (e.query.entityId) {
setEntityId(e.query.entityId)
if (getToken()) {
// uni.navigateTo({
// url: '../../pagesA/fenxiang/fenxiang?entityId=' + e.query.entityId
// })
} else {
const pages = getCurrentPages().pop(); //获取页面栈
console.log(pages, 141414)
pages.$vm.loginAss = true; //前一个页面方法
// uni.reLaunch({
// url: "/pages/login/login",
// });
}
} else if (e.query.scene) {
console.log(e.query.scene, 123456)
if (e.query.scene.slice(0, 4) == 'code') {
let code = e.query.scene.slice(4, e.query.scene.length)
console.log(code, 'code')
setCode(code)
if (getToken()) {
NET.request(API.judge, {}, 'post').then(res => {
console.log(res)
if (res.code == 200) {
if (code) {
uni.navigateTo({
url: "/pagesA/tuiguan/index?code=" + code,
});
} else {
uni.navigateTo({
url: "/pagesA/tuiguan/index",
});
}
} else if (res.code == 401) {
uni.showToast({
title: '请重新登录',
icon: "none"
})
} else {
if (code) {
uni.navigateTo({
url: "/pagesA/shenqing/index?code=" + code,
});
} else {
uni.navigateTo({
url: "/pagesA/tuiguan/index",
});
}
}
})
} else {
// uni.reLaunch({
// url: "/pages/login/login",
// });
const pages = getCurrentPages().pop(); //获取页面栈
console.log(pages, 141414)
pages.$vm.loginAss = true; //前一个页面方法
}
}
} else if (e.query.code) {
setCode(e.query.code)
if (getToken()) {
NET.request(API.judge, {}, 'post').then(res => {
console.log(res)
if (res.code == 200) {
if (e.query.code) {
uni.navigateTo({
url: "/pagesA/tuiguan/index?code=" + e.query.code,
});
} else {
uni.navigateTo({
url: "/pagesA/tuiguan/index",
});
}
} else if (res.code == 401) {
uni.showToast({
title: '请重新登录',
icon: "none"
})
} else {
if (e.query.code) {
uni.navigateTo({
url: "/pagesA/shenqing/index?code=" + e.query.code,
});
} else {
uni.navigateTo({
url: "/pagesA/tuiguan/index",
});
}
}
})
} else {
// uni.reLaunch({
// url: "/pages/login/login",
// });
const pages = getCurrentPages().pop(); //获取页面栈
console.log(pages, 141414)
pages.$vm.loginAss = true; //前一个页面方法
}
}
uni.getSystemInfo({
success: function(e) {
// #ifdef APP-PLUS
// 检测升级
appUpdate();
// #endif
// #ifdef MP-WEIXIN
Vue.prototype.StatusBar = e.statusBarHeight;
if (e.platform == "android") {
Vue.prototype.CustomBar = e.statusBarHeight + 50;
} else {
Vue.prototype.CustomBar = e.statusBarHeight + 45;
}
// #endif
// #ifdef MP-WEIXIN
Vue.prototype.StatusBar = e.statusBarHeight;
let custom = wx.getMenuButtonBoundingClientRect();
Vue.prototype.Custom = custom;
Vue.prototype.CustomBar =
custom.bottom + custom.top - e.statusBarHeight;
// #endif
// #ifdef MP-ALIPAY
Vue.prototype.StatusBar = e.statusBarHeight;
Vue.prototype.CustomBar = e.statusBarHeight + e.titleBarHeight;
// #endif
// #ifdef APP-PLUS
//Vue.prototype.$api.listenTranMsg()
// var info = plus.push.getClientInfo();
// /* 5+ push 消息推送 ps:使用:H5+的方式监听,实现推送*/
// plus.push.addEventListener("click", function(msg) {
// console.log("click:" + JSON.stringify(msg));
// console.log(msg.payload);
// console.log(JSON.stringify(msg));
// //这里可以写跳转业务代码
// }, false);
// // 监听在线消息事件
// plus.push.addEventListener("receive", function(msg) {
// // plus.ui.alert(2);
// //这里可以写跳转业务代码
// console.log("recevice:" + JSON.stringify(msg))
// }, false);
// #endif
//Vue.prototype.$api.initLogin()
},
});
// #ifdef MP-ALIPAY
uni.checkSession({
success: () => {
console.log("登陆未过期");
},
fail: () => {
console.log("登陆过期");
// uni.reLaunch({
// url: "/pages/login/login",
// });
},
});
// #endif
Vue.prototype.NavBarColor = "bg-gradual-blue";
Vue.prototype.Radio_Check_Size = "scale(0.7)";
Vue.prototype.bannerList = [{
id: 1,
type: "image",
url: "https://static.jeecg.com/upload/test/banner0_1595850438042.jpeg",
link: "",
},
{
id: 2,
type: "image",
url: "https://static.jeecg.com/upload/test/banner2_1595818081327.jpg",
link: "",
},
{
id: 3,
type: "image",
url: "https://static.jeecg.com/upload/test/oabanner-2_1595648520760.png",
link: "",
},
{
id: 4,
type: "image",
url: "https://static.jeecg.com/upload/test/banner5_1595818089013.jpeg",
link: "",
},
];
Vue.prototype.ColorList = [{
title: "嫣红",
name: "red",
color: "#e54d42",
},
{
title: "桔橙",
name: "orange",
color: "#f37b1d",
},
{
title: "明黄",
name: "yellow",
color: "#fbbd08",
},
{
title: "橄榄",
name: "olive",
color: "#8dc63f",
},
{
title: "森绿",
name: "green",
color: "#39b54a",
},
{
title: "天青",
name: "cyan",
color: "#1cbbb4",
},
{
title: "海蓝",
name: "blue",
color: "#0081ff",
},
{
title: "姹紫",
name: "purple",
color: "#6739b6",
},
{
title: "木槿",
name: "mauve",
color: "#9c26b0",
},
{
title: "桃粉",
name: "pink",
color: "#e03997",
},
{
title: "棕褐",
name: "brown",
color: "#a5673f",
},
{
title: "玄灰",
name: "grey",
color: "#8799a3",
},
{
title: "草灰",
name: "gray",
color: "#aaaaaa",
},
{
title: "墨黑",
name: "black",
color: "#333333",
},
{
title: "雅白",
name: "white",
color: "#ffffff",
},
];
},
onShow: function(e) {
if (getToken()) {
loginRecord({
type: 3
}).then(res => {}).catch(err => {})
}
console.log('我是app.vue')
},
onHide: function() {},
methods: {
get_componentInfoBrief() {
let data = {}
//#ifdef H5
data.appId = this.$appid;
data.clientType = 'OA';
//#endif
//#ifdef MP-WEIXIN
console.log('当前小程序appid:', uni.getAccountInfoSync().miniProgram.appId);
data.appId = uni.getAccountInfoSync().miniProgram.appId
data.clientType = 'MP';
//#endif
componentInfoBrief(data).then((res) => {
console.log('简介返回值:', res);
setTitle(res.result.title)
}).catch((err) => {
console.log(err);
})
},
// 初始化保利威sdk
initPolyvSdk() {},
guanbi(value) {
this.globalData.loginAss = value
},
goVideoRoom(data1, data2, idx1, idx2, courseData, classId, courseId) {
console.log(data1, data2, idx1, idx2, courseData, classId, courseId, '整合数据')
// debugger
console.log(courseData, '课程详情')
console.log(data1, '')
console.log(data2, '')
let arr = []
// this.objde = {}
if (courseData.isNoBuy == 1) {
// 如果课程买了
courseData.list.forEach((item, index) => {
console.log(item, '')
// this.arr=[]
item.list.forEach((res) => {
console.log(res, '')
arr.push({
classid: classId,
courseId: courseId,
unitId: res.id,
vid: res.vid,
videoId: res.id,
liveClassroomName: res.liveClassroomName,
sourceType: res.sourceType
})
})
// this.objde[index]=this.arr
})
} else {
// 如果课程没买
courseData.list.forEach((item, index) => {
console.log(item, '')
item.list.forEach((res) => {
console.log(res, '')
if (res.liveClassroomStatus == 2 || res.liveClassroomStatus == 4 || res
.isAudition == 1) {
arr.push({
classid: classId,
courseId: courseId,
unitId: res.id,
vid: res.vid,
videoId: res.id,
liveClassroomName: res.liveClassroomName,
sourceType: res.sourceType
})
}
})
// this.objde[index]=this.arr
})
}
console.log(this.arr, '播放列表')
if (courseData.isNoBuy == 1) {
// 如果课程买了
this.audition(data1, data2, idx1, idx2, courseData, arr, classId, courseId)
} else {
// 如果课程没买
if (data2.isAudition == 1) {
this.audition(data1, data2, idx1, idx2, courseData, arr, classId, courseId)
} else {
uni.showToast({
title: '尚未购买此课程',
icon: 'none'
})
}
}
},
audition(data1, data2, idx1, idx2, courseData, arr, classId, courseId) {
console.log(data1, data2, idx1, idx2, courseData, classId, courseId, '整合数据2')
console.log(data1, '')
console.log(data2, '')
console.log(idx1, '章索引')
console.log(idx2, '节索引')
if (data1.type == 1) {
// 直播
//在线
if (courseData.isNoBuy == 0 && data2.unlock.unlockType != 9 && data2.unlock.isUnLock == 0) {
this.unlock = data2
if (data2.unlock.unlockType == 1) {
this.isAss = true
this.isREs = false
console.log(123)
} else if (data2.unlock.unlockType == 0) {
this.isREs = true
this.isAss = false
}
} else if (data2.liveClassroomStatus == 1) {
//在线中,进入观看
// uni.setStorageSync('materials', data.materials)
uni.navigateTo({
url: `/pages/webView/webView?channel=${data2.channel}&classid=${this.classId}&courseId=${this.courseId}&unitId=${data2.id}`
})
//未开播,可设置提醒(微信订阅消息)
// if (data2.isAgree != 1) {
// getTemplateId({
// type: 1
// }).then(res => {
// if (res.result && res.result[0]) {
// this.SubscribeMessage(res.result[0].templateId, data2.id, idx1, idx2)
// }
// })
// }
} else if (data2.liveClassroomStatus == 2 && data2.channel) {
//在线中,进入观看
// uni.setStorageSync('materials', data.materials)
uni.navigateTo({
url: `/pages/webView/webView?channel=${data2.channel}&classid=${this.classId}&courseId=${this.courseId}&unitId=${data2.id}`
})
} else if (data2.liveClassroomStatus == 4) {
//在线结束可回放
uni.navigateTo({
url: `/pages/webView/webView?channel=${data2.channel}&classid=${this.classId}&courseId=${this.courseId}&unitId=${data2.id}`
})
// if (data2.vid) {
// uni.setStorageSync('materials', data2.materials)
// uni.navigateTo({
// url: `/pages/videoRoom/videoRoom?vid=${data2.vid}&videoId=${data2.id}&classid=${this.classId}&courseId=${this.courseId}&unitId=${data2.id}`
// })
// } else {
// uni.showToast({
// title: '回放内容不存在',
// icon: 'none'
// });
// }
} else {
uni.showToast({
title: '回放未生成',
icon: 'none'
});
}
} else {
// 视频
if (data2.vid) {
uni.setStorageSync('materials', data2.materials)
uni.navigateTo({
url: `/pages/videoRoom/videoRoom?vid=${data2.vid}&videoId=${data2.id}&classid=${classId}&courseId=${courseId}&unitId=${data2.id}&arr=${JSON.stringify(arr)}&sourceType=${data2.sourceType}&speedOfProgress=${data2.speedOfProgress}`,
});
} else {
uni.showToast({
title: '视频暂未更新',
icon: 'none'
})
}
}
}
},
};
</script>
<style>
/* @import "uview-ui/index.scss"; */
@import "plugin/colorui/main.css";
@import "plugin/colorui/icon.css";
@import "plugin/colorui/animation.css";
page {
height: 100%;
}
.lineClamp2 {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
}
.lineClamp3 {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
overflow: hidden;
}
button {
margin: 0;
padding: 0;
border: 0;
}
button::after {
margin: 0 !important;
padding: 0 !important;
border: 0 !important;
}
.nav-list {
display: flex;
flex-wrap: wrap;
padding: 0px 40upx 0px;
justify-content: space-between;
}
.nav-li {
padding: 30upx;
border-radius: 12upx;
width: 45%;
margin: 0 2.5% 40upx;
background-image: url(https://cdn.nlark.com/yuque/0/2019/png/280374/1552996358352-assets/web-upload/cc3b1807-c684-4b83-8f80-80e5b8a6b975.png);
background-size: cover;
background-position: center;
position: relative;
z-index: 1;
}
.nav-li::after {
content: "";
position: absolute;
z-index: -1;
background-color: inherit;
width: 100%;
height: 100%;
left: 0;
bottom: -10%;
border-radius: 10upx;
opacity: 0.2;
transform: scale(0.9, 0.9);
}
.nav-li.cur {
color: #fff;
background: rgb(94, 185, 94);
box-shadow: 4upx 4upx 6upx rgba(94, 185, 94, 0.4);
}
.nav-title {
font-size: 32upx;
font-weight: 300;
}
.nav-title::first-letter {
font-size: 40upx;
margin-right: 4upx;
}
.nav-name {
font-size: 28upx;
text-transform: Capitalize;
margin-top: 20upx;
position: relative;
}
.nav-name::before {
content: "";
position: absolute;
display: block;
width: 40upx;
height: 6upx;
background: #fff;
bottom: 0;
right: 0;
opacity: 0.5;
}
.nav-name::after {
content: "";
position: absolute;
display: block;
width: 100upx;
height: 1px;
background: #fff;
bottom: 0;
right: 40upx;
opacity: 0.3;
}
.nav-name::first-letter {
font-weight: bold;
font-size: 36upx;
margin-right: 1px;
}
.nav-li text {
position: absolute;
right: 30upx;
top: 30upx;
font-size: 52upx;
width: 60upx;
height: 60upx;
text-align: center;
line-height: 60upx;
}
.text-light {
font-weight: 300;
}
@keyframes show {
0% {
transform: translateY(-50px);
}
60% {
transform: translateY(40upx);
}
100% {
transform: translateY(0px);
}
}
@-webkit-keyframes show {
0% {
transform: translateY(-50px);
}
60% {
transform: translateY(40upx);
}
100% {
transform: translateY(0px);
}
}
.loginw {
position: absolute !important;
/* top: 50%; */
width: 100%;
bottom: 0rpx;
left: 0rpx;
/* margin-top: -150rpx; */
z-index: 99999;
/* left: 50%; */
/* margin-left: -325rpx; */
}
.back-tankuang {
position: fixed;
top: 0;
width: 100%;
left: 0rpx;
z-index: 99999;
height: 100%;
background: rgba(51, 51, 51, 0.5);
}
uni-modal {
z-index: 99999999 !important;
}
/* /deep/ uni-modal {
z-index: 999999 !important;
} */
</style>
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/xcy1888/changyangEducation.git
[email protected]:xcy1888/changyangEducation.git
xcy1888
changyangEducation
畅阳教培 在线教育 在线视频教育+在线试题+在线题库+在线考试源码Java+SpringBoot+MySql+vue+uni-app
master

搜索帮助