电视剧答题闯关

页面

观众只有回答出问题,才能观看这一集电视剧。

在页面中则是观众输入答案,如果,答案正确,则显示"播放"链接。点击该链接,跳转播放页面。

数据库表

sql 复制代码
CREATE TABLE `video` (
  `video_id` int NOT NULL AUTO_INCREMENT COMMENT '编号',
  `video_name` varchar(45) DEFAULT NULL COMMENT '集数',
  `video_url` varchar(45) DEFAULT NULL COMMENT '播放地址',
  `question` varchar(45) DEFAULT NULL COMMENT '问题',
  `answer` varchar(45) DEFAULT NULL COMMENT '答案',
  PRIMARY KEY (`video_id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='电视剧';
csv 复制代码
video_id,video_name,video_url,question,answer
1,天龙八部第1集,/apple.mp4,天龙八部的作者是谁?,金庸
2,天龙八部第2集,/apple.mp4,在上一集中,虚竹是被谁打入了珍珑棋局?,段延庆
3,天龙八部第3集,/apple.mp4,在上一集中,段誉的亲生父亲是谁?,段延庆
4,天龙八部第4集,/apple.mp4,在上一集中,虚竹的亲生母亲是谁?,叶二娘
5,天龙八部第5集,/apple.mp4,在上一集中,无崖子到底爱谁?,李沧海

前端代码

列表页面代码

html 复制代码
<script>
	function checkAnswer(element){
	    var curElem=$(element);
	    if(curElem.val()==curElem.next().text()){
	        curElem.parent().next().children().first().show();
		}else{

	        alert('回答错误!');
        }
	}
//# // 初始化DataGrid对象
$('#dataGrid').dataGrid({
	searchForm: $('#searchForm'),
	columnModel: [
		{header:'${text("集数")}', name:'videoName', index:'a.video_name', width:150, align:"left", frozen:true, formatter: function(val, obj, row, act){
			return '<a href="${ctx}/video/video/form?videoId='+row.videoId+'" class="btnList" data-title="${text("编辑电视剧")}">'+(val||row.id)+'</a>';
		}},
		{header:'${text("问题")}', name:'question', index:'a.question', width:150, align:"left"},
		{header:'${text("答案")}', name:'answer', index:'a.answer', width:150, align:"left", formatter: function(val, obj, row, act){
                return '<input type="text" οnblur="checkAnswer(this)"> <span style="display: none">'+row.answer+'</span>';
            }},
		{header:'${text("操作")}', name:'actions', width:120, formatter: function(val, obj, row, act){
			var actions = [];
			//# if(hasPermi('video:video:edit')){
				actions.push('<a style="display: none" href="${ctx}/video/video/form?videoId='+row.videoId+'" class="btnList" title="${text("编辑电视剧")}"> <span>播放</span></a>&nbsp;');
				actions.push('<a href="${ctx}/video/video/delete?videoId='+row.videoId+'" class="btnList" title="${text("删除电视剧")}" data-confirm="${text("确认要删除该电视剧吗?")}"><i class="fa fa-trash-o"></i></a>&nbsp;');
			//# }
			return actions.join('');
		}}
	],
	//# // 加载成功后执行事件
	ajaxSuccess: function(data){
		
	}
});
</script>

播放页面代码

html 复制代码
<% layout('/layouts/default.html', {title: '电视剧管理', libs: ['validate']}){ %>
<div class="main-content">
	<div class="box box-main">
		<div class="box-header with-border">
			<div class="box-title">
				<i class="fa icon-note"></i> ${text(video.isNewRecord ? '新增电视剧' : '编辑电视剧')}
			</div>
			<div class="box-tools pull-right hide">
				<button type="button" class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i></button>
			</div>
		</div>
		<video src="${ctxStatic}${video.videoUrl}" controls></video>
	</div>
</div>
<% } %>
<script>
$("#inputForm").validate({
	submitHandler: function(form){
		js.ajaxSubmitForm($(form), function(data){
			js.showMessage(data.message);
			if(data.result == Global.TRUE){
				js.closeCurrentTabPage(function(contentWindow){
					contentWindow.page();
				});
			}
		}, "json");
    }
});
</script>

后端代码

service.java

java 复制代码
@Override
	public Page<Video> findPage(Video video) {
		video.setOrderBy("video_id");
		return super.findPage(video);
	}

改变排序方式

相关推荐
新知图书2 天前
使用OpenCV的VideoCapture播放视频文件示例
opencv·视频
xuebodx09239 天前
使用HunyuanVideo搭建文本生视频大模型
人工智能·pytorch·python·计算机视觉·chatgpt·音视频·视频
伊织code18 天前
SAM 2 (Segment Anything ):图像与视频通用分割模型
sam·图像·视频·模型·segment·anything·分隔
大数据AI人工智能培训专家培训讲师叶梓22 天前
FramePack:让视频生成更高效、更实用
人工智能·ai·大模型·音视频·视频·视频生成·长视频
^_^ 纵歌1 个月前
用python比较两个mp4是否实质相同
开发语言·python·音频·视频
QuZhengRong1 个月前
【AI】免费GPU算力平台部署wan2.1
人工智能·腾讯云·视频
Yeauty1 个月前
Rust 中的高效视频处理:利用硬件加速应对高分辨率视频
开发语言·rust·ffmpeg·音视频·音频·视频
kailp1 个月前
1Prompt1Story:为长故事创作赋予角色一致性的AI助手
人工智能·云计算·gpu算力·视频
许野平1 个月前
Manim 输出视频尺寸设置
音视频·动画·视频·manim
禾川兴 132424006882 个月前
国产芯片解析:‌龙迅HDMI接收机系列产品详解
音频·视频