Day15媒资管理系统集成Artwalker

到目前为止,我们已可以编辑课程计划信息并上传课程视频,下一步我们要实现在线学习页面动态读取章节对应的视频并进行播放。在线学习页面所需要的信息有两类:一类是课程计划信息、一类是课程学习信息(视频地址、学习进度等),如下图:

在线学习集成媒资管理的需求如下:

1、在线学习页面显示课程计划2、点击课程计划播放该课程计划对应的视频本章节实现学习页面动态显示课程计划,进入不同课程的学习页面右侧动态显示当前课程的课程计划。

课程计划信息从哪里获取?

目前课程计划信息在课程管理数据库和ES索引库中存在,考虑性能要求,课程发布后对课程的查询统一从ES索引库中查询。

前端通过请求搜索服务获取课程信息,需要单独在搜索服务中定义课程信息查询接口。

本接口接收课程id,查询课程所有信息返回给前端。

packagecom.xuecheng.api.course;importcom.xuecheng.framework.domain.course.CoursePub;importcom.xuecheng.framework.domain.search.CourseSearchParam;importcom.xuecheng.framework.model.response.QueryResponseResult;importio.swagger.annotations.Api;importio.swagger.annotations.ApiOperation;importjava.io.IOException;importjava.util.Map;/***@authorHackerStar*@create2020-08-2511:42*/@Api(value="课程搜索",description="课程搜索",tags={"课程搜索"})publicinterfaceEsCourseControllerApi{@ApiOperation("课程搜索")publicQueryResponseResultlist(intpage,intsize,CourseSearchParamcourseSearchParam)throwsIOException;@ApiOperation("根据课程id查询课程信息")publicMapgetall(Stringid);}返回的课程信息为json结构:key为课程id,value为课程内容。

在搜索服务中开发查询课程信息接口。

在搜索服务中增加查询课程信息接口的service

学习中心的二级域名为ucenter.xuecheng.com,我们在nginx中配置ucenter虚拟主机。

在学习中心要调用搜索的API,使用Nginx解决代理,如下图:

配置搜索Api代理路径:

1、定义视图

a、课程计划

{{coursename}}

2、定义数据对象

data(){return{url:'',//当前urlcourseId:'',//课程idchapter:'',//章节Idcoursename:'课程名称',//课程名称coursepic:'',//课程图片teachplanList:[],//课程计划playerOptions:{//播放参数autoplay:false,controls:true,sources:[{type:"application/x-mpegURL",src:''}]},3、在created钩子方法中获取课程信息

4028e581617f945f01617f9dabc40000:第一个参数为课程id,测试时从ES索引库查找的课程id0:第二个参数为课程计划id,此参数用于点击课程计划播放视频因为之前将mongodb的数据库中的teachplan类型改为了text,故索引中的数据为字符串格式,不是json格式,导致视频目录无法显示,但是如果修改数据库类型又会出错,所以后台代码应该是没有问题的。

用户进入在线学习页面,点击课程计划将播放该课程计划对应的教学视频。

业务流程如下:

业务流程说明:

1、用户进入在线学习页面,页面请求搜索服务获取课程信息(包括课程计划信息)并且在页面展示。2、在线学习请求学习服务获取视频播放地址。3、学习服务校验当前用户是否有权限学习,如果没有权限学习则提示用户。4、学习服务校验通过,请求搜索服务获取课程媒资信息。5、搜索服务请求ElasticSearch获取课程媒资信息。为什么要请求ElasticSearch查询课程媒资信息?

出于性能的考虑,公开查询课程信息从搜索服务查询。

什么时候将课程媒资信息存储到ElasticSearch中?

课程媒资信息是在课程发布的时候存入ElasticSearch,因为课程发布后课程信息将基本不再修改。

课程媒资信息是在课程发布的时候存入ElasticSearch索引库,因为课程发布后课程信息将基本不再修改,具体的业务流程如下。

1、课程发布,向课程媒资信息表写入数据。1)根据课程id删除teachplanMediaPub中的数据2)根据课程id查询teachplanMedia数据3)将查询到的teachplanMedia数据插入到teachplanMediaPub中2、Logstash定时扫描课程媒资信息表,并将课程媒资信息写入索引库。2.2.1数据模型在xc_course数据库创建课程计划媒资发布表:

