WIN-2308041133\Administrator há 4 meses atrás
pai
commit
eaa75bb1de
1 ficheiros alterados com 40 adições e 30 exclusões
  1. 40 30
      app/admin/view/article/article/create.php

+ 40 - 30
app/admin/view/article/article/create.php

@@ -11,6 +11,13 @@
 <script src="{__ADMIN_PATH}plug/validate/jquery.validate.js"></script>
 <script src="{__FRAME_PATH}js/plugins/chosen/chosen.jquery.js"></script>
 <script src="{__ADMIN_PATH}js/axios.min.js"></script>
+<!-- 新增视频上传所需JS -->
+<script src="{__MODULE_PATH}widget/aliyun-oss-sdk-4.4.4.min.js"></script>
+<script src="{__MODULE_PATH}widget/cos-js-sdk-v5.min.js"></script>
+<script src="{__MODULE_PATH}widget/qiniu-js-sdk-2.5.5.js"></script>
+<script src="{__MODULE_PATH}widget/plupload.full.min.js"></script>
+<script src="{__MODULE_PATH}widget/videoUpload.js"></script>
+
 <style>
     .wrapper-content {
         padding: 0 !important;
@@ -297,43 +304,46 @@
             $('#video_progress').show();
             $('#progress_bar').css('width', '0%').text('0%');
 
-            // 创建FormData对象
-            var formData = new FormData();
-            formData.append('video', file);
-            formData.append('type', 'video');
-
-            // 发起AJAX请求上传视频
+            // 获取签名信息
             $.ajax({
-                url: "{:Url('admin/widget.upload/upload')}",
-                type: 'POST',
-                data: formData,
-                processData: false,
-                contentType: false,
-                xhr: function() {
-                    var xhr = new window.XMLHttpRequest();
-                    xhr.upload.addEventListener("progress", function(evt) {
-                        if (evt.lengthComputable) {
-                            var percentComplete = Math.round((evt.loaded / evt.total) * 100);
-                            $('#progress_bar').css('width', percentComplete + '%').text(percentComplete + '%');
+                url: "https://shop.yzcyzjkc.com/admin/widget.video/get_signature",
+                type: 'GET',
+                success: function(signatureResponse) {
+                    if (signatureResponse.code != 200) {
+                        $eb.message('error', signatureResponse.msg || '获取上传凭证失败');
+                        $('#video_progress').hide();
+                        return;
+                    }
+
+                    // 使用AdminUpload进行上传
+                    AdminUpload.upload(signatureResponse.data.uploadType, {
+                        token: signatureResponse.data.uploadToken || '',
+                        file: file,
+                        accessKeyId: signatureResponse.data.accessKey || '',
+                        accessKeySecret: signatureResponse.data.secretKey || '',
+                        bucketName: signatureResponse.data.storageName || '',
+                        region: signatureResponse.data.storageRegion || '',
+                        domain: signatureResponse.data.domain || '',
+                        uploadIng: function(progress) {
+                            $('#progress_bar').css('width', progress + '%').text(progress + '%');
                         }
-                    }, false);
-                    return xhr;
-                },
-                success: function(response) {
-                    if (response.code == 200) {
-                        var videoUrl = response.data.src;
-                        $('#video_link').val(videoUrl);
+                    }).then(function(res) {
+                        // 上传成功
+                        $('#video_link').val(res.url);
                         $('#video_preview').show();
-                        $('#video_preview video').attr('src', videoUrl);
+                        $('#video_preview video').attr('src', res.url);
                         $('#upload_video_btn').text('确认添加');
                         $eb.message('success', '视频上传成功');
-                    } else {
-                        $eb.message('error', response.msg || '视频上传失败');
-                    }
-                    $('#video_progress').hide();
+                        $('#video_progress').hide();
+                    }).catch(function(err) {
+                        // 上传失败
+                        console.error('视频上传失败:', err);
+                        $eb.message('error', '视频上传失败: ' + (err.message || '未知错误'));
+                        $('#video_progress').hide();
+                    });
                 },
                 error: function() {
-                    $eb.message('error', '服务器错误,请稍后再试');
+                    $eb.message('error', '获取上传凭证失败');
                     $('#video_progress').hide();
                 }
             });