gemercheung 2 年之前
父節點
當前提交
acc31eb659

+ 1 - 1
packages/qjkankan-editor/src/lang/_en.json

@@ -606,7 +606,7 @@
     "video_size": "Support MP4 files: ≤ 200MB",
     "video_limit": "The file is too large.Support MP4 files: ≤ 200MB",
     "video_fail": "Format error. Support MP4 files: ≤ 200MB",
-    "serch_material": "Keywords",
+    "search_material": "Keywords",
     "rename": "Rename",
     "delete": "Delete",
     "no_serch_result": "No results found",

+ 3 - 3
packages/qjkankan-editor/src/lang/_zh.json

@@ -606,7 +606,7 @@
     "video_size": "请上传200MB以内、mp4格式的视频",
     "video_limit": "过大,请上传200MB以内、mp4格式的视频",
     "video_fail": "格式错误,请上传200MB以内、mp4格式的视频",
-    "serch_material": "请输入关键字",
+    "search_material": "请输入关键字",
     "rename": "重命名",
     "delete": "删除",
     "no_serch_result": "未搜索到结果",
@@ -735,7 +735,7 @@
     "title": "标题",
     "description": "简介",
     "work_placeholder": "请输入作品标题",
-    "intro_placeholder": "请输入文字内容,限500字",
+    "intro_placeholder": "请输入文字内容,限1000字",
     "help_center": "帮助中心",
     "display_time": "显示时间",
     "no_display": "(不显示)",
@@ -891,7 +891,7 @@
     "newTab": "新窗口打开",
     "add_scene": "添加场景",
     "change_scene": "更换场景",
-    "text_placeholder": "请输入文字内容,限500字",
+    "text_placeholder": "请输入文字内容,限1000    字",
     "add_video": "添加视频",
     "select_video": "添加视频",
     "change_video": "更换视频",

+ 4 - 4
packages/qjkankan-editor/src/mixins/debuggerHelper.js

@@ -1,16 +1,16 @@
 import Vue from 'vue'
 export const debuggerHelper = (show = true) => {
-
+    const version = '1.4.0'
     if (show) {
         // log.setColors({
         var css = "background: #28b561; color:#fff;font-size:14px;padding:5px;";
 
-        console.log(`%c 👉:当前版本::---> 1.4.0--${process.env.VUE_APP_DEBBUG_FLAG}`, css);
+        console.log(`%c 👉:当前版本::---> ${version}--${process.env.VUE_APP_DEBBUG_FLAG}`, css);
 
     }
     if (Number(process.env.VUE_APP_DEBBUG_NOTIFY) === 1) {
-    
-        Vue.$toast.warning("当前正在开发重构中, 如果要指定版本,请联系开发!", {
+
+        Vue.$toast.warning(`当前正在开发重构${version}中, 如果要指定版本,请联系开发!`, {
             position: "top-center",
             timeout: 400000,
             closeOnClick: true,

+ 4 - 4
packages/qjkankan-editor/src/views/base/Toolbar.vue

@@ -58,11 +58,11 @@
               ref="editor"
               :html="info.description"
               :placeholder="$i18n.t(`edit_settings.intro_placeholder`)"
-              :maxlength="500"
+              :maxlength="1000"
               @change="onEditorChange"
             ></editor>
 
-            <span class="count">{{ jianjieLength }}/500</span>
+            <span class="count">{{ introLength }}/1000</span>
           </div>
         </div>
       </div>
@@ -168,7 +168,7 @@ export default {
         "customButton" /**自定义按钮 */,
       ],
       activeTab: "openTips",
-      jianjieLength: 0,
+      introLength: 0,
     };
   },
   computed: {
@@ -196,7 +196,7 @@ export default {
     },
     onEditorChange(content) {
       this.info.description = content.html;
-      this.jianjieLength = content.size;
+      this.introLength = content.size;
     },
     onClickSettingCover() {
       this.isShowSettingCoverWindow = true;

+ 2 - 2
packages/qjkankan-editor/src/views/hotspot/hotspotType/textarea.vue

@@ -8,8 +8,8 @@
         type="text"
       /> -->
 
-      <editor ref="editor" :html="text" :placeholder="$i18n.t('hotspot.text_placeholder')" :maxlength="500" @change="onEditorChange"></editor>
-      <span class="count">{{size}}/500</span>
+      <editor ref="editor" :html="text" :placeholder="$i18n.t('hotspot.text_placeholder')" :maxlength="1000" @change="onEditorChange"></editor>
+      <span class="count">{{size}}/1000</span>
     </div>
   </div>
 </template>

+ 2 - 2
packages/qjkankan-editor/src/views/material/audio/index.vue

@@ -53,7 +53,7 @@
           <input
             type="text"
             v-model="searchKey"
-            :placeholder="serch_material"
+            :placeholder="search_material"
           />
           <i
             v-if="searchKey"
@@ -302,7 +302,7 @@ export default {
       audio_size: i18n.t("gather.audio_size"),
       audio_limit: i18n.t("gather.audio_limit"),
       audio_fail: i18n.t("gather.audio_fail"),
-      serch_material: i18n.t("gather.serch_material"),
+      search_material: i18n.t("gather.search_material"),
       rename: i18n.t("gather.rename"),
       deltips: i18n.t("gather.delete"),
       no_serch_result: i18n.t("gather.no_serch_result"),

+ 2 - 2
packages/qjkankan-editor/src/views/material/image/index.vue

@@ -53,7 +53,7 @@
           <input
             type="text"
             v-model="searchKey"
-            :placeholder="serch_material"
+            :placeholder="search_material"
           />
           <i
             v-if="searchKey"
@@ -311,7 +311,7 @@ export default {
       img_fail: i18n.t("gather.img_fail"),
       img_limit: i18n.t("gather.img_limit"),
       img_size: i18n.t("gather.img_size"),
-      serch_material: i18n.t("gather.serch_material"),
+      search_material: i18n.t("gather.search_material"),
       rename: i18n.t("gather.rename"),
       deltips: i18n.t("gather.delete"),
       no_serch_result: i18n.t("gather.no_serch_result"),

+ 33 - 5
packages/qjkankan-editor/src/views/material/pano/index.vue

@@ -53,7 +53,7 @@
           <input
             type="text"
             v-model="searchKey"
-            :placeholder="serch_material"
+            :placeholder="search_material"
           />
           <i
             v-if="searchKey"
@@ -230,7 +230,7 @@
         v-if="list.length == 0 && !hasMoreData && lastestUsedSearchKey"
       >
         <img :src="$noresult" alt="" />
-        <span>{{ no_serch_result }}</span>
+        <span>{{ no_search_result }}</span>
       </div>
       <div
         class="nodata"
@@ -330,8 +330,8 @@ export default {
   data() {
     return {
       upload_material: i18n.t("gather.upload_material"),
-      serch_material: i18n.t("gather.serch_material"),
-      no_serch_result: i18n.t("gather.no_serch_result"),
+      search_material: i18n.t("gather.search_material"),
+      no_search_result: i18n.t("gather.no_search_result"),
       no_material_result: i18n.t("gather.no_material_result"),
       pano_size: i18n.t("gather.pano_size"),
       pano_fail: i18n.t("gather.pano_fail"),
@@ -354,11 +354,12 @@ export default {
       list: [],
       hasMoreData: true,
       isRequestingMoreData: false,
+      uploadListForUI: [],
     };
   },
   computed: {
     ...mapState({
-      uploadListForUI: "uploadStatusListPano",
+      // uploadListForUI: "uploadStatusListPano",
     }),
     needLongPolling() {
       return this.uploadListForUI.some((item) => {
@@ -398,6 +399,33 @@ export default {
       },
       immediate: false,
     },
+    list: {
+      handler(val) {
+        const uploadList = val.filter((i) => i.status < 3);
+        const uploadMark = uploadList.map((item) => {
+         
+          return {
+            title: item.name,
+            ifKnowProgress: false,
+            progress: 0,
+            status: "LOADING",
+            statusText: i18n.t("gather.cutting"),
+            uid: `u_${this.$randomWord(true, 8, 8)}`,
+            abortHandler: null,
+            backendId: item.id,
+            parentFolderId: item.dirId,
+          };
+          // eslint-disable-next-line no-unreachable
+        });
+        const res = new Map();
+        const allList = this.uploadListForUI.concat(uploadMark).filter((a) => !res.has(a.backendId) && res.set(a.backendId, 1))
+        console.log("allList", uploadMark);
+        if (allList.length > 0) {
+          this.uploadListForUI = allList;
+          this._checkMStatus();
+        }
+      },
+    },
   },
   methods: {
     async onUploadFile() {

+ 2 - 2
packages/qjkankan-editor/src/views/material/video/index.vue

@@ -53,7 +53,7 @@
           <input
             type="text"
             v-model="searchKey"
-            :placeholder="serch_material"
+            :placeholder="search_material"
           />
           <i
             v-if="searchKey"
@@ -303,7 +303,7 @@ export default {
       video_size: i18n.t("gather.video_size"),
       video_limit: i18n.t("gather.video_limit"),
       video_fail: i18n.t("gather.video_fail"),
-      serch_material: i18n.t("gather.serch_material"),
+      search_material: i18n.t("gather.search_material"),
       rename: i18n.t("gather.rename"),
       deltips: i18n.t("gather.delete"),
       no_serch_result: i18n.t("gather.no_serch_result"),

+ 54 - 44
packages/qjkankan-view/src/components/UIGather/control/text.vue

@@ -1,18 +1,30 @@
 <template>
   <div class="tag-layer" @click.stop>
-    <img class="close" @click.stop="close"
-      :src="require('@/assets/images/icon/material_preview_close@2x.png')" alt="" />
+    <img
+      class="close"
+      @click.stop="close"
+      :src="require('@/assets/images/icon/material_preview_close@2x.png')"
+      alt=""
+    />
 
     <div class="txtcon">
-      <div class="txtbody" v-html="metadata.description">
-      </div>
+      <div class="txtbody" v-html="metadata.description"></div>
     </div>
   </div>
-
 </template>
 
 <script setup>
-import { reactive, defineEmits, onBeforeMount, onMounted, ref, watchEffect, computed, watch, nextTick } from "vue";
+import {
+  reactive,
+  defineEmits,
+  onBeforeMount,
+  onMounted,
+  ref,
+  watchEffect,
+  computed,
+  watch,
+  nextTick,
+} from "vue";
 import { useStore } from "vuex";
 const store = useStore();
 
@@ -21,11 +33,9 @@ const metadata = computed(() => store.getters["scene/metadata"]);
 const close = () => {
   store.commit("functions/setShowIntroduce", false);
 };
-
 </script>
 
 <style lang="scss" scoped>
-
 .tag-layer {
   width: 100vw;
   height: 100vh;
@@ -37,45 +47,46 @@ const close = () => {
   backdrop-filter: blur(10px);
 
   .txtcon {
-  display: flex;
-  align-items: flex-start;
-  justify-content: center;
-  height: 100%;
-  width: 100%;
-  padding-top: 70px;
-  :deep(p) {
-    line-height: 24px;
-  }
+    display: flex;
+    align-items: flex-start;
+    justify-content: center;
+    height: 100%;
+    width: 100%;
+    padding-top: 70px;
+    :deep(p) {
+      line-height: 24px;
+    }
 
-  .txtbody {
-    width: 744px;
-    background: rgba(0, 0, 0, 0.6);
-    border-radius: 10px;
-    font-size: 14px;
-    color: #fff;
-    padding: 30px;
-    max-height: calc(100vh - 100px);
-    overflow-y: auto;
-    line-height: 24px;
-  }
+    .txtbody {
+      width: 744px;
+      background: rgba(0, 0, 0, 0.6);
+      border-radius: 10px;
+      font-size: 14px;
+      color: #fff;
+      padding: 30px;
+      max-height: calc(100vh - 100px);
+      overflow-y: auto;
+      line-height: 24px;
+      word-wrap: break-word;
+    }
 
-  .title {
-    position: absolute;
-    left: 20px;
-    top: 20px;
-    height: 36px;
-    line-height: 0;
-    padding: 0 30px;
-    background: rgba(0, 0, 0, 0.6);
-    border-radius: 20px;
-    color: #fff;
-    font-size: 14px;
+    .title {
+      position: absolute;
+      left: 20px;
+      top: 20px;
+      height: 36px;
+      line-height: 0;
+      padding: 0 30px;
+      background: rgba(0, 0, 0, 0.6);
+      border-radius: 20px;
+      color: #fff;
+      font-size: 14px;
 
-    >i {
-      margin-right: 4px;
+      > i {
+        margin-right: 4px;
+      }
     }
   }
-}
   .close {
     width: 36px;
     height: 36px;
@@ -86,5 +97,4 @@ const close = () => {
     z-index: 999;
   }
 }
-
-</style>
+</style>

+ 55 - 2
yarn.lock

@@ -997,6 +997,14 @@
     "@babel/helper-create-regexp-features-plugin" "^7.18.6"
     "@babel/helper-plugin-utils" "^7.18.6"
 
+"@babel/polyfill@^7.12.1":
+  version "7.12.1"
+  resolved "http://192.168.0.47:4873/@babel/polyfill/-/polyfill-7.12.1.tgz#1f2d6371d1261bbd961f3c5d5909150e12d0bd96"
+  integrity sha512-X0pi0V6gxLi6lFZpGmeNa4zxtwEmCs42isWLNjZZDE0Y8yVfgu0T2OAHlzBbdYlqbW/YXVvoBHpATEM+goCj8g==
+  dependencies:
+    core-js "^2.6.5"
+    regenerator-runtime "^0.13.4"
+
 "@babel/preset-env@^7.11.0", "@babel/preset-env@^7.12.16":
   version "7.20.2"
   resolved "https://mirrors.cloud.tencent.com/npm/@babel/preset-env/-/preset-env-7.20.2.tgz#9b1642aa47bb9f43a86f9630011780dab7f86506"
@@ -6185,6 +6193,11 @@ connect-history-api-fallback@^2.0.0:
   resolved "https://mirrors.cloud.tencent.com/npm/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz#647264845251a0daf25b97ce87834cace0f5f1c8"
   integrity sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==
 
+consola@^2.15.3:
+  version "2.15.3"
+  resolved "http://192.168.0.47:4873/consola/-/consola-2.15.3.tgz#2e11f98d6a4be71ff72e0bdf07bd23e12cb61550"
+  integrity sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==
+
 consola@^3.1.0:
   version "3.1.0"
   resolved "https://mirrors.cloud.tencent.com/npm/consola/-/consola-3.1.0.tgz#dfdfa62ceb68bc1f06e4a76ad688566bd8813baf"
@@ -6399,7 +6412,7 @@ core-js-pure@^3.25.1:
   resolved "http://192.168.0.47:4873/core-js-pure/-/core-js-pure-3.30.2.tgz#005a82551f4af3250dcfb46ed360fad32ced114e"
   integrity sha512-p/npFUJXXBkCCTIlEGBdghofn00jWG6ZOtdoIXSJmAu2QBvN0IqpZXWweOytcwE6cfx8ZvVUy1vw8zxhe4Y2vg==
 
-core-js@^2.4.0, core-js@^2.5.0:
+core-js@^2.4.0, core-js@^2.5.0, core-js@^2.6.5:
   version "2.6.12"
   resolved "https://mirrors.cloud.tencent.com/npm/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec"
   integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==
@@ -14157,6 +14170,11 @@ pretty-error@^4.0.0:
     lodash "^4.17.20"
     renderkid "^3.0.0"
 
+pretty-time@^1.1.0:
+  version "1.1.0"
+  resolved "http://192.168.0.47:4873/pretty-time/-/pretty-time-1.1.0.tgz#ffb7429afabb8535c346a34e41873adf3d74dd0e"
+  integrity sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==
+
 prismjs@^1.23.0:
   version "1.29.0"
   resolved "https://mirrors.cloud.tencent.com/npm/prismjs/-/prismjs-1.29.0.tgz#f113555a8fa9b57c35e637bba27509dcf802dd12"
@@ -14614,7 +14632,7 @@ regenerator-runtime@^0.11.0:
   resolved "https://mirrors.cloud.tencent.com/npm/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
   integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==
 
-regenerator-runtime@^0.13.11:
+regenerator-runtime@^0.13.11, regenerator-runtime@^0.13.4:
   version "0.13.11"
   resolved "https://mirrors.cloud.tencent.com/npm/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9"
   integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==
@@ -15761,6 +15779,11 @@ statuses@2.0.1:
   resolved "https://mirrors.cloud.tencent.com/npm/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
   integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=
 
+std-env@^3.0.1:
+  version "3.3.3"
+  resolved "http://192.168.0.47:4873/std-env/-/std-env-3.3.3.tgz#a54f06eb245fdcfef53d56f3c0251f1d5c3d01fe"
+  integrity sha512-Rz6yejtVyWnVjC1RFvNmYL10kgjC49EOghxWn0RFqlCHGFpQx+Xe7yW3I4ceK1SGrWIGMjD5Kbue8W/udkbMJg==
+
 stream-browserify@^2.0.1:
   version "2.0.2"
   resolved "https://mirrors.cloud.tencent.com/npm/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b"
@@ -16994,6 +17017,11 @@ vue-demi@^0.12.5:
   resolved "https://mirrors.cloud.tencent.com/npm/vue-demi/-/vue-demi-0.12.5.tgz#8eeed566a7d86eb090209a11723f887d28aeb2d1"
   integrity sha512-BREuTgTYlUr0zw0EZn3hnhC3I6gPWv+Kwh4MCih6QcAeaTlaIX0DwOVN0wHej7hSvDPecz4jygy/idsgKfW58Q==
 
+vue-demi@^0.14.5:
+  version "0.14.5"
+  resolved "http://192.168.0.47:4873/vue-demi/-/vue-demi-0.14.5.tgz#676d0463d1a1266d5ab5cba932e043d8f5f2fbd9"
+  integrity sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==
+
 vue-eslint-parser@^7.0.0:
   version "7.11.0"
   resolved "https://mirrors.cloud.tencent.com/npm/vue-eslint-parser/-/vue-eslint-parser-7.11.0.tgz#214b5dea961007fcffb2ee65b8912307628d0daf"
@@ -17140,6 +17168,21 @@ vue-template-es2015-compiler@^1.6.0, vue-template-es2015-compiler@^1.9.0:
   resolved "https://mirrors.cloud.tencent.com/npm/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz#1ee3bc9a16ecbf5118be334bb15f9c46f82f5825"
   integrity sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==
 
+vue-toast-notification@^3.1.1:
+  version "3.1.1"
+  resolved "http://192.168.0.47:4873/vue-toast-notification/-/vue-toast-notification-3.1.1.tgz#334e9e71996c884a58c70a0fa011424f767d87bb"
+  integrity sha512-DXEE38NxXFCNinKI+MyZBMWsaqE9Lwxg9GkMVkzKXY1ACCeNztBXuUiSvKMe36dnnYd1qnlP+cWNSvHlkt5xNA==
+
+vue-toastification@^1.7.14:
+  version "1.7.14"
+  resolved "http://192.168.0.47:4873/vue-toastification/-/vue-toastification-1.7.14.tgz#4d6af4085f7122463c2821a27f851898b265cc85"
+  integrity sha512-khZR8t3NWZ/JJ2MZxXLbesHrRJ8AKa75PY5Zq8yMifF9x8lHq8ljYkC0d2PD9yahooygQB5tcFyRDkbbIPx8hw==
+
+vue-toastification@^2.0.0-rc.5:
+  version "2.0.0-rc.5"
+  resolved "http://192.168.0.47:4873/vue-toastification/-/vue-toastification-2.0.0-rc.5.tgz#92798604d806ae473cfb76ed776fae294280f8f8"
+  integrity sha512-q73e5jy6gucEO/U+P48hqX+/qyXDozAGmaGgLFm5tXX4wJBcVsnGp4e/iJqlm9xzHETYOilUuwOUje2Qg1JdwA==
+
 vue3-lazyload@^0.3.6:
   version "0.3.6"
   resolved "https://mirrors.cloud.tencent.com/npm/vue3-lazyload/-/vue3-lazyload-0.3.6.tgz#87c509e7f0139ea5e00eb76c368519905ad19678"
@@ -17550,6 +17593,16 @@ webpack@^5.54.0:
     watchpack "^2.4.0"
     webpack-sources "^3.2.3"
 
+webpackbar@^5.0.2:
+  version "5.0.2"
+  resolved "http://192.168.0.47:4873/webpackbar/-/webpackbar-5.0.2.tgz#d3dd466211c73852741dfc842b7556dcbc2b0570"
+  integrity sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ==
+  dependencies:
+    chalk "^4.1.0"
+    consola "^2.15.3"
+    pretty-time "^1.1.0"
+    std-env "^3.0.1"
+
 websocket-driver@>=0.5.1, websocket-driver@^0.7.4:
   version "0.7.4"
   resolved "https://mirrors.cloud.tencent.com/npm/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760"