fix: 修复跳转异常的问题

This commit is contained in:
2025-08-27 20:13:06 +08:00
parent 3089a8394e
commit 49cb661c7f

View File

@@ -23,7 +23,8 @@
@fullscreenchange="onFullScreen" @fullscreenchange="onFullScreen"
:drag="curriculumData.isDrag" :drag="curriculumData.isDrag"
style="width: 100%; object-fit: fill"> style="width: 100%; object-fit: fill">
></video-player> >
</video-player>
<view class="player-box" v-if="playerBoxShow"> <view class="player-box" v-if="playerBoxShow">
<view class="player-praise"> <view class="player-praise">
<view @click="praiseContent" style="cursor: pointer;"> <view @click="praiseContent" style="cursor: pointer;">
@@ -76,18 +77,23 @@
<view v-if="curContent.contentType==40"> <view v-if="curContent.contentType==40">
<!--pdf文档--> <!--pdf文档-->
<view style="min-height: 500px;padding-top: 200upx;position: relative;"> <view style="min-height: 500px;padding-top: 200upx;position: relative;">
<pdf-preview v-if="curContent.content && curContent.content!=''" :src="curContent.content ? fileBaseUrl+curContent.content : ''"></pdf-preview> <pdf-preview v-if="curContent.content && curContent.content!=''"
:src="curContent.content ? fileBaseUrl+curContent.content : ''"></pdf-preview>
</view> </view>
</view> </view>
<view v-if="curContent.contentType==41"> <view v-if="curContent.contentType==41">
<view class="about-gongsi-info" :style="{height:articleMore? '500upx':'auto'}" style="padding: 15px;text-indent:40px;line-height: 28px;position: relative;"> <view class="about-gongsi-info" :style="{height:articleMore? '500upx':'auto'}"
style="padding: 15px;text-indent:40px;line-height: 28px;position: relative;">
<u-parse :content="curContent.content"></u-parse> <u-parse :content="curContent.content"></u-parse>
</view> </view>
<view v-if="articleMore" @click="showMore" style="text-align: center;color: #387DF7;"><text>查看更多</text> </view> <view v-if="articleMore" @click="showMore" style="text-align: center;color: #387DF7;">
<text>查看更多</text>
</view>
</view> </view>
<div v-if="curContent.contentType == 50" style="min-height: 500px;"> <div v-if="curContent.contentType == 50" style="min-height: 500px;">
<!--因为web-view 动态切换地址不好用所以这里先使用iframe--> <!--因为web-view 动态切换地址不好用所以这里先使用iframe-->
<iframe id="iframe-scorm" v-if="scormUrl" :src="scormUrl" @load="iframeScormLoad()" frameborder="0" scrolling="no" border="0px" style="width:100%;min-height:500px;border:0px;"></iframe> <iframe id="iframe-scorm" v-if="scormUrl" :src="scormUrl" @load="iframeScormLoad()" frameborder="0"
scrolling="no" border="0px" style="width:100%;min-height:500px;border:0px;"></iframe>
</div> </div>
<view v-if="curContent.contentType==52"> <view v-if="curContent.contentType==52">
<!--外连接--> <!--外连接-->
@@ -119,8 +125,12 @@
<view v-if="!catalogShow"> <view v-if="!catalogShow">
<view class="tabrow"> <view class="tabrow">
<view class="tabrow-item" @click="goTop">目录({{ totalContent }})</view> <view class="tabrow-item" @click="goTop">目录({{ totalContent }})</view>
<view class="tabrow-item" @click="changeTab(1)"><text :class="{'tabrow-active':tabIndex==1}">简介</text></view> <view class="tabrow-item" @click="changeTab(1)">
<view class="tabrow-item" @click="changeTab(2)"><text :class="{'tabrow-active':tabIndex==2}">评论</text></view> <text :class="{'tabrow-active':tabIndex==1}">简介</text>
</view>
<view class="tabrow-item" @click="changeTab(2)">
<text :class="{'tabrow-active':tabIndex==2}">评论</text>
</view>
<view class="player-box-tabrow"> <view class="player-box-tabrow">
<view class="player-praise"> <view class="player-praise">
<view @click="praiseContent" style="cursor: pointer;"> <view @click="praiseContent" style="cursor: pointer;">
@@ -146,8 +156,12 @@
</view> </view>
<view> <view>
<text class="cinfo-tag1">{{ convertTypeName(courseInfo.sysType1) }}</text> <text class="cinfo-tag1">{{ convertTypeName(courseInfo.sysType1) }}</text>
<text v-if="courseInfo.sysType2!= '' && courseInfo.sysType2!= '0'" class="cinfo-tag2">{{convertTypeName(courseInfo.sysType2)}}</text> <text v-if="courseInfo.sysType2!= '' && courseInfo.sysType2!= '0'" class="cinfo-tag2">
<text v-if="courseInfo.sysType3!= '' && courseInfo.sysType3!= '0'" class="cinfo-tag2">{{convertTypeName(courseInfo.sysType3)}}</text> {{ convertTypeName(courseInfo.sysType2) }}
</text>
<text v-if="courseInfo.sysType3!= '' && courseInfo.sysType3!= '0'" class="cinfo-tag2">
{{ convertTypeName(courseInfo.sysType3) }}
</text>
</view> </view>
</view> </view>
@@ -156,15 +170,22 @@
<text class="desrow-name">目标人群</text> <text class="desrow-name">目标人群</text>
<text class="desrow-value">{{ courseInfo.forUsers }}</text> <text class="desrow-value">{{ courseInfo.forUsers }}</text>
</view> </view>
<view style="color: #999999;min-width: 160upx;text-align: right;font-size: 24upx;">{{formatUserNumber(courseInfo.studys)}}人学习</view> <view style="color: #999999;min-width: 160upx;text-align: right;font-size: 24upx;">
{{ formatUserNumber(courseInfo.studys) }}人学习
</view>
</view> </view>
<view class="desrow" style="justify-content: flex-start;"> <view class="desrow" style="justify-content: flex-start;">
<view style="line-height: 60upx;"><text class="desrow-name">讲师</text></view> <view style="line-height: 60upx;">
<text class="desrow-name">讲师</text>
</view>
<view style="flex: 1;"> <view style="flex: 1;">
<view v-for="(tea,teaIdx) in teachers" :key="tea.id" style="display: flex;justify-content: space-between;line-height: 60upx;"> <view v-for="(tea,teaIdx) in teachers" :key="tea.id"
style="display: flex;justify-content: space-between;line-height: 60upx;">
<view> <view>
<text class="desrow-value">{{ tea.teacherName }}</text> <text class="desrow-value">{{ tea.teacherName }}</text>
<text class="desrow-value" style="font-size: 24upx;margin-left: 6upx;color: #999999;">({{tea.orgInfo}})</text> <text class="desrow-value" style="font-size: 24upx;margin-left: 6upx;color: #999999;">
({{ tea.orgInfo }})
</text>
</view> </view>
<view @click="followUser(tea)" style="color: #387DF7;"> <view @click="followUser(tea)" style="color: #387DF7;">
<text class="concern" v-if="tea.followed">已关注</text> <text class="concern" v-if="tea.followed">已关注</text>
@@ -176,7 +197,8 @@
<view class="desrow"> <view class="desrow">
<view style="display: flex;"> <view style="display: flex;">
<text class="desrow-name">课程评分</text> <text class="desrow-name">课程评分</text>
<u-rate readonly v-if="courseInfo.score>0" :count="5" activeColor="#F37101" :size="16" v-model="courseInfo.score"></u-rate> <u-rate readonly v-if="courseInfo.score>0" :count="5" activeColor="#F37101" :size="16"
v-model="courseInfo.score"></u-rate>
<text class="score">{{ toScore(courseInfo.score) }}</text> <text class="score">{{ toScore(courseInfo.score) }}</text>
</view> </view>
@@ -220,11 +242,15 @@
<view v-else> <view v-else>
<view v-if="courseInfo.type==10"> <view v-if="courseInfo.type==10">
<view v-if="scrollItemWidth>0" class="main-cata-active"> <view v-if="scrollItemWidth>0" class="main-cata-active">
<scroll-view scroll-x :scroll-y="false" style="min-height:180upx;white-space: nowrap;overflow: hidden;" :scroll-left="scrollInfo.scrollLeft" @scroll="scrollHandler"> <scroll-view scroll-x :scroll-y="false"
style="min-height:180upx;white-space: nowrap;overflow: hidden;"
:scroll-left="scrollInfo.scrollLeft" @scroll="scrollHandler">
<!-- <view class="mycrollcontent" style="display: flex;justify-content:flex-start;"> --> <!-- <view class="mycrollcontent" style="display: flex;justify-content:flex-start;"> -->
<view v-for="(con,conIdx) in contentList" :key="conIdx" style="display: inline-block;" :id="con.id" @click="playContent(con,conIdx,0)"> <view v-for="(con,conIdx) in contentList" :key="conIdx" style="display: inline-block;" :id="con.id"
@click="playContent(con,conIdx,0)">
<!----> <!---->
<view :style="{width:scrollItemWidth+'px'}" class="scroll-item" :class="{'box-studying':curContent.id==con.id}"> <view :style="{width:scrollItemWidth+'px'}" class="scroll-item"
:class="{'box-studying':curContent.id==con.id}">
<view class="scroll-item-con"> <view class="scroll-item-con">
<view class="scroll-item-name"> <view class="scroll-item-name">
{{ con.contentName }} {{ con.contentName }}
@@ -248,11 +274,14 @@
</view> </view>
<view v-else> <view v-else>
<view v-if="scrollItemWidth>0" class="main-cata-active"> <view v-if="scrollItemWidth>0" class="main-cata-active">
<scroll-view scroll-x :scroll-y="false" style="height:115px;white-space: nowrap;overflow: hidden;" :scroll-left="scrollInfo.scrollLeft" @scroll="scrollHandler"> <scroll-view scroll-x :scroll-y="false" style="height:115px;white-space: nowrap;overflow: hidden;"
:scroll-left="scrollInfo.scrollLeft" @scroll="scrollHandler">
<!-- <view class="mycrollcontent" style="display: flex;justify-content:flex-start;"> --> <!-- <view class="mycrollcontent" style="display: flex;justify-content:flex-start;"> -->
<view v-for="(con,conIdx) in scrollList" :key="conIdx" style="display: inline-block;" :id="con.id" @click="playContent(con,conIdx,0)"> <view v-for="(con,conIdx) in scrollList" :key="conIdx" style="display: inline-block;" :id="con.id"
@click="playContent(con,conIdx,0)">
<!----> <!---->
<view :style="{width:scrollItemWidth+'px'}" class="scroll-item" :class="{'color-studying':curContent.id==con.id}"> <view :style="{width:scrollItemWidth+'px'}" class="scroll-item"
:class="{'color-studying':curContent.id==con.id}">
<view class="scroll-item-sec">{{ con.cataName }} <view class="scroll-item-sec">{{ con.cataName }}
<!-- <text v-if="con.cataStatus && con.cataStatus==1" class="status-tag" :class="statusClass(con.cataStatus)">未开始</text> <!-- <text v-if="con.cataStatus && con.cataStatus==1" class="status-tag" :class="statusClass(con.cataStatus)">未开始</text>
<text v-if="con.cataStatus && con.cataStatus==2" class="status-tag" :class="statusClass(con.cataStatus)">进行中</text> <text v-if="con.cataStatus && con.cataStatus==2" class="status-tag" :class="statusClass(con.cataStatus)">进行中</text>
@@ -284,15 +313,21 @@
<!--交互--> <!--交互-->
<view class="cinfo-btns"> <view class="cinfo-btns">
<view class="cinfo-btn" @click="openScore()"> <view class="cinfo-btn" @click="openScore()">
<view><image src="/static/images/course/c_comment.png" style="width: 80upx;height: 80upx;"></image> </view> <view>
<image src="/static/images/course/c_comment.png" style="width: 80upx;height: 80upx;"></image>
</view>
<view>评价</view> <view>评价</view>
</view> </view>
<view class="cinfo-btn" @click="addFavorite()"> <view class="cinfo-btn" @click="addFavorite()">
<view> <view>
<image v-if="isFavorite" src="/static/images/course/c_favorite_2.png" style="width: 80upx;height: 80upx;"> <image v-if="isFavorite" src="/static/images/course/c_favorite_2.png"
style="width: 80upx;height: 80upx;">
<image v-else src="/static/images/course/c_favorite.png" style="width: 80upx;height: 80upx;"> <image v-else src="/static/images/course/c_favorite.png" style="width: 80upx;height: 80upx;">
</view> </view>
<view><text v-if="isFavorite">已收藏</text><text v-else>收藏</text> </view> <view>
<text v-if="isFavorite">已收藏</text>
<text v-else>收藏</text>
</view>
</view> </view>
<view class="cinfo-btn" @click="openShare()"> <view class="cinfo-btn" @click="openShare()">
<view> <view>
@@ -305,18 +340,25 @@
<!--评论--> <!--评论-->
<view v-show="tabIndex==2" class="pinglun"> <view v-show="tabIndex==2" class="pinglun">
<comments ref="comments" v-if="courseId && courseId!=''" :objType="1" :objId="courseId"></comments> <comments ref="comments" v-if="courseId && courseId!=''" :objType="1" :objId="courseId"></comments>
<interact-fixed ref="fiexdbar" :type="1" :data="courseInfo" :users="teachers" :praises="false" :favorites="false" :shares="false" :comments="false" @comment-success="refreshComments" @share-success="shareSuccess"></interact-fixed> <interact-fixed ref="fiexdbar" :type="1" :data="courseInfo" :users="teachers" :praises="false"
:favorites="false" :shares="false" :comments="false" @comment-success="refreshComments"
@share-success="shareSuccess"></interact-fixed>
</view> </view>
</view> </view>
<!--全部目录--> <!--全部目录-->
<view v-else> <view v-else>
<view class="tabrow" style="justify-content: space-between;"> <view class="tabrow" style="justify-content: space-between;">
<view class="tabrow-item"><text class="tabrow-active">目录</text></view> <view class="tabrow-item">
<view @click="closeAllCatalog"> <image src="/static/images/close.png" style="width: 50upx;height: 50upx;"></image> </view> <text class="tabrow-active">目录</text>
</view>
<view @click="closeAllCatalog">
<image src="/static/images/close.png" style="width: 50upx;height: 50upx;"></image>
</view>
</view> </view>
<view class="catalogbox"> <view class="catalogbox">
<view v-if="courseInfo.type>10" class="catalog"> <view v-if="courseInfo.type>10" class="catalog">
<view v-for="(cata,catIdx) in catalogTree" :key="catIdx" style="border-bottom: 1px solid #ebebeb;padding-bottom: 30upx;"> <view v-for="(cata,catIdx) in catalogTree" :key="catIdx"
style="border-bottom: 1px solid #ebebeb;padding-bottom: 30upx;">
<view class="catalog-sec" style="margin-bottom: 20rpx;"> <view class="catalog-sec" style="margin-bottom: 20rpx;">
<view class="catalog-sec-name"> <view class="catalog-sec-name">
<!-- <text>{{catIdx+1}}, </text> --> <!-- <text>{{catIdx+1}}, </text> -->
@@ -329,7 +371,8 @@
</view> </view>
</view> </view>
<view> <view>
<view v-for="(con,conIdx) in cata.children" :key="conIdx" class="catalog-con" @click="playContent(con,conIdx,catIdx)"> <view v-for="(con,conIdx) in cata.children" :key="conIdx" class="catalog-con"
@click="playContent(con,conIdx,catIdx)">
<view class="catalog-con-name" :class="{'color-studying':curContent.id==con.id}"> <view class="catalog-con-name" :class="{'color-studying':curContent.id==con.id}">
<text>{{ catIdx + 1 }}.{{ conIdx + 1 }}.</text> <text>{{ catIdx + 1 }}.{{ conIdx + 1 }}.</text>
<!-- <text class="square-border">{{getConType(con.contentType)}}</text> --> <!-- <text class="square-border">{{getConType(con.contentType)}}</text> -->
@@ -346,7 +389,8 @@
</view> </view>
<view v-else class="catalog"> <view v-else class="catalog">
<view> <view>
<view v-for="(con,conIdx) in contentList" :key="conIdx" class="catalog-con" @click="playContent(con,conIdx)"> <view v-for="(con,conIdx) in contentList" :key="conIdx" class="catalog-con"
@click="playContent(con,conIdx)">
<view class="catalog-con-name" :class="{'color-studying':curContent.id==con.id}"> <view class="catalog-con-name" :class="{'color-studying':curContent.id==con.id}">
<text>{{ conIdx + 1 }}.</text> <text>{{ conIdx + 1 }}.</text>
<!-- <text class="square-border">{{getConType(con.contentType)}}</text> --> <!-- <text class="square-border">{{getConType(con.contentType)}}</text> -->
@@ -373,7 +417,8 @@
<!--弹出窗口--> <!--弹出窗口-->
<!--课程简介--> <!--课程简介-->
<u-popup :show="summarylogShow" mode="right" @close="summaryCatalog" :safeAreaInsetTop="true" :closeable="true"> <u-popup :show="summarylogShow" mode="right" @close="summaryCatalog" :safeAreaInsetTop="true" :closeable="true">
<view class="summary-log" :style="`width: ${treePopupWidth};padding-top: 20px;`" style="height: 100vh; overflow: auto;"> <view class="summary-log" :style="`width: ${treePopupWidth};padding-top: 20px;`"
style="height: 100vh; overflow: auto;">
<!-- <view class=""> --> <!-- <view class=""> -->
<view class="particulars">课程详情</view> <view class="particulars">课程详情</view>
<view class="matter"> <view class="matter">
@@ -384,7 +429,8 @@
</view> </view>
</u-popup> </u-popup>
<!-- 评分赞和踩 --> <!-- 评分赞和踩 -->
<u-popup :show="scoreInfo.dlgShow" mode="center" :closeable="false" :closeOnClickOverlay="false" :round="14" @close="closeScore" @open="openScore"> <u-popup :show="scoreInfo.dlgShow" mode="center" :closeable="false" :closeOnClickOverlay="false" :round="14"
@close="closeScore" @open="openScore">
<view class="dlgscore"> <view class="dlgscore">
<view class="dlgscore-top"> <view class="dlgscore-top">
<view class="dlgscore-title">课程评价</view> <view class="dlgscore-title">课程评价</view>
@@ -427,6 +473,7 @@
import studyUtil from '@/utils/study.js'; import studyUtil from '@/utils/study.js';
import {toScore, cutOrgNamePath, formatUserNumber} from '@/utils/tools.js'; import {toScore, cutOrgNamePath, formatUserNumber} from '@/utils/tools.js';
import {mapGetters, mapActions} from 'vuex' import {mapGetters, mapActions} from 'vuex'
export default { export default {
data() { data() {
return { return {
@@ -592,7 +639,9 @@
this.appendStudyTime();//启动追加学习时长 this.appendStudyTime();//启动追加学习时长
}, },
convertTypeName(code) { convertTypeName(code) {
if(!code){return '';} if (!code) {
return '';
}
return this.sysTypeMap.get(code); return this.sysTypeMap.get(code);
}, },
clearTimeHandle() { clearTimeHandle() {
@@ -973,7 +1022,8 @@
this.conLink.url = con.content; this.conLink.url = con.content;
this.conLink.openType = 1; this.conLink.openType = 1;
} }
if (this.conLink.openType == 2) { // todo: 暂时不知道这个 52 是干嘛的, 先写死吧
// if (this.conLink.openType == 2) {
//新的窗口直接打开 //新的窗口直接打开
const url = this.conLink.url const url = this.conLink.url
@@ -983,7 +1033,7 @@
} else { } else {
location.href = url location.href = url
} }
} // }
} else if (con.contentType == 10 || con.contentType == 20) { } else if (con.contentType == 10 || con.contentType == 20) {
if (con.content.startsWith('\{')) { if (con.content.startsWith('\{')) {
var d = JSON.parse(con.content) var d = JSON.parse(con.content)
@@ -1048,7 +1098,9 @@
//this.appendStudyTime(); //this.appendStudyTime();
//非视频音频的5秒后学习完成 //非视频音频的5秒后学习完成
if (con.contentType != 50) { if (con.contentType != 50) {
this.handleTimeout = setTimeout(function(){$this.saveStudyInfo();},5000);//5秒后记录学习完成 this.handleTimeout = setTimeout(function () {
$this.saveStudyInfo();
}, 5000);//5秒后记录学习完成
} else { } else {
//scorm课件不记录完成情况由播放回调记录完成情况 //scorm课件不记录完成情况由播放回调记录完成情况
//当前先保存学习记录,未学习状态 //当前先保存学习记录,未学习状态
@@ -1217,7 +1269,9 @@
conType: this.courseInfo.type, conType: this.courseInfo.type,
} }
apiMessage.save(message).then(res => { apiMessage.save(message).then(res => {
if(res.status!=200){ console.log('发送消息失败') } if (res.status != 200) {
console.log('发送消息失败')
}
}) })
} else { } else {
this.$refs.messager.show({message: '收藏失败', type: 'error'}); this.$refs.messager.show({message: '收藏失败', type: 'error'});
@@ -1310,7 +1364,9 @@
conType: this.courseInfo.type, conType: this.courseInfo.type,
} }
apiMessage.save(message).then(res => { apiMessage.save(message).then(res => {
if(res.status!=200){ console.log('发送消息失败') } if (res.status != 200) {
console.log('发送消息失败')
}
}) })
} else { } else {
this.$refs.messager.show({message: '点赞失败,请稍后再试', type: 'success'}); this.$refs.messager.show({message: '点赞失败,请稍后再试', type: 'success'});
@@ -1846,33 +1902,41 @@
padding: 3upx 20upx; padding: 3upx 20upx;
border-radius: 30upx; border-radius: 30upx;
} }
.pinglun { .pinglun {
/deep/ .comments { /deep/ .comments {
padding: 0; padding: 0;
.comments-top { .comments-top {
display: none; display: none;
} }
} }
/deep/ .interact-fixed { /deep/ .interact-fixed {
.interact-bar { .interact-bar {
padding-right: 40upx; padding-right: 40upx;
} }
} }
/deep/ .interact-bar { /deep/ .interact-bar {
padding-left: 0 !important; padding-left: 0 !important;
} }
/deep/ .field-right { /deep/ .field-right {
width: 0 !important; width: 0 !important;
} }
/deep/ .interact-bar-item { /deep/ .interact-bar-item {
width: 100% !important; width: 100% !important;
.field { .field {
width: 100% !important; width: 100% !important;
} }
} }
// /deep/ .interact-bar{ // /deep/ .interact-bar{
// // padding-left: 0; // // padding-left: 0;
// } // }
@@ -1883,17 +1947,21 @@
// margin-right: 60upx; // margin-right: 60upx;
// } // }
} }
body { body {
background-color: #fff; background-color: #fff;
} }
.playbox { .playbox {
//padding: 10upx; //padding: 10upx;
background-color: #fff; background-color: #fff;
} }
.contentbox { .contentbox {
padding: 34upx; padding: 34upx;
background-color: #fff; background-color: #fff;
} }
.player-box { .player-box {
position: absolute; position: absolute;
// top: 62px; // top: 62px;
@@ -1909,17 +1977,20 @@
text-align: center; text-align: center;
padding: 20px; padding: 20px;
box-sizing: border-box; box-sizing: border-box;
image { image {
width: 40px; width: 40px;
height: 40px; height: 40px;
margin: 0px 10px; margin: 0px 10px;
} }
.player-praise { .player-praise {
margin-top: 5px; margin-top: 5px;
display: flex; display: flex;
// justify-items: center; // justify-items: center;
justify-content: center; justify-content: center;
} }
.player-rate { .player-rate {
margin-top: 20px; margin-top: 20px;
text-align: center; text-align: center;
@@ -1927,24 +1998,29 @@
justify-content: center; justify-content: center;
} }
} }
.tabrow { .tabrow {
display: flex; display: flex;
border-bottom: 1px solid rgba(153, 153, 153, 0.14); border-bottom: 1px solid rgba(153, 153, 153, 0.14);
font-size: 28upx; font-size: 28upx;
position: relative; position: relative;
.tabrow-active { .tabrow-active {
font-size: 32upx; font-size: 32upx;
color: #387DF7; color: #387DF7;
border-bottom: 4upx solid #007DFF; border-bottom: 4upx solid #007DFF;
} }
.tabrow-item { .tabrow-item {
margin-right: 30upx; margin-right: 30upx;
line-height: 60upx; line-height: 60upx;
font-weight: 600; font-weight: 600;
text { text {
padding-bottom: 10upx; padding-bottom: 10upx;
} }
} }
.player-box-tabrow { .player-box-tabrow {
position: absolute; position: absolute;
top: -20px; top: -20px;
@@ -1961,6 +2037,7 @@
// text-align: center; // text-align: center;
padding: 20px; padding: 20px;
box-sizing: border-box; box-sizing: border-box;
image { image {
width: 20px; width: 20px;
height: 20px; height: 20px;
@@ -1968,12 +2045,14 @@
margin-right: 4px; margin-right: 4px;
// margin: 0px 10px; // margin: 0px 10px;
} }
.player-praise { .player-praise {
margin-top: 5px; margin-top: 5px;
display: flex; display: flex;
// justify-items: center; // justify-items: center;
justify-content: center; justify-content: center;
} }
.player-rate { .player-rate {
margin-top: 20px; margin-top: 20px;
text-align: center; text-align: center;
@@ -1982,6 +2061,7 @@
} }
} }
} }
.cinfo { .cinfo {
.cinfo-title { .cinfo-title {
min-height: 18upx; min-height: 18upx;
@@ -1989,6 +2069,7 @@
font-size: 32upx; font-size: 32upx;
padding: 28upx 0upx; padding: 28upx 0upx;
} }
.cinfo-tag1 { .cinfo-tag1 {
font-size: 22upx; font-size: 22upx;
color: #528CEC; color: #528CEC;
@@ -1998,6 +2079,7 @@
margin-right: 12upx; margin-right: 12upx;
padding: 2upx 12upx; padding: 2upx 12upx;
} }
.cinfo-tag2 { .cinfo-tag2 {
font-size: 22upx; font-size: 22upx;
color: #D98135; color: #D98135;
@@ -2006,18 +2088,22 @@
margin-right: 12upx; margin-right: 12upx;
padding: 4upx 12upx; padding: 4upx 12upx;
} }
.desrow { .desrow {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
padding: 26upx 0upx; padding: 26upx 0upx;
.desrow-name { .desrow-name {
color: #333333; color: #333333;
font-size: 28upx; font-size: 28upx;
} }
.desrow-value { .desrow-value {
color: #666666; color: #666666;
font-size: 28upx; font-size: 28upx;
} }
.score { .score {
color: #FB7303; color: #FB7303;
margin-left: 10upx; margin-left: 10upx;
@@ -2025,10 +2111,12 @@
font-size: 32upx; font-size: 32upx;
} }
} }
.cinfo-btns { .cinfo-btns {
display: flex; display: flex;
justify-content: center; justify-content: center;
margin-top: 66upx; margin-top: 66upx;
.cinfo-btn { .cinfo-btn {
flex: 1; flex: 1;
font-size: 28upx; font-size: 28upx;
@@ -2037,14 +2125,18 @@
} }
} }
} }
.citembox1 { .citembox1 {
display: flex; display: flex;
.citembox1-item { .citembox1-item {
width: 50%; width: 50%;
} }
} }
.citem { .citem {
margin: 10upx; margin: 10upx;
.citem-title { .citem-title {
color: #333333; color: #333333;
word-break: break-all; word-break: break-all;
@@ -2052,6 +2144,7 @@
display: -webkit-box; display: -webkit-box;
overflow: hidden; overflow: hidden;
} }
.citem-body { .citem-body {
background-color: #F7F8F9; background-color: #F7F8F9;
border-radius: 4upx; border-radius: 4upx;
@@ -2068,9 +2161,11 @@
} }
} }
.scroll-item { .scroll-item {
// margin: 3px; // margin: 3px;
margin-right: 20upx; margin-right: 20upx;
.scroll-item-sec { .scroll-item-sec {
height: 20px; height: 20px;
// padding: 10upx; // padding: 10upx;
@@ -2083,6 +2178,7 @@
-webkit-box-orient: vertical; -webkit-box-orient: vertical;
-webkit-line-clamp: 1 -webkit-line-clamp: 1
} }
.scroll-item-con { .scroll-item-con {
width: 220rpx; width: 220rpx;
display: inline-flex; display: inline-flex;
@@ -2091,6 +2187,7 @@
min-height: 100upx; min-height: 100upx;
// line-height: 60rpx; // line-height: 60rpx;
background-color: #f4f5f7; background-color: #f4f5f7;
.scroll-item-name { .scroll-item-name {
width: 100%; width: 100%;
height: 76rpx; height: 76rpx;
@@ -2106,12 +2203,14 @@
font-size: 28upx; font-size: 28upx;
// margin-bottom: 20upx; // margin-bottom: 20upx;
} }
.scroll-item-type { .scroll-item-type {
font-size: 26upx; font-size: 26upx;
display: flex; display: flex;
justify-content: flex-start; justify-content: flex-start;
align-items: center; align-items: center;
line-height: 1; line-height: 1;
.square-border { .square-border {
margin-right: 20upx; margin-right: 20upx;
display: flex; display: flex;
@@ -2119,9 +2218,11 @@
align-items: center; align-items: center;
border: 1px solid; border: 1px solid;
padding: 3px 5px; padding: 3px 5px;
.finish { .finish {
padding: 5upx; padding: 5upx;
} }
.nostart { .nostart {
padding: 5upx; padding: 5upx;
} }
@@ -2129,30 +2230,37 @@
} }
} }
} }
.box-studying { .box-studying {
//color:#FFB30F; //color:#FFB30F;
color: #387DF7; color: #387DF7;
border: 1upx solid rgba(56, 125, 247, 0.14); border: 1upx solid rgba(56, 125, 247, 0.14);
} }
.box-finish { .box-finish {
color: #3C7EFF; color: #3C7EFF;
} }
.box-nostart { .box-nostart {
color: #EE474A; color: #EE474A;
} }
.color-studying { .color-studying {
// background: #FDF1D7; // background: #FDF1D7;
//color: #FFB30F; //color: #FFB30F;
color: #387DF7; color: #387DF7;
} }
.color-finish { .color-finish {
// background: #f3f9ff; // background: #f3f9ff;
color: #666666; color: #666666;
} }
.color-nostart { .color-nostart {
// background: #ffe8e7; // background: #ffe8e7;
color: #666666; color: #666666;
} }
.status-tag { .status-tag {
height: 40upx; height: 40upx;
width: 44px; width: 44px;
@@ -2163,18 +2271,22 @@
padding: 2upx 10upx; padding: 2upx 10upx;
border-radius: 14upx; border-radius: 14upx;
} }
.tag-studying { .tag-studying {
// color: #FFB30F; // color: #FFB30F;
color: #588AFC; color: #588AFC;
} }
.tag-finish { .tag-finish {
// color: #00aaff; // color: #00aaff;
color: #08A890; color: #08A890;
} }
.tag-nostart { .tag-nostart {
// color: #ff0000; // color: #ff0000;
color: #787878; color: #787878;
} }
.text-ellipsis { .text-ellipsis {
//display: inline-block; //display: inline-block;
max-width: 80%; max-width: 80%;
@@ -2182,6 +2294,7 @@
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
} }
.player-controls-btn { .player-controls-btn {
position: absolute; position: absolute;
right: 10px; right: 10px;
@@ -2192,9 +2305,11 @@
transition: color 0.3s; transition: color 0.3s;
height: 22px; height: 22px;
} }
.btn-speed:hover .speed-control { .btn-speed:hover .speed-control {
// visibility: visible; // visibility: visible;
} }
.speed-control { .speed-control {
position: absolute; position: absolute;
top: 180px; top: 180px;
@@ -2202,6 +2317,7 @@
transition: visibility 0.3s; transition: visibility 0.3s;
transform: translate(-50%, -100%); transform: translate(-50%, -100%);
} }
.speed-control .speed-control-list { .speed-control .speed-control-list {
list-style: none; list-style: none;
color: #e5e5e5; color: #e5e5e5;
@@ -2214,28 +2330,34 @@
border-radius: 4px; border-radius: 4px;
background: rgba(21, 21, 21, 0.8); background: rgba(21, 21, 21, 0.8);
} }
.speed-control .speed-control-list .li { .speed-control .speed-control-list .li {
position: relative; position: relative;
display: block; display: block;
height: 25px; height: 25px;
line-height: 25px; line-height: 25px;
} }
.speed-control .speed-control-list .li:hover { .speed-control .speed-control-list .li:hover {
color: #fff; color: #fff;
background: rgba(99, 99, 99, 0.8); background: rgba(99, 99, 99, 0.8);
} }
.speed-control .speed-control-list .li.current { .speed-control .speed-control-list .li.current {
color: var(--primaryColor); color: var(--primaryColor);
} }
.catalog { .catalog {
background: #FFFFFF; background: #FFFFFF;
padding: 20upx; padding: 20upx;
.catalog-sec { .catalog-sec {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
// border-bottom: 2upx solid #FAFAFA; // border-bottom: 2upx solid #FAFAFA;
// padding:20upx; // padding:20upx;
line-height: 40upx; line-height: 40upx;
.catalog-sec-name { .catalog-sec-name {
max-width: 90%; max-width: 90%;
font-weight: 600; font-weight: 600;
@@ -2244,9 +2366,11 @@
text-overflow: ellipsis; text-overflow: ellipsis;
} }
} }
.catalog-con:last-child { .catalog-con:last-child {
border: none; border: none;
} }
.catalog-con { .catalog-con {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
@@ -2254,6 +2378,7 @@
padding-right: 0; padding-right: 0;
border-bottom: 1px solid rgba(153, 153, 153, 0.08); border-bottom: 1px solid rgba(153, 153, 153, 0.08);
.square-border { .square-border {
display: inline-block; display: inline-block;
border: 1px solid; border: 1px solid;
@@ -2261,6 +2386,7 @@
font-size: 0.8em; font-size: 0.8em;
margin: 0upx 8upx; margin: 0upx 8upx;
} }
.catalog-con-name { .catalog-con-name {
padding-left: 0upx; padding-left: 0upx;
white-space: nowrap; white-space: nowrap;
@@ -2269,32 +2395,38 @@
} }
} }
} }
.dlgscore { //评分的样式 .dlgscore { //评分的样式
.dlgscore-top { .dlgscore-top {
text-align: center; text-align: center;
padding: 50upx 100upx 0upx 100upx; padding: 50upx 100upx 0upx 100upx;
.dlgscore-title { .dlgscore-title {
text-align: center; text-align: center;
font-size: 36upx; font-size: 36upx;
} }
.dlgscore-desc { .dlgscore-desc {
text-align: center; text-align: center;
color: #999999; color: #999999;
font-size: 24upx; font-size: 24upx;
padding-top: 10upx; padding-top: 10upx;
} }
.dlgscore-score { .dlgscore-score {
padding-top: 40upx; padding-top: 40upx;
display: flex; display: flex;
justify-content: center; justify-content: center;
} }
} }
.dlgscore-btns { .dlgscore-btns {
margin-top: 60upx; margin-top: 60upx;
height: 100upx; height: 100upx;
display: flex; display: flex;
justify-content: center; justify-content: center;
border-top: 1px solid rgba(153, 153, 153, 0.14); border-top: 1px solid rgba(153, 153, 153, 0.14);
.dlgscore-cancel { .dlgscore-cancel {
text-align: center; text-align: center;
width: 49%; width: 49%;
@@ -2302,6 +2434,7 @@
line-height: 100upx; line-height: 100upx;
color: #666666; color: #666666;
} }
.dlgscore-submit { .dlgscore-submit {
text-align: center; text-align: center;
width: 50%; width: 50%;
@@ -2310,7 +2443,12 @@
} }
} }
} }
.about-gongsi-info{overflow: hidden; position: relative;}
.about-gongsi-info {
overflow: hidden;
position: relative;
}
.about-gongsi-info::after { .about-gongsi-info::after {
content: ''; content: '';
position: absolute; position: absolute;