CREATETABLE`teachplan_media_pub`(`teachplan_id`varchar(32)NOTNULLCOMMENT'课程计划id',`media_id`varchar(32)NOTNULLCOMMENT'媒资文件id',`media_fileoriginalname`varchar(128)NOTNULLCOMMENT'媒资文件的原始名称',`media_url`varchar(256)NOTNULLCOMMENT'媒资文件访问地址',`courseid`varchar(32)NOTNULLCOMMENT'课程Id',`timestamp`timestampNOTNULLDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMPCOMMENT'logstash使用',PRIMARYKEY(`teachplan_id`))ENGINE=InnoDBDEFAULTCHARSET=utf8数据模型类如下:

创建TeachplanMediaPub表的Dao,向TeachplanMediaPub存储信息采用先删除该课程的媒资信息,再添加该课程的媒资信息,所以这里定义根据课程id删除课程计划媒资方法:

packagecom.xuecheng.manage_course.dao;importcom.xuecheng.framework.domain.course.TeachplanMediaPub;importorg.springframework.data.jpa.repository.JpaRepository;/***CreatedbyAdministrator.*/publicinterfaceTeachplanMediaPubRepositoryextendsJpaRepository{//根据课程id删除记录longdeleteByCourseId(StringcourseId);}packagecom.xuecheng.manage_course.dao;importcom.xuecheng.framework.domain.course.TeachplanMedia;importorg.springframework.data.jpa.repository.JpaRepository;importjava.util.List;/***@authorHackerStar*@create2020-08-3111:34*/publicinterfaceTeachplanMediaRepositoryextendsJpaRepository{ListfindByCourseId(StringcourseId);}2.2.3Service编写保存课程计划媒资信息方法,并在课程发布时调用此方法。

1、保存课程计划媒资信息方法

本方法采用先删除该课程的媒资信息,再添加该课程的媒资信息。

2、课程发布时调用此方法

修改课程发布的service方法:

......saveTeachplanMediaPub(id);returnnewCoursePublishResult(CommonCode.SUCCESS,pageUrl);......3.2.4测试测试课程发布后是否成功将课程媒资信息存储到teachplan_media_pub中,测试流程如下:

1、指定一个课程2、为课程计划添加课程媒资3、执行课程发布4、观察课程计划媒资信息是否存储至teachplan_media_pub中注意:由于此测试仅用于测试发布课程计划媒资信息的功能,可暂时将cms页面发布的功能暂时屏蔽,提高测试效率。

Logstash定时扫描课程媒资信息表,并将课程媒资信息写入索引库。

1、创建xc_course_media索引

2、并向此索引创建如下映射

在logstach的cong目录创建xc_course_media_template.json,内容如下:

配置输入数据源和输出数据源。

./logstash-f../config/mysql_course_media.conf2.4搜索服务查询课程媒资接口2.4.1需求分析搜索服务提供查询课程媒资接口,此接口供学习服务调用。

在课程搜索包下定义Api

1、配置课程计划媒资索引库等信息

在application.yml中配置

2、service方法开发

在课程搜索服务中定义课程媒资查询接口,为了适应后续需求,service参数定义为数组,可一次查询多个课程计划的媒资信息。

使用swagger-ui和postman测试课程媒资查询接口。

根据下边的业务流程,本章节完成前端学习页面请求学习服务获取课程视频地址,并自动播放视频。

创建xc_learning数据库,学习数据库将记录学生的选课信息、学习信息。

导入:资料/xc_learning.sql

参考课程管理服务工程结构,创建学习服务工程:

pom.xml

定义返回值类型:

定义接口,学习服务根据传入课程ID、章节Id(课程计划ID)来取学习地址。

学习服务根据传入课程ID、章节Id(课程计划ID)请求搜索服务获取学习地址。

学习服务要调用搜索服务查询课程媒资信息,所以需要将搜索服务注册到eureka中。

1、查看服务名称是否为xc-service-search

注意修改application.xml中的服务名称:spring: application: name:xc‐service‐search2、配置搜索服务的配置文件application.yml,加入Eureka配置如下:

org.springframework.cloud spring-cloud-starter-netflix-eureka-client4、修改启动类,在class上添加如下注解:

@EnableDiscoveryClient3.4.3搜索服务客户端在学习服务创建搜索服务的客户端接口,此接口会生成代理对象,调用搜索服务:

在学习服务中定义service方法,此方法远程请求课程管理服务、媒资管理服务获取课程学习地址。

调用service根据课程计划id查询视频播放地址:

需要在学习中心前端页面需要完成如下功能:

在created钩子方法中完成

//开始学习,获取课程计划所对应的视频地址study(chapter){//get_media方法courseApi.get_media(this.courseId,chapter).then(res=>{if(res.success){//获取视频播放地址letfileUrl=res.fileUrl;//相对路径letvideoUrl=sysConfig.videoUrl+fileUrl;//视频完整的播放路径//播放视频this.playvideo(videoUrl)}})},2、点击右侧课程章节切换播放

在原有代码基础上添加click事件,点击调用开始学习方法(study)

THE END
1.网课平台哪个好在线教育网站有哪些网易旗下在线教育平台,致力于为中国年轻人提供高品质的在线学校,推出覆盖从少儿到大学全年龄段精品课程,其非学科类业务涵盖STEAM课程、教育信息化解决方案、学习产品和成人教育。2021年8月,有道发布了编程、围棋、科学、美术、机器人等六大素质教育产品。查看更多>> NO.6 希望学 北京希望在线线上学科培训学校 品牌https://www.maigoo.com/zhaoshang/list_5045.html
2.微学伴官网微学伴产品代理商全国火热招募中 互联网+教育 知识付费 小程序三大风口, 携手微学伴扩展万亿市场 立即申请 微学伴代理商六大优势 海量资源 8万+知识店铺 覆盖超过30个行业 20万+课程 市场巨大 互联网教育市场规模2万亿 知识付费市场规模600亿 订单同步 销售线索支持 http://www.vlearn.cn/channel_cooperation
3.教育考试软件网校视频课件加盟代理一件代发雄望网络科技有限公司主营代理考试学习软件、课件代理,经国家工商部门批准注册,具备考试学习软件、课件代理的招商代理资格。公司优质的产品质量,广阔的市场前景,丰厚的代理待遇,强大的代理优势,让您创业投资不再难。热诚欢迎各位有志之士前来实地参观和考察。 https://product.11467.com/info/3225537.htm
4.国内线上招生代理十大排行榜推荐一览国内线上招生代理十大排行榜推荐一览;招生代理渠道就是提供一个集招生、入学前咨询于一体的场所,还可以展示学校的海报、展架、影像等,给学生和家长提供咨询和入学前协助,促使学生和家长缴费入学,收集反馈信息。同时,招生代理渠道还是教育机构品牌建设的重中之重。现如今,在众多网络招生代理平台中,小编重点为大家介绍的是https://www.qianxuew.com/xuexiaodongtai3293/36996.html
5.网络代理招生平台教育培训机构招生代理网站翰学网代理招生平台隶属于郑州翰学科技有限公司,专注于网络代理招生,是专业的网络代理招生网站。翰学网代理招生平台汇聚了各大招生合作机构,为代理招生合作学校发布了不计其数的代理招生培训课程!https://www.hanxuew.com/
6.网络招生代理学习卡销售代理合作: 联系电话:010-82335012、010-82335010 联系人:王先生、杨女士 医学教育网 学习卡销售代理合作: 联系电话:010-82319999-8035 联系人:刘老师 使用流程 学员在购买学习卡后,需要在网上先免费注册一个学习账号 (老学员无需另行注册),选择所要学习的课程(也可以在 https://www.cdeledu.com/business/index.shtml
7.掌门1对1官方网站高端在线教育辅导品牌名校精英在线教学合作加盟 1对1在线课程代理智能学习硬件代理 联系我们https://www.zhangmen.com/join-us
8.星推课:推广在线学习课程赚佣金,免费注册代理星推课是一款综合性的在线教育推广平台,龙岩市汇睿科技有限公司研发运维的产品,平台定位于中小学在线教育领军品牌,从作业帮产品起步,会把在线教育领域的各个优质产品都覆盖进来。让家长用户任何的课程需求都有产品予以满足。 而推广者可以得到相应的佣金收益。平台具有注册免费,代理免费、返佣高、奖励及时等特点,为合伙人https://www.zhenzhubk.com/qt/33020.html
9.NEBOSHIGC/IOG课程在线学习及考试中国首家代理本课程的学习和考试只有一个部分: ? IOG1部分:国际石油与天然气安全操作,贯穿健康、安全与环保管理,油气过程安全,消防与应急,物流及交通运作 考试报名 佳保安全代理NEBOSH的IGC和IOG两门课程,您只要提交相关个人信息并缴费,48小时内就可以拿到在线学习课程的账号和密码。您随时都可以开始学习了。 请注意: ? 您https://www.ehs.cn/gongqiu/peixun/show.php?itemid=589
10.海南省2024年度政府采购代理机构从业人员线上培训班(第三期)的通知微信扫描下方二维码,即可进入“正福易考通”小程序。找到“2024年海南省代理机构线上培训班(第三期)” ,点击进入页面,然后点击下方“现在报名”即可。 ?(二)在线学习 完成报名并缴费后,即可在易考通中(PC端或微信小程序)观看视频学习指定课程。所有视频均需完整观看,在学习进度达100%后,可进入考试环节。视频学https://m.caigou2003.com/article/yllzc?articleId=868784254224433152
11.招生网代理平台线上招生招生合作公司360育学网作为一家专业的国内领先的教育培训代理招生平台,招生代理网平台汇集了很多家优秀的培训机构和代理招生合作课程,有专门负责的招生老师来处理代理招生信息发布平台的信息,提供最全最新的招生代理人才,已为上万名学员免费推荐课程和报名咨询服务,是合作伙伴招生的左https://wap.360yuxue.com/
12.辽宁省干部在线学习网2024年学习课程资源采购项目专业技术人员标段包001辽宁省干部在线学习网2024年学习课程资源采购项目专业技术人员培训课程资源):中标人:中青致学北京教育科技有限公司中标价格:4.992万元二其他:成交供应商名称:中青致学北京教育科技有限公司成交金额:人民币49,920.00元三监督部门本招标项目的监督部门为/。四联系方式招标人:辽宁省就业和人才服务中心地址:沈阳市https://m.bidcenter.com.cn/newsrili-4-246003632.html
13.学成优培学成优培提供丰富的在线学习资料和课程辅导,助力学生轻松备考,实现职业目标。我们汇聚了各类优质教育资源,满足您不同阶段的学习需求。https://www.pxcom.cn/
14.知识产权远程教育平台课程8.专利法律基础知识(代理人课程2013版)(可在手机或电脑上学习) “专利法律基础知识”课程主要介绍专利制度概论,专利权的主体,专利保护客体和授予专利的条件,申请专利文件,专利申请审查程序以及专利权的实施与保护等相关知识。 课程时长:268分钟,合6.0学时 课程学习(100分):在线学习时间要求达到:384分钟, 占 20分,https://www.kczg.org.cn/meet/detail?id=10051
15.恺睿教育适岗技能培训在线学习平台各地市代理合作征集令恺睿平台现具有实名注册、在线弹窗打卡、提供政府监管账户、学习过程全记录导出、禁止快进播放、支持录播课程、直播课程、支持线上考试等功能,平台数据保存3年以上等功能,符合政府适岗培训平台要求。 四、一站式服务 恺睿平台为企业提供一站式专业服务,提供适岗培训需要的全面课程,协助企业完成补贴申报工作,为企业提供贴心https://www.wjx.cn/jq/76221401.aspx
16.爱学代理招生平台招生信息发布网站培训机构培训课程爱学代理招生平台汇集了上万家优秀培训机构,是不错的代理招生机构,提供网络代理招生,线上招生代理合作等业务,同时为培训机构提供课程信息发布和网络代理招生渠道,本网站涵盖最新培训班信息,有关于众多培训学校学费,地址,网站,电话,怎么样等相关信息。http://www.aixue66.com/
17.线上教学平台使用培训方案(精选11篇)(二)按期完成培训任务。此次培训课程内容实用、针对性强,请各代理机构尽快组织人员参加培训活动,按要求完成线上培训内容并参加考试,生成培训证件。各代理机构培训结束后,应建立学习档案,详细记录人员参训情况,留存培训证件信息。 (三)精心总结培训成效。参训代理机构要就培训试点中发现的'重要情况、可能出现的问题及时向https://www.ruiwen.com/fangan/6607664.html
18.cpa在线课程学习「cpa在线课程学习」精选栏目为您提供cpa网课怎么选,在哪买,区别变化及cpa在线课程学习的相关内容,另涵盖cpa名师在线直播课、免费课程试听、课程辅导资料下载。https://www.dongao.com/kdw_cpa_zxkcxx/
19.代理招生平台网站招生代理网课程信息发布渠道尚学网是不错的教育培训门户!提供网络代理招生,招生代理合作等业务,为学员提供在线报名、网上学习、信息查询等服务!同时为培训机构提供教育信息发布和网络招生渠道。http://www.x8.net.cn/
20.提示四百余门线上课程!沪开展“技能培训免费学”活动本市市民在活动期间可通过 “上海职业技能互联网移动培训云平台”(www.shzypxy.com)的相关链接,访问参与活动的线上培训平台在网络端或移动端在线收看课程,也可直接登录各线上平台进行在线学习,活动期间,所有推出课程全部免费学。 小贴士 参加线上课程学习,不仅可以丰富居家生活,学会各种技能,还可以为今后参加相关职业https://web.shobserver.com/sgh/detail?id=697789
21.机器学习学习笔记(22)深度模型中的优化腾讯云开发者社区反之,机器学习通常优化代理损失函数,但是在基于提前终止的收敛条件满足时停止。通常,提前终止使用真实潜在损失函数,如验证集上的0-1损失,并设计为在过拟合发生之前终止。与纯优化不同的是,提前终止时代理损失函数仍然有较大的导数,而纯优化终止时导数较小。https://cloud.tencent.com/developer/article/1327194
22.战疫"宅"家“学”系列:对外经贸大学37门精品在线课程免费开放疫情期间,全国上下众志成城,对外经济贸易大学将37门精品在线开放课程全部免费开放,提供给全国各兄弟院校和各类学习者选课和学习! 对外经济贸易大学MOOC课程网址 (中国大学MOOC平台) https://www.icourse163.org/university/UIBE#/c 精品课程列表 课程介绍 https://www.thepaper.cn/newsDetail_forward_6084983
23.[精]课程顾问述职报告范文(精选7篇)2.大学英语课程设置改革:新建和改建多媒体语言实验室6个,网络自主学习中心1个,开发校园网英语教学系统,完成了大学英语网站建设与医学英语在线网站建设,为大学英语基于计算机和网络的多媒体大学英语教学提供了较为先进、完整、系统的三位一体的教学/学习系统、教学/学习资源系统、教学/学习管理系统。这种改变师生角色、注重https://www.liuxue86.com/a/5101417.html