Commit 45e477f7 authored by liujiangnan's avatar liujiangnan

feat:

parent d635f7f9
...@@ -14,9 +14,9 @@ ...@@ -14,9 +14,9 @@
<!-- 引入组件库 --> <!-- 引入组件库 -->
<script src="//teach.cdn.ireadabc.com/h5template/h5-static-lib/js/element-ui/index.js"></script> <script src="//teach.cdn.ireadabc.com/h5template/h5-static-lib/js/element-ui/index.js"></script>
<!-- 引入波形图组件 --> <!-- 引入波形图组件 -->
<script src="https://unpkg.com/wavesurfer.js@2.0.4/dist/wavesurfer.min.js"></script> <script src="//teach.cdn.ireadabc.com/h5template/h5-static-lib/js/wavesurfer.min.js"></script>
<script src="https://unpkg.com/wavesurfer.js@2.0.4/dist/plugin/wavesurfer.regions.min.js"></script> <script src="//teach.cdn.ireadabc.com/h5template/h5-static-lib/js/wavesurfer.regions.min.js"></script>
<script src="https://unpkg.com/wavesurfer.js@2.0.4/dist/plugin/wavesurfer.timeline.min.js"></script> <script src="//teach.cdn.ireadabc.com/h5template/h5-static-lib/js/wavesurfer.timeline.min.js"></script>
<style> <style>
.text-editor { .text-editor {
padding: 20px; padding: 20px;
......
...@@ -106,6 +106,8 @@ new Vue({ ...@@ -106,6 +106,8 @@ new Vue({
queueTasks: [], queueTasks: [],
// 新增:上传类型 // 新增:上传类型
uploadType: 'pdf', uploadType: 'pdf',
AI_SERVER_URL: 'https://stagingopensource.iteachabc.com',
}, },
mounted() { mounted() {
...@@ -124,16 +126,91 @@ new Vue({ ...@@ -124,16 +126,91 @@ new Vue({
}, },
methods: { methods: {
// 公共的 POST 请求方法
async postRequest(endpoint, data, options = {}) {
const {
loadingText = '请求中,请稍候...',
successMessage = '请求成功',
errorMessage = '请求失败',
showLoading = true,
showSuccessMessage = true,
showErrorMessage = true
} = options;
let loading = null;
if (showLoading) {
loading = this.$loading({
lock: true,
text: loadingText,
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
}
try {
const result = await new Promise((resolve, reject) => {
$.ajax({
url: this.AI_SERVER_URL + endpoint,
type: 'POST',
contentType: 'application/json',
data: JSON.stringify(data),
success: function(response) {
resolve(response);
},
error: function(xhr, status, error) {
reject(new Error(error || '请求失败'));
}
});
});
if (result.code === 200) {
if (showSuccessMessage) {
this.$message.success(successMessage);
}
return result;
} else {
const errorMsg = result.message || errorMessage;
if (showErrorMessage) {
this.$message.error(errorMsg);
}
throw new Error(errorMsg);
}
} catch (error) {
console.error('请求失败:', error);
if (showErrorMessage) {
this.$message.error(error.message || errorMessage);
}
throw error;
} finally {
if (loading) {
loading.close();
}
}
},
async tryAI() { async tryAI() {
const loading = this.$loading({ const urlParams = new URLSearchParams(window.location.search);
lock: true, const coursewareId = urlParams.get('course_id');
text: 'AI 分析中,请稍候...',
spinner: 'el-icon-loading', try {
background: 'rgba(0, 0, 0, 0.7)' await this.postRequest('/open/api/ai/dpe/v1/pagerepair', {
}); courseware_id: coursewareId || 1,
await callServerMethod('tryAI', {prompt: '请重新匹配', pageIndex: this.currentPageIndex}); page_number: this.currentPageIndex
window.location.reload(); }, {
loading.close(); loadingText: 'AI 分析中,请稍候...',
successMessage: 'AI 分析完成',
errorMessage: 'AI 分析失败,请稍后重试'
});
// 重新加载数据
await this.loadDefaultData();
} catch (error) {
// 错误已在 postRequest 中处理
console.error('AI 分析失败:', error);
}
}, },
// 心跳实时查询异步处理进度及信息 // 心跳实时查询异步处理进度及信息
async checkProcess(_data) { async checkProcess(_data) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment