Selaa lähdekoodia

多语言自动翻译

dsy 2 päivää sitten
vanhempi
commit
53aa3dd166

+ 1 - 1
.env

@@ -11,4 +11,4 @@ VUE_APP_BookWebSI = '/GCLSBookWebSI/ServiceInterface'
 VUE_APP_EepServer = '/EEPServer/SI'
 
 #version
-VUE_APP_VERSION = '2026.04.09'
+VUE_APP_VERSION = '2026.04.13'

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "eep_page",
-  "version": "2026.04.09",
+  "version": "2026.04.13",
   "private": true,
   "main": "main.js",
   "description": "智慧梧桐数字教材编辑器",

+ 7 - 0
src/api/app.js

@@ -176,3 +176,10 @@ export function ResetPassword(data) {
 export function ToAuxiliaryColor(data) {
   return http.post(`${process.env.VUE_APP_EepServer}?MethodName=tool-ToAuxiliaryColor`, data);
 }
+
+/**
+ * @description 文本翻译
+ */
+export function TextTrans(data) {
+  return http.post(`${process.env.VUE_APP_EepServer}?MethodName=tool-Texttrans`, data);
+}

+ 21 - 1
src/views/book/components/MultilingualFill.vue

@@ -4,8 +4,8 @@
     width="800px"
     custom-class="multilingual-fill-dialog"
     :close-on-click-modal="false"
-    @close="closeDialog"
     append-to-body
+    @close="closeDialog"
   >
     <div class="multilingual-fill">
       <div class="left-menu">
@@ -37,6 +37,9 @@
             <span class="btn primary" @click="submitTranslation">
               <span>提交译文</span>
             </span>
+            <span class="btn primary" @click="textTrans">
+              <span>自动翻译</span>
+            </span>
           </div>
           <i class="el-icon-close" @click="closeDialog"></i>
         </div>
@@ -65,6 +68,7 @@
 import UpdateLang from './UpdateLang.vue';
 
 import { sanitizeHTML } from '@/utils/common';
+import { TextTrans } from '@/api/app';
 
 export default {
   name: 'MultilingualFill',
@@ -152,6 +156,22 @@ export default {
         ...newLangs.map((item) => ({ type: item, translation: '' })),
       ];
     },
+    textTrans() {
+      TextTrans({
+        text: this.text.replace(/<[^>]+>/g, ''),
+        from: 'zh',
+        to: this.curLang.toLowerCase(),
+      }).then(({ trans_list }) => {
+        console.log(trans_list);
+        if (trans_list.length > 0) {
+          const transText = trans_list[0].dst;
+          const curLangItem = this.selectedLangList.find((item) => item.type === this.curLang);
+          if (curLangItem) {
+            curLangItem.translation = transText;
+          }
+        }
+      });
+    },
     submitTranslation() {
       this.$emit('SubmitTranslation', this.selectedLangList);
       this.closeDialog();

+ 2 - 2
src/views/book/courseware/create/components/SetBackground.vue

@@ -211,9 +211,9 @@ export default {
         bottom_right_radius: 4, // 右下圆角
       },
       imageModeList: [
-        { label: '平铺', value: 'fill' },
-        { label: '拉伸', value: 'stretch' },
         { label: '适应', value: 'adapt' },
+        { label: '拉伸', value: 'stretch' },
+        { label: '平铺', value: 'fill' },
         { label: '自定义', value: 'auto' },
       ],
     };

+ 1 - 2
src/views/book/courseware/preview/components/judge/JudgePreview.vue

@@ -201,8 +201,7 @@ export default {
     computedIsJudgeRight(mark) {
       if (!this.isJudgingRightWrong) return '';
       let selectOption = this.answer.answer_list.find((item) => item.mark === mark); // 查找是否已选中的选项
-      if (!selectOption) return 'wrong';
-      if (selectOption.option_type.length === 0) return '';
+      if (!selectOption) return '';
       return this.data.answer.answer_list.find((item) => item.mark === mark)?.option_type === selectOption.option_type
         ? 'right'
         : 'wrong';

+ 2 - 2
src/views/book/courseware/preview/components/matching/MatchingPreview.vue

@@ -346,7 +346,7 @@ export default {
       let svg = document.createElementNS(svgNS, 'svg');
       svg.setAttribute(
         'style',
-        `position:absolute; width: 102px; height: ${Math.max(8, height)}px; top: ${top}px; left: ${left}px;overflow: visible;`,
+        `position:absolute; width: 122px; height: ${Math.max(8, height)}px; top: ${top}px; left: ${left}px;overflow: visible;`,
       );
       svg.classList.add('connection-line', `svg-${mark}-${curMark}`); // 添加类名
       // 向SVG元素添加 path 元素
@@ -546,7 +546,7 @@ export default {
 
     .list-item {
       display: flex;
-      column-gap: 100px;
+      column-gap: 120px;
       align-items: stretch;
       padding: 1px;