万岳在线教育系统 uni-app 开源版 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
万岳在线教育系统 uni-app 开源版 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
万岳在线教育系统 uni-app 开源版 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
万岳在线教育系统 uni-app 开源版 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
万岳在线教育系统 uni-app 开源版 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 GPLv3
操作系统 跨平台
软件类型 开源软件
开源组织
地区 国产
适用人群 未知
收录时间 2021-01-07

软件简介

项目说明(如果对你有用,请点亮右上角的Star!)

项目文档 | 部署文档 | 常见问题 | 升级日志


系统演示

演示图

Web版地址

项目介绍

万岳在线教育经过对教育市场的长期调研,综合当下各大线上教培机构对于教育平台的功能需求,着重于用户体验,自主研发了一套集知识付费、直播授课、网校建设等功能为一体的万岳在线教育系统,满足用户对于公开课、大班课、小班课、职业培训等多种线上教学活动的场景需求。

  • 所有使用到的框架或者组件都是基于开源项目,代码保证100%开源。
  • 系统功能通用,无论是个人还是企业都可以利用该系统快速搭建一个属于自己的在线教育平台。

系统前端采用uni-app+socket.io+WebRtc核心技术, 接口采用PhalApi框架配合TP5.1框架ThinkCMF,系统功能如下:

技术亮点

  UNI-APP端:
    1.一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序
    2.依托Dcloud公司强大的生态圈, 开发者无论是拿来直接用还是自己修改后使用都
    十分的方便, 网上资料/文档齐全,无需担心bug解决不了.
    3.支持视频直播、聊天等即时通讯功能, 开源项目有很多,可是带聊天室和直播的寥寥可数.  
    4.本项目已内置好socket.io组件和声网WebRtc插件, 开发者可直接拿来调试学习. 
      无需再从基本的websocket写起.
    5.项目占用空间小,全部加起来不到2MB,占用开发者磁盘空间极少.
    6.代码中做了多端适配, 小程序端、H5端、安卓、IOS端样式都做到了样式兼容.
    7.vue/nvue混合开发, 保证了样式美观的同时, 规避了nvue样式的兼容问题.
    8.配置方便, 无需安装, 下载之后使用Hbuilder编辑器即可运行查看.    
    
  后端:  
    1.后台应用ThinkCMF快速生成现代化表单.
    2.PHPExcel数据导出,导出表格更加美观,可视.
    3.支持微信/支付宝支付,支付接入更加快捷,简单.
    4.后台多任务窗口化操作界面.
    5.内置强大灵活的权限管理.
    6.内置组合数据,系统配置,管理碎片化数据.
    7.客户端完善的交互效果和动画.
    8.高频数据缓存.
    9.内置PhalApi接口框架,前后端分离更方便.
    10.WebSocket长连接减少CPU及内存使用及网络堵塞,减少请求响应时长.
    11.支持队列降低流量高峰,解除耦合,高可用.
    12.无需安装, clone下来即可直接使用, 完全100%真开源.
    
   注:关于PC端源码请看本公司另一个开源项目, 万岳在线教育系统Web版, 
      此两个项目是互通的  

功能展示

展示图

主要功能介绍

讲师PC端

  • 登录页面,可通过手机号码及验证码或密码进行登录,支持qq、微信帐号登录

  • 首页功能,展示老师头像、名称,我的直播课数量,我的课程数量,常用功能以及常见问题

  • 直播课堂,

    1.语音大班课 语音大班课内,讲师可进入课程根据视频和语音对学生进行讲解

    2.视频大班课 视频大班课讲师可以进行开启摄像头、上传ppt图片课件、屏幕共享操作

  • 账号,展示头像、昵称等账号信息,可编辑头像、昵称

