import CourseDetail from "../components/CourseDetail"{name:"CourseDetail",path: "/detail",component: CourseDetail,}
# 1. 安装依赖
npm install vue-video-player --save# 2. 在main.js中注册加载组件
require('video.js/dist/video-js.css');
require('vue-video-player/src/custom-theme.css');
import VideoPlayer from 'vue-video-player'
Vue.use(VideoPlayer);
在课程详情页中的script标签里面加入以下代码:
import {videoPlayer} from 'vue-video-player';export default {data () {return {playerOptions: {playbackRates: [0.7, 1.0, 1.5, 2.0], // 播放速度autoplay: false, //如果true,则自动播放muted: false, // 默认情况下将会消除任何音频。loop: false, // 循环播放preload: 'auto', // 建议浏览器在
1 {{course.students}}人在学 课程总时长:{{course.lessons}}课时/{{course.pub_lessons}}小时 难度:{{course.level_name}} {{course.price_service_type.name}} 距离结束:仅剩 {{Math.floor(sale_time/86400)}}天 {{Math.floor(sale_time%86400/3600)}}小时 {{Math.floor(sale_time%3600/60)}}分 {{Math.floor(sale_time%60)}} 秒
2
3
4
5
6
7
9 :playsinline="true"
10 :options="playerOptions"
11 @play="onPlayerPlay($event)"
12 @pause="onPlayerPause($event)"
13 >
14
15
16
17 {{course.name}}
18
19
20
21
22
23
24 活动价
25 ¥{{course.real_price}}
26 ¥{{course.price}}
27
28
29
30 立即购买
31 免费试学
32
33
34 加入购物车
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
128
129
后端数据接口 views:
class CourseDetailAPIView(RetrieveAPIView):queryset = models.Course.objects.all()serializer_class = CourseDetailSerializer
serlizer,序列化器:
1 from rest_framework import serializers
2
3 from luffy.apps.courses import models
4
5
6 class CourseCateserializer(serializers.ModelSerializer):
7 class Meta:
8 model = models.CourseCategory
9 fields = ('id','name','orders')
10
11 class CourseChaptersSerializer(serializers.ModelSerializer):
12 class Meta:
13 model= models.CourseChapter
14 fields = ("id","chapter","name")
15
16 class Teacherserializer(serializers.ModelSerializer):
17 class Meta:
18 model = models.Teacher
19 fields = ("id","name","title",)
20
21
22 class PriceServiceserializer(serializers.ModelSerializer):
23 class Meta:
24 model = models.PriceService
25 fields = ("condition","sale","start_time","end_time","endtime_stamp")
26
27
28 class PriceServiceTypeserializer(serializers.ModelSerializer):
29 priceservices = PriceServiceserializer(many=True)
30 class Meta:
31 model = models.PriceServiceType
32 fields =("id","name","priceservices")
33
34 class Courseserializer(serializers.ModelSerializer):
35 teacher = Teacherserializer()
36 price_service_type = PriceServiceTypeserializer()
37 class Meta:
38 model = models.Course
39 fields = ("id","name","course_img","students","lessons","pub_lessons","price","teacher","course_category","price_service_type")
40
41
42 class CourseDetailSerializer(serializers.ModelSerializer):
43 coursechapters = CourseChaptersSerializer(many=True)
44 price_service_type = PriceServiceTypeserializer()
45 teacher = Teacherserializer()
46 class Meta:
47 model = models.Course
48 fields = (
49 "id", "name", "course_img", "students",
50 "lessons", "brief", "level_name", "pub_lessons","price",
51 "teacher", "real_price", "price_service_type","coursechapters",)