1项目初始化+后台权限模块
在线教育平台
1. 前台
1.1 首页
公开课直播(直播课程)
职业课程(点播课程)
js功能:
前端 选项卡
ajax获取课程信息
1.2 课程介绍页(购买之前)
输出课程信息
课程大纲
1.3 购买课程页面(购买信息确认)
这个页面订单生成之前的确认页面,这里需要做登录判断,
会员的登录判断
1.4 生成订单页面
生成唯一的订单号( redis生成 )
微信支付和查询支付结果
layer弹窗(显示二维码)
1.5 会员登录和注册页面
多条件登录
使用Auth类实现多种授权类型的登录规则
短信发送验证码 和 邮箱发送找回密码
validation前端表单验证
1.6 会员中心页面
会员中心的会员信息管理
1.7 课程详情(购买以后)
`输出课程信息
课程大纲
1.8 课程视频播放页面
点播视频的播放( 开源的播放器 ckplayer )
直播视频的播放( 七牛云存储的直播技术来实现 )
点播课程的课时列表
1.9 会员考试页面
试题的显示,
js实现学生试题答案的提交
生成对应的试题页面
1.10 答题卡页面(考试答案)
生成答题卡
根据答案自动评分
2. 后台
分析好功能模块之前的关系。
画一个流程图(每一个功能之间的衔接点,各模块之间的依赖和数据关系)
2.1 课程模块
课程模块示意图:
 
2.1.1 专业分类
datatables表格数据插件展示数据
layer弹窗插件
migration建表
2.1.2 专业管理
datatables表格数据插件展示数据
layer多弹窗数据的交互
多图上传 zyuploader插件
2.1.3 点播课程
多图上传
图片保存到七牛云
2.1.4 点播课时
上传视频
webuploader的单个图片上传
后台预览课时视频
2.1.5 直播课程
2.1.5.1 直播流[ 直播房间 ]
七牛云直播接口和云存储接口
2.1.5.2 直播课程
实现与用户进行直播内容的存储和播放
使用推流软件实现直播信息的录制
2.2 试题模块
2.2.1 试卷管理
2.2.2 试题管理
使用js进行题型的切换
批量导入导出试题
2.2.3 答题卡管理
2.3 后台权限模块
2.3.1 管理员管理
Faker开源库批量生成测试数据
2.3.2 角色管理
2.3.3 权限管理
2.4 登录退出模块
验证码
中间件实现防FQ
中间件实现权限的验证
3. 项目开发周期
6天时间开发项目
4天时间开发后台
2天时间开发前台
4. 项目初始化
4.1 使用composer来安装
项目根目录:D:/www/jueqinggu
数据库名:jueqinggu
composer create-project --prefer-dist laravel/laravel jueqinggu 5.4.*
cmd命令行:
 
4.2 运行项目
cd jueqinggu
php artisan serve
cmd命令行:
 
我们使用svn进行项目的版本管理
4.3 创建数据库
4.4 初始化配置和修改多余文件
4.4.1 修改配置文件
在.env 中修改 数据库连接和SESSION以及缓存的存放方式
 
修改本地的时区和本地语言环境
 
添加表前缀
 
设置登录状态为不保持登录
 
4.4.2 删除多余的文件
1. app\Http\Controllers\Auth目录下面的控制器都是Laravel自带demo的,我们可以删除掉
2. app\User.php文件是Laravel自带demo的模型文件,我们可以删除,但是如果不记得,Auth授权认证类的类名的话,不建议一开始就删除
- 在database/migrations目录下两个文件是Laravel自带demo的数据迁移文件,我们可以删除
- resources/views/目录下,welcome.blade.php是Laravel自带demo的环境界面,可以删除。
- public 目录下的css 和js 也是Laravel自带demo的静态资源,也可以删除
接下来,我们把后台首页先做了,后台首页以后,就把之前我们在前面四天做的那个登录功能迁移过来。
5. 后台权限模块
这里我们使用RBAC权限机制来实现权限的管理。
RBAC实现权限的方式有两种:
三表权限,一般网站直接使用三表
五表权限,中大型网站首选
多出两个关系表
区别:
三表: 角色表、用户表、权限表
角色所拥有的权限都存储在角色表中
用户表中 有一个role_id,这个是角色的外键id
角色表中有一个权限列表role_auth_list的字段存储当前角色拥有的所有权限
五表: 角色表、用户表、权限表、角色与权限的关系表、角色与用户之间的关系表
我们这里使用三表足够.
5.1 使用数据迁移来创建权限模块的数据表
迁移文件:
 
php artisan make:migration create_auth_model_table
cmd命令行:
 
代码:
 
效果:
 
接下来,我们完成数据表的创建以后,那么我们就开始后台的开发,首先把后台首页展示出来。
路由:
 
创建后台首页控制器
php artisan make:controller Admin\IndexController
命令行:
 
代码:
 
效果:
 
接下来,我们把后台的静态和模板复制到项目中
复制静态资源public目录下,为了和前台的资源区分,所有后台静态资源全部存储在public/back目录中。
 
接下来,把登录页面的模板和后台首页的模板复制到项目中。[注意修改模板文件的后缀名]
 
效果;
 
接下来就修改样式和使用模板继承分离公共代码,通过asset()函数来加载资源文件
创建一个公共代码的父级模板

接下来,我们把后台首页的样式中公共部分全部集中到 resource/views/common.blade.php模板中。
common.blade.php代码:【@yiled(‘’)是来占位的】
 
index.blade.php后台首页模板
 
效果;
 
接下来,我们把后台首页右侧的内容显示出来,其实就是后台首页中有一个iframe框架加载一个欢迎页面,所以我们直接在控制器中新增一个方法welcome,路由中新增一个路由地址welcome,在resource/views/admin/index新增一个welcome.blade.php即可。
新增一个方法welcome
 
新增一个路由地址welcome
 
resource/views/admin/index新增一个welcome.blade.php
 
修改index.blade.php中iframe加载欢迎页面的地址
 
效果:
 
调整页面(集成resource/views/admin/common.blade.php)
 
效果:
 
首页的配置信息可以在laravel配置文件中通过config(‘app.locale’)来拿;
也可以通过ini_get(‘max_execute_time’)来拿;也可以通过$_SERVER[‘http_host’]来拿
那么我们可以在欢迎界面中, 输出以下关于系统的信息
 
服务器脚本超时时间
{{ ini_get('max_execution_time') }}
代码:
 
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号