提交 31debec1 authored 作者: 王鹏飞's avatar 王鹏飞

fix: 修复本地预览报错的问题

上级 3286ff6c
......@@ -29,7 +29,9 @@ const targetUrl = computed(() => {
} else if (props.data.resource_type === 6) {
return info.join_url
} else {
return `/preview?course_id=${courseId}&semester_id=${semesterId}&resource_id=${props.data.resource_id}&resource_type=${props.data.resource_type}&url=${info.url}`
return `/preview?course_id=${courseId}&semester_id=${semesterId}&resource_id=${props.data.resource_id}&resource_type=${
props.data.resource_type
}&url=${encodeURIComponent(info.url as string)}`
}
})
// 是否可以收藏
......@@ -95,8 +97,7 @@ function downloadFile(data: CourseResourceType) {
:to="`/course/exam/result?course_id=${courseId}&semester_id=${semesterId}&paper_id=${data.resource_id}&type=2&paper_title=${data.name}`"
target="_blank"
style="margin: 0 20px"
v-if="data.paper_status === 2 || data.paper_status === 3"
>
v-if="data.paper_status === 2 || data.paper_status === 3">
<el-button round size="small">查看报告</el-button>
</router-link>
<template v-if="data.resource_type === 6 && data.info">
......@@ -104,12 +105,7 @@ function downloadFile(data: CourseResourceType) {
<span style="margin-left: 10px">{{ formatLiveStatus(data.info.status) }}</span>
</template>
<div class="actions">
<i
class="icon-star"
:class="!!data.collection_count ? 'is-active' : ''"
@click="toggleCollection(data)"
v-if="canCollection(data.resource_type)"
></i>
<i class="icon-star" :class="!!data.collection_count ? 'is-active' : ''" @click="toggleCollection(data)" v-if="canCollection(data.resource_type)"></i>
<i class="icon-download" @click="downloadFile(data)" v-if="!!data.can_download"><Download /></i>
</div>
</div>
......
......@@ -112,7 +112,9 @@ function targetUrl(resource: CourseResourceType, section: CourseSectionType, cha
} else if (resource.resource_type === 6) {
return resource.info.join_url
} else {
return `/preview?course_id=${courseId}&semester_id=${semesterId}&resource_id=${resource.resource_id}&resource_type=${resource.resource_type}&url=${resource.info?.url}`
return `/preview?course_id=${courseId}&semester_id=${semesterId}&resource_id=${resource.resource_id}&resource_type=${
resource.resource_type
}&url=${encodeURIComponent(resource.info?.url as string)}`
}
}
......
......@@ -28,7 +28,9 @@ const targetUrl = computed(() => {
} else if (props.data.resource_type === 6) {
return info.join_url
} else {
return `/preview?course_id=${courseId}&semester_id=${semesterId}&resource_id=${props.data.resource_id}&resource_type=${props.data.resource_type}&url=${info.url}`
return `/preview?course_id=${courseId}&semester_id=${semesterId}&resource_id=${props.data.resource_id}&resource_type=${
props.data.resource_type
}&url=${encodeURIComponent(info.url as string)}`
}
})
// 是否可以收藏
......@@ -90,12 +92,7 @@ function downloadFile(data: CourseResourceType) {
</a>
</p>
<div class="actions">
<i
class="icon-star"
:class="!!data.collection_count ? 'is-active' : ''"
@click="toggleCollection(data)"
v-if="canCollection(data.resource_type)"
></i>
<i class="icon-star" :class="!!data.collection_count ? 'is-active' : ''" @click="toggleCollection(data)" v-if="canCollection(data.resource_type)"></i>
<i class="icon-download" @click="downloadFile(data)" v-if="!!data.can_download"><Download /></i>
</div>
</div>
......
......@@ -115,7 +115,9 @@ function genCoursePlayerUrl(item: CollectionType) {
}
// 文件预览
function genPreviewUrl(item: CollectionType) {
return `/preview?course_id=${item.course_id}&semester_id=${item.semester_id}&resource_id=${item.info?.id}&resource_type=${item.resource_type}&url=${item.info?.url}`
return `/preview?course_id=${item.course_id}&semester_id=${item.semester_id}&resource_id=${item.info?.id}&resource_type=${
item.resource_type
}&url=${encodeURIComponent(item.info?.url as string)}`
}
function targetUrl(item: CollectionType) {
if (item.type === 5) {
......@@ -155,8 +157,7 @@ function targetUrl2(item: CollectionType) {
</p>
<p>
<router-link :to="targetUrl2(item)" target="_blank">
{{ item.course.course_alias_name || item.course.name
}}<template v-if="item.type !== 7">/{{ item.chapter.name }}</template>
{{ item.course.course_alias_name || item.course.name }}<template v-if="item.type !== 7">/{{ item.chapter.name }}</template>
</router-link>
</p>
<div class="collection-item-aside">
......
......@@ -6,7 +6,7 @@ const route = useRoute()
const courseId = $ref(route.query.course_id as string)
const resourceId = $ref(route.query.resource_id as string)
const resourceType = $ref(route.query.resource_type as string)
const url = $ref(route.query.url as string)
const url = $ref(decodeURIComponent(route.query.url as string))
// 文件扩展名
const fileExtensionName = $computed(() => {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论