学生UNI-APP端

  • 首页,

    1.搜索 可根据课程、老师名称关键字查询搜索

    2.轮播图 后台添加的轮播图展示

    3.直播课堂 直播课展示列表, 直播分为三种类型(语音+视频、语音+音频、语音+ppt+摄像头直播)

    4.精选内容 内容展示列表,包含封面、标题、内容类型(视频、音频、图文)

  • 精选内容,

    1. 详情页:由上往下依次展示封面图、课程标题,学习人数、主讲老师与辅导老师、课程类型(分为密码、免费、付费三种类型)等;

    2. 查看详情:上部为视频、音频播放区域,视频、音频支持进度条滑动查看,视频可全屏观看,可选择倍速播放,并有跑马灯防盗水印,播放区域下方为内容标题、简介、发布时间等信息和详细内容展示(支持图文)。

  • 直播课堂,

    1.语音大班课

    2.视频大班课

  • 我的课程:

    1.我的课程与WEB内的选课中心一致,可根据学段、年纪、科目、类别来搜索对应课程。

  • 消息:

    1.系统消息:学生接收系统发送到的消息提醒;

    2.课程动态:学生订阅的课程更新时,会收到课程信息;

    3.讲师动态:学生所关注的讲师发布新课程或有新的动态时,会收到讲师动态信息。

  • 分享与积分:

    1.海报分享:展示当前平台所有裂变海报活动列表,可查看名称、课程信息、二维码等,分享成功后可获得积分。

    2.积分:显示用户的积分余额以及积分明细,积分的来源是购买课程返还的积分和下级用户购买课程奖励的积分,积分用途为购买课程时抵扣。

  • 个人中心:

    1.最上展示学生的头像、昵称和ID,并且有关注讲师的显示。

    2.已购买:显示学生学习过或已购买的直播课和内容课。

    3.我的积分;

    4.意见反馈;

    5.关于我们;

    6.设置:包含联系我们、版本更新和清除缓存。

后台主要功能介绍

  • 设置

    1.网站信息 网站的相关信息及SEO设置

    2.私密设置 配置系统的重要参数(包登录配置、直播配置、云存储设置)

    3.幻灯片管理 首页轮播banner图管理配置

    4.上传设置 上传信息相关配置

    5.文件存储 文件存储信息相关配置

  • 用户管理

    1.管理组 编辑后台管理员身份及权限等相关配置

    2.用户列表 平台所有注册用户信息列表,可进行编辑、设置讲师资格、禁用、删除等操作

    3.教师列表 后台将普通用户设置为讲师的用户显示在此处

  • 插件中心

    1.插件列表 查看编辑应用插件信息

  • 内容管理

    1.文章管理 网站相关文章配置

    2.分类管理 文章分类管理

    3.页面管理 联系我们、关于我们等单页内容配置

  • 订单管理

    1.展示用户购买课程后展示的会员名称、购买价格、订单号、需要线下邮寄教材的收货信息与支付方式与状态

  • 知识管理

    1.学级分类 登录页的学习阶段分类,可在后台自行添加

    2.付费内容列表 展示添加的所有需要付费/免费的文章内容,可查看平台所有内容信息。

  • 大班课列表

    1.语音大班课

    2.视频大班课

    页面展示

    页面展示

    直播课页面

    展示图

    功能对比

    输入图片说明

    开源版使用须知

    • 允许用于个人学习、教学案例

    • 开源版不适合商用,商用请购买商业版

    • 禁止将本项目的代码和资源进行任何形式的出售,产生的一切任何后果责任由侵权者自负

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (0)

加载中
更多评论
暂无内容
发表于大前端专区
2020/09/12 15:04

uniapp

应用声明周期 在App.vue中设置应用生命周期 export default {     onLaunch: function() {       console.log('App Launch')       //登录 用户信息 储存用户信息            },     onShow: function() {       console.log('App Show')       //时间戳 两次时间差记录用户在后台停留了多少时间,这是应用的onshow 页面切换的时候会触发页面的onshow事件     },     //页面进入后台的时候执行(浏览器进入HbuildX)     onHide: function(...

0
0
2020/06/29 11:51

uniapp请求封装

uniapp请求封装 更新时间:2020-06-29 20:54 一.需求场景 uniapp官方的网络请求api间接,但是在实际项目使用中需要使用的用户token,请求地址url和请求参数;同时,后端要求的是restful请求风格,需要对请求方法进行简单的封装. 二.解决方案 1.在项目中建立common文件夹 说明:这个文件夹的命名是参考官方demo程序创建的. 2.在common文件夹中创建封装请求库,tsRequest.js 3.封装代码,如下 /** CONFIG: 请求头默认配置 */ const CONF...

0
3
发表了博客
2019/07/12 11:44

uniapp - picker

【普通json数组】 针对官方的普通json数组示例,做些填充 1 <template> 2 <view> 3 <view class="uni-title uni-common-pl">地区选择器</view> 4 <view class="uni-list"> 5 <view class="uni-list-cell"> 6 <view class="uni-list-cell-db"> 7 <picker @change="bindPickerChange" :value="index" :range="array"> 8 ...

0
0
发表了博客
2020/07/07 17:06

Uniapp的坑

一、时常组件传递值,watch能打印,就是渲染不上,总结一下,应该是传递的值太深,具体去看vue的官网,解决方案,下面。   watch: {       //这里的wath不起效果,vue官网说嵌套太深会导致不起效,       //我觉得我这里的数据这也不深啊,       //只能使用下面的deep深度监听+immediate立即调用       //下面注释的这个不可用,高亮显示的能用       // card(newValue) {       // console.log(this.card)       // this.desc = this.card.desc       ...

0
0
发表于大前端专区
2019/08/06 15:18

uniapp table 组件

* uniapp是2019年非常的火爆的一个Dcloud开发跨平台前端工具,支持ios android wap,小程序,除了android有点卡外,其他暂时没有发现什么瑕疵。 * 最近在捣鼓uniapp项目,恰好用到table组件,之前写了个demo,后面一直都想写一个像样的,可以分享给别人用的组件。 * 自己的水平一般,开发出来的组件可能代码不咋地,还望路过大神斧正。 * 下面是我写的uniapptable的说明,希望能够帮到别人 * 插件市场地址:[https://ext.dcloud...

0
1
发表了博客
2020/01/08 14:50

uniapp - switch

使用示例: <template>   <view>     <view class="page__hd">       <view class="page__title">switch</view>       <view class="page__desc">原生/DIY</view>     </view>     <view class="sunui-title">原生switch</view>     <view class="sunui">       <switch checked @change="change" />     </view>     <view class="sunui-title">自定义图标</view>     <view class="sunui">       <sunui-switch @change="switchChange1" ref...

0
0
发表了博客
2019/10/18 15:14

uniapp离线打包

uniapp的离线打包太麻烦,留个记录方便以后使用。uniapp离线打包步骤: 1. 下载uniapp的 HTML 5+ SDK   下载地址 https://ask.dcloud.net.cn/docs/#//ask.dcloud.net.cn/article/103 。网页打开后点如下图片圈内的链接下载SDK 下载解压之后的目录如下:注意这个SDK是第2步中新建Android项目需要使用到的 2. 在Android studio中新建Android项目 删除原生工程中Java目录下系统默认创建的源代码 将试图切换至project,如下图: ...

0
4
发表了博客
2020/01/15 15:59

uniapp - v-modal

在uniapp中,也许有人会纠结为什么会有@input还有v-model 1.它们有什么区别? v-model:数据双向绑定->输入时绑定视图层,而@input则只是监听值 @input:监听输入的值,可以通过监听值再渲染到视图层 2. v-model用在自定义组件上 v-model的缺陷是只能在自定义组件上用一次,而这时的双向绑定就要交由.sync语法糖来解决了 <template>   <!-- 父组件index.vue -->   <view class="content">     <onB v-model="hello" @valEvent="get...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
0 评论
25 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部