lsc 11 months ago
parent
commit
002601a830

+ 1 - 1
dist/index.html

@@ -32,7 +32,7 @@
       width: 100%;
       background: #e6eaf0;
       font-family: '黑体';
-    }</style><link href=./static/css/app.98dd7ab07de2fecc98211381570ff60d.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.571c38d63f24b1ae9e16.js></script><script type=text/javascript src=./static/js/vendor.35dfb1d95a63059f336f.js></script><script type=text/javascript src=./static/js/app.7e2f22d5355101a417a3.js></script></body></html><script>function stopSafari() {
+    }</style><link href=./static/css/app.d5091773230f947910d5ffc89c7e0795.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.571c38d63f24b1ae9e16.js></script><script type=text/javascript src=./static/js/vendor.35dfb1d95a63059f336f.js></script><script type=text/javascript src=./static/js/app.7dd6c259c6159da23fb1.js></script></body></html><script>function stopSafari() {
     //阻止safari浏览器双击放大功能
     let lastTouchEnd = 0  //更新手指弹起的时间
     document.documentElement.addEventListener("touchstart", function (event) {

File diff suppressed because it is too large
+ 0 - 0
dist/static/css/app.d5091773230f947910d5ffc89c7e0795.css


File diff suppressed because it is too large
+ 0 - 0
dist/static/css/app.d5091773230f947910d5ffc89c7e0795.css.map


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/app.7dd6c259c6159da23fb1.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/app.7dd6c259c6159da23fb1.js.map


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/manifest.571c38d63f24b1ae9e16.js.map


+ 63 - 21
src/components/pages/aiAddCourse/addCourse.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="pb_content" style="background: #f0f2f5" v-loading="loading" element-loading-text="小可正在努力生成中,请稍等...">
-    <div class="c_pub_button_confirm stopBtn" v-if="loading && isOutlineCancelToken" @click="cancelOutline">停止</div>
+    <div class="c_pub_button_confirm stopBtn" v-if="loading && isOutlineCancelToken" @click="cancelAjax('outline')">停止</div>
     <div class="pb_content_body" style="position: relative; margin: 0">
       <div class="right" :style="{width:istemplate == 1 ? 'calc(100% - 300px)' : '100%'}">
         <div class="courseTop">
@@ -751,7 +751,8 @@
                     </div>
                   </div>
                 </div>
-                <div v-loading="fileSLoading" element-loading-text="小可正在努力生成中,请稍等...">
+                <div v-loading="fileSLoading" element-loading-text="小可正在努力生成中,请稍等..." :style="{ minHeight: fileSLoading ? '200px' : 'auto'}">
+                  <div class="c_pub_button_confirm stopBtn" v-if="fileSLoading && isFileCancelToken" @click="cancelAjax('file')">停止</div>
                   <div class="add_chapters_box add_c_none" v-if="
                     infoData2 &&
                     infoData2.length == 0
@@ -883,8 +884,9 @@
                 </div>
               </div>
             </div>
-            <div class="whiteBg" style="background: #fff; margin: 0 0 10px;padding: 0 0 15px;" v-loading="textLoading" element-loading-text="小可正在努力生成中,请稍等..." v-if="(!isuseT && (!yiKeTemplateArray.includes(templateid))) || (isuseT && (!yiKeTemplateArray.includes(templateid)) && courseTextBool) || (yiKeTemplateArray.includes(templateid))">
-              <div class="whiteBg" style="border-radius: 0; margin-top: 15px">
+            <div class="whiteBg" :style="{ minHeight: textLoading ? '250px' : 'auto'}" style="background: #fff; margin: 0 0 10px;padding: 0 0 15px;" v-loading="textLoading" element-loading-text="小可正在努力生成中,请稍等..." v-if="(!isuseT && (!yiKeTemplateArray.includes(templateid))) || (isuseT && (!yiKeTemplateArray.includes(templateid)) && courseTextBool) || (yiKeTemplateArray.includes(templateid))">
+                <div class="c_pub_button_confirm stopBtn" v-if="textLoading && isTextCancelToken" @click="cancelAjax('text')">停止</div>
+                <div class="whiteBg" style="border-radius: 0; margin-top: 15px">
                 <div class="c_info_title" style="margin: 0 20px 0 20px;">
                   课程简要描述
                   <el-tooltip effect="light" content="右键单击可配置提示词" placement="bottom">
@@ -915,8 +917,9 @@
                 </div>
               </div>
             </div>
-            <div class="whiteBg" style="background: #fff; margin: 0 0 10px;padding: 0 0 15px;" v-loading="targetTextLoading2" element-loading-text="小可正在努力生成中,请稍等..." v-if="(!isuseT && (!yiKeTemplateArray.includes(templateid))) || (isuseT && (!yiKeTemplateArray.includes(templateid)) && courseTextBool)">
-              <div class="whiteBg" style="border-radius: 0; margin-top: 15px">
+            <div class="whiteBg" :style="{ minHeight: targetTextLoading2 ? '250px' : 'auto'}" style="background: #fff; margin: 0 0 10px;padding: 0 0 15px;" v-loading="targetTextLoading2" element-loading-text="小可正在努力生成中,请稍等..." v-if="(!isuseT && (!yiKeTemplateArray.includes(templateid))) || (isuseT && (!yiKeTemplateArray.includes(templateid)) && courseTextBool)">
+                <div class="c_pub_button_confirm stopBtn" v-if="targetTextLoading2 && isTargetCancelToken2" @click="cancelAjax('target2')">停止</div>
+                <div class="whiteBg" style="border-radius: 0; margin-top: 15px">
                 <div class="c_info_title" style="flex-wrap: wrap; position:relative;margin:0 20px;">
                   课程目标
                   <button class="c_pub_button_confirm2" @click="addImg($event)" style="margin: 0px 0px 0px 10px;">
@@ -7313,6 +7316,10 @@ export default {
       pingjiainfoprogress: [],
       isOutlineCancelToken: null,
       taskGLoading: [],
+      isFileCancelToken: null,
+      isTargetCancelToken1: null,
+      isTargetCancelToken2: null,
+      isTextCancelToken: null,
     };
   },
   directives: {
@@ -16797,7 +16804,7 @@ ${this.courseText && this.aiCallBack == 2 ? '注意,优化原有的<参考内
           }
         }
       }
-      
+      _this.isTextCancelToken = _this.ajax.setCancelSource();
 
       let _uuid = uuidv4();
       // let params = JSON.stringify({
@@ -16840,7 +16847,7 @@ ${this.courseText && this.aiCallBack == 2 ? '注意,优化原有的<参考内
       //     model: "Claude 3 Sonnet" // Claude 3 Sonnet或者Claude 3 Haiku
       // });
       // _this.ajax.post('https://gpt4.cocorobo.cn/chat', params).then(function (response) {
-      _this.ajax.post('https://gpt4.cocorobo.cn/ai_agent_park_chat_new', params).then(function (response) {
+      _this.ajax.post('https://gpt4.cocorobo.cn/ai_agent_park_chat_new', params, _this.isTextCancelToken).then(function (response) {
       // _this.ajax.post('https://claude3.cocorobo.cn/chat', params).then(function (response) {
         console.log(response);
         // let data = response.data.FunctionResponse
@@ -16851,10 +16858,11 @@ ${this.courseText && this.aiCallBack == 2 ? '注意,优化原有的<参考内
         } else {
           _this.$message.warning(response.data.FunctionResponse.result);
         }
-
+        _this.isTextCancelToken = null
       }).catch(function (error) {
         _this.textLoading = false
         _this.ttextLoading = false
+        _this.isTextCancelToken = null
         console.log(error);
       });
       await _this.aiGetgetAiContent(_uuid)
@@ -17185,21 +17193,41 @@ ${this.courseText && this.aiCallBack == 2 ? '注意,优化原有的<参考内
             _this.$forceUpdate();
           }
           callback ? callback() : ''
-          this.isOutlineCancelToken = null
+          _this.isOutlineCancelToken = null
         })
         .catch((error) => {
           _this.loading = false
-          this.isOutlineCancelToken = null
+          _this.isOutlineCancelToken = null
           console.log(error);
         });
     },
-    cancelOutline(){
-      if (this.isOutlineCancelToken) {
+    cancelAjax(type){
+      if (this.isOutlineCancelToken && type == 'outline') {
         this.$message.success("已经成功停止生成课程大纲")
         this.isOutlineCancelToken.cancel('Request canceled by the user.');
         this.isOutlineCancelToken = null;
         this.loading = false
       }
+      if (this.isFileCancelToken && type == 'file') {
+        this.$message.success("已经成功停止智能生成检索资料")
+        this.isFileCancelToken.cancel('Request canceled by the user.');
+        this.isFileCancelToken = null;
+        this.fileSLoading = false
+      }
+      if(this.isTextCancelToken && type == 'text'){
+        this.$message.success("已经成功停止AI优化")
+        this.isTextCancelToken.cancel('Request canceled by the user.');
+        this.isTextCancelToken = null;
+        this.textLoading = false
+        this.ttextLoading = true
+      }
+      if(this.isTargetCancelToken2 && type == 'target2'){
+        this.$message.success("已经成功停止生成目标")
+        this.isTargetCancelToken2.cancel('Request canceled by the user.');
+        this.isTargetCancelToken2 = null;
+        this.targetTextLoading2 = false
+        this.ttargetTextLoading2 = false
+      }
     },
     async aiGetTask2(messages, callback) {
       let _this = this
@@ -17470,9 +17498,11 @@ ${this.courseText && this.aiCallBack == 2 ? '注意,优化原有的<参考内
             }, 0)
           }
           callback ? callback() : ''
+          _this.isOutlineCancelToken = null
         })
         .catch((error) => {
           _this.loading = false
+          _this.isOutlineCancelToken = null
           console.log(error);
         });
     },
