服务端 ............................................................................................................................................ 3 1.开发环境 .............................................................................................................................. 3 2.视频处理 .............................................................................................................................. 3 2.1 视频流化处理 ............................................................................................................ 3 2.2云服务整合和cdn加速 ........................................................................................... 3 2.3视频防盗链 .................................................................................................................. 3 3.用户角色/权限分配 .......................................................................................................... 3 3.1管理员 ........................................................................................................................... 3 3.2教师端 ........................................................................................................................... 4 3.3学员 ............................................................................................................................... 4 APP端 ............................................................................................................................................. 5 1.环境 ....................................................................................................................................... 5 2.开发语言 .............................................................................................................................. 5 3.运营模块 .............................................................................................................................. 5 4.课程模块 .............................................................................................................................. 5 4.1.课程选择 ..................................................................................................................... 5 4.2.课程购买(加入) ....................................................................................................... 5 4.3课时选择 ...................................................................................................................... 5 4.4课程学习进度记录 .................................................................................................... 6 4.5课程笔记 ...................................................................................................................... 6 4.6练习题 ........................................................................................................................... 6
1
4.7历年真题 ...................................................................................................................... 6 4.8模拟考试 ...................................................................................................................... 6 5视频播放模块 ...................................................................................................................... 6 5.1接口鉴权,防盗链 .................................................................................................... 6 5.2视频解码器 .................................................................................................................. 6 5.3视频播放操作 ............................................................................................................. 6 5.4缓存体系,离线观看 ............................................................................................... 6 5.5视频质量选择 ............................................................................................................. 7 5.6观看位置记录 ............................................................................................................. 7 6.资讯模块 .............................................................................................................................. 7 7.个人中心 .............................................................................................................................. 7 7.1课程/课时/试题/收藏 ............................................................................................. 7 7.2 笔记 .............................................................................................................................. 7 7.2我的订单 ...................................................................................................................... 7 7.3个人资料编辑 ............................................................................................................. 7
2
服务端
1.开发环境
系统基于LNMP技术(即Linux / Nginx / MySQL / PHP)开发,应用层基于Symfony2 Web Framework自主研发的一套高可用性、高可伸缩性的开发框架视频处理 2.视频处理 2.1 视频流化处理
将上传的视频进行重新编码和格式转换,转换成体积小,清晰度高,适合通过网络进行播放的流媒体视频。 2.2云服务整合和cdn加速
整合七牛云或保利威视的云存储服务,将视频文件直接上传到云服务商的服务器上,有效的降低服务器部署成本与流量费用,同时快捷的实现视频备份与容灾。使用七牛cdn服务,实现在全国各地,不同网络环境均能快速的访问到视频资源,减少点播等待时长。 2.3视频防盗链
接入云服务商API,实现视频播放鉴权、防盗链,避免视频课程被越权播放与下载。
3.用户角色/权限分配 3.1管理员 3.1.1财务管理 订单管理
实现订单检索、管理与审核功能。 支付接口
接入微信与支付宝支付,统一管理后台,实时查看最新订单状态。 3.1.2咨讯模块 资讯发布
3
栏目管理 3.1.3运营模块 网站端首页轮播图设置
设置网站端轮播图,点击后跳转到对应的页面。 APP端广告位管理
设置APP端轮播图,以及触发相应的动做。 网站公告管理 全站站内通知管理 3.2教师端 3.2.1课程管理 课时管理
发布内容为视频、语言、图文资料的课时 3.2.2学员管理
对学员的课程权限进行增、删、改、查处理。 3.3学员 3.3.1个人中心 账户中心
账单查看、订单管理 进度查看
课程学习进度查看,相关数据统计 3.3.2在线学习
视频课程观看,视频鉴权,播放器 课程笔记 课程问答 3.3.3在线考试
在线答题,判分。
网校App开发交流QQ:258496709
4
APP端
1.环境 Android+iOS 2.开发语言
Object C;Swift;java;HTML5;Javascript 3.运营模块 首页广告推荐位
首页轮播图,点击轮播图执行相应的动作。 推送模块
通过服务端推送消息,点击推送的消息执行相应的动作。 课程动态
显示课程最新动态,例如最新上传的课时、试题等。 4.课程模块 4.1.课程选择
首次启动app可以选择课时,此后可以通过点击首页的科目名称来切换课程。 4.2.课程购买(加入)
打开课程时进行权限判断,如无权限则进入提示购买页面。
购买整套课程后,可观看该课程下的视频,使用练习题与模拟考试功能。 支付模块
接入支付宝、微信等支付方式,使用支付状态异步回调接口,保证支付安全,避免掉单。
订单体系,服务端对订单的业务场景进行判断,订单的处理皆在服务端执行,完善订单流程的安全性。 4.3课时选择
课时分为图文 视频 语音三种,打开课时根据不同课时形式执行相应的业务流程。
图文课时,打开以图文的形式查阅,点击图文中的图片可以预览大图,拖动可
5
以调整图片大小。
视频和语音课时,需要调用播放器模块,观看视频或听取相应音频。 4.4课程学习进度记录
记录课程学习进度,标注已学课时和未学课时,如果是视频课程,打开课时列表时,会以进度条的形式显示学习进度。 4.5课程笔记
进行课时学习时,可以添加课程笔记,写上自己对课时内容的心得体会与疑问,笔记可以在个人中心中-我的笔记中查看 4.6练习题 4.7历年真题 4.8模拟考试 5视频播放模块 5.1接口鉴权,防盗链
视频占用空间与流量均较多,如果被嗅探出链接或盗链,会大幅度消耗服务器资源,App端使用二次验证的方式,通过加密hash算法生成token请求服务器,服务器进行解密后,校验正确才会返回视频地址,从而有效的防止被盗链,以及视频被越权播放。, 5.2视频解码器
Android使用视频播放框架vatamio,实现对绝大部分视频格式的支持,支持大部分手机的GPU硬解码,降低播放时手机的性能消耗与耗电。 5.3视频播放操作
提供播放、暂停、停止、前进、后退、拖动选择播放时间的播放器操作。 5.4缓存体系,离线观看
支持视频下载,视频下载后,App端可以在无网络情况下播放视频。视频会通过
6
更改文件header信息的方式进行加密,避免用提取缓存视频的方式进行盗版。 5.5视频质量选择
提供高清、流畅两种视频质量的选择。 5.6观看位置记录
播放时,每隔30s记录一次播放位置,下次播放时,会读取最近一次的播放时间,继续从上一次观看的位置开始播放。 6.资讯模块 资讯展示与推送 7.个人中心
7.1课程/课时/试题/收藏 7.2 笔记 7.2我的订单 7.3个人资料编辑
网校App开发交流QQ:258496709
7
因篇幅问题不能全部显示,请点此查看更多更全内容