@@ -136,10 +136,31 @@ const copyWebLink = () => {
136
136
})
137
137
}
138
138
139
+ const getSiteIp = (): string => {
140
+ let siteIp: string = " "
141
+ try {
142
+ siteIp = new URL (formData .setting .siteUrl ).hostname
143
+ } catch (e ) {
144
+ logger .warn (" getSiteURL error" , e )
145
+ }
146
+ return siteIp
147
+ }
148
+
139
149
const handleIpChange = () => {
140
- const url = new URL (formData .shareLink )
141
- url .hostname = formData .ip
142
- formData .shareLink = url .toString ()
150
+ const siteIp = getSiteIp ()
151
+ if (! StrUtil .isEmptyString (siteIp ) && siteIp === formData .ip ) {
152
+ const url = new URL (formData .shareLink )
153
+ const siteUrl = new URL (formData .setting .siteUrl )
154
+ url .hostname = siteUrl .hostname
155
+ url .port = siteUrl .port
156
+ formData .shareLink = url .toString ()
157
+ } else {
158
+ const url = new URL (formData .shareLink )
159
+ const originUrl = new URL (window .location .origin )
160
+ url .hostname = formData .ip
161
+ url .port = originUrl .port
162
+ formData .shareLink = url .toString ()
163
+ }
143
164
}
144
165
145
166
const handleSetHome = () => {
@@ -195,6 +216,15 @@ onBeforeMount(async () => {
195
216
formData .ipList = ips .map ((ip : string ) => {
196
217
return {value: ip , label: ip }
197
218
})
219
+ // 自定义的也加进去
220
+ const siteIp = getSiteIp ()
221
+ if (! StrUtil .isEmptyString (siteIp ) && ! ips .includes (siteIp )) {
222
+ formData .ip = siteIp
223
+ formData .ipList .push ({
224
+ value: siteIp ,
225
+ label: siteIp ,
226
+ })
227
+ }
198
228
})
199
229
logger .debug (" share inited" , props )
200
230
</script >
0 commit comments