Skip to content

Commit 7485678

Browse files
perf: Assistant dynamic load
1 parent db7fbca commit 7485678

File tree

2 files changed

+35
-1
lines changed

2 files changed

+35
-1
lines changed

frontend/src/i18n/zh-CN.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@
3131
"re_upload": "重新上传",
3232
"not_exceed_50mb": "支持 XLS、XLSX、CSV 格式,文件大小不超过 50MB",
3333
"reset_password": "重置密码",
34-
"password_reset_successful": "重置密码成功"
34+
"password_reset_successful": "重置密码成功",
35+
"or": "或者"
3536
},
3637
"dashboard": {
3738
"add_success": "添加成功",

frontend/src/views/system/embedded/index.vue

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -353,6 +353,7 @@ const btnSelect = ref('d')
353353
354354
const dialogVisible = ref(false)
355355
const scriptElement = ref('')
356+
const jsCodeElement = ref('')
356357
const handleEmbedded = (row: any) => {
357358
dialogVisible.value = true
358359
const { origin, pathname } = window.location
@@ -363,6 +364,25 @@ const handleEmbedded = (row: any) => {
363364
src="${origin + pathname}assistant.js?id=${row.id}"k-*g-#/scriptk-*`
364365
.replaceAll('g-#', '<')
365366
.replaceAll('k-*', '>')
367+
368+
jsCodeElement.value = `(function(){
369+
const script = document.createElement('script');
370+
script.defer = true;
371+
script.async = true;
372+
script.src = "${origin + pathname}assistant.js?id=${row.id}";
373+
script.id = "sqlbot-assistant-float-script-${row.id}";
374+
document.head.appendChild(script);
375+
})()`
376+
}
377+
const copyJsCode = () => {
378+
navigator.clipboard
379+
.writeText(jsCodeElement.value)
380+
.then(function () {
381+
ElMessage.success(t('embedded.copy_successful'))
382+
})
383+
.catch(function () {
384+
ElMessage.error(t('embedded.copy_successful'))
385+
})
366386
}
367387
const copyCode = () => {
368388
navigator.clipboard
@@ -774,6 +794,19 @@ const saveHandler = () => {
774794
{{ scriptElement }}
775795
</div>
776796
</div>
797+
798+
<div class="code">
799+
<div class="copy">
800+
{{ $t('common.or') }}
801+
<el-icon size="16" @click="copyJsCode">
802+
<icon_copy_outlined></icon_copy_outlined>
803+
</el-icon>
804+
</div>
805+
806+
<div class="script">
807+
{{ jsCodeElement }}
808+
</div>
809+
</div>
777810
</div>
778811
</el-dialog>
779812
<el-drawer

0 commit comments

Comments
 (0)