ai-error-assistant-pro 0.0.27 → 0.0.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/demo/src/error-chat.vue +55 -44
- package/dist/ai-error-assistant-pro.common.js +49 -37
- package/dist/ai-error-assistant-pro.common.js.map +1 -1
- package/dist/ai-error-assistant-pro.css +1 -1
- package/dist/ai-error-assistant-pro.umd.js +49 -37
- package/dist/ai-error-assistant-pro.umd.js.map +1 -1
- package/dist/ai-error-assistant-pro.umd.min.js +1 -1
- package/dist/ai-error-assistant-pro.umd.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
style="padding-bottom: 24px"
|
|
34
34
|
v-if="questionStem.type === 'shortanswer' || questionStem.type === 'gapfilling'">
|
|
35
35
|
<span style="vertical-align: inherit; display: inline-block">正确答案:</span>
|
|
36
|
-
<span style="margin-left: 8px; display: inline-block; width: calc(100% - 82px); vertical-align: top;" v-html="questionStem.answer.join(',')"></span>
|
|
36
|
+
<span style="margin-left: 8px; display: inline-block; width: calc(100% - 82px); vertical-align: top;" v-html="renderFormulas(questionStem.answer.join(','))"></span>
|
|
37
37
|
</div>
|
|
38
38
|
<div class="student-answer-part">
|
|
39
39
|
<div class="check-content" style="width: 24px; margin-right: 16px">
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
<!-- {{ item }}<span v-if="index !== questionStem.studentAnswer.length - 1">,</span>-->
|
|
57
57
|
<!-- </span>-->
|
|
58
58
|
<div v-if="questionStem.type === 'shortanswer' || questionStem.type === 'gapfilling'">
|
|
59
|
-
<span style="margin-left: 8px" v-html="questionStem.studentAnswer.join(',')"></span>
|
|
59
|
+
<span style="margin-left: 8px" v-html="renderFormulas(questionStem.studentAnswer.join(','))"></span>
|
|
60
60
|
</div>
|
|
61
61
|
</div>
|
|
62
62
|
</div>
|
|
@@ -200,48 +200,59 @@ export default {
|
|
|
200
200
|
console.log(e);
|
|
201
201
|
}
|
|
202
202
|
},
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
}
|
|
244
|
-
|
|
203
|
+
renderFormulas(text) {
|
|
204
|
+
if (!text) return '';
|
|
205
|
+
// 如果整个文本包含 LaTeX 命令且没有定界符,整体包裹
|
|
206
|
+
const hasDelimiter = /\$|\\\(|\\\[/.test(text);
|
|
207
|
+
if (!hasDelimiter) {
|
|
208
|
+
text = text.replace(
|
|
209
|
+
/(\\(?:frac|sqrt|sum|int|cdot|times|geq|leq|neq|pm|div|alpha|beta|gamma|theta|pi|sigma|omega|infty|log|sin|cos|tan|left|right|overline|hat|vec|bar|lim|in|notin|supset|subseteq|ln|Gamma|to)(?:\{[^{}]*(?:\{[^{}]*(?:\{[^{}]*\}[^{}]*)*\}[^{}]*)*\}|[^\s{},。?!、;:\u4e00-\u9fa5])*)/g,
|
|
210
|
+
(match) => `\\(${match}\\)`
|
|
211
|
+
);
|
|
212
|
+
}
|
|
213
|
+
const { renderToString } = katex;
|
|
214
|
+
return text
|
|
215
|
+
// 块级公式 $$...$$
|
|
216
|
+
.replace(/\$\$(.*?)\$\$/gs, (match, p1) => {
|
|
217
|
+
try {
|
|
218
|
+
return renderToString(p1, { displayMode: true, throwOnError:
|
|
219
|
+
false });
|
|
220
|
+
} catch (e) {
|
|
221
|
+
console.error('Block formula error:', e);
|
|
222
|
+
return match;
|
|
223
|
+
}
|
|
224
|
+
})
|
|
225
|
+
// 行内公式 $...$
|
|
226
|
+
.replace(/\$(.*?)\$/g, (match, p1) => {
|
|
227
|
+
try {
|
|
228
|
+
return renderToString(p1, { displayMode: false, throwOnError:
|
|
229
|
+
false });
|
|
230
|
+
} catch (e) {
|
|
231
|
+
console.error('Inline formula error:', e);
|
|
232
|
+
return match;
|
|
233
|
+
}
|
|
234
|
+
})
|
|
235
|
+
// 行内公式 \( ... \)
|
|
236
|
+
.replace(/\\\((.*?)\\\)/g, (match, p1) => {
|
|
237
|
+
try {
|
|
238
|
+
return renderToString(p1, { displayMode: false, throwOnError:
|
|
239
|
+
false });
|
|
240
|
+
} catch (e) {
|
|
241
|
+
console.error('Inline formula error:', e);
|
|
242
|
+
return match;
|
|
243
|
+
}
|
|
244
|
+
})
|
|
245
|
+
// 块级公式 \[ ... \]
|
|
246
|
+
.replace(/\\\[(.*?)\\\]/gs, (match, p1) => {
|
|
247
|
+
try {
|
|
248
|
+
return renderToString(p1, { displayMode: true, throwOnError:
|
|
249
|
+
false });
|
|
250
|
+
} catch (e) {
|
|
251
|
+
console.error('Block formula error:', e);
|
|
252
|
+
return match;
|
|
253
|
+
}
|
|
254
|
+
});
|
|
255
|
+
},
|
|
245
256
|
}
|
|
246
257
|
}
|
|
247
258
|
</script>
|
|
@@ -11500,8 +11500,8 @@ var component = normalizeComponent(
|
|
|
11500
11500
|
)
|
|
11501
11501
|
|
|
11502
11502
|
/* harmony default export */ var chat_tools = (component.exports);
|
|
11503
|
-
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/demo/src/error-chat.vue?vue&type=template&id=
|
|
11504
|
-
var
|
|
11503
|
+
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/demo/src/error-chat.vue?vue&type=template&id=7e23b569&scoped=true
|
|
11504
|
+
var error_chatvue_type_template_id_7e23b569_scoped_true_render = function render() {
|
|
11505
11505
|
var _vm = this,
|
|
11506
11506
|
_c = _vm._self._c;
|
|
11507
11507
|
return _c('div', {
|
|
@@ -11571,7 +11571,7 @@ var error_chatvue_type_template_id_cbff4420_scoped_true_render = function render
|
|
|
11571
11571
|
"vertical-align": "top"
|
|
11572
11572
|
},
|
|
11573
11573
|
domProps: {
|
|
11574
|
-
"innerHTML": _vm._s(_vm.questionStem.answer.join(','))
|
|
11574
|
+
"innerHTML": _vm._s(_vm.renderFormulas(_vm.questionStem.answer.join(',')))
|
|
11575
11575
|
}
|
|
11576
11576
|
})]) : _vm._e(), _c('div', {
|
|
11577
11577
|
staticClass: "student-answer-part"
|
|
@@ -11594,7 +11594,7 @@ var error_chatvue_type_template_id_cbff4420_scoped_true_render = function render
|
|
|
11594
11594
|
"margin-left": "8px"
|
|
11595
11595
|
},
|
|
11596
11596
|
domProps: {
|
|
11597
|
-
"innerHTML": _vm._s(_vm.questionStem.studentAnswer.join(','))
|
|
11597
|
+
"innerHTML": _vm._s(_vm.renderFormulas(_vm.questionStem.studentAnswer.join(',')))
|
|
11598
11598
|
}
|
|
11599
11599
|
})]) : _vm._e()])]), _c('div', {
|
|
11600
11600
|
directives: [{
|
|
@@ -11649,7 +11649,7 @@ var error_chatvue_type_template_id_cbff4420_scoped_true_render = function render
|
|
|
11649
11649
|
}
|
|
11650
11650
|
})], 1)]);
|
|
11651
11651
|
};
|
|
11652
|
-
var
|
|
11652
|
+
var error_chatvue_type_template_id_7e23b569_scoped_true_staticRenderFns = [function () {
|
|
11653
11653
|
var _vm = this,
|
|
11654
11654
|
_c = _vm._self._c;
|
|
11655
11655
|
return _c('div', {
|
|
@@ -11669,7 +11669,7 @@ var error_chatvue_type_template_id_cbff4420_scoped_true_staticRenderFns = [funct
|
|
|
11669
11669
|
})]);
|
|
11670
11670
|
}];
|
|
11671
11671
|
|
|
11672
|
-
;// CONCATENATED MODULE: ./components/demo/src/error-chat.vue?vue&type=template&id=
|
|
11672
|
+
;// CONCATENATED MODULE: ./components/demo/src/error-chat.vue?vue&type=template&id=7e23b569&scoped=true
|
|
11673
11673
|
|
|
11674
11674
|
;// CONCATENATED MODULE: ./node_modules/katex/dist/katex.mjs
|
|
11675
11675
|
/**
|
|
@@ -30070,49 +30070,61 @@ var katex = {
|
|
|
30070
30070
|
}
|
|
30071
30071
|
},
|
|
30072
30072
|
renderFormulas(text) {
|
|
30073
|
+
if (!text) return '';
|
|
30074
|
+
// 如果整个文本包含 LaTeX 命令且没有定界符,整体包裹
|
|
30075
|
+
const hasDelimiter = /\$|\\\(|\\\[/.test(text);
|
|
30076
|
+
if (!hasDelimiter) {
|
|
30077
|
+
text = text.replace(/(\\(?:frac|sqrt|sum|int|cdot|times|geq|leq|neq|pm|div|alpha|beta|gamma|theta|pi|sigma|omega|infty|log|sin|cos|tan|left|right|overline|hat|vec|bar|lim|in|notin|supset|subseteq|ln|Gamma|to)(?:\{[^{}]*(?:\{[^{}]*(?:\{[^{}]*\}[^{}]*)*\}[^{}]*)*\}|[^\s{},。?!、;:\u4e00-\u9fa5])*)/g, match => `\\(${match}\\)`);
|
|
30078
|
+
}
|
|
30073
30079
|
const {
|
|
30074
30080
|
renderToString
|
|
30075
30081
|
} = katex;
|
|
30076
|
-
return text
|
|
30082
|
+
return text
|
|
30083
|
+
// 块级公式 $$...$$
|
|
30084
|
+
.replace(/\$\$(.*?)\$\$/gs, (match, p1) => {
|
|
30077
30085
|
try {
|
|
30078
|
-
|
|
30079
|
-
|
|
30080
|
-
|
|
30086
|
+
return renderToString(p1, {
|
|
30087
|
+
displayMode: true,
|
|
30088
|
+
throwOnError: false
|
|
30081
30089
|
});
|
|
30082
|
-
} catch (
|
|
30083
|
-
console.error('
|
|
30090
|
+
} catch (e) {
|
|
30091
|
+
console.error('Block formula error:', e);
|
|
30084
30092
|
return match;
|
|
30085
30093
|
}
|
|
30086
|
-
})
|
|
30087
|
-
|
|
30094
|
+
})
|
|
30095
|
+
// 行内公式 $...$
|
|
30096
|
+
.replace(/\$(.*?)\$/g, (match, p1) => {
|
|
30088
30097
|
try {
|
|
30089
|
-
|
|
30090
|
-
|
|
30091
|
-
|
|
30098
|
+
return renderToString(p1, {
|
|
30099
|
+
displayMode: false,
|
|
30100
|
+
throwOnError: false
|
|
30092
30101
|
});
|
|
30093
|
-
} catch (
|
|
30094
|
-
console.error('
|
|
30102
|
+
} catch (e) {
|
|
30103
|
+
console.error('Inline formula error:', e);
|
|
30095
30104
|
return match;
|
|
30096
30105
|
}
|
|
30097
|
-
})
|
|
30106
|
+
})
|
|
30107
|
+
// 行内公式 \( ... \)
|
|
30108
|
+
.replace(/\\\((.*?)\\\)/g, (match, p1) => {
|
|
30098
30109
|
try {
|
|
30099
|
-
|
|
30100
|
-
|
|
30101
|
-
|
|
30110
|
+
return renderToString(p1, {
|
|
30111
|
+
displayMode: false,
|
|
30112
|
+
throwOnError: false
|
|
30102
30113
|
});
|
|
30103
|
-
} catch (
|
|
30104
|
-
console.error('
|
|
30114
|
+
} catch (e) {
|
|
30115
|
+
console.error('Inline formula error:', e);
|
|
30105
30116
|
return match;
|
|
30106
30117
|
}
|
|
30107
|
-
})
|
|
30108
|
-
|
|
30118
|
+
})
|
|
30119
|
+
// 块级公式 \[ ... \]
|
|
30120
|
+
.replace(/\\\[(.*?)\\\]/gs, (match, p1) => {
|
|
30109
30121
|
try {
|
|
30110
|
-
|
|
30111
|
-
|
|
30112
|
-
|
|
30122
|
+
return renderToString(p1, {
|
|
30123
|
+
displayMode: true,
|
|
30124
|
+
throwOnError: false
|
|
30113
30125
|
});
|
|
30114
|
-
} catch (
|
|
30115
|
-
console.error('
|
|
30126
|
+
} catch (e) {
|
|
30127
|
+
console.error('Block formula error:', e);
|
|
30116
30128
|
return match;
|
|
30117
30129
|
}
|
|
30118
30130
|
});
|
|
@@ -30121,10 +30133,10 @@ var katex = {
|
|
|
30121
30133
|
});
|
|
30122
30134
|
;// CONCATENATED MODULE: ./components/demo/src/error-chat.vue?vue&type=script&lang=js
|
|
30123
30135
|
/* harmony default export */ var src_error_chatvue_type_script_lang_js = (error_chatvue_type_script_lang_js);
|
|
30124
|
-
;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/demo/src/error-chat.vue?vue&type=style&index=0&id=
|
|
30136
|
+
;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/demo/src/error-chat.vue?vue&type=style&index=0&id=7e23b569&prod&lang=scss&scoped=true
|
|
30125
30137
|
// extracted by mini-css-extract-plugin
|
|
30126
30138
|
|
|
30127
|
-
;// CONCATENATED MODULE: ./components/demo/src/error-chat.vue?vue&type=style&index=0&id=
|
|
30139
|
+
;// CONCATENATED MODULE: ./components/demo/src/error-chat.vue?vue&type=style&index=0&id=7e23b569&prod&lang=scss&scoped=true
|
|
30128
30140
|
|
|
30129
30141
|
;// CONCATENATED MODULE: ./components/demo/src/error-chat.vue
|
|
30130
30142
|
|
|
@@ -30137,11 +30149,11 @@ var katex = {
|
|
|
30137
30149
|
|
|
30138
30150
|
var error_chat_component = normalizeComponent(
|
|
30139
30151
|
src_error_chatvue_type_script_lang_js,
|
|
30140
|
-
|
|
30141
|
-
|
|
30152
|
+
error_chatvue_type_template_id_7e23b569_scoped_true_render,
|
|
30153
|
+
error_chatvue_type_template_id_7e23b569_scoped_true_staticRenderFns,
|
|
30142
30154
|
false,
|
|
30143
30155
|
null,
|
|
30144
|
-
"
|
|
30156
|
+
"7e23b569",
|
|
30145
30157
|
null
|
|
30146
30158
|
|
|
30147
30159
|
)
|