@@ -21113,6 +21143,8 @@ ${this.targetCourseText && this.aiCallBack == 2 ? '注意,优化原有的<参
       //   uid: _uuid,
       //   mind_map_question: "",
       // })
+      _this.isTargetCancelToken2 = _this.ajax.setCancelSource();
+
       let params = {
         assistant_id: 'f8e1ebb2-2e0d-11ef-8bf4-12e77c4cb76b',
         message: [{"type":"text", "text":messages.replaceAll('\n', " ").replaceAll('*', "")}],
@@ -21138,7 +21170,7 @@ ${this.targetCourseText && this.aiCallBack == 2 ? '注意,优化原有的<参
       //     model: "Claude 3 Sonnet" // Claude 3 Sonnet或者Claude 3 Haiku
       // });
       // _this.ajax.post('https://gpt4.cocorobo.cn/chat', params).then(function (response) {
-      _this.ajax.post('https://gpt4.cocorobo.cn/ai_agent_park_chat_new', params).then(function (response) {
+      _this.ajax.post('https://gpt4.cocorobo.cn/ai_agent_park_chat_new', params, _this.isTargetCancelToken2).then(function (response) {
       // _this.ajax.post('https://claude3.cocorobo.cn/chat', params).then(function (response) {
         console.log(response);
         // let data = response.data.FunctionResponse
@@ -21149,10 +21181,11 @@ ${this.targetCourseText && this.aiCallBack == 2 ? '注意,优化原有的<参
         } else {
           _this.$message.warning(response.data.FunctionResponse.result);
         }
-
+        _this.isTargetCancelToken2 = null
       }).catch(function (error) {
         _this.targetTextLoading2 = false
         _this.ttargetTextLoading2 = false
+        _this.isTargetCancelToken2 = null
         console.log(error);
       });
       await _this.aitargetTextDetail2getAiContent(_uuid)
@@ -21270,6 +21303,8 @@ ${this.targetCourseText && this.aiCallBack == 2 ? '注意,优化原有的<参
       //   uid: _uuid,
       //   mind_map_question: "",
       // })
+      _this.isTargetCancelToken2 = _this.ajax.setCancelSource();
+
       let params = {
         assistant_id: 'f8e1ebb2-2e0d-11ef-8bf4-12e77c4cb76b',
         message: [{"type":"text", "text":messages.replaceAll('\n', " ").replaceAll('*', "")}],
@@ -21295,7 +21330,7 @@ ${this.targetCourseText && this.aiCallBack == 2 ? '注意,优化原有的<参
       //     model: "Claude 3 Sonnet" // Claude 3 Sonnet或者Claude 3 Haiku
       // });
       // _this.ajax.post('https://gpt4.cocorobo.cn/chat', params).then(function (response) {
-      _this.ajax.post('https://gpt4.cocorobo.cn/ai_agent_park_chat_new', params).then(function (response) {
+      _this.ajax.post('https://gpt4.cocorobo.cn/ai_agent_park_chat_new', params, _this.isTargetCancelToken2).then(function (response) {
       // _this.ajax.post('https://claude3.cocorobo.cn/chat', params).then(function (response) {
         console.log(response);
         // let data = response.data.FunctionResponse
@@ -21306,10 +21341,11 @@ ${this.targetCourseText && this.aiCallBack == 2 ? '注意,优化原有的<参
         } else {
           _this.$message.warning(response.data.FunctionResponse.result);
         }
-
+        _this.isTargetCancelToken2 = null
       }).catch(function (error) {
         _this.targetTextLoading2 = false
         _this.ttargetTextLoading2 = false
+        _this.isTargetCancelToken2 = null
         console.log(error);
       });
       await _this.aitargetTextDetail2getAiContent(_uuid)
@@ -21409,6 +21445,7 @@ ${this.targetCourseText && this.aiCallBack == 2 ? '注意,优化原有的<参
         let _fileid = _this.importFileid(sub)
         fileid = [...fileid, ..._fileid]
       }
+      _this.isTargetCancelToken2 = _this.ajax.setCancelSource();
 
       let messages = `${msg}`
       let _uuid = uuidv4();
@@ -21452,7 +21489,7 @@ ${this.targetCourseText && this.aiCallBack == 2 ? '注意,优化原有的<参
       //     model: "Claude 3 Sonnet" // Claude 3 Sonnet或者Claude 3 Haiku
       // });
       // _this.ajax.post('https://gpt4.cocorobo.cn/chat', params).then(function (response) {
-      _this.ajax.post('https://gpt4.cocorobo.cn/ai_agent_park_chat', params).then(function (response) {
+      _this.ajax.post('https://gpt4.cocorobo.cn/ai_agent_park_chat', params, _this.isTargetCancelToken2).then(function (response) {
       // _this.ajax.post('https://claude3.cocorobo.cn/chat', params).then(function (response) {
         console.log(response);
         // let data = response.data.FunctionResponse
@@ -21471,10 +21508,11 @@ ${this.targetCourseText && this.aiCallBack == 2 ? '注意,优化原有的<参
           _this.aitargetTextDetail22(_this.aiJson.aiTarget2, data.message.replaceAll('#', " ").replaceAll('*', "").replaceAll('\n', ""))
         
         }
-        
+        _this.isTargetCancelToken2 = null
       }).catch(function (error) {
         _this.targetTextLoading2 = false
         _this.ttargetTextLoading2 = false
+        _this.isTargetCancelToken2 = null
         console.log(error);
       });
     },
@@ -21750,6 +21788,7 @@ ${msg}
       //   _this.loading = false
       //   console.log(error);
       // });
+      this.isFileCancelToken = this.ajax.setCancelSource();
 
       let parm = {
         assistant_id: '6063369f-289a-11ef-8bf4-12e77c4cb76b',
@@ -21761,7 +21800,7 @@ ${msg}
         temperature: 0.1,
       }
       this.ajax
-        .post("https://gpt4.cocorobo.cn/ai_agent_park_chat", parm)
+        .post("https://gpt4.cocorobo.cn/ai_agent_park_chat", parm, this.isFileCancelToken)
         .then((response) => {
           console.log(response);
           let data = response.data.FunctionResponse
@@ -21769,7 +21808,8 @@ ${msg}
             console.log(data.message);
             let dArray = []
             try {
-              dArray = JSON.parse(data.message.replaceAll('```json','').replaceAll('```',''))
+              let regex2 = new RegExp("/([{,])(\w+):/g")
+              dArray = JSON.parse(data.message.replaceAll('```json','').replaceAll('```','').replaceAll('\'',"\"").replace(regex2, '$1"$2":'))
             } catch (error) {
                 // callback ? callback() : ''
                 console.log("error_________________" + error);
@@ -21796,11 +21836,13 @@ ${msg}
                 }
               }, 500 * i)
             }
+            _this.isFileCancelToken = null
             _this.$forceUpdate();
           }
         })
         .catch((error) => {
           callback ? callback() : ''
+          _this.isFileCancelToken = null
           console.log(error);
         });
     },

+ 3 - 0
src/components/pages/testPerson/test/test.vue

@@ -668,6 +668,7 @@ export default {
     padding: 0;
     box-sizing: border-box;
     width: 100%;
+    overflow: auto;
 }
 
 .check_nav>.nav {
@@ -679,6 +680,8 @@ export default {
     color: rgb(167, 167, 167);
     /* background: #000000; */
     cursor: pointer;
+    min-width: fit-content;
+    margin-right: 10px;
 }
 
 .check_nav>.active {

Some files were not shown because too many files changed in this diff