zkqh-lagrange-utils 0.0.51 → 0.0.53
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/dist/assets/font/iconfont-lc.css +139 -3
- package/package.json +22 -3
- package/src/service/export_plugin/PluginLocalExport.jsx +205 -0
- package/src/service/export_plugin/api/index.js +6 -0
- package/src/service/export_plugin/api/plugin-bridge.js +154 -0
- package/src/service/export_plugin/api/plugin.js +95 -0
- package/src/service/export_plugin/hooks/use-plugin-health.js +94 -0
- package/src/service/export_plugin/index.js +15 -0
- package/src/service/export_plugin/internal/create-folder-modal.jsx +102 -0
- package/src/service/export_plugin/internal/plugin-dir-select.jsx +343 -0
- package/src/service/export_plugin/internal/styles/export-plugin-modals.less +4 -0
- package/src/service/export_plugin/internal/styles/plugin-dir-select.less +85 -0
- package/src/service/export_plugin/internal/styles/plugin-local-export.less +65 -0
- package/src/service/export_plugin/utils/plugin-dir.js +101 -0
- package/src/service/export_plugin/utils/size.js +41 -0
- package/dist/assets/css/naive-ui/default.css +0 -18
- package/dist/assets/css/naive-ui/light.css +0 -22
- package/dist/assets/css/naive-ui/style.less +0 -380
- package/dist/assets/font/font-family/DIN-Medium-2.otf +0 -0
- package/dist/assets/font/font-family/DIN-Regular-2.otf +0 -0
- package/dist/assets/font/font-family//344/274/230/350/256/276/346/240/207/351/242/230/351/273/221.ttf +0 -0
- package/dist/assets/model/group/Image_01.png +0 -0
- package/dist/assets/model/group/yepian_inner.fbx +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
@font-face {
|
|
2
2
|
font-family: "lc"; /* Project id 5090041 */
|
|
3
3
|
src:
|
|
4
|
-
url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'),
|
|
5
|
-
url('//at.alicdn.com/t/c/
|
|
6
|
-
url('//at.alicdn.com/t/c/
|
|
4
|
+
url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'),
|
|
5
|
+
url('//at.alicdn.com/t/c/font_5090041_bogv5r3zpe.woff?t=1784458915849') format('woff'),
|
|
6
|
+
url('//at.alicdn.com/t/c/font_5090041_bogv5r3zpe.ttf?t=1784458915849') format('truetype');
|
|
7
7
|
}
|
|
8
8
|
|
|
9
9
|
.lc {
|
|
@@ -14,6 +14,142 @@
|
|
|
14
14
|
-moz-osx-font-smoothing: grayscale;
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
+
.lc-wenjiandaochu:before {
|
|
18
|
+
content: "\e6af";
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.lc-Warning:before {
|
|
22
|
+
content: "\e68f";
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.lc-tuxing1:before {
|
|
26
|
+
content: "\e691";
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.lc-lock:before {
|
|
30
|
+
content: "\e7fb";
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.lc-gold-outlined:before {
|
|
34
|
+
content: "\e821";
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.lc-a-bianzu231:before {
|
|
38
|
+
content: "\e71a";
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.lc-a-bianzu191:before {
|
|
42
|
+
content: "\e70f";
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.lc-a-bianzu221:before {
|
|
46
|
+
content: "\e711";
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.lc-bianzu5:before {
|
|
50
|
+
content: "\e712";
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.lc-linechart-outlined:before {
|
|
54
|
+
content: "\e710";
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.lc-calendar-filled:before {
|
|
58
|
+
content: "\e717";
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.lc-a-bianzu16:before {
|
|
62
|
+
content: "\e71b";
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.lc-a-bianzu14:before {
|
|
66
|
+
content: "\e715";
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.lc-a-bianzu15:before {
|
|
70
|
+
content: "\e718";
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.lc-ungroup-outlined:before {
|
|
74
|
+
content: "\e720";
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.lc-pound-outlined:before {
|
|
78
|
+
content: "\e723";
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.lc-a-bianzu7:before {
|
|
82
|
+
content: "\e6f9";
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.lc-haishangshengyazhan:before {
|
|
86
|
+
content: "\e75e";
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.lc-fengchangleixing:before {
|
|
90
|
+
content: "\e682";
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.lc-lvzhou_yunwei:before {
|
|
94
|
+
content: "\e629";
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.lc-fabu:before {
|
|
98
|
+
content: "\e65d";
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.lc-zonghefenxi:before {
|
|
102
|
+
content: "\e690";
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.lc-shuju:before {
|
|
106
|
+
content: "\e70c";
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.lc-rengongzhinengdanao:before {
|
|
110
|
+
content: "\e612";
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.lc-fengchang1:before {
|
|
114
|
+
content: "\e601";
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
.lc-app:before {
|
|
118
|
+
content: "\e603";
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.lc-a-3d:before {
|
|
122
|
+
content: "\e67b";
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
.lc-lishiguzhang:before {
|
|
126
|
+
content: "\e7ad";
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.lc-fenxi:before {
|
|
130
|
+
content: "\e672";
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
.lc-a-PLCinformationmanagement:before {
|
|
134
|
+
content: "\e63e";
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
.lc-modbuskongzhiqi:before {
|
|
138
|
+
content: "\e684";
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
.lc-beikongshuiwupingtaimenhu-tubiao_zhinengwangguan:before {
|
|
142
|
+
content: "\e62e";
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
.lc-zhukong:before {
|
|
146
|
+
content: "\e6e9";
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
.lc-a-bianzu21:before {
|
|
150
|
+
content: "\e732";
|
|
151
|
+
}
|
|
152
|
+
|
|
17
153
|
.lc-yingyongshangcheng:before {
|
|
18
154
|
content: "\e675";
|
|
19
155
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zkqh-lagrange-utils",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.53",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"dev": "vite",
|
|
@@ -18,6 +18,14 @@
|
|
|
18
18
|
"import": "./dist/lagrange-utils.js",
|
|
19
19
|
"require": "./dist/lagrange-utils.umd.cjs"
|
|
20
20
|
},
|
|
21
|
+
"./export_plugin": {
|
|
22
|
+
"import": "./src/service/export_plugin/index.js",
|
|
23
|
+
"default": "./src/service/export_plugin/index.js"
|
|
24
|
+
},
|
|
25
|
+
"./export_plugin/api": {
|
|
26
|
+
"import": "./src/service/export_plugin/api/index.js",
|
|
27
|
+
"default": "./src/service/export_plugin/api/index.js"
|
|
28
|
+
},
|
|
21
29
|
"./style.css": {
|
|
22
30
|
"default": "./dist/style.css"
|
|
23
31
|
},
|
|
@@ -34,13 +42,24 @@
|
|
|
34
42
|
"files": [
|
|
35
43
|
"dist",
|
|
36
44
|
"assets",
|
|
45
|
+
"src/service",
|
|
37
46
|
"postcss.config.js",
|
|
38
47
|
"postcss.config.cjs"
|
|
39
48
|
],
|
|
40
49
|
"dependencies": {
|
|
41
|
-
"vue": "^3.5.24",
|
|
42
50
|
"autoprefixer": "^10.4.22",
|
|
43
|
-
"
|
|
51
|
+
"axios": "^1.18.1",
|
|
52
|
+
"postcss-pxtorem": "^6.1.0",
|
|
53
|
+
"vue": "^3.3.0"
|
|
54
|
+
},
|
|
55
|
+
"peerDependencies": {
|
|
56
|
+
"naive-ui": "^2.40.0",
|
|
57
|
+
"vue": "^3.3.0"
|
|
58
|
+
},
|
|
59
|
+
"peerDependenciesMeta": {
|
|
60
|
+
"naive-ui": {
|
|
61
|
+
"optional": true
|
|
62
|
+
}
|
|
44
63
|
},
|
|
45
64
|
"devDependencies": {
|
|
46
65
|
"@vitejs/plugin-vue": "^5.0.4",
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
import { defineComponent, ref, computed, toRefs, onMounted } from "vue"
|
|
2
|
+
import { PluginDirSelect } from "./internal/plugin-dir-select.jsx"
|
|
3
|
+
import { usePluginHealth } from "./hooks/use-plugin-health.js"
|
|
4
|
+
import { isOverSizeLimit, isPreviewOverflowDisk } from "./utils/size.js"
|
|
5
|
+
import "./internal/styles/plugin-local-export.less"
|
|
6
|
+
import("./assets/font/iconfont-lc.css")
|
|
7
|
+
|
|
8
|
+
const DEFAULT_PREVIEW = {
|
|
9
|
+
show: false,
|
|
10
|
+
totalSize: 0,
|
|
11
|
+
exportDisabled: false,
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* 本地导出组合区:平台/应用小文件导出 + 插件目录导出 + 50MB 分流
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* <PluginLocalExport
|
|
19
|
+
* previewInfo={{ show, totalSize, exportDisabled }}
|
|
20
|
+
* downloadUrl={url}
|
|
21
|
+
* onSuccess={({ mode, dirname }) => {}}
|
|
22
|
+
* />
|
|
23
|
+
*/
|
|
24
|
+
export const PluginLocalExport = defineComponent({
|
|
25
|
+
name: "PluginLocalExport",
|
|
26
|
+
props: {
|
|
27
|
+
/**
|
|
28
|
+
* 预览与分流控制
|
|
29
|
+
* @type {{ show?: boolean, totalSize?: number, exportDisabled?: boolean }}
|
|
30
|
+
*/
|
|
31
|
+
previewInfo: {
|
|
32
|
+
type: Object,
|
|
33
|
+
default: () => ({ ...DEFAULT_PREVIEW }),
|
|
34
|
+
},
|
|
35
|
+
/** 插件安装包下载地址 */
|
|
36
|
+
downloadUrl: { type: String, default: "" },
|
|
37
|
+
},
|
|
38
|
+
emits: ["success"],
|
|
39
|
+
setup(props, { emit }) {
|
|
40
|
+
const { previewInfo, downloadUrl } = toRefs(props)
|
|
41
|
+
const dirname = ref("")
|
|
42
|
+
const diskInfo = ref({ total_size: 0, used_size: 0 })
|
|
43
|
+
|
|
44
|
+
const health = usePluginHealth({
|
|
45
|
+
downloadUrl: () => downloadUrl.value,
|
|
46
|
+
})
|
|
47
|
+
const { pluginReady, checkHealth, triggerInstall } = health
|
|
48
|
+
|
|
49
|
+
onMounted(() => {
|
|
50
|
+
checkHealth()
|
|
51
|
+
})
|
|
52
|
+
|
|
53
|
+
const preview = computed(() => ({
|
|
54
|
+
...DEFAULT_PREVIEW,
|
|
55
|
+
...(previewInfo.value || {}),
|
|
56
|
+
}))
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* 是否展示平台/应用导出区(≤50MB)
|
|
60
|
+
* show=true 且未禁用且有大小且未超 50MB
|
|
61
|
+
*/
|
|
62
|
+
const usePlatformExport = computed(() => {
|
|
63
|
+
const info = preview.value
|
|
64
|
+
if (!info.show || info.exportDisabled) return false
|
|
65
|
+
const size = Number(info.totalSize) || 0
|
|
66
|
+
if (size <= 0) return false
|
|
67
|
+
return !isOverSizeLimit(size)
|
|
68
|
+
})
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* 是否展示插件导出区
|
|
72
|
+
* - show=false:始终插件
|
|
73
|
+
* - show=true:已可导出且 >50MB
|
|
74
|
+
*/
|
|
75
|
+
const usePluginExport = computed(() => {
|
|
76
|
+
const info = preview.value
|
|
77
|
+
if (!info.show) return true
|
|
78
|
+
if (info.exportDisabled) return false
|
|
79
|
+
const size = Number(info.totalSize) || 0
|
|
80
|
+
if (size <= 0) return false
|
|
81
|
+
return isOverSizeLimit(size)
|
|
82
|
+
})
|
|
83
|
+
|
|
84
|
+
/** 插件路径:预览大小是否超出当前目录剩余空间 */
|
|
85
|
+
const diskOverflow = computed(() => {
|
|
86
|
+
if (!pluginReady.value || !usePluginExport.value) return false
|
|
87
|
+
const info = preview.value
|
|
88
|
+
if (!info.show) return false
|
|
89
|
+
return isPreviewOverflowDisk(info.totalSize, diskInfo.value)
|
|
90
|
+
})
|
|
91
|
+
|
|
92
|
+
const pluginExportDisabled = computed(() => {
|
|
93
|
+
if (!pluginReady.value) return true
|
|
94
|
+
if (!dirname.value) return true
|
|
95
|
+
if (diskOverflow.value) return true
|
|
96
|
+
return false
|
|
97
|
+
})
|
|
98
|
+
|
|
99
|
+
const pluginButtonTitle = computed(() => {
|
|
100
|
+
if (!pluginReady.value) return "请先安装并启动导出插件"
|
|
101
|
+
if (!dirname.value) return "请选择本地导出目录"
|
|
102
|
+
if (diskOverflow.value) return "预估大小超出本地目录剩余空间,无法导出"
|
|
103
|
+
return ""
|
|
104
|
+
})
|
|
105
|
+
|
|
106
|
+
const onDiskInfoUpdate = (info) => {
|
|
107
|
+
diskInfo.value = info || { total_size: 0, used_size: 0 }
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
const onInstall = () => {
|
|
111
|
+
triggerInstall()
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/** 平台/应用路径:确认后回调 */
|
|
115
|
+
const onPlatformExportClick = () => {
|
|
116
|
+
window.$dialog?.warning?.({
|
|
117
|
+
title: "确认导出",
|
|
118
|
+
content: "确认按当前筛选条件通过平台打包下载?",
|
|
119
|
+
positiveText: "确认",
|
|
120
|
+
negativeText: "取消",
|
|
121
|
+
onPositiveClick: () => {
|
|
122
|
+
emit("success", { mode: "platform" })
|
|
123
|
+
},
|
|
124
|
+
})
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/** 插件路径:校验后回调(含 dirname) */
|
|
128
|
+
const onPluginExportClick = () => {
|
|
129
|
+
if (pluginExportDisabled.value) return
|
|
130
|
+
emit("success", { mode: "plugin", dirname: dirname.value })
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
return () => {
|
|
134
|
+
const showPlatform = usePlatformExport.value
|
|
135
|
+
const showPlugin = usePluginExport.value
|
|
136
|
+
|
|
137
|
+
if (!showPlatform && !showPlugin) {
|
|
138
|
+
return null
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
return (
|
|
142
|
+
<div class="plugin_local_export">
|
|
143
|
+
{showPlatform ? (
|
|
144
|
+
<div class="_ple_platform">
|
|
145
|
+
<span class="__tip lc-fs-m">文件小于50MB,请直接导出!</span>
|
|
146
|
+
<span
|
|
147
|
+
class="__action lc_btn_primary lc_btn_m"
|
|
148
|
+
onClick={onPlatformExportClick}>
|
|
149
|
+
导 出
|
|
150
|
+
</span>
|
|
151
|
+
</div>
|
|
152
|
+
) : null}
|
|
153
|
+
|
|
154
|
+
{showPlugin ? (
|
|
155
|
+
<>
|
|
156
|
+
<div class="_ple_label lc-fs-m">选择本地目录</div>
|
|
157
|
+
{pluginReady.value && diskOverflow.value ? (
|
|
158
|
+
<div class="_ple_warn lc-fs-s">
|
|
159
|
+
<i class="lc lc-warning-circle-outlined"></i>
|
|
160
|
+
<span>预估大小超出本地目录剩余空间,请更换目录或缩小导出范围</span>
|
|
161
|
+
</div>
|
|
162
|
+
) : null}
|
|
163
|
+
|
|
164
|
+
{!pluginReady.value ? (
|
|
165
|
+
<div class="_ple_row">
|
|
166
|
+
<n-tree-select
|
|
167
|
+
size="small"
|
|
168
|
+
disabled
|
|
169
|
+
placeholder="安装插件后可选择导出文件"
|
|
170
|
+
options={[]}
|
|
171
|
+
/>
|
|
172
|
+
<span
|
|
173
|
+
class="lc_btn_primary lc_btn_m _ple_install"
|
|
174
|
+
onClick={onInstall}>
|
|
175
|
+
立即安装插件
|
|
176
|
+
</span>
|
|
177
|
+
</div>
|
|
178
|
+
) : (
|
|
179
|
+
<div class="_ple_row">
|
|
180
|
+
<PluginDirSelect
|
|
181
|
+
modelValue={dirname.value}
|
|
182
|
+
onUpdate:modelValue={(v) => {
|
|
183
|
+
dirname.value = v
|
|
184
|
+
}}
|
|
185
|
+
onUpdate:diskInfo={onDiskInfoUpdate}
|
|
186
|
+
/>
|
|
187
|
+
<div class="_ple_action">
|
|
188
|
+
<span
|
|
189
|
+
class={["lc_btn_primary", "lc_btn_m", pluginExportDisabled.value ? "_disabled" : ""]}
|
|
190
|
+
title={pluginButtonTitle.value}
|
|
191
|
+
onClick={onPluginExportClick}>
|
|
192
|
+
导 出
|
|
193
|
+
</span>
|
|
194
|
+
</div>
|
|
195
|
+
</div>
|
|
196
|
+
)}
|
|
197
|
+
</>
|
|
198
|
+
) : null}
|
|
199
|
+
</div>
|
|
200
|
+
)
|
|
201
|
+
}
|
|
202
|
+
},
|
|
203
|
+
})
|
|
204
|
+
|
|
205
|
+
export default PluginLocalExport
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/** 与 front_plugins/lagrange-export-bridge 内容脚本约定的消息源(内置,不对外) */
|
|
2
|
+
export const PLUGIN_BRIDGE_SOURCE = "lagrange-export-bridge"
|
|
3
|
+
|
|
4
|
+
const REQUEST = "LAGRANGE_EXPORT_BRIDGE_REQUEST"
|
|
5
|
+
const RESPONSE = "LAGRANGE_EXPORT_BRIDGE_RESPONSE"
|
|
6
|
+
const READY = "LAGRANGE_EXPORT_BRIDGE_READY"
|
|
7
|
+
const PING = "LAGRANGE_EXPORT_BRIDGE_PING"
|
|
8
|
+
|
|
9
|
+
const BRIDGE_WAIT_MS = 1200
|
|
10
|
+
const BRIDGE_TIMEOUT_MS = 15000
|
|
11
|
+
|
|
12
|
+
const debugEnabled = () =>
|
|
13
|
+
typeof localStorage !== "undefined" && localStorage.getItem("LAGRANGE_PLUGIN_BRIDGE_DEBUG") === "1"
|
|
14
|
+
|
|
15
|
+
/** @param {...unknown} args */
|
|
16
|
+
function bridgeLog(...args) {
|
|
17
|
+
if (debugEnabled()) {
|
|
18
|
+
console.log("[plugin-bridge]", ...args)
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
let bridgeReady = false
|
|
23
|
+
let listenerAttached = false
|
|
24
|
+
|
|
25
|
+
/** 内容脚本注入后写入,避免 READY 早于业务脚本 */
|
|
26
|
+
function isBridgeDomMarked() {
|
|
27
|
+
return typeof document !== "undefined" && document.documentElement?.dataset?.lagrangeExportBridge === "1"
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function markBridgeReady(reason) {
|
|
31
|
+
if (!bridgeReady) {
|
|
32
|
+
bridgeReady = true
|
|
33
|
+
bridgeLog("ready", reason)
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
function attachBridgeListener() {
|
|
38
|
+
if (listenerAttached || typeof window === "undefined") return
|
|
39
|
+
listenerAttached = true
|
|
40
|
+
window.addEventListener("message", (event) => {
|
|
41
|
+
if (event.origin !== window.location.origin) return
|
|
42
|
+
const data = event.data
|
|
43
|
+
if (data?.source !== PLUGIN_BRIDGE_SOURCE || data?.type !== READY) return
|
|
44
|
+
markBridgeReady("message")
|
|
45
|
+
})
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
attachBridgeListener()
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* 扩展桥接是否可用
|
|
52
|
+
* @returns {boolean}
|
|
53
|
+
*/
|
|
54
|
+
export function isPluginBridgeReady() {
|
|
55
|
+
return bridgeReady || isBridgeDomMarked()
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* 等待扩展 content script 就绪
|
|
60
|
+
* @returns {Promise<boolean>}
|
|
61
|
+
*/
|
|
62
|
+
export function waitForPluginBridge() {
|
|
63
|
+
if (isPluginBridgeReady()) {
|
|
64
|
+
return Promise.resolve(true)
|
|
65
|
+
}
|
|
66
|
+
attachBridgeListener()
|
|
67
|
+
window.postMessage(
|
|
68
|
+
{ source: PLUGIN_BRIDGE_SOURCE, type: PING },
|
|
69
|
+
window.location.origin,
|
|
70
|
+
)
|
|
71
|
+
bridgeLog("ping sent", window.location.origin)
|
|
72
|
+
return new Promise((resolve) => {
|
|
73
|
+
const deadline = Date.now() + BRIDGE_WAIT_MS
|
|
74
|
+
const tick = () => {
|
|
75
|
+
if (isBridgeDomMarked()) {
|
|
76
|
+
markBridgeReady("dom-dataset")
|
|
77
|
+
}
|
|
78
|
+
if (isPluginBridgeReady()) {
|
|
79
|
+
resolve(true)
|
|
80
|
+
return
|
|
81
|
+
}
|
|
82
|
+
if (Date.now() >= deadline) {
|
|
83
|
+
bridgeLog("wait timeout, bridge not detected")
|
|
84
|
+
resolve(false)
|
|
85
|
+
return
|
|
86
|
+
}
|
|
87
|
+
requestAnimationFrame(tick)
|
|
88
|
+
}
|
|
89
|
+
tick()
|
|
90
|
+
})
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
function createBridgeRequestId() {
|
|
94
|
+
if (typeof crypto !== "undefined" && typeof crypto.randomUUID === "function") {
|
|
95
|
+
try {
|
|
96
|
+
return crypto.randomUUID()
|
|
97
|
+
} catch {
|
|
98
|
+
// HTTP 非安全上下文下 randomUUID 不可用
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return `ep-${Date.now()}-${Math.random().toString(36).slice(2, 11)}`
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* 经 Chrome 扩展访问本机插件 API
|
|
106
|
+
* @param {string} method
|
|
107
|
+
* @param {string} path 如 /health
|
|
108
|
+
* @param {object} [body]
|
|
109
|
+
* @returns {Promise<object>}
|
|
110
|
+
*/
|
|
111
|
+
export function pluginFetchViaBridge(method, path, body) {
|
|
112
|
+
bridgeLog("request", method, path)
|
|
113
|
+
return new Promise((resolve, reject) => {
|
|
114
|
+
const id = createBridgeRequestId()
|
|
115
|
+
|
|
116
|
+
const timer = setTimeout(() => {
|
|
117
|
+
window.removeEventListener("message", onMessage)
|
|
118
|
+
reject(new Error("扩展桥接请求超时"))
|
|
119
|
+
}, BRIDGE_TIMEOUT_MS)
|
|
120
|
+
|
|
121
|
+
const onMessage = (event) => {
|
|
122
|
+
if (event.origin !== window.location.origin) return
|
|
123
|
+
const data = event.data
|
|
124
|
+
if (data?.source !== PLUGIN_BRIDGE_SOURCE || data?.type !== RESPONSE || data.id !== id) {
|
|
125
|
+
return
|
|
126
|
+
}
|
|
127
|
+
clearTimeout(timer)
|
|
128
|
+
window.removeEventListener("message", onMessage)
|
|
129
|
+
|
|
130
|
+
if (data.error) {
|
|
131
|
+
reject(new Error(data.error))
|
|
132
|
+
return
|
|
133
|
+
}
|
|
134
|
+
if (data.data == null && data.ok === false) {
|
|
135
|
+
reject(new Error("扩展桥接失败"))
|
|
136
|
+
return
|
|
137
|
+
}
|
|
138
|
+
resolve(data.data)
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
window.addEventListener("message", onMessage)
|
|
142
|
+
window.postMessage(
|
|
143
|
+
{
|
|
144
|
+
source: PLUGIN_BRIDGE_SOURCE,
|
|
145
|
+
type: REQUEST,
|
|
146
|
+
id,
|
|
147
|
+
method,
|
|
148
|
+
path,
|
|
149
|
+
body,
|
|
150
|
+
},
|
|
151
|
+
window.location.origin,
|
|
152
|
+
)
|
|
153
|
+
})
|
|
154
|
+
}
|