ai-error-assistant-mobile 0.0.14 → 0.0.15
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 +36 -25
- package/dist/ai-error-assistant-mobile.common.js +49 -37
- package/dist/ai-error-assistant-mobile.common.js.map +1 -1
- package/dist/ai-error-assistant-mobile.css +1 -1
- package/dist/ai-error-assistant-mobile.umd.js +49 -37
- package/dist/ai-error-assistant-mobile.umd.js.map +1 -1
- package/dist/ai-error-assistant-mobile.umd.min.js +1 -1
- package/dist/ai-error-assistant-mobile.umd.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
v-if="questionStem.type === 'shortanswer' || questionStem.type === 'gapfilling'">
|
|
35
35
|
<span style="vertical-align: inherit; display: inline-block">正确答案:</span>
|
|
36
36
|
<span style="margin-left: 8px; display: inline-block; width: calc(100% - 82px); vertical-align: top;"
|
|
37
|
-
v-html="questionStem.answer.join(',')"></span>
|
|
37
|
+
v-html="renderFormulas(questionStem.answer.join(','))"></span>
|
|
38
38
|
</div>
|
|
39
39
|
<div class="student-answer-part">
|
|
40
40
|
<div class="check-content" style="width: 24px; margin-right: 16px">
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
<!-- {{ item }}<span v-if="index !== questionStem.studentAnswer.length - 1">,</span>-->
|
|
58
58
|
<!-- </span>-->
|
|
59
59
|
<div v-if="questionStem.type === 'shortanswer' || questionStem.type === 'gapfilling'">
|
|
60
|
-
<span style="margin-left: 8px" v-html="questionStem.studentAnswer.join(',')"></span>
|
|
60
|
+
<span style="margin-left: 8px" v-html="renderFormulas(questionStem.studentAnswer.join(','))"></span>
|
|
61
61
|
</div>
|
|
62
62
|
</div>
|
|
63
63
|
</div>
|
|
@@ -209,43 +209,54 @@ export default {
|
|
|
209
209
|
}
|
|
210
210
|
},
|
|
211
211
|
renderFormulas(text) {
|
|
212
|
-
|
|
212
|
+
if (!text) return '';
|
|
213
|
+
// 如果整个文本包含 LaTeX 命令且没有定界符,整体包裹
|
|
214
|
+
const hasDelimiter = /\$|\\\(|\\\[/.test(text);
|
|
215
|
+
if (!hasDelimiter) {
|
|
216
|
+
text = text.replace(
|
|
217
|
+
/(\\(?: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,
|
|
218
|
+
(match) => `\\(${match}\\)`
|
|
219
|
+
);
|
|
220
|
+
}
|
|
221
|
+
const { renderToString } = katex;
|
|
213
222
|
return text
|
|
214
|
-
|
|
223
|
+
// 块级公式 $$...$$
|
|
224
|
+
.replace(/\$\$(.*?)\$\$/gs, (match, p1) => {
|
|
215
225
|
try {
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
} catch (
|
|
219
|
-
console.error('
|
|
226
|
+
return renderToString(p1, { displayMode: true, throwOnError:
|
|
227
|
+
false });
|
|
228
|
+
} catch (e) {
|
|
229
|
+
console.error('Block formula error:', e);
|
|
220
230
|
return match;
|
|
221
231
|
}
|
|
222
232
|
})
|
|
223
|
-
|
|
224
|
-
|
|
233
|
+
// 行内公式 $...$
|
|
234
|
+
.replace(/\$(.*?)\$/g, (match, p1) => {
|
|
225
235
|
try {
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
} catch (
|
|
229
|
-
console.error('
|
|
236
|
+
return renderToString(p1, { displayMode: false, throwOnError:
|
|
237
|
+
false });
|
|
238
|
+
} catch (e) {
|
|
239
|
+
console.error('Inline formula error:', e);
|
|
230
240
|
return match;
|
|
231
241
|
}
|
|
232
242
|
})
|
|
233
|
-
|
|
243
|
+
// 行内公式 \( ... \)
|
|
244
|
+
.replace(/\\\((.*?)\\\)/g, (match, p1) => {
|
|
234
245
|
try {
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
} catch (
|
|
238
|
-
console.error('
|
|
246
|
+
return renderToString(p1, { displayMode: false, throwOnError:
|
|
247
|
+
false });
|
|
248
|
+
} catch (e) {
|
|
249
|
+
console.error('Inline formula error:', e);
|
|
239
250
|
return match;
|
|
240
251
|
}
|
|
241
252
|
})
|
|
242
|
-
|
|
243
|
-
|
|
253
|
+
// 块级公式 \[ ... \]
|
|
254
|
+
.replace(/\\\[(.*?)\\\]/gs, (match, p1) => {
|
|
244
255
|
try {
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
} catch (
|
|
248
|
-
console.error('
|
|
256
|
+
return renderToString(p1, { displayMode: true, throwOnError:
|
|
257
|
+
false });
|
|
258
|
+
} catch (e) {
|
|
259
|
+
console.error('Block formula error:', e);
|
|
249
260
|
return match;
|
|
250
261
|
}
|
|
251
262
|
});
|
|
@@ -11535,8 +11535,8 @@ var component = normalizeComponent(
|
|
|
11535
11535
|
)
|
|
11536
11536
|
|
|
11537
11537
|
/* harmony default export */ var chat_tools = (component.exports);
|
|
11538
|
-
;// 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=
|
|
11539
|
-
var
|
|
11538
|
+
;// 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=53ecc787&scoped=true
|
|
11539
|
+
var error_chatvue_type_template_id_53ecc787_scoped_true_render = function render() {
|
|
11540
11540
|
var _vm = this,
|
|
11541
11541
|
_c = _vm._self._c;
|
|
11542
11542
|
return _c('div', {
|
|
@@ -11602,7 +11602,7 @@ var error_chatvue_type_template_id_d86a710c_scoped_true_render = function render
|
|
|
11602
11602
|
"vertical-align": "top"
|
|
11603
11603
|
},
|
|
11604
11604
|
domProps: {
|
|
11605
|
-
"innerHTML": _vm._s(_vm.questionStem.answer.join(','))
|
|
11605
|
+
"innerHTML": _vm._s(_vm.renderFormulas(_vm.questionStem.answer.join(',')))
|
|
11606
11606
|
}
|
|
11607
11607
|
})]) : _vm._e(), _c('div', {
|
|
11608
11608
|
staticClass: "student-answer-part"
|
|
@@ -11627,7 +11627,7 @@ var error_chatvue_type_template_id_d86a710c_scoped_true_render = function render
|
|
|
11627
11627
|
"margin-left": "8px"
|
|
11628
11628
|
},
|
|
11629
11629
|
domProps: {
|
|
11630
|
-
"innerHTML": _vm._s(_vm.questionStem.studentAnswer.join(','))
|
|
11630
|
+
"innerHTML": _vm._s(_vm.renderFormulas(_vm.questionStem.studentAnswer.join(',')))
|
|
11631
11631
|
}
|
|
11632
11632
|
})]) : _vm._e()])]), _c('div', {
|
|
11633
11633
|
directives: [{
|
|
@@ -11681,7 +11681,7 @@ var error_chatvue_type_template_id_d86a710c_scoped_true_render = function render
|
|
|
11681
11681
|
}
|
|
11682
11682
|
})], 1)]);
|
|
11683
11683
|
};
|
|
11684
|
-
var
|
|
11684
|
+
var error_chatvue_type_template_id_53ecc787_scoped_true_staticRenderFns = [function () {
|
|
11685
11685
|
var _vm = this,
|
|
11686
11686
|
_c = _vm._self._c;
|
|
11687
11687
|
return _c('div', {
|
|
@@ -11700,7 +11700,7 @@ var error_chatvue_type_template_id_d86a710c_scoped_true_staticRenderFns = [funct
|
|
|
11700
11700
|
})]);
|
|
11701
11701
|
}];
|
|
11702
11702
|
|
|
11703
|
-
;// CONCATENATED MODULE: ./components/demo/src/error-chat.vue?vue&type=template&id=
|
|
11703
|
+
;// CONCATENATED MODULE: ./components/demo/src/error-chat.vue?vue&type=template&id=53ecc787&scoped=true
|
|
11704
11704
|
|
|
11705
11705
|
;// CONCATENATED MODULE: ./node_modules/katex/dist/katex.mjs
|
|
11706
11706
|
/**
|
|
@@ -30107,49 +30107,61 @@ var katex = {
|
|
|
30107
30107
|
}
|
|
30108
30108
|
},
|
|
30109
30109
|
renderFormulas(text) {
|
|
30110
|
+
if (!text) return '';
|
|
30111
|
+
// 如果整个文本包含 LaTeX 命令且没有定界符,整体包裹
|
|
30112
|
+
const hasDelimiter = /\$|\\\(|\\\[/.test(text);
|
|
30113
|
+
if (!hasDelimiter) {
|
|
30114
|
+
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}\\)`);
|
|
30115
|
+
}
|
|
30110
30116
|
const {
|
|
30111
30117
|
renderToString
|
|
30112
30118
|
} = katex;
|
|
30113
|
-
return text
|
|
30119
|
+
return text
|
|
30120
|
+
// 块级公式 $$...$$
|
|
30121
|
+
.replace(/\$\$(.*?)\$\$/gs, (match, p1) => {
|
|
30114
30122
|
try {
|
|
30115
|
-
|
|
30116
|
-
|
|
30117
|
-
|
|
30123
|
+
return renderToString(p1, {
|
|
30124
|
+
displayMode: true,
|
|
30125
|
+
throwOnError: false
|
|
30118
30126
|
});
|
|
30119
|
-
} catch (
|
|
30120
|
-
console.error('
|
|
30127
|
+
} catch (e) {
|
|
30128
|
+
console.error('Block formula error:', e);
|
|
30121
30129
|
return match;
|
|
30122
30130
|
}
|
|
30123
|
-
})
|
|
30124
|
-
|
|
30131
|
+
})
|
|
30132
|
+
// 行内公式 $...$
|
|
30133
|
+
.replace(/\$(.*?)\$/g, (match, p1) => {
|
|
30125
30134
|
try {
|
|
30126
|
-
|
|
30127
|
-
|
|
30128
|
-
|
|
30135
|
+
return renderToString(p1, {
|
|
30136
|
+
displayMode: false,
|
|
30137
|
+
throwOnError: false
|
|
30129
30138
|
});
|
|
30130
|
-
} catch (
|
|
30131
|
-
console.error('
|
|
30139
|
+
} catch (e) {
|
|
30140
|
+
console.error('Inline formula error:', e);
|
|
30132
30141
|
return match;
|
|
30133
30142
|
}
|
|
30134
|
-
})
|
|
30143
|
+
})
|
|
30144
|
+
// 行内公式 \( ... \)
|
|
30145
|
+
.replace(/\\\((.*?)\\\)/g, (match, p1) => {
|
|
30135
30146
|
try {
|
|
30136
|
-
|
|
30137
|
-
|
|
30138
|
-
|
|
30147
|
+
return renderToString(p1, {
|
|
30148
|
+
displayMode: false,
|
|
30149
|
+
throwOnError: false
|
|
30139
30150
|
});
|
|
30140
|
-
} catch (
|
|
30141
|
-
console.error('
|
|
30151
|
+
} catch (e) {
|
|
30152
|
+
console.error('Inline formula error:', e);
|
|
30142
30153
|
return match;
|
|
30143
30154
|
}
|
|
30144
|
-
})
|
|
30145
|
-
|
|
30155
|
+
})
|
|
30156
|
+
// 块级公式 \[ ... \]
|
|
30157
|
+
.replace(/\\\[(.*?)\\\]/gs, (match, p1) => {
|
|
30146
30158
|
try {
|
|
30147
|
-
|
|
30148
|
-
|
|
30149
|
-
|
|
30159
|
+
return renderToString(p1, {
|
|
30160
|
+
displayMode: true,
|
|
30161
|
+
throwOnError: false
|
|
30150
30162
|
});
|
|
30151
|
-
} catch (
|
|
30152
|
-
console.error('
|
|
30163
|
+
} catch (e) {
|
|
30164
|
+
console.error('Block formula error:', e);
|
|
30153
30165
|
return match;
|
|
30154
30166
|
}
|
|
30155
30167
|
});
|
|
@@ -30158,10 +30170,10 @@ var katex = {
|
|
|
30158
30170
|
});
|
|
30159
30171
|
;// CONCATENATED MODULE: ./components/demo/src/error-chat.vue?vue&type=script&lang=js
|
|
30160
30172
|
/* harmony default export */ var src_error_chatvue_type_script_lang_js = (error_chatvue_type_script_lang_js);
|
|
30161
|
-
;// 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=
|
|
30173
|
+
;// 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=53ecc787&prod&lang=scss&scoped=true
|
|
30162
30174
|
// extracted by mini-css-extract-plugin
|
|
30163
30175
|
|
|
30164
|
-
;// CONCATENATED MODULE: ./components/demo/src/error-chat.vue?vue&type=style&index=0&id=
|
|
30176
|
+
;// CONCATENATED MODULE: ./components/demo/src/error-chat.vue?vue&type=style&index=0&id=53ecc787&prod&lang=scss&scoped=true
|
|
30165
30177
|
|
|
30166
30178
|
;// CONCATENATED MODULE: ./components/demo/src/error-chat.vue
|
|
30167
30179
|
|
|
@@ -30174,11 +30186,11 @@ var katex = {
|
|
|
30174
30186
|
|
|
30175
30187
|
var error_chat_component = normalizeComponent(
|
|
30176
30188
|
src_error_chatvue_type_script_lang_js,
|
|
30177
|
-
|
|
30178
|
-
|
|
30189
|
+
error_chatvue_type_template_id_53ecc787_scoped_true_render,
|
|
30190
|
+
error_chatvue_type_template_id_53ecc787_scoped_true_staticRenderFns,
|
|
30179
30191
|
false,
|
|
30180
30192
|
null,
|
|
30181
|
-
"
|
|
30193
|
+
"53ecc787",
|
|
30182
30194
|
null
|
|
30183
30195
|
|
|
30184
30196
|
)
|