Commit 22d0cb68a8e76a4c09616dbc26d64e359c5a4869
Merge branch 'main_dev' into local_dev_ft_fix_teambition_issue
Showing
3 changed files
with
51 additions
and
48 deletions
1 | +import { Platform } from './center.data'; | |
2 | +import { ConfigurationCenterItemsModal } from '/@/api/configuration/center/model/configurationCenterModal'; | |
3 | +import { useGlobSetting } from '/@/hooks/setting'; | |
4 | + | |
5 | +export enum ScadaModeEnum { | |
6 | + LIGHTBOX = 'lightbox', | |
7 | + DESIGN = 'design', | |
8 | + SHARE = 'share', | |
9 | +} | |
10 | + | |
11 | +interface ScadaLinkParamsType { | |
12 | + configurationId: string; | |
13 | + organizationId: string; | |
14 | + mode: ScadaModeEnum; | |
15 | + platform: Platform; | |
16 | + publicId?: string; | |
17 | +} | |
18 | + | |
1 | 19 | const getRandomString = () => Number(Math.random().toString().substring(2)).toString(36); |
2 | 20 | |
3 | 21 | export const encode = (record: Recordable) => { |
... | ... | @@ -13,3 +31,27 @@ export const encode = (record: Recordable) => { |
13 | 31 | hash = window.btoa(hash); |
14 | 32 | return hash; |
15 | 33 | }; |
34 | + | |
35 | +export const createScadaPageLink = ( | |
36 | + record: ConfigurationCenterItemsModal, | |
37 | + mode: ScadaModeEnum = ScadaModeEnum.DESIGN, | |
38 | + open = true | |
39 | +) => { | |
40 | + const { configurationPrefix } = useGlobSetting(); | |
41 | + const params: ScadaLinkParamsType = { | |
42 | + configurationId: record.id, | |
43 | + organizationId: record.organizationId!, | |
44 | + mode: mode, | |
45 | + platform: record.platform as Platform, | |
46 | + }; | |
47 | + | |
48 | + if (mode === ScadaModeEnum.SHARE) { | |
49 | + params.publicId = record.publicId; | |
50 | + } | |
51 | + | |
52 | + const href = new URL(location.origin); | |
53 | + href.pathname = configurationPrefix; | |
54 | + href.hash = encode(params); | |
55 | + open && window.open(href.href); | |
56 | + return href.href; | |
57 | +}; | ... | ... |
... | ... | @@ -14,14 +14,12 @@ |
14 | 14 | import { ConfigurationPermission, Platform, searchFormSchema } from './center.data'; |
15 | 15 | import { useMessage } from '/@/hooks/web/useMessage'; |
16 | 16 | import { Authority } from '/@/components/Authority'; |
17 | - import { isDevMode } from '/@/utils/env'; | |
18 | 17 | import ConfigurationCenterDrawer from './ConfigurationCenterDrawer.vue'; |
19 | 18 | import { useDrawer } from '/@/components/Drawer'; |
20 | 19 | import { getBoundingClientRect } from '/@/utils/domUtils'; |
21 | 20 | import configurationSrc from '/@/assets/icons/configuration.svg'; |
22 | 21 | import { cloneDeep } from 'lodash'; |
23 | 22 | import { usePermission } from '/@/hooks/web/usePermission'; |
24 | - import { useGlobSetting } from '/@/hooks/setting'; | |
25 | 23 | import { AuthIcon, CardLayoutButton } from '/@/components/Widget'; |
26 | 24 | import AuthDropDown from '/@/components/Widget/AuthDropDown.vue'; |
27 | 25 | import { ShareModal } from '/@/views/common/ShareModal'; |
... | ... | @@ -31,7 +29,7 @@ |
31 | 29 | import { useRole } from '/@/hooks/business/useRole'; |
32 | 30 | import { useClipboard } from '@vueuse/core'; |
33 | 31 | import { Icon } from '/@/components/Icon'; |
34 | - import { encode } from './help'; | |
32 | + import { createScadaPageLink, ScadaModeEnum } from './help'; | |
35 | 33 | |
36 | 34 | const listColumn = ref(5); |
37 | 35 | |
... | ... | @@ -131,49 +129,15 @@ |
131 | 129 | } |
132 | 130 | }; |
133 | 131 | |
134 | - const { configurationPrefix } = useGlobSetting(); | |
135 | - const isDev = isDevMode(); | |
136 | - | |
137 | 132 | const handlePreview = (record: ConfigurationCenterItemsModal) => { |
138 | 133 | if (!unref(getPreviewFlag)) return; |
139 | - // window.open( | |
140 | - // `${configurationPrefix}/${isDev ? '?dev=1&' : '?'}configurationId=${ | |
141 | - // record!.id | |
142 | - // }&lightbox=1&organizationId=${record.organizationId}` | |
143 | - // ); | |
144 | - | |
145 | - const params = { | |
146 | - configurationId: record.id, | |
147 | - organizationId: record.organizationId, | |
148 | - mode: 'lightbox', | |
149 | - platform: record.platform, | |
150 | - }; | |
151 | - | |
152 | - const href = new URL(location.origin); | |
153 | - href.pathname = '/drawio'; | |
154 | - href.hash = encode(params); | |
155 | - window.open(href.href); | |
134 | + createScadaPageLink(record, ScadaModeEnum.LIGHTBOX); | |
156 | 135 | }; |
157 | 136 | |
158 | 137 | const handleDesign = (record: ConfigurationCenterItemsModal) => { |
159 | 138 | if (!unref(getDesignFlag)) return; |
160 | - // window.open( | |
161 | - // `${configurationPrefix}/${isDev ? '?dev=1&' : '?'}configurationId=${ | |
162 | - // record!.id | |
163 | - // }&organizationId=${record.organizationId}` | |
164 | - // ); | |
165 | - | |
166 | - const params = { | |
167 | - configurationId: record.id, | |
168 | - organizationId: record.organizationId, | |
169 | - mode: 'design', | |
170 | - platform: record.platform, | |
171 | - }; | |
172 | - | |
173 | - const href = new URL(location.origin); | |
174 | - href.pathname = '/drawio'; | |
175 | - href.hash = encode(params); | |
176 | - window.open(href.href); | |
139 | + | |
140 | + createScadaPageLink(record, ScadaModeEnum.DESIGN); | |
177 | 141 | }; |
178 | 142 | |
179 | 143 | const handleDelete = async (record: ConfigurationCenterItemsModal) => { |
... | ... | @@ -190,14 +154,7 @@ |
190 | 154 | }; |
191 | 155 | |
192 | 156 | const createShareUrl = (record: ConfigurationCenterItemsModal) => { |
193 | - const searchParams = new URLSearchParams(); | |
194 | - isDev && searchParams.set('dev', '1'); | |
195 | - searchParams.set('share', 'SCADA'); | |
196 | - searchParams.set('configurationId', record.id); | |
197 | - searchParams.set('publicId', record.publicId || ''); | |
198 | - searchParams.set('lightbox', '1'); | |
199 | - searchParams.set('organizationId', record!.organizationId || ''); | |
200 | - return `${origin}${configurationPrefix}/?${searchParams.toString()}`; | |
157 | + return createScadaPageLink(record, ScadaModeEnum.SHARE, false); | |
201 | 158 | }; |
202 | 159 | |
203 | 160 | const { copied, copy } = useClipboard({ legacy: true }); | ... | ... |