5 课程预览功能开发 5.1 需求分析
课程预览功能将使用cms系统提供的页面预览功能,业务流程如下:
1、用户进入课程管理页面,点击课程预览,请求到课程管理服务 2、课程管理服务远程调用cms添加页面接口向cms添加课程详情页面
3、课程管理服务得到cms返回课程详情页面id,并拼接生成课程预览Url 4、课程管理服务将课程预览Url给前端返回 5、用户在前端页面请求课程预览Url,打开新窗口显示课程详情内容
5.2 CMS页面预览测试
CMS已经提供了页面预览功能,课程预览功能要使用CMS页面预览接口实现,下边通过cms页面预览接口测试课 程预览的效果。
1、向cms_page表插入一条页面记录或者从cms_page找一个页面进行测试。 注意:页面配置一定要正确,需设置正确的模板id和dataUrl。
如下,是一条页面的记录。
[AppleScript] 纯文本查看 复制代码
01 02 03 04 05 06 07 08 09 10 11 12 |
|
2、课程详细页面 使用ssi注意
由于Nginx先请求cms的课程预览功能得到html页面,再解析页面中的ssi标签,这里必须保证cms页面预览返回的 页面的Content-Type为text/html;charset=utf-8 在cms页面预览的controller方法中添加:
[AppleScript] 纯文本查看 复制代码
1 |
|
3、测试 请求:http://www.xuecheng.com/cms/preview/5b3469f794db44269cb2bff1传入页面Id,测试效果如下:
5.3 CMS添加页面接口
cms服务对外提供添加页面接口,实现:如果不存在页面则添加,否则就更新页面信息。
此接口由课程管理服务在课程预览时调用。
5.3.1 Api接口
[AppleScript] 纯文本查看 复制代码
1 2 |
|
5.3.2 Service
[AppleScript] 纯文本查看 复制代码
1 2 3 4 5 6 7 8 |
|
5.3.3 Controller
[AppleScript] 纯文本查看 复制代码
1 2 3 4 |
|