st-comp 0.0.238 → 0.0.240
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.d.ts +1 -0
- package/es/CustomFunction.cjs +1 -1
- package/es/CustomFunction.js +21 -21
- package/es/FactorWarning.cjs +1 -1
- package/es/FactorWarning.js +25 -25
- package/es/Kline.cjs +1 -1
- package/es/Kline.js +10 -10
- package/es/KlineBasic.cjs +1 -1
- package/es/KlineBasic.js +18 -18
- package/es/KlineConfig.cjs +1 -1
- package/es/KlineConfig.js +15 -15
- package/es/KlineNew.cjs +1 -1
- package/es/KlineNew.js +9 -9
- package/es/KlinePlus.cjs +1 -1
- package/es/KlinePlus.js +11 -11
- package/es/MonacoEditor.cjs +1 -1
- package/es/MonacoEditor.js +31 -3
- package/es/Pagination.cjs +1 -1
- package/es/Pagination.js +13 -13
- package/es/PasswordPrompt.cjs +1 -1
- package/es/PasswordPrompt.js +2 -2
- package/es/Table.cjs +1 -1
- package/es/Table.js +17 -17
- package/es/User.cjs +1 -1
- package/es/User.js +18 -18
- package/es/VarSelectDialog.cjs +3 -3
- package/es/VarSelectDialog.js +122 -178
- package/es/VarietyAutoComplete.cjs +1 -1
- package/es/VarietyAutoComplete.js +7 -7
- package/es/VarietySearch.cjs +18 -17
- package/es/VarietySearch.js +2622 -2421
- package/es/VarietySelect-2fd501da.cjs +1 -0
- package/es/VarietySelect-5a9dd50b.js +68 -0
- package/es/VarietyTextCopy.cjs +1 -1
- package/es/VarietyTextCopy.js +9 -9
- package/es/VirtualTable.cjs +1 -1
- package/es/VirtualTable.js +61 -61
- package/es/{_initCloneObject-52b6a510.cjs → _initCloneObject-3823a101.cjs} +1 -1
- package/es/{_initCloneObject-eaef9418.js → _initCloneObject-c34c65bc.js} +2 -2
- package/es/{config-provider-b16efd62.js → config-provider-06a63185.js} +3 -3
- package/es/{config-provider-a584d81e.cjs → config-provider-2182708a.cjs} +1 -1
- package/es/{dropdown-a59bba73.js → dropdown-302f71e7.js} +2 -2
- package/es/{dropdown-071c5d7e.cjs → dropdown-89b74bc9.cjs} +1 -1
- package/es/{el-autocomplete-a07e9439.cjs → el-autocomplete-b9a3054a.cjs} +1 -1
- package/es/{el-autocomplete-ba808eb6.js → el-autocomplete-ed75a659.js} +5 -5
- package/es/{el-button-eec58cff.cjs → el-button-68baab7b.cjs} +1 -1
- package/es/{el-button-c95adb85.js → el-button-d09ff85f.js} +3 -3
- package/es/{el-checkbox-7421ccd3.js → el-checkbox-64648e02.js} +3 -3
- package/es/{el-checkbox-c25236a6.cjs → el-checkbox-b982e2ef.cjs} +1 -1
- package/es/{el-dialog-41ab8417.js → el-dialog-6a80e3d8.js} +4 -4
- package/es/{el-dialog-ae86edb8.cjs → el-dialog-ad7309e9.cjs} +1 -1
- package/es/{el-form-item-c3fe189b.cjs → el-form-item-4076e55f.cjs} +1 -1
- package/es/{el-form-item-c53c374d.js → el-form-item-4eca95be.js} +5 -5
- package/es/{el-input-7fd293af.cjs → el-input-172c49f8.cjs} +1 -1
- package/es/{el-input-2f75c4ba.js → el-input-cae60510.js} +49 -49
- package/es/{el-input-number-5193fe6d.js → el-input-number-c2499410.js} +4 -4
- package/es/{el-input-number-22e21d16.cjs → el-input-number-c2e71528.cjs} +1 -1
- package/es/{el-loading-cfd86c15.cjs → el-loading-05826e64.cjs} +1 -1
- package/es/{el-loading-f6022062.js → el-loading-c738468d.js} +1 -1
- package/es/{el-menu-item-17dc717e.cjs → el-menu-item-7f986598.cjs} +1 -1
- package/es/{el-menu-item-7e881203.js → el-menu-item-f904f685.js} +4 -4
- package/es/{el-message-e544a8f5.js → el-message-0df23ae7.js} +5 -5
- package/es/{el-message-5e6a6be9.cjs → el-message-a86c0efa.cjs} +1 -1
- package/es/{el-message-box-a93d2f6a.js → el-message-box-05d8cf39.js} +9 -9
- package/es/{el-message-box-c10adb52.cjs → el-message-box-40ff2af5.cjs} +1 -1
- package/es/{el-overlay-09ad71cd.js → el-overlay-cc9bc792.js} +18 -18
- package/es/{el-overlay-9e34965f.cjs → el-overlay-d7a6e4a9.cjs} +1 -1
- package/es/{el-popconfirm-70a976bf.cjs → el-popconfirm-737a015b.cjs} +1 -1
- package/es/{el-popconfirm-81dcd202.js → el-popconfirm-a6f66a0e.js} +4 -4
- package/es/{el-popper-b6c99b28.cjs → el-popper-7ba87e05.cjs} +1 -1
- package/es/{el-popper-b4f97157.js → el-popper-a38874f4.js} +1 -1
- package/es/{el-segmented-f8fce9ac.cjs → el-segmented-3fd66a0e.cjs} +1 -1
- package/es/{el-segmented-b868d074.js → el-segmented-51b1c797.js} +2 -2
- package/es/{el-select-d8d91db1.cjs → el-select-12f6deb7.cjs} +1 -1
- package/es/{el-select-95627997.js → el-select-1b149fab.js} +8 -8
- package/es/{el-table-column-376cd907.js → el-table-column-3e30ebae.js} +9 -9
- package/es/{el-table-column-c974cb96.cjs → el-table-column-516a0ed9.cjs} +1 -1
- package/es/{el-tag-66cab138.js → el-tag-0a25efdf.js} +2 -2
- package/es/{el-tag-a33c4b22.cjs → el-tag-789f05d3.cjs} +1 -1
- package/es/{el-text-c20a9f48.cjs → el-text-1470de46.cjs} +1 -1
- package/es/{el-text-ac60d0f2.js → el-text-73d899ff.js} +1 -1
- package/es/{index-f967d6c1.cjs → index-269b22da.cjs} +1 -1
- package/es/{index-1f7d4f70.js → index-4194c942.js} +1 -1
- package/es/{index-e5566b94.js → index-42e59bf5.js} +1 -1
- package/es/{index-c108567d.cjs → index-4f48940d.cjs} +1 -1
- package/es/{index-d91dc23f.js → index-54d289d1.js} +2 -2
- package/es/{index-844bdd85.js → index-6806997d.js} +2 -2
- package/es/{index-f3562b52.cjs → index-696b6a94.cjs} +1 -1
- package/es/{index-88546436.js → index-6e967429.js} +2 -2
- package/es/{index-a871c3eb.js → index-87b4bf61.js} +75 -60
- package/es/{index-298075cf.cjs → index-8de94a49.cjs} +1 -1
- package/es/{index-57672682.js → index-94e43e0d.js} +2 -2
- package/es/{index-11547a0c.cjs → index-c04f444f.cjs} +1 -1
- package/es/{index-098c2447.cjs → index-cebc7160.cjs} +1 -1
- package/es/{index-9b9ef5dd.cjs → index-ee977f79.cjs} +1 -1
- package/es/{index-bc8e277e.js → index-f010e962.js} +12827 -12573
- package/es/{index-d725fef6.cjs → index-f3c57fc2.cjs} +138 -137
- package/es/{python-ecde9ff2.js → python-4f72dd2b.js} +39 -11
- package/es/{python-c27ba105.cjs → python-8ab6f282.cjs} +2 -2
- package/es/style.css +1 -1
- package/es/{use-form-common-props-fd9b61a0.cjs → use-form-common-props-344056f9.cjs} +1 -1
- package/es/{use-form-common-props-815d48a6.js → use-form-common-props-47e50c10.js} +28 -28
- package/es/{use-global-config-30d7d8ce.cjs → use-global-config-cf78ebac.cjs} +1 -1
- package/es/{use-global-config-b5e9d3d5.js → use-global-config-f52caea0.js} +4 -4
- package/es/{validator-1b8a6128.cjs → validator-3cad04b2.cjs} +1 -1
- package/es/{validator-764a9db0.js → validator-94c04152.js} +1 -1
- package/es/{zh-cn-e963c628.js → zh-cn-4921961d.js} +1 -1
- package/es/{zh-cn-90317f62.cjs → zh-cn-aabfaa94.cjs} +1 -1
- package/lib/bundle.js +1 -1
- package/lib/bundle.umd.cjs +227 -225
- package/lib/{index-f416420b.js → index-cc9cc2b8.js} +31435 -30979
- package/lib/{python-766b93ca.js → python-2281bb11.js} +1 -1
- package/lib/style.css +1 -1
- package/package.json +2 -1
- package/packages/MonacoEditor/index.vue +741 -70
- package/packages/VarietySearch/components/AddTag/index.vue +0 -1
- package/packages/VarietySearch/components/FactorScreen/index.vue +80 -12
- package/packages/VarietySearch/components/FactorScreen/tools.js +41 -0
- package/src/main.ts +16 -11
- package/src/pages/MonacoEditor/index.vue +1 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<script setup name="FactorScreen">
|
|
3
3
|
import { nextTick, ref, watch, inject, reactive } from "vue";
|
|
4
4
|
import { Close, Plus, CircleCloseFilled, InfoFilled, Document } from "@element-plus/icons-vue";
|
|
5
|
-
import { handleVerifyScore, extractConditionDetails, extractVariables } from "./tools.js";
|
|
5
|
+
import { handleVerifyScore, extractConditionDetails, extractVariables, sendToAi } from "./tools.js";
|
|
6
6
|
import FactorDescription from "./FactorDescription.vue";
|
|
7
7
|
import MonacoEditor from "../../../MonacoEditor/index.vue";
|
|
8
8
|
|
|
@@ -38,6 +38,7 @@ const visibleDescriptions = ref(false);
|
|
|
38
38
|
const factorType = ref("脚本");
|
|
39
39
|
const scriptTestLoading = ref(false);
|
|
40
40
|
const scriptCopyLoading = ref(false);
|
|
41
|
+
const scriptAILoading = ref(false);
|
|
41
42
|
const testVariety = ref("");
|
|
42
43
|
const testVarietyVisible = ref(false);
|
|
43
44
|
const scriptTestLogVisible = ref(false);
|
|
@@ -45,6 +46,7 @@ const scriptTestResult = reactive({
|
|
|
45
46
|
result: null,
|
|
46
47
|
detail: "",
|
|
47
48
|
code: "",
|
|
49
|
+
ai: "",
|
|
48
50
|
});
|
|
49
51
|
|
|
50
52
|
// 弹窗表单
|
|
@@ -322,6 +324,16 @@ const handleScriptCopy = async () => {
|
|
|
322
324
|
scriptCopyLoading.value = false;
|
|
323
325
|
}
|
|
324
326
|
};
|
|
327
|
+
// 测试: 复制
|
|
328
|
+
const handleTestCodeCopy = () => {
|
|
329
|
+
let txa = document.createElement("textarea");
|
|
330
|
+
txa.value = scriptTestResult.code;
|
|
331
|
+
document.body.appendChild(txa);
|
|
332
|
+
txa.select();
|
|
333
|
+
document.execCommand("copy");
|
|
334
|
+
document.body.removeChild(txa);
|
|
335
|
+
ElMessage.success("测试代码已经成功复制到粘贴板");
|
|
336
|
+
};
|
|
325
337
|
// 测试: 打开/确认/日志
|
|
326
338
|
const extractCodesFromString = (str) => {
|
|
327
339
|
if (!str) return [];
|
|
@@ -351,7 +363,7 @@ const handleScriptTest = async (action) => {
|
|
|
351
363
|
};
|
|
352
364
|
const testRes = await request.post("/common/qt/testFactorSelect", params);
|
|
353
365
|
const { result, detail } = testRes.body;
|
|
354
|
-
Object.assign(scriptTestResult, { result, detail, code: body });
|
|
366
|
+
Object.assign(scriptTestResult, { result, detail, code: body, ai: "" });
|
|
355
367
|
if (result === 1) {
|
|
356
368
|
ElMessage.success("测试通过");
|
|
357
369
|
} else {
|
|
@@ -372,6 +384,21 @@ const handleScriptTest = async (action) => {
|
|
|
372
384
|
}
|
|
373
385
|
}
|
|
374
386
|
};
|
|
387
|
+
// 测试: AI分析
|
|
388
|
+
const handleTestAi = () => {
|
|
389
|
+
const appId = "87be17ecc84d4d2ea3108d7155bec2ac";
|
|
390
|
+
const apiKey = "sk-d995eb26a4334bdeb2ccb4cbfaf51de8";
|
|
391
|
+
scriptAILoading.value = true;
|
|
392
|
+
scriptTestResult.ai = "";
|
|
393
|
+
sendToAi(appId, apiKey, scriptTestResult.code, (type, res) => {
|
|
394
|
+
if (type === "finish") {
|
|
395
|
+
scriptAILoading.value = false;
|
|
396
|
+
return;
|
|
397
|
+
}
|
|
398
|
+
scriptTestResult.ai = scriptTestResult.ai + res;
|
|
399
|
+
console.log(scriptTestResult.ai);
|
|
400
|
+
});
|
|
401
|
+
};
|
|
375
402
|
|
|
376
403
|
// 监控: 窗口开关
|
|
377
404
|
watch(
|
|
@@ -396,6 +423,8 @@ watch(
|
|
|
396
423
|
Object.assign(scriptTestResult, {
|
|
397
424
|
result: null,
|
|
398
425
|
detail: "",
|
|
426
|
+
code: "",
|
|
427
|
+
ai: "",
|
|
399
428
|
});
|
|
400
429
|
break;
|
|
401
430
|
}
|
|
@@ -818,6 +847,7 @@ watch(
|
|
|
818
847
|
ref="monacoEditorRef"
|
|
819
848
|
:language="'lua'"
|
|
820
849
|
:suggestionEnable="true"
|
|
850
|
+
:variableEnable="true"
|
|
821
851
|
/>
|
|
822
852
|
</div>
|
|
823
853
|
<template #footer>
|
|
@@ -890,7 +920,7 @@ watch(
|
|
|
890
920
|
<el-dialog
|
|
891
921
|
modal-class="log-dialog"
|
|
892
922
|
v-model="scriptTestLogVisible"
|
|
893
|
-
width="
|
|
923
|
+
width="80vw"
|
|
894
924
|
align-center
|
|
895
925
|
append-to-body
|
|
896
926
|
draggable
|
|
@@ -923,17 +953,53 @@ watch(
|
|
|
923
953
|
>
|
|
924
954
|
<pre>{{ scriptTestResult.code }}</pre>
|
|
925
955
|
</el-scrollbar>
|
|
926
|
-
<!-- 分割线 -->
|
|
927
|
-
<el-divider direction="vertical" />
|
|
928
956
|
<!-- 日志 -->
|
|
929
|
-
<el-scrollbar
|
|
957
|
+
<el-scrollbar
|
|
958
|
+
class="log"
|
|
959
|
+
height="600px"
|
|
960
|
+
>
|
|
930
961
|
<pre :class="scriptTestResult.result === 1 ? 'success-log' : 'error-log'">{{ scriptTestResult.result === 1 ? `✅️ 测试通过\n${scriptTestResult.detail}` : scriptTestResult.detail }}</pre>
|
|
931
962
|
</el-scrollbar>
|
|
963
|
+
<!-- AI分析结果 -->
|
|
964
|
+
<el-scrollbar
|
|
965
|
+
class="ai"
|
|
966
|
+
height="600px"
|
|
967
|
+
>
|
|
968
|
+
<v-md-editor
|
|
969
|
+
v-if="scriptTestResult.ai"
|
|
970
|
+
mode="preview"
|
|
971
|
+
:model-value="scriptTestResult.ai"
|
|
972
|
+
/>
|
|
973
|
+
<!-- 正在进行AI分析, 并且没有返回结果时, 展示骨架屏 -->
|
|
974
|
+
<el-skeleton
|
|
975
|
+
v-else-if="scriptAILoading"
|
|
976
|
+
:rows="5"
|
|
977
|
+
animated
|
|
978
|
+
/>
|
|
979
|
+
<!-- 未进行AI分析, 并且没有返回结果时, 展示文案 -->
|
|
980
|
+
<el-empty
|
|
981
|
+
v-else-if="!scriptAILoading"
|
|
982
|
+
description="点击下方按钮: AI分析, 分析结果将会展示在此处"
|
|
983
|
+
/>
|
|
984
|
+
</el-scrollbar>
|
|
932
985
|
</div>
|
|
933
986
|
<!-- 底部 -->
|
|
934
987
|
<template #footer>
|
|
935
988
|
<div class="dialog-footer">
|
|
936
|
-
<el-button
|
|
989
|
+
<el-button
|
|
990
|
+
type="primary"
|
|
991
|
+
:loading="scriptAILoading"
|
|
992
|
+
@click="handleTestAi"
|
|
993
|
+
>
|
|
994
|
+
AI分析
|
|
995
|
+
</el-button>
|
|
996
|
+
<el-button
|
|
997
|
+
type="primary"
|
|
998
|
+
@click="handleTestCodeCopy"
|
|
999
|
+
>
|
|
1000
|
+
复制
|
|
1001
|
+
</el-button>
|
|
1002
|
+
<el-button @click="scriptTestLogVisible = false">关闭</el-button>
|
|
937
1003
|
</div>
|
|
938
1004
|
</template>
|
|
939
1005
|
</el-dialog>
|
|
@@ -1028,15 +1094,13 @@ watch(
|
|
|
1028
1094
|
}
|
|
1029
1095
|
.content {
|
|
1030
1096
|
display: flex;
|
|
1031
|
-
|
|
1097
|
+
gap: 1px;
|
|
1032
1098
|
.el-scrollbar {
|
|
1099
|
+
background-color: var(--el-color-black);
|
|
1033
1100
|
flex: 1;
|
|
1034
1101
|
box-sizing: border-box;
|
|
1035
1102
|
padding: 8px;
|
|
1036
|
-
|
|
1037
|
-
.el-divider {
|
|
1038
|
-
margin: 0;
|
|
1039
|
-
height: 616px;
|
|
1103
|
+
border: var(--el-border);
|
|
1040
1104
|
}
|
|
1041
1105
|
.code {
|
|
1042
1106
|
color: var(--el-color-info);
|
|
@@ -1054,6 +1118,10 @@ watch(
|
|
|
1054
1118
|
word-break: break-all;
|
|
1055
1119
|
word-wrap: break-word;
|
|
1056
1120
|
}
|
|
1121
|
+
.ai {
|
|
1122
|
+
flex: 2;
|
|
1123
|
+
background-color: white;
|
|
1124
|
+
}
|
|
1057
1125
|
}
|
|
1058
1126
|
}
|
|
1059
1127
|
</style>
|
|
@@ -32,3 +32,44 @@ export const extractVariables = (content) => {
|
|
|
32
32
|
|
|
33
33
|
return [...new Set(variables)]; // 去重
|
|
34
34
|
};
|
|
35
|
+
|
|
36
|
+
// 发送AI
|
|
37
|
+
export const sendToAi = async (appId, apiKey, value, callback) => {
|
|
38
|
+
try {
|
|
39
|
+
const res = await fetch(`https://dashscope.aliyuncs.com/api/v1/apps/${appId}/completion`, {
|
|
40
|
+
method: "POST",
|
|
41
|
+
body: JSON.stringify({
|
|
42
|
+
input: { prompt: value },
|
|
43
|
+
parameters: {
|
|
44
|
+
incremental_output: "true", // 流式返回
|
|
45
|
+
},
|
|
46
|
+
debug: {},
|
|
47
|
+
}),
|
|
48
|
+
headers: {
|
|
49
|
+
Authorization: `Bearer ${apiKey}`,
|
|
50
|
+
"Content-Type": "application/json",
|
|
51
|
+
"X-DashScope-SSE": "enable", // 流式输出
|
|
52
|
+
},
|
|
53
|
+
});
|
|
54
|
+
if (!res.ok || !res.body) throw new Error("请求失败");
|
|
55
|
+
|
|
56
|
+
const reader = res.body.getReader();
|
|
57
|
+
const decoder = new TextDecoder();
|
|
58
|
+
|
|
59
|
+
while (true) {
|
|
60
|
+
const { done, value } = await reader.read();
|
|
61
|
+
if (done && callback) {
|
|
62
|
+
callback("finish", "");
|
|
63
|
+
break;
|
|
64
|
+
}
|
|
65
|
+
try {
|
|
66
|
+
const data = decoder.decode(value, { stream: true });
|
|
67
|
+
const resData = JSON.parse(data.split("\n")[3].substr(5));
|
|
68
|
+
const resText = resData?.output?.text;
|
|
69
|
+
if (resText && callback) callback("message", resText);
|
|
70
|
+
} catch (error) {}
|
|
71
|
+
}
|
|
72
|
+
} catch (error) {
|
|
73
|
+
console.error(error);
|
|
74
|
+
}
|
|
75
|
+
};
|
package/src/main.ts
CHANGED
|
@@ -1,12 +1,17 @@
|
|
|
1
|
-
import { createApp } from
|
|
2
|
-
import
|
|
3
|
-
import App from
|
|
4
|
-
import router from
|
|
5
|
-
import stComp from
|
|
6
|
-
import { createPinia } from
|
|
1
|
+
import { createApp } from "vue";
|
|
2
|
+
import "./style.css";
|
|
3
|
+
import App from "./App.vue";
|
|
4
|
+
import router from "./router";
|
|
5
|
+
import stComp from "../packages/index.ts";
|
|
6
|
+
import { createPinia } from "pinia";
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
8
|
+
// markdown编辑预览组件
|
|
9
|
+
import "@kangc/v-md-editor/lib/style/base-editor.css";
|
|
10
|
+
import "@kangc/v-md-editor/lib/theme/style/vuepress.css";
|
|
11
|
+
import Prism from "prismjs";
|
|
12
|
+
import vuepressTheme from "@kangc/v-md-editor/lib/theme/vuepress.js";
|
|
13
|
+
import VueMarkdownEditor from "@kangc/v-md-editor";
|
|
14
|
+
|
|
15
|
+
VueMarkdownEditor.use(vuepressTheme, { Prism });
|
|
16
|
+
|
|
17
|
+
createApp(App).use(router).use(stComp).use(createPinia()).use(VueMarkdownEditor).mount("#app");
|