123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- @extends('admin.public.base')
- @section('body_class')
- style="margin: 0 auto;width: 96%;padding: 30px 0px;"
- @endsection
- @section('content')
- <form class="post-form" action="" method="post">
- <div class="form-group col-sm-2">
- <label class="control-label">课程配图</label>
- <div id="thumb">
- <a id="thumb-image" href="#" data-toggle="image" class="img-thumb">
- <img src="{{path_compat($oldData['thumb'])}}" height="100" />
- </a>
- <input type="hidden" name="thumb" value="{{$oldData['thumb']}}" id="input-image" />
- </div>
- </div>
- <div class="form-group col-sm-2">
- <label class="control-label">课程视频</label>
- <div id="video_src">
- <a id="video_upload" href="javascript:;" class="img-thumb" >
- <video src="{{$oldData['video_src']}}" height="100" width="100" ></video>
- </a>
- <input type="hidden" name="video_src" value="{{$oldData['video_src']}}" />
- </div>
- </div>
- <div class="form-group col-sm-4">
- <label class="control-label">课程名称</label>
- <input class="form-control" required="required" type="text" placeholder="课程名称" maxlength="40" name="name" value="{{$oldData['name']}}" />
- </div>
- <div class="form-group col-sm-2">
- <label class="control-label">开始时间</label>
- <input class="form-control" required="required" type="datetime-local" placeholder="开始时间" name="start_time" value="{{date('Y-m-d H:i',$oldData['start_time'])}}" />
- </div>
- <div class="form-group col-sm-2">
- <label class="control-label">结束时间</label>
- <input class="form-control" required="required" type="datetime-local" placeholder="结束时间" name="end_time" value="{{date('Y-m-d H:i',$oldData['end_time'])}}" />
- </div>
- <div class="form-group col-sm-12">
- <label class="control-label">课程内容</label>
- <textarea required="required" id="container" name="content" placeholder="课程内容" >{{$oldData['content']}}</textarea>
- </div>
- <div class="form-group col-sm-12">
- @csrf
- <input type="hidden" name="id" value="{{$oldData['id']}}" />
- <input id="send" type="submit" value="提交" class="btn btn-primary btn-block" />
- </div>
- </form>
- @endsection
- @section('javascript')
- <script src="/static/ueditor/ueditor.config.js"></script>
- <script src="/static/ueditor/ueditor.all.js"></script>
- <script type="text/javascript">
- var editor = new UE.ui.Editor();
- editor.render("container");
- </script>
- <script type="text/javascript">
- $('#video_upload').on('click', function() {
- // 定义预签名URL
- var signedUrl = '';
- var videoSrc = '';
- // 请求接口获取签名URL
- $.ajax({
- url: "{{url('admin/video_course/get_sign_url')}}",
- type: 'get',
- dataType: 'json',
- success: function(data) {
- // 判断返回值
- if(data.code != 'success'){
- art.dialog({content: data.msg,lock: true,ok: function() {}});
- return ;
- }
- // 获取签名URL
- signedUrl = data.data.sign_url;
- videoSrc = data.data.video_src;
- // 没有获取到结果的话,结束
- if( !signedUrl ) {
- return;
- }
- // 移除之前上传的表单
- $('#form-upload').remove();
- // 生成一个表单,并且使用CSRF
- $('body').prepend('<form enctype="multipart/form-data" id="form-upload" style="display: none;"><input osctype="btn_upload_file" id="form-upload-file" type="file" name="file" /> @csrf </form>');
- $('#form-upload input[name=\'file\']').trigger('click');
- },
- error: function(xhr, status, error) {
- console.error('Error:', error);
- }
- });
-
- $(document).on('change','#form-upload-file',function(){
- // 获取文件
- const fileInput = document.getElementById('form-upload-file');
- const file = fileInput.files[0];
- // 如果没有上传文件
- if ( !file ) {
- art.dialog({content: '请上传文件',lock: true,ok: function() {}});
- return ;
- }
- // 调用上传
- upload(file, signedUrl);
- })
- const upload = async (file, presignedUrl) => {
- // 提示上传中
- art.dialog({id:'loading',lock: true,title:'视频上传中'});
- // 上传文件
- const response = await fetch(presignedUrl, {method: 'PUT',body: file.slice(0, file.size)});
- // 移除loading
- art.dialog.list['loading'].close();
- // 结果
- if (!response.ok) {
- art.dialog({content: '上传失败',lock: true,ok: function() {}});
- return ;
- }
- // 显示上传成功的图片
- $('#video_upload').html('<video src="'+videoSrc+'" height="100" width="100" ></video>');
- $('#video_src input').val(videoSrc);
- };
- });
- </script>
- @endsection
|