提交
This commit is contained in:
16
App.vue
16
App.vue
@@ -33,22 +33,6 @@ export default {
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
if (
|
|
||||||
uni.getStorageSync("guidePages") != 2 ||
|
|
||||||
!uni.getStorageSync("guidePages")
|
|
||||||
) {
|
|
||||||
plus.navigator.closeSplashscreen();
|
|
||||||
} else {
|
|
||||||
uni.switchTab({
|
|
||||||
url: "/pages/home/index",
|
|
||||||
success: function () {
|
|
||||||
plus.navigator.closeSplashscreen();
|
|
||||||
let page = getCurrentPages()[0];
|
|
||||||
page.$vm.requestAll();
|
|
||||||
},
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
//取出缓存数据
|
//取出缓存数据
|
||||||
store.commit("setCacheData");
|
store.commit("setCacheData");
|
||||||
// #ifdef MP-WEIXIN
|
// #ifdef MP-WEIXIN
|
||||||
|
|||||||
@@ -167,6 +167,7 @@ $http.dataFactory = async function (res) {
|
|||||||
});
|
});
|
||||||
uni.setStorageSync('userInfo', {})
|
uni.setStorageSync('userInfo', {})
|
||||||
uni.setStorageSync('token', null)
|
uni.setStorageSync('token', null)
|
||||||
|
console.log('我进来了')
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
uni.redirectTo({
|
uni.redirectTo({
|
||||||
url: "/pages/user/login",
|
url: "/pages/user/login",
|
||||||
|
|||||||
@@ -2,8 +2,8 @@
|
|||||||
"name" : "心灵空间",
|
"name" : "心灵空间",
|
||||||
"appid" : "__UNI__BBBDFD2",
|
"appid" : "__UNI__BBBDFD2",
|
||||||
"description" : "心灵空间",
|
"description" : "心灵空间",
|
||||||
"versionName" : "1.0.23",
|
"versionName" : "1.0.27",
|
||||||
"versionCode" : 1023,
|
"versionCode" : 1027,
|
||||||
"transformPx" : false,
|
"transformPx" : false,
|
||||||
/* 5+App特有相关 */
|
/* 5+App特有相关 */
|
||||||
"app-plus" : {
|
"app-plus" : {
|
||||||
|
|||||||
22
pages.json
22
pages.json
@@ -1,16 +1,5 @@
|
|||||||
{
|
{
|
||||||
"pages": [
|
"pages": [
|
||||||
{
|
|
||||||
"path": "pages/visitor/index",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "游客登录",
|
|
||||||
"app-plus": {
|
|
||||||
"bounce": "none",
|
|
||||||
"titleNView": false,
|
|
||||||
"popGesture": "none"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"path": "pages/home/index",
|
"path": "pages/home/index",
|
||||||
"style": {
|
"style": {
|
||||||
@@ -44,6 +33,17 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/visitor/index",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "游客登录",
|
||||||
|
"app-plus": {
|
||||||
|
"bounce": "none",
|
||||||
|
"titleNView": false,
|
||||||
|
"popGesture": "none"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": "pages/visitor/mine",
|
"path": "pages/visitor/mine",
|
||||||
"style": {
|
"style": {
|
||||||
|
|||||||
@@ -1,129 +1,159 @@
|
|||||||
<template>
|
<template>
|
||||||
<view style="width: 100%; height: 100%;">
|
|
||||||
<view v-if="axiosStatus!=''">
|
<view style="width: 100%; height: 100%">
|
||||||
<scroll-view @scrolltolower="lower" scroll-y="true" class="scroll-Y" v-if="dataList&&dataList.length > 0"
|
<view v-if="axiosStatus != ''">
|
||||||
style="height: 100%">
|
<scroll-view
|
||||||
<view @click="gotoDetail(item, index)" class="scroll-view-item list_item"
|
@scrolltolower="lower"
|
||||||
v-for="(item, index) in dataList" :key="indexKey ? item[indexKey] : item.id"
|
scroll-y="true"
|
||||||
:index="indexKey ? item[indexKey] : index">
|
class="scroll-Y"
|
||||||
<view :class="['titleItem', '']" :style="`width:${isNoIcon ? '100%' : 'calc(100% - 30rpx)'}`">
|
v-if="dataList && dataList.length > 0"
|
||||||
<slot name="leftSlot" :row="item" :item="item" :index="index"> </slot>
|
style="height: 100%"
|
||||||
|
>
|
||||||
|
<view
|
||||||
|
@click="gotoDetail(item, index)"
|
||||||
|
class="scroll-view-item list_item"
|
||||||
|
v-for="(item, index) in dataList"
|
||||||
|
:key="indexKey ? item[indexKey] : item.id"
|
||||||
|
:index="indexKey ? item[indexKey] : index"
|
||||||
|
>
|
||||||
|
<view :class="['titleItem', '']">
|
||||||
|
<slot name="leftSlot" :row="item" :item="item" :index="index">
|
||||||
|
</slot>
|
||||||
|
|
||||||
<template v-if="isCondition">
|
<template v-if="isCondition">
|
||||||
<slot name="labelSlot" :row="item" :rowIndex="index"></slot>
|
<slot name="labelSlot" :row="item" :rowIndex="index"></slot>
|
||||||
</template>
|
</template>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
{{ item[label] }}
|
{{ item[label] }}
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<slot name="rightSlot" :row="item" :rowIndex="index"></slot>
|
<slot name="rightSlot" :row="item" :rowIndex="index"></slot>
|
||||||
</view>
|
</view>
|
||||||
<image v-if="!isNoIcon" src="@/static/icon/icon_right.png" class="rightArrow" style=""></image>
|
<image
|
||||||
</view>
|
v-if="!isNoIcon"
|
||||||
</scroll-view>
|
src="@/static/icon/icon_right.png"
|
||||||
<u-empty v-else-if="noDataIcon && isLoadingHide" :mode="noDataIcon"
|
class="rightArrow"
|
||||||
:icon="`http://cdn.uviewui.com/uview/empty/${noDataIcon}.png`">
|
style=""
|
||||||
</u-empty>
|
></image>
|
||||||
<u-divider style="width: 100%;" v-else-if="!isOrderList" text="暂无数据"></u-divider>
|
</view>
|
||||||
</view>
|
</scroll-view>
|
||||||
</view>
|
<u-empty
|
||||||
|
v-else-if="noDataIcon && isLoadingHide"
|
||||||
|
:mode="noDataIcon"
|
||||||
|
:icon="`http://cdn.uviewui.com/uview/empty/${noDataIcon}.png`"
|
||||||
|
>
|
||||||
|
</u-empty>
|
||||||
|
<u-divider style="width: 100%" v-else text="暂无数据哦~"></u-divider>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {
|
import { mapState } from "vuex";
|
||||||
mapState
|
export default {
|
||||||
} from "vuex";
|
props: [
|
||||||
export default {
|
"indexKey",
|
||||||
props: [
|
"dataList",
|
||||||
"indexKey",
|
"label",
|
||||||
"dataList",
|
"isCondition",
|
||||||
"label",
|
"isNoIcon",
|
||||||
"isCondition",
|
"pagination",
|
||||||
"isNoIcon",
|
"noDataIcon",
|
||||||
"pagination",
|
"isLoadingHide",
|
||||||
"noDataIcon",
|
"axiosStatus",
|
||||||
"isLoadingHide",
|
],
|
||||||
"axiosStatus",
|
data() {
|
||||||
"isOrderList"
|
return {
|
||||||
],
|
status: "",
|
||||||
data() {
|
};
|
||||||
return {
|
},
|
||||||
status: '',
|
onLoad() {},
|
||||||
|
onShow() {
|
||||||
};
|
this.status = "";
|
||||||
},
|
},
|
||||||
onLoad() {},
|
onHide() {
|
||||||
onShow() {
|
// this.showSearchList = false
|
||||||
this.status = '';
|
// this.searchList = []
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
...mapState(["userInfo"]),
|
...mapState(["userInfo"]),
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
lower() {
|
lower() {
|
||||||
this.$emit("lower");
|
this.$emit("lower");
|
||||||
},
|
},
|
||||||
gotoDetail(data, index) {
|
gotoDetail(data, index) {
|
||||||
this.$emit("hancleClick", data, index);
|
this.$emit("hancleClick", data, index);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
onBackPress() {
|
onBackPress() {
|
||||||
// #ifdef APP-PLUS
|
// #ifdef APP-PLUS
|
||||||
plus.key.hideSoftKeybord();
|
plus.key.hideSoftKeybord();
|
||||||
// #endif
|
// #endif
|
||||||
},
|
},
|
||||||
components: {},
|
components: {},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.list_item {
|
.list_item {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
padding: 20rpx 20rpx;
|
padding: 20rpx;
|
||||||
font-size: 30rpx;
|
font-size: 30rpx;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
border-bottom: 1rpx solid #e0e0e0;
|
border-bottom: 1rpx solid #e0e0e0;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
}
|
}
|
||||||
|
|
||||||
.list_item :last-child(1) {
|
.list_item :last-child(1) {
|
||||||
border-bottom: none;
|
border-bottom: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.scroll-view-item:nth-child(2n-1) {
|
.scroll-view-item:nth-child(2n-1) {
|
||||||
background-color: #f5f5f5 !important;
|
background-color: #f5f5f5 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.rightArrow {
|
.rightArrow {
|
||||||
width: 40rpx;
|
width: 40rpx;
|
||||||
height: 40rpx;
|
height: 40rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.scroll-Y {
|
.scroll-Y {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.scroll-view_H {
|
.scroll-view_H {
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.scroll-view-item_H {
|
.scroll-view-item {
|
||||||
display: inline-block;
|
// height: 300rpx;
|
||||||
width: 100%;
|
// line-height: 300rpx;
|
||||||
}
|
// text-align: center;
|
||||||
|
// font-size: 36rpx;
|
||||||
|
}
|
||||||
|
|
||||||
.titleItem {
|
.scroll-view-item_H {
|
||||||
width: calc(100% - 30rpx);
|
display: inline-block;
|
||||||
}
|
width: 100%;
|
||||||
|
// height: 300rpx;
|
||||||
|
// line-height: 300rpx;
|
||||||
|
// text-align: center;
|
||||||
|
// font-size: 36rpx;
|
||||||
|
}
|
||||||
|
|
||||||
/deep/.scroll-view-item:nth-child(2n-1) {
|
.titleItem {
|
||||||
background-color: transparent !important;
|
width: calc(100%) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.list_item:last-child {
|
/deep/.scroll-view-item:nth-child(2n-1) {
|
||||||
border-bottom: none !important;
|
background-color: transparent !important;
|
||||||
}
|
}
|
||||||
</style>
|
|
||||||
|
.list_item:last-child {
|
||||||
|
border-bottom: none !important;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
|
|
||||||
<view
|
<view
|
||||||
class="container playerBox"
|
class="container playerBox"
|
||||||
id="playerBox"
|
id="playerBox"
|
||||||
@@ -50,10 +51,10 @@
|
|||||||
<div @tap="renderScript.emitDispose" ref="videoContent6" v-show="false">
|
<div @tap="renderScript.emitDispose" ref="videoContent6" v-show="false">
|
||||||
监听第一次初始播放时长,开始进行接口存储时间
|
监听第一次初始播放时长,开始进行接口存储时间
|
||||||
</div>
|
</div>
|
||||||
|
<!-- v-if="platform != 'ios'" -->
|
||||||
<!-- 全屏按钮 start -->
|
<!-- 全屏按钮 start -->
|
||||||
<!-- 注意:主要用于安卓端,因为ios手机会被劫持 -->
|
<!-- 注意:主要用于安卓端,因为ios手机会被劫持 -->
|
||||||
<div class="fullScreenButton-container" v-if="platform != 'ios'">
|
<div class="fullScreenButton-container">
|
||||||
<div
|
<div
|
||||||
:class="`prism-fullscreen-btn ${isFullScreen ? 'fullscreen' : ''}`"
|
:class="`prism-fullscreen-btn ${isFullScreen ? 'fullscreen' : ''}`"
|
||||||
@tap="renderScript.changeVideoScreen"
|
@tap="renderScript.changeVideoScreen"
|
||||||
@@ -296,12 +297,12 @@ export default {
|
|||||||
x: 10,
|
x: 10,
|
||||||
y: 7,
|
y: 7,
|
||||||
},
|
},
|
||||||
{
|
// {
|
||||||
name: "fullScreenButton",
|
// name: "fullScreenButton",
|
||||||
align: "tr",
|
// align: "tr",
|
||||||
x: 10,
|
// x: 5,
|
||||||
y: 12,
|
// y: 12,
|
||||||
},
|
// },
|
||||||
{
|
{
|
||||||
name: "prism-speed-selector",
|
name: "prism-speed-selector",
|
||||||
align: "tr",
|
align: "tr",
|
||||||
@@ -439,9 +440,9 @@ export default {
|
|||||||
name: "RateComponent", //倍速组件
|
name: "RateComponent", //倍速组件
|
||||||
type: AliPlayerComponent.RateComponent,
|
type: AliPlayerComponent.RateComponent,
|
||||||
},
|
},
|
||||||
|
|
||||||
];
|
];
|
||||||
if (this.platform != "ios") {
|
// if (this.platform != "ios") {
|
||||||
var fullScreenButtonComponent = Aliplayer.Component({
|
var fullScreenButtonComponent = Aliplayer.Component({
|
||||||
init: function (status, toAddress) {
|
init: function (status, toAddress) {
|
||||||
this.fullScreenStatus = status;
|
this.fullScreenStatus = status;
|
||||||
@@ -465,7 +466,7 @@ export default {
|
|||||||
|
|
||||||
|
|
||||||
];
|
];
|
||||||
}
|
// }
|
||||||
|
|
||||||
//设置播放基本配置
|
//设置播放基本配置
|
||||||
var playerOptions = {
|
var playerOptions = {
|
||||||
@@ -560,26 +561,37 @@ export default {
|
|||||||
ownerInstance.callMethod("handleEnd");
|
ownerInstance.callMethod("handleEnd");
|
||||||
},
|
},
|
||||||
|
|
||||||
//调用 screenChange + 设置全屏
|
|
||||||
changeVideoScreen(event, ownerInstance) {
|
changeVideoScreen(event, ownerInstance) {
|
||||||
var status = this.player.fullscreenService.getIsFullScreen();
|
var that = this;
|
||||||
ownerInstance.callMethod("screenChange", {
|
// this.$emit('changeScreenLoading',true)
|
||||||
status: status,
|
var status = this.player.fullscreenService.getIsFullScreen();
|
||||||
primary: status ? "portrait" : "landscape",
|
console.log('this.$platform--------', this.platform);
|
||||||
});
|
if (this.platform != 'ios') { // 改变按钮形态
|
||||||
|
ownerInstance.callMethod('screenChange', {
|
||||||
|
status: status,
|
||||||
|
primary: status ? 'portrait' : 'landscape'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if (status) {
|
||||||
|
if (this.platform != 'ios') {
|
||||||
|
console.log('恢复竖版');
|
||||||
|
setTimeout(() => {
|
||||||
|
plus.screen.lockOrientation("portrait-primary"); //锁死屏幕方向为竖屏
|
||||||
|
this.player.fullscreenService.cancelFullScreen();
|
||||||
|
}, 100);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.player.fullscreenService.requestFullScreen();
|
||||||
|
if (this.platform != 'ios') {
|
||||||
|
setTimeout(() => {
|
||||||
|
plus.screen.lockOrientation("landscape-primary");
|
||||||
|
}, 100);
|
||||||
|
} else {
|
||||||
|
console.log('不要旋转, 使用原生全屏');
|
||||||
|
}
|
||||||
|
|
||||||
if (status) {
|
}
|
||||||
setTimeout(() => {
|
},
|
||||||
plus.screen.lockOrientation("portrait-primary"); //锁死屏幕方向为竖屏
|
|
||||||
this.player.fullscreenService.cancelFullScreen();
|
|
||||||
}, 100);
|
|
||||||
} else {
|
|
||||||
this.player.fullscreenService.requestFullScreen();
|
|
||||||
setTimeout(() => {
|
|
||||||
plus.screen.lockOrientation("landscape-primary");
|
|
||||||
}, 100);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
//调用 changeVideoData 切换播放源
|
//调用 changeVideoData 切换播放源
|
||||||
changeVideoData(event, ownerInstance) {
|
changeVideoData(event, ownerInstance) {
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
|
|
||||||
<view
|
<view
|
||||||
class="container playerBox"
|
class="container playerBox"
|
||||||
id="playerBox"
|
id="playerBox"
|
||||||
@@ -47,7 +48,7 @@
|
|||||||
right: 0;
|
right: 0;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
border-radius: 40rpx;
|
border-radius: 40rpx;
|
||||||
border: 15rpx solid #000;
|
border: 15rpx solid #000;
|
||||||
padding: 40rpx 0 20rpx;
|
padding: 40rpx 0 20rpx;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
@@ -1054,11 +1055,12 @@ export default {
|
|||||||
console.log('vm at line 926:', newValue, oldValue, ownerVm, vm)
|
console.log('vm at line 926:', newValue, oldValue, ownerVm, vm)
|
||||||
if (newValue != null) {
|
if (newValue != null) {
|
||||||
if (this.platform == "ios") {
|
if (this.platform == "ios") {
|
||||||
this.player.one("canplay", () => {
|
|
||||||
this.player.seek(newValue);
|
player.seek(newValue);
|
||||||
});
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
this.player.seek(newValue);
|
player.seek(newValue);
|
||||||
}
|
}
|
||||||
this.curTime = newValue
|
this.curTime = newValue
|
||||||
}
|
}
|
||||||
@@ -1066,12 +1068,11 @@ export default {
|
|||||||
receiveMsgjumpNumber(newValue, oldValue, ownerVm, vm) {
|
receiveMsgjumpNumber(newValue, oldValue, ownerVm, vm) {
|
||||||
console.log('vm at line 926:', newValue, oldValue, ownerVm, vm)
|
console.log('vm at line 926:', newValue, oldValue, ownerVm, vm)
|
||||||
if (newValue != 0) {
|
if (newValue != 0) {
|
||||||
|
|
||||||
if (this.platform == "ios") {
|
if (this.platform == "ios") {
|
||||||
this.player.one("canplay", () => {
|
player.seek(newValue);
|
||||||
this.player.seek(newValue);
|
|
||||||
});
|
|
||||||
} else {
|
} else {
|
||||||
this.player.seek(newValue);
|
player.seek(newValue);
|
||||||
}
|
}
|
||||||
this.curTime = newValue
|
this.curTime = newValue
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
|
|
||||||
<view
|
<view
|
||||||
class="container"
|
class="container"
|
||||||
id="Aliyun"
|
id="Aliyun"
|
||||||
@@ -218,12 +219,12 @@ export default {
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
.then(async (res) => {
|
.then(async (res) => {
|
||||||
|
console.log("res at line 204:", res.video);
|
||||||
var that = this;
|
var that = this;
|
||||||
this.videoInfo=res.video
|
this.videoInfo = res.video;
|
||||||
that.videoData = {
|
that.videoData = {
|
||||||
id: that.currentVideoId,
|
id: that.currentVideoId,
|
||||||
vid: res.video.video,
|
vid: res.video.video,
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
if (res.video.type == 1) {
|
if (res.video.type == 1) {
|
||||||
|
|||||||
@@ -1,7 +1,19 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="container" style="background-color: #000; position: relative">
|
|
||||||
<video src="https://video.taihumed.com/d0c8e6d23e5f71ef81714531858c0102/c27e8334925a485bb7d57b46463f24ab-75b0e05b7a76efaff190b6417b2168a7-sd-nbv1-encrypt-stream.m3u8"></video>
|
|
||||||
|
|
||||||
|
<view class="container" style="background-color: #000; position: relative">
|
||||||
|
<!-- <u-icon
|
||||||
|
@click="goBack"
|
||||||
|
name="arrow-left"
|
||||||
|
color="#3ab3ae"
|
||||||
|
size="20"
|
||||||
|
:style="`display: inline-block; position: absolute; top: ${
|
||||||
|
statusBarHeight + 2
|
||||||
|
}px; left: ${10}px;z-index: 999;`"
|
||||||
|
></u-icon>-->
|
||||||
|
<video
|
||||||
|
src="https://video.taihumed.com/d0c8e6d23e5f71ef81714531858c0102/c27e8334925a485bb7d57b46463f24ab-75b0e05b7a76efaff190b6417b2168a7-sd-nbv1-encrypt-stream.m3u8"
|
||||||
|
></video>
|
||||||
|
|
||||||
<view style="width: 100%; height: 200px">
|
<view style="width: 100%; height: 200px">
|
||||||
<div
|
<div
|
||||||
class=""
|
class=""
|
||||||
@@ -129,7 +141,7 @@ export default {
|
|||||||
},
|
},
|
||||||
async onUnload() {
|
async onUnload() {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: "/pages/curriculum/order/back",
|
url: "/pages/curriculum/order/curriculum/back",
|
||||||
});
|
});
|
||||||
// #ifdef APP-PLUS
|
// #ifdef APP-PLUS
|
||||||
plus.screen.lockOrientation("portrait-primary"); //锁死屏幕方向为竖屏
|
plus.screen.lockOrientation("portrait-primary"); //锁死屏幕方向为竖屏
|
||||||
@@ -186,7 +198,7 @@ export default {
|
|||||||
console.log(
|
console.log(
|
||||||
"status at line 这是当前的状态158:",
|
"status at line 这是当前的状态158:",
|
||||||
data.status,
|
data.status,
|
||||||
data.primary
|
data.primary,
|
||||||
);
|
);
|
||||||
this.isFullScreen = !data.status;
|
this.isFullScreen = !data.status;
|
||||||
this.$emit("changeScreen", this.isFullScreen);
|
this.$emit("changeScreen", this.isFullScreen);
|
||||||
@@ -359,13 +371,12 @@ export default {
|
|||||||
this.currentTime = data.time;
|
this.currentTime = data.time;
|
||||||
console.log(
|
console.log(
|
||||||
"this.currentTime at line 这是结束的时候掉的存储视频:",
|
"this.currentTime at line 这是结束的时候掉的存储视频:",
|
||||||
this.currentTime
|
this.currentTime,
|
||||||
);
|
);
|
||||||
clearInterval(this.$store.state.videoTimer);
|
clearInterval(this.$store.state.videoTimer);
|
||||||
this.timer = null;
|
this.timer = null;
|
||||||
|
|
||||||
await this.setVideoTime();
|
await this.setVideoTime();
|
||||||
|
|
||||||
},
|
},
|
||||||
setVideoTime(time) {
|
setVideoTime(time) {
|
||||||
var data = {};
|
var data = {};
|
||||||
@@ -417,7 +428,7 @@ export default {
|
|||||||
// if (this.currentTime) {
|
// if (this.currentTime) {
|
||||||
await this.setVideoTime();
|
await this.setVideoTime();
|
||||||
// }
|
// }
|
||||||
}, 60000)
|
}, 60000),
|
||||||
);
|
);
|
||||||
// }, 5000);
|
// }, 5000);
|
||||||
},
|
},
|
||||||
@@ -674,20 +685,36 @@ export default {
|
|||||||
* 显示广告
|
* 显示广告
|
||||||
*/
|
*/
|
||||||
ended: function(player, e) {
|
ended: function(player, e) {
|
||||||
|
// this.$html.show();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
console.log('this.currentVideoList at line 456111111111111111111111:', this.videoList)
|
||||||
|
|
||||||
|
|
||||||
var playerOptions = {
|
var playerOptions = {
|
||||||
id: "url-player-test",
|
id: "url-player-test",
|
||||||
"vid": this.videoData
|
"vid": this.videoData
|
||||||
.videoId, // 必选参数,可以通过点播控制台(路径:媒资库>音/视频)查询。示例:1e067a2831b641db90d570b6480f****。
|
.videoId, // 必选参数,可以通过点播控制台(路径:媒资库>音/视频)查询。示例:1e067a2831b641db90d570b6480f****。
|
||||||
|
|
||||||
width: '100%', //容器的大小
|
width: '100%', //容器的大小
|
||||||
|
// videoWidth: '100vw', //容器的大小
|
||||||
|
// videoHeight: '100vh', //容器的大小
|
||||||
height: '100%', //容器的大小
|
height: '100%', //容器的大小
|
||||||
playsinline: true,
|
playsinline: true,
|
||||||
controlBarVisibility: "click",
|
controlBarVisibility: "click",
|
||||||
cover: "",
|
cover: "",
|
||||||
components: [
|
components: [
|
||||||
|
// {
|
||||||
|
// name: 'BulletScreenComponent',
|
||||||
|
// type: AliPlayerComponent.BulletScreenComponent,
|
||||||
|
// /** Descriptions of the scrolling text component parameters: text, style, bulletPosition
|
||||||
|
// * text: The scrolling text
|
||||||
|
// * style: The style of the scrolling text
|
||||||
|
// * bulletPosition: The position of the scrolling text. Valid values: 'top', 'bottom', and 'random'. The default is 'random'.
|
||||||
|
// */
|
||||||
|
// args: ['http://101.201.146.165:8088/Pf-EH/statics/uploadFile/2024-05-10/b0f420c7-9178-41ad-9dd6-f59a64a6e190.png']
|
||||||
|
// },
|
||||||
{
|
{
|
||||||
name: 'adComponent',
|
name: 'adComponent',
|
||||||
type: fullScreenButtonComponent,
|
type: fullScreenButtonComponent,
|
||||||
@@ -699,6 +726,14 @@ export default {
|
|||||||
name: 'RateComponent',
|
name: 'RateComponent',
|
||||||
type: AliPlayerComponent.RateComponent
|
type: AliPlayerComponent.RateComponent
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
|
// {
|
||||||
|
// name: 'RotateMirrorComponent',
|
||||||
|
// type: AliPlayerComponent.RotateMirrorComponent
|
||||||
|
// },
|
||||||
|
|
||||||
|
|
||||||
],
|
],
|
||||||
|
|
||||||
skinLayout: [{
|
skinLayout: [{
|
||||||
@@ -752,6 +787,14 @@ export default {
|
|||||||
x: 10,
|
x: 10,
|
||||||
y: 7
|
y: 7
|
||||||
},
|
},
|
||||||
|
// {name: "fullScreenButton", align: "tr", x: 10, y: 12},
|
||||||
|
// {name:"subtitle", align:"tr",x:15, y:12},
|
||||||
|
// {
|
||||||
|
// name: "setting",
|
||||||
|
// align: "tr",
|
||||||
|
// x: 15,
|
||||||
|
// y: 12
|
||||||
|
// },
|
||||||
{
|
{
|
||||||
name: "prism-speed-selector",
|
name: "prism-speed-selector",
|
||||||
align: "tr",
|
align: "tr",
|
||||||
@@ -774,12 +817,12 @@ export default {
|
|||||||
if (this.videoData.type == 1) {
|
if (this.videoData.type == 1) {
|
||||||
playerOptions = {
|
playerOptions = {
|
||||||
...playerOptions,
|
...playerOptions,
|
||||||
"playauth": this.videoData.playAuth, // 必选参数,参数值可通过调用GetVideoPlayAuth接口获取。
|
"playauth": this.videoData.playAuth, // 必选参数,参数值可通过调用GetVideoPlayAuth接口获取。
|
||||||
"encryptType": 1, // 必选参数,当播放私有加密流时需要设置本参数值为1。其它情况无需设置。
|
"encryptType": 1, // 必选参数,当播放私有加密流时需要设置本参数值为1。其它情况无需设置。
|
||||||
"playConfig": {
|
"playConfig": {
|
||||||
"EncryptType": 'AliyunVoDEncryption'
|
"EncryptType": 'AliyunVoDEncryption'
|
||||||
},
|
},
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
@@ -789,16 +832,48 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
var player = new Aliplayer(playerOptions, function(player) { });
|
var player = new Aliplayer(playerOptions, function(player) { });
|
||||||
this.player = player;
|
this.player = player;
|
||||||
console.log('是否拿到第一次初始值呢',this.platform, typeof this.firstTime, this.firstTime)
|
console.log('是否拿到第一次初始值呢',this.platform, typeof this.firstTime, this.firstTime)
|
||||||
if(this.platform == 'ios'){
|
if(this.platform == 'ios'){
|
||||||
player.on('canplay',function(){
|
player.on('canplay',function(){
|
||||||
console.log('这是ios数据缓冲初次设置播放位置判断!!!!')
|
console.log('这是ios数据缓冲初次设置播放位置判断!!!!')
|
||||||
this.player.seek(20);
|
this.player.seek(20);
|
||||||
})
|
})
|
||||||
}else{
|
// var seeked = false;
|
||||||
this.player.seek(this.firstTime)
|
// player.on('loadedmetadata',function (e) {
|
||||||
}
|
// if(!seeked)
|
||||||
|
// {
|
||||||
|
// seeked = true;
|
||||||
|
// this.player.seek(20);
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
// player.on('waiting',function(){
|
||||||
|
// console.log('这是ios数据缓冲初次设置播放位置判断!!!!')
|
||||||
|
// setTimeout(()=>{
|
||||||
|
// player.seek(this.firstTime)
|
||||||
|
// },500)
|
||||||
|
|
||||||
|
// })
|
||||||
|
}else{
|
||||||
|
this.player.seek(this.firstTime)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// var seeked = false;
|
||||||
|
// this.player.on('loadedmetadata',function (e) {
|
||||||
|
// if(!seeked)
|
||||||
|
// {
|
||||||
|
// seeked = true;
|
||||||
|
// player.seek(this.firstTime);
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
clearInterval(this.videoTimer);
|
clearInterval(this.videoTimer);
|
||||||
|
|
||||||
this.videoTimer = null;
|
this.videoTimer = null;
|
||||||
@@ -811,25 +886,160 @@ export default {
|
|||||||
}, 1000);
|
}, 1000);
|
||||||
this.$refs.videoContent4.click()
|
this.$refs.videoContent4.click()
|
||||||
player.on('ready', function() {
|
player.on('ready', function() {
|
||||||
|
|
||||||
|
// player.fullscreenService.requestFullScreen()
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
// this.
|
||||||
|
|
||||||
|
|
||||||
|
// this.$refs.videoContent.click()
|
||||||
this.player.on('ended', function() {
|
this.player.on('ended', function() {
|
||||||
|
// console.log('that.curTime at line 242:', this.curTime)
|
||||||
|
// console.log('that.curStatus at line 210:', this.curStatus)
|
||||||
this.$refs.videoContent2.click()
|
this.$refs.videoContent2.click()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// player.setRotate(90)
|
||||||
|
|
||||||
|
//全屏播放
|
||||||
|
|
||||||
|
// player.one('canplay', function() {
|
||||||
|
// // console.log('canplay', this.player.tag);
|
||||||
|
// player.tag.play();
|
||||||
|
|
||||||
|
// });
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
showPreview(e) {
|
||||||
|
// console.log('e at line 56:', e)
|
||||||
|
let conimg = e.target.dataset.nodes;
|
||||||
|
let imgs = conimg.match(/<img[^>]+>/g); //选择节点中的img
|
||||||
|
console.log('imgs at line 59:', imgs)
|
||||||
|
let imgList = [];
|
||||||
|
//遍历img标签的src里面的内容放在定义的数组imgList中
|
||||||
|
for (var j = 0; j < imgs.length; j++) {
|
||||||
|
imgs[j].replace(/<img[^>]*src=['"]([^'"]+)[^>]*>/gi, function(match, capture) {
|
||||||
|
imgList.push(capture)
|
||||||
|
|
||||||
|
})
|
||||||
|
}
|
||||||
|
console.log('imgList.push at line 64:', imgList)
|
||||||
|
|
||||||
|
|
||||||
|
//最后一步就是所有图片放在预览的方法previewImage中就可以了
|
||||||
|
// uni.previewImage({
|
||||||
|
// current: imgList,
|
||||||
|
// urls: imgList,
|
||||||
|
// })
|
||||||
|
uni.previewImage({
|
||||||
|
urls: imgList,
|
||||||
|
longPressActions: {
|
||||||
|
itemList: ['很抱歉,暂不支持保存图片到本地'],
|
||||||
|
success: function(res) {
|
||||||
|
// console.log(res,'+++++')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
receiveScreenType(newValue) {
|
||||||
|
// console.log('newValue at line 427屏幕方向111111111111:', newValue)
|
||||||
|
|
||||||
},
|
},
|
||||||
async receiveIsfresh(newValue) {
|
async receiveIsfresh(newValue) {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
console.log('是否走了刷新销毁方法:', this.player)
|
||||||
if (this.player) {
|
if (this.player) {
|
||||||
clearInterval(this.$store.state.videoTimer)
|
clearInterval(this.$store.state.videoTimer)
|
||||||
// await this.setVideoTime();
|
// await this.setVideoTime();
|
||||||
this.player.dispose();
|
this.player.dispose();
|
||||||
|
// $('#url-player-test').empty()
|
||||||
|
|
||||||
|
// this.player.seek(newValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
async receiveplatform(newValue) {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
async receiveIsChange(newValue) {
|
async receiveIsChange(newValue) {
|
||||||
|
|
||||||
|
|
||||||
|
// this.timer=null
|
||||||
|
|
||||||
if (this.isChange) {
|
if (this.isChange) {
|
||||||
|
|
||||||
this.checkValue()
|
this.checkValue()
|
||||||
|
|
||||||
|
// if (this.videoData.type == 1) {
|
||||||
|
// console.log('是否走了切换加密视频方法:', this.isChange, this.videoData)
|
||||||
|
// await this.player.replayByVidAndPlayAuth(this.videoData.video, this.videoData.playAuth)
|
||||||
|
// this.$refs.videoContent.click()
|
||||||
|
// } else {
|
||||||
|
// console.log('是否走了切换老视频/音频方法:', this.isChange, this.videoData)
|
||||||
|
// await this.player.loadByUrl(this.videoData.videoUrl)
|
||||||
|
// this.$refs.videoContent.click()
|
||||||
|
// }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// this.$refs.videoContent3.click()
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
receiveVideoList(newValue, oldValue, ownerVm, vm) {
|
||||||
|
// //数据变化
|
||||||
|
|
||||||
|
console.log('currentVideoListcurrentVideoListcurrentVideoList', newValue)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
receiveMsg(newValue, oldValue, ownerVm, vm) {
|
||||||
|
//数据变化
|
||||||
|
// console.log('newValue', newValue)
|
||||||
|
// console.log('oldValue', oldValue)
|
||||||
|
// console.log('ownerVm', ownerVm)
|
||||||
|
// console.log('vm', vm)
|
||||||
|
},
|
||||||
|
receiveWinWidth(newValue, oldValue, ownerVm, vm) {
|
||||||
|
//数据变化
|
||||||
|
console.log('newValue', newValue)
|
||||||
|
// console.log('oldValue', oldValue)
|
||||||
|
// console.log('ownerVm', ownerVm)
|
||||||
|
// console.log('vm', vm)
|
||||||
|
},
|
||||||
|
receiveWinHeight(newValue, oldValue, ownerVm, vm) {
|
||||||
|
//数据变化
|
||||||
|
console.log('newValue', newValue)
|
||||||
|
// console.log('oldValue', oldValue)
|
||||||
|
// console.log('ownerVm', ownerVm)
|
||||||
|
// console.log('vm', vm)
|
||||||
},
|
},
|
||||||
checkValue() {
|
checkValue() {
|
||||||
|
console.log(this.videoId, this.authId, this.videoData, "1111888888")
|
||||||
if ((!this.videoData.playAuth || !this.currentVideoList)) {
|
if ((!this.videoData.playAuth || !this.currentVideoList)) {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
this.checkValue();
|
this.checkValue();
|
||||||
@@ -842,6 +1052,9 @@ export default {
|
|||||||
},
|
},
|
||||||
loadWebPlayerSDK() {
|
loadWebPlayerSDK() {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const s_tag = document.createElement('script'); // 引入播放器js
|
const s_tag = document.createElement('script'); // 引入播放器js
|
||||||
s_tag.type = 'text/javascript';
|
s_tag.type = 'text/javascript';
|
||||||
// s_tag.src = 'https://g.alicdn.com/apsara-media-box/imp-web-player/2.20.3/aliplayer-min.js';
|
// s_tag.src = 'https://g.alicdn.com/apsara-media-box/imp-web-player/2.20.3/aliplayer-min.js';
|
||||||
@@ -875,6 +1088,20 @@ export default {
|
|||||||
document.body.appendChild(l_tag);
|
document.body.appendChild(l_tag);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
loadComponent() {
|
||||||
|
// return new Promise((resolve, reject) => {
|
||||||
|
// const s_tag = document.createElement('script');
|
||||||
|
// s_tag.type = 'text/javascript';
|
||||||
|
// // 需要先下载组件 js 文件,放到项目 /static/ 目录下
|
||||||
|
// // 下载地址:https://github.com/aliyunvideo/AliyunPlayer_Web/blob/master/customComponents/dist/aliplayer-components/aliplayercomponents-1.0.9.min.js
|
||||||
|
// s_tag.src = '@/static/aliplayercomponents.js';
|
||||||
|
// s_tag.charset = 'utf-8';
|
||||||
|
// s_tag.onload = () => {
|
||||||
|
// resolve();
|
||||||
|
// }
|
||||||
|
// document.body.appendChild(s_tag);
|
||||||
|
// });
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -35,11 +35,11 @@
|
|||||||
<view class="list_item_title">{{item.title}}</view>
|
<view class="list_item_title">{{item.title}}</view>
|
||||||
<view class="list_item_content" v-html="item.content"></view>
|
<view class="list_item_content" v-html="item.content"></view>
|
||||||
<view class="list_item_bt">
|
<view class="list_item_bt">
|
||||||
<view class="list_item_price" v-if="item.courseCatalogueEntityList.length==1&&$platform!='ios'">
|
<view class="list_item_price" v-if="item.courseCatalogueEntityList.length==1">
|
||||||
<text v-if="item.courseCatalogueEntityList[0].halfFee==0">免费</text>
|
<text v-if="item.courseCatalogueEntityList[0].halfFee==0">免费</text>
|
||||||
<text v-else>¥{{item.courseCatalogueEntityList[0].halfFee}}/{{item.courseCatalogueEntityList[0].fee}}</text>
|
<text v-else>¥{{item.courseCatalogueEntityList[0].halfFee}}/{{item.courseCatalogueEntityList[0].fee}}</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="list_item_price" v-if="item.courseCatalogueEntityList.length>1&&$platform!='ios'">
|
<view class="list_item_price" v-if="item.courseCatalogueEntityList.length>1">
|
||||||
<text v-for="(v,i) in item.courseCatalogueEntityList" :key="i">
|
<text v-for="(v,i) in item.courseCatalogueEntityList" :key="i">
|
||||||
{{formatContent(v.title)}}<text v-if="i !== item.courseCatalogueEntityList.length - 1">/</text>
|
{{formatContent(v.title)}}<text v-if="i !== item.courseCatalogueEntityList.length - 1">/</text>
|
||||||
</text>
|
</text>
|
||||||
@@ -124,12 +124,7 @@ export default {
|
|||||||
onLoad(options) {
|
onLoad(options) {
|
||||||
//清除缓存
|
//清除缓存
|
||||||
uni.removeStorageSync('fixed');
|
uni.removeStorageSync('fixed');
|
||||||
//针对身心医学的判断
|
this.title = options.title;
|
||||||
if(options.title=='心身医学'&&this.$platform!='android'){
|
|
||||||
this.title = '心身健康科学'
|
|
||||||
}else{
|
|
||||||
this.title = options.title;
|
|
||||||
}
|
|
||||||
|
|
||||||
this.id = options.id;
|
this.id = options.id;
|
||||||
//如果是心理评测
|
//如果是心理评测
|
||||||
@@ -293,11 +288,7 @@ export default {
|
|||||||
})
|
})
|
||||||
.then(res => {
|
.then(res => {
|
||||||
if (res.code == 0) {
|
if (res.code == 0) {
|
||||||
if(this.$platform=='android'){
|
this.formList = res.formList;
|
||||||
this.formList = res.formList;
|
|
||||||
}else{
|
|
||||||
this.formList = res.formList.slice(0,2);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}).catch(e => {
|
}).catch(e => {
|
||||||
|
|
||||||
|
|||||||
@@ -194,9 +194,12 @@ export default {
|
|||||||
watch: {
|
watch: {
|
||||||
currentVideoId() {
|
currentVideoId() {
|
||||||
this.currentVideoIndex = this.videoArray.findIndex(
|
this.currentVideoIndex = this.videoArray.findIndex(
|
||||||
|
(e) => e.id == this.currentVideoId,
|
||||||
(e) => e.id == this.currentVideoId
|
);
|
||||||
)
|
console.log(
|
||||||
|
"that.currentVideoIndex at line 3401111111111111:",
|
||||||
|
this.currentVideoIndex,
|
||||||
|
);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
<common-anchor-link style="width: 100%" baseHeight="200" ref="commonAnchorLink" :allDataList="allDataList"
|
<common-anchor-link style="width: 100%" baseHeight="200" ref="commonAnchorLink" :allDataList="allDataList"
|
||||||
titleKey="title" dataListKey="courseList" :titleStyle="{}" :tabStyle="{background: '#fff'}">
|
titleKey="title" dataListKey="courseList" :titleStyle="{}" :tabStyle="{background: '#fff'}">
|
||||||
<template slot="otherContent" slot-scope="slotProps">
|
<template slot="otherContent" slot-scope="slotProps">
|
||||||
<view v-if="$platform=='android'&&goBuyTitle" class="describe_block">
|
<view v-if="goBuyTitle" class="describe_block">
|
||||||
<view style=" display: flex; align-items: center;">
|
<view style=" display: flex; align-items: center;">
|
||||||
<uni-icons type="info" size="20" color="#fff"></uni-icons>
|
<uni-icons type="info" size="20" color="#fff"></uni-icons>
|
||||||
<text>{{goBuyTitle}}</text>
|
<text>{{goBuyTitle}}</text>
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
</button>
|
</button>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view :style="$platform=='android'?'padding-top:80rpx;':''">
|
<view style="padding-top:80rpx;">
|
||||||
<image style="width: 100%" :src="curriculumData.image" mode="widthFix"></image>
|
<image style="width: 100%" :src="curriculumData.image" mode="widthFix"></image>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
@@ -95,7 +95,7 @@
|
|||||||
<view class="catalogueList">
|
<view class="catalogueList">
|
||||||
<view class="chapter_content">
|
<view class="chapter_content">
|
||||||
<courseDescription :isCondition="true" :dataList="slotProps.dataList"
|
<courseDescription :isCondition="true" :dataList="slotProps.dataList"
|
||||||
@hancleClick="gotoDetail" label="title">
|
@hancleClick="(data, index) => gotoDetail(data, index, slotProps)" label="title">
|
||||||
<template slot="labelSlot" slot-scope="slotProps">
|
<template slot="labelSlot" slot-scope="slotProps">
|
||||||
<view :style="`${
|
<view :style="`${
|
||||||
slotProps.row.isAudition==1
|
slotProps.row.isAudition==1
|
||||||
@@ -485,16 +485,12 @@
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
//课程详情
|
//课程详情
|
||||||
async gotoDetail(v, index) {
|
async gotoDetail(data, index, slotProps) {
|
||||||
if(this.userVip){
|
if(this.userVip){
|
||||||
uni.navigateTo({
|
this.goVideo(data);
|
||||||
url: `/pages/curriculum/order/detail?navTitle=${this.options.navTitle}&title=${v.title}&id=${v.id}&conditions=${v.conditions}&detailOid=${v.detailOid}&curriculumImgUrl=${this.curriculumData.image}`,
|
|
||||||
});
|
|
||||||
}else{
|
}else{
|
||||||
if(v.isAudition == 1||this.cateList[this.currentCateIndex].isBuy == 1){
|
if(data.isAudition == 1||this.cateList[this.currentCateIndex].isBuy == 1){
|
||||||
uni.navigateTo({
|
this.goVideo(data);
|
||||||
url: `/pages/curriculum/order/detail?navTitle=${this.options.navTitle}&title=${v.title}&id=${v.id}&conditions=${v.conditions}&detailOid=${v.detailOid}&curriculumImgUrl=${this.curriculumData.image}`,
|
|
||||||
});
|
|
||||||
}else{
|
}else{
|
||||||
if(this.cateList[this.currentCateIndex].type != 0){
|
if(this.cateList[this.currentCateIndex].type != 0){
|
||||||
this.$commonJS.showToast("请先购买课程");
|
this.$commonJS.showToast("请先购买课程");
|
||||||
@@ -504,6 +500,11 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
goVideo(v) {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: `/pages/curriculum/order/detail?navTitle=${this.options.navTitle}&title=${v.title}&id=${v.id}&conditions=${v.conditions}&detailOid=${v.detailOid}&curriculumImgUrl=${this.curriculumData.image}`,
|
||||||
|
});
|
||||||
|
},
|
||||||
//获取章节
|
//获取章节
|
||||||
async getChapterList(v) {
|
async getChapterList(v) {
|
||||||
var list = [];
|
var list = [];
|
||||||
|
|||||||
@@ -88,7 +88,7 @@
|
|||||||
</image>
|
</image>
|
||||||
<u-icon v-if="v.icon" name="map-fill" color="#018F89" size="20"
|
<u-icon v-if="v.icon" name="map-fill" color="#018F89" size="20"
|
||||||
style="display: inline-block"></u-icon>
|
style="display: inline-block"></u-icon>
|
||||||
<template v-if="v.type == 3&&$platform=='android'">
|
<template v-if="v.type == 3">
|
||||||
<text style="color: #aaa; margin-left: 10rpx">
|
<text style="color: #aaa; margin-left: 10rpx">
|
||||||
(全部积分:{{ initData.user.jf }})</text>
|
(全部积分:{{ initData.user.jf }})</text>
|
||||||
</template>
|
</template>
|
||||||
@@ -107,7 +107,7 @@
|
|||||||
<text>
|
<text>
|
||||||
¥{{ isShowAddress ? freightNum.toFixed(2) : Number(0).toFixed(2) }}</text>
|
¥{{ isShowAddress ? freightNum.toFixed(2) : Number(0).toFixed(2) }}</text>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="v.type == 3&&$platform=='android'">
|
<template v-if="v.type == 3">
|
||||||
<text style="color: #fe6035"> -¥{{ jfNumberShow }}</text>
|
<text style="color: #fe6035"> -¥{{ jfNumberShow }}</text>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="v.type == 5">
|
<template v-if="v.type == 5">
|
||||||
@@ -119,7 +119,7 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="bottom jf_box" v-if="v.type == 3&&$platform=='android'">
|
<view class="bottom jf_box" v-if="v.type == 3">
|
||||||
<view class="jf_box">
|
<view class="jf_box">
|
||||||
<text style="color: #7dc1f0; font-weight: 600">可用积分({{ jfNumberMax }}分)</text>
|
<text style="color: #7dc1f0; font-weight: 600">可用积分({{ jfNumberMax }}分)</text>
|
||||||
<view class="jf_input">
|
<view class="jf_input">
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<!-- 应对华为审核,去掉app跳转 -->
|
<!-- 应对华为审核,去掉app跳转 -->
|
||||||
<view class="appJump" v-if="$platform=='android'">
|
<view class="appJump">
|
||||||
<view class="app_item wumen" @click="appjumpfun('wumen')">
|
<view class="app_item wumen" @click="appjumpfun('wumen')">
|
||||||
<view class="img">
|
<view class="img">
|
||||||
<image src="@/static/logo_wumen.png"></image>
|
<image src="@/static/logo_wumen.png"></image>
|
||||||
@@ -37,17 +37,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<view class="cate_box">
|
<view class="cate_box">
|
||||||
<scroll-view scroll-x="true">
|
<scroll-view scroll-x="true">
|
||||||
<view class="cate_list" v-if="$platform!='android'&&cateList.length>0">
|
<view class="cate_list" v-if="cateList.length>0">
|
||||||
<view class="cate_item_box" v-if="item.id!=75" v-for="(item, index) in cateList" @click="handleClickCate(item)">
|
|
||||||
<view class="cate_item_border">
|
|
||||||
<image :src="item.icon"></image>
|
|
||||||
</view>
|
|
||||||
<view class="cate_item_name" v-if="index==2">心身健康科学</view>
|
|
||||||
<view class="cate_item_name" v-else>{{ item.title }}</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
|
|
||||||
<view class="cate_list" v-if="$platform=='android'&&cateList.length>0">
|
|
||||||
<view class="cate_item_box" v-for="(item, index) in cateList" @click="handleClickCate(item)">
|
<view class="cate_item_box" v-for="(item, index) in cateList" @click="handleClickCate(item)">
|
||||||
<view class="cate_item_border">
|
<view class="cate_item_border">
|
||||||
<image :src="item.icon"></image>
|
<image :src="item.icon"></image>
|
||||||
@@ -128,35 +118,7 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
curriculumList: [],
|
curriculumList: [],
|
||||||
// curriculumList: [
|
curriculumList: [
|
||||||
// {
|
|
||||||
// name: "我的课程",
|
|
||||||
// url: "/pages/curriculum/index/index",
|
|
||||||
// imgUrl: require("@/static/icon/home_bg1.png")
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// name: "免费课程",
|
|
||||||
// url: "/pages/curriculum/index/free",
|
|
||||||
// imgUrl: require("@/static/icon/home_bg2.png")
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// name: "VIP办理",
|
|
||||||
// url: "/pages/vip/index",
|
|
||||||
// imgUrl: require("@/static/icon/home_bg3.png")
|
|
||||||
// },
|
|
||||||
// ],
|
|
||||||
cateList: [],
|
|
||||||
noticeList: [], //通知消息
|
|
||||||
seckillLst: [], //秒杀列表
|
|
||||||
studyList: [], //正在学习
|
|
||||||
flashSaleList: [], //欢迎试听
|
|
||||||
subList: [],
|
|
||||||
cateIndex: 0 //分类默认选中第一个
|
|
||||||
}
|
|
||||||
},
|
|
||||||
onLoad() {
|
|
||||||
if(this.$platform=='android'){
|
|
||||||
this.curriculumList = [
|
|
||||||
{
|
{
|
||||||
name: "我的课程",
|
name: "我的课程",
|
||||||
url: "/pages/curriculum/index/index",
|
url: "/pages/curriculum/index/index",
|
||||||
@@ -172,27 +134,23 @@ export default {
|
|||||||
url: "/pages/vip/index",
|
url: "/pages/vip/index",
|
||||||
imgUrl: require("@/static/icon/home_bg3.png")
|
imgUrl: require("@/static/icon/home_bg3.png")
|
||||||
},
|
},
|
||||||
]
|
],
|
||||||
}else{
|
cateList: [],
|
||||||
this.curriculumList = [
|
noticeList: [], //通知消息
|
||||||
{
|
seckillLst: [], //秒杀列表
|
||||||
name: "我的课程",
|
studyList: [], //正在学习
|
||||||
url: "/pages/curriculum/index/index",
|
flashSaleList: [], //欢迎试听
|
||||||
imgUrl: require("@/static/icon/home_bg1.png")
|
subList: [],
|
||||||
},
|
cateIndex: 0 //分类默认选中第一个
|
||||||
{
|
|
||||||
name: "免费课程",
|
|
||||||
url: "/pages/curriculum/index/free",
|
|
||||||
imgUrl: require("@/static/icon/home_bg2.png")
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
onLoad() {
|
||||||
|
this.getCateList();
|
||||||
|
},
|
||||||
onShow() {
|
onShow() {
|
||||||
let cateIndex = uni.getStorageSync('cateIndex');
|
let cateIndex = uni.getStorageSync('cateIndex');
|
||||||
this.cateIndex = cateIndex;
|
this.cateIndex = cateIndex;
|
||||||
this.getCourseList();
|
this.getCourseList();
|
||||||
this.getCateList();
|
|
||||||
this.getNotice();
|
this.getNotice();
|
||||||
this.getMarketProductList();
|
this.getMarketProductList();
|
||||||
this.getMarketCourseList();
|
this.getMarketCourseList();
|
||||||
@@ -200,6 +158,9 @@ export default {
|
|||||||
methods: {
|
methods: {
|
||||||
//获取列表数据
|
//获取列表数据
|
||||||
getCateList(){
|
getCateList(){
|
||||||
|
uni.showLoading({
|
||||||
|
title: '加载中'
|
||||||
|
})
|
||||||
this.$http.request({
|
this.$http.request({
|
||||||
url: 'psyche/home/getPsycheLabels',
|
url: 'psyche/home/getPsycheLabels',
|
||||||
method: "POST",
|
method: "POST",
|
||||||
@@ -211,6 +172,7 @@ export default {
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
.then(res=> {
|
.then(res=> {
|
||||||
|
uni.hideLoading();
|
||||||
if (res.labels&&res.labels.length>0) {
|
if (res.labels&&res.labels.length>0) {
|
||||||
this.cateList = res.labels;
|
this.cateList = res.labels;
|
||||||
//默认获取第一个id 请求二级列表
|
//默认获取第一个id 请求二级列表
|
||||||
@@ -218,6 +180,7 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch(e=>{
|
.catch(e=>{
|
||||||
|
uni.hideLoading();
|
||||||
uni.setStorageSync("guidePages", 2);
|
uni.setStorageSync("guidePages", 2);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@@ -238,12 +201,6 @@ export default {
|
|||||||
this.subList = res.labels;
|
this.subList = res.labels;
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch(e=>{
|
|
||||||
uni.setStorageSync("guidePages", 2);
|
|
||||||
uni.redirectTo({
|
|
||||||
url: "/pages/user/login",
|
|
||||||
});
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
//获取通知数据
|
//获取通知数据
|
||||||
getNotice() {
|
getNotice() {
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
<image src="../../static/logo.png" v-if="userMes.avatar == null||userMes.avatar == ''"
|
<image src="../../static/logo.png" v-if="userMes.avatar == null||userMes.avatar == ''"
|
||||||
class="per_mes_img color_shandow"></image>
|
class="per_mes_img color_shandow"></image>
|
||||||
</view>
|
</view>
|
||||||
<view class="user_vip_box" v-if="$platform=='android'&&hasVipType1 || $platform=='android'&&hasVipType2">
|
<view class="user_vip_box" v-if="hasVipType1 || hasVipType2">
|
||||||
<view class="user_vip super" :style="hasVipType2?'width: 170rpx;':''">
|
<view class="user_vip super" :style="hasVipType2?'width: 170rpx;':''">
|
||||||
<view class="user_vip_item" v-if="hasVipType1"><text>医学</text><image src="@/static/icon/chao_svip.png"></image></view>
|
<view class="user_vip_item" v-if="hasVipType1"><text>医学</text><image src="@/static/icon/chao_svip.png"></image></view>
|
||||||
<view class="user_vip_item" v-if="hasVipType2"><text>国学心理学</text><image src="@/static/icon/chao_svip.png"></image></view>
|
<view class="user_vip_item" v-if="hasVipType2"><text>国学心理学</text><image src="@/static/icon/chao_svip.png"></image></view>
|
||||||
@@ -23,8 +23,8 @@
|
|||||||
</view>
|
</view>
|
||||||
<view class="userInfoBox">
|
<view class="userInfoBox">
|
||||||
<view class="name">{{ userMes.nickname ? userMes.nickname : "未设置" }}</view>
|
<view class="name">{{ userMes.nickname ? userMes.nickname : "未设置" }}</view>
|
||||||
<view class="phone" v-if="userMes.tel&&$platform=='android'">手机号:({{ userMes.tel }})</view>
|
<view class="phone" v-if="userMes.tel">手机号:({{ userMes.tel }})</view>
|
||||||
<view class="vip_type" v-if="$platform=='android'&&textList.length>0">
|
<view class="vip_type" v-if="textList.length>0">
|
||||||
<view class="vip_type_item" v-for="(item,index) in textList" :key="index">
|
<view class="vip_type_item" v-for="(item,index) in textList" :key="index">
|
||||||
{{item}}<image src="@/static/icon/chao_vip.png"></image>
|
{{item}}<image src="@/static/icon/chao_vip.png"></image>
|
||||||
</view>
|
</view>
|
||||||
@@ -32,7 +32,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<br clear="both" />
|
<br clear="both" />
|
||||||
</view>
|
</view>
|
||||||
<view class="modal_vip" v-if="$platform=='android'">
|
<view class="modal_vip">
|
||||||
<template>
|
<template>
|
||||||
<view class="chong_zhi boxShadow box_fillet vip_box">
|
<view class="chong_zhi boxShadow box_fillet vip_box">
|
||||||
<view class="noVip">
|
<view class="noVip">
|
||||||
@@ -93,7 +93,7 @@
|
|||||||
<view class="text" style="line-height: 40rpx">{{userMes.jf ? userMes.jf : 0}}</view>
|
<view class="text" style="line-height: 40rpx">{{userMes.jf ? userMes.jf : 0}}</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="chong_list_item" v-if="$platform=='android'" style="
|
<view class="chong_list_item" style="
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|||||||
@@ -89,7 +89,7 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="youKeL" v-if="$platform=='ios'">
|
<view class="youKeL" v-if="$platform=='ios'">
|
||||||
<view @click="onPageJump('/pages/visitor/index')">免登录体验</view>
|
<view @click="onPageJump('/pages/visitor/index')">游客模式</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<u-popup :show="yhxyShow" title="用户协议" :round="10" @close="yhxyShow = false">
|
<u-popup :show="yhxyShow" title="用户协议" :round="10" @close="yhxyShow = false">
|
||||||
@@ -1083,12 +1083,12 @@ export default {
|
|||||||
justify-content: center;
|
justify-content: center;
|
||||||
margin: 60rpx 0 0 0;
|
margin: 60rpx 0 0 0;
|
||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
color: $themeColor;
|
|
||||||
|
|
||||||
view {
|
view {
|
||||||
border: 1px solid $themeColor;
|
border: 1rpx solid $themeColor;
|
||||||
border-radius: 10rpx;
|
border-radius: 10rpx;
|
||||||
padding: 5rpx 15rpx;
|
padding: 15rpx 30rpx;
|
||||||
|
color: $themeColor;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -21,8 +21,8 @@
|
|||||||
<view class="vip_qx_v">一年<text class="vip_fee line">{{item.originalPrice||0}}</text>元</view>
|
<view class="vip_qx_v">一年<text class="vip_fee line">{{item.originalPrice||0}}</text>元</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<text class="vip_item_btn" v-if="item.state==null" @click="openorderModal(item,0)">去办理</text>
|
<text class="vip_item_btn" v-if="item.state==null&&$platform != 'ios'" @click="openorderModal(item,0)">去办理</text>
|
||||||
<text class="vip_item_btn" v-else @click="openorderModal(item,0)">去续费</text>
|
<text class="vip_item_btn" v-else-if="$platform != 'ios'" @click="openorderModal(item,0)">去续费</text>
|
||||||
|
|
||||||
<view class="vip_price" v-if="item.vcbList&&item.vcbList.length>0">
|
<view class="vip_price" v-if="item.vcbList&&item.vcbList.length>0">
|
||||||
<text class="font_bold" v-if="item.type==1||item.type==2">超级VIP价格:</text>
|
<text class="font_bold" v-if="item.type==1||item.type==2">超级VIP价格:</text>
|
||||||
|
|||||||
@@ -9,8 +9,7 @@
|
|||||||
<view class="cate_item_border">
|
<view class="cate_item_border">
|
||||||
<image :src="item.icon"></image>
|
<image :src="item.icon"></image>
|
||||||
</view>
|
</view>
|
||||||
<view class="cate_item_name" v-if="$platform!='android'&&index==2">心身健康科学</view>
|
<view class="cate_item_name">{{ item.title }}</view>
|
||||||
<view class="cate_item_name" v-else>{{ item.title }}</view>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</scroll-view>
|
</scroll-view>
|
||||||
|
|||||||
@@ -124,31 +124,35 @@ export default {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 获取
|
//获取数据
|
||||||
getData() {
|
getData() {
|
||||||
var data = {
|
var data = {
|
||||||
userId: this.userInfo.id,
|
userId: this.userInfo.id,
|
||||||
};
|
};
|
||||||
if (!this.iosHide) {
|
if (!this.iosHide) {
|
||||||
this.tab_muJian = 1;
|
this.tab_muJian = 1;
|
||||||
}
|
}
|
||||||
// 用户详情
|
//用户详情
|
||||||
if (this.userInfo.id != undefined) {
|
if (this.userInfo.id != undefined) {
|
||||||
this.$http.post("book/user/info/" + this.userInfo.id).then((res) => {
|
this.$http.post("book/user/info/" + this.userInfo.id).then((res) => {
|
||||||
this.userMes = res.user;
|
this.userMes = res.user;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
$http.request({
|
uni.showLoading({
|
||||||
url: this.urlList.list,
|
title: '加载中'
|
||||||
method: "POST",
|
})
|
||||||
data,
|
$http.request({
|
||||||
header: {
|
url: this.urlList.list,
|
||||||
"Content-Type": "application/json",
|
method: "POST",
|
||||||
},
|
data,
|
||||||
})
|
header: {
|
||||||
.then((res) => {
|
"Content-Type": "application/json",
|
||||||
this.MoneyRecord = res.transactionDetailsList;
|
},
|
||||||
});
|
})
|
||||||
|
.then((res) => {
|
||||||
|
uni.hideLoading();
|
||||||
|
this.MoneyRecord = res.transactionDetailsList;
|
||||||
|
});
|
||||||
},
|
},
|
||||||
// 跳转
|
// 跳转
|
||||||
onPageJump(url) {
|
onPageJump(url) {
|
||||||
|
|||||||
@@ -98,31 +98,35 @@ export default {
|
|||||||
url: "/pages/detail/orderLCont?orderId=" + id
|
url: "/pages/detail/orderLCont?orderId=" + id
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 获取
|
//获取数据
|
||||||
getData() {
|
getData() {
|
||||||
var data = {
|
var data = {
|
||||||
userId: this.userInfo.id,
|
userId: this.userInfo.id,
|
||||||
};
|
};
|
||||||
if (!this.iosHide) {
|
if (!this.iosHide) {
|
||||||
this.tab_muJian = 1;
|
this.tab_muJian = 1;
|
||||||
}
|
}
|
||||||
// 用户详情
|
//用户详情
|
||||||
if (this.userInfo.id != undefined) {
|
if (this.userInfo.id != undefined) {
|
||||||
this.$http.post("book/user/info/" + this.userInfo.id).then((res) => {
|
this.$http.post("book/user/info/" + this.userInfo.id).then((res) => {
|
||||||
this.userMes = res.user;
|
this.userMes = res.user;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
$http.request({
|
uni.showLoading({
|
||||||
url: this.urlList.list,
|
title: '加载中'
|
||||||
method: "POST",
|
})
|
||||||
data,
|
$http.request({
|
||||||
header: {
|
url: this.urlList.list,
|
||||||
"Content-Type": "application/json",
|
method: "POST",
|
||||||
},
|
data,
|
||||||
})
|
header: {
|
||||||
.then((res) => {
|
"Content-Type": "application/json",
|
||||||
this.MoneyRecord = res.transactionDetailsList;
|
},
|
||||||
});
|
})
|
||||||
|
.then((res) => {
|
||||||
|
uni.hideLoading();
|
||||||
|
this.MoneyRecord = res.transactionDetailsList;
|
||||||
|
});
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -32,17 +32,6 @@
|
|||||||
style="float: right; margin-top: 5rpx"></u-radio>
|
style="float: right; margin-top: 5rpx"></u-radio>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- <view style="width: 100%" v-else>
|
|
||||||
<view v-for="(item, index) in iosPaylist" @click="choseType(item.id)"
|
|
||||||
:class="payType == item.id ? 'Tab_xf cf_xuanx' : 'cf_xuanx'">
|
|
||||||
<image class="pay_item_img" :src="item.imgUrl" mode="aspectFil">
|
|
||||||
</image>
|
|
||||||
{{ item.title }}
|
|
||||||
<u-radio :key="index" activeColor="#7dc1f0" :name="item.id"
|
|
||||||
style="float: right; margin-top: 5rpx"></u-radio>
|
|
||||||
</view>
|
|
||||||
</view> -->
|
|
||||||
</u-radio-group>
|
</u-radio-group>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|||||||
Reference in New Issue
Block a user