From a18ccf78d117b438f5832e54a9f0d8c7999706fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=87=8C=E4=BA=91?= Date: Mon, 10 Jun 2024 11:48:55 +0800 Subject: [PATCH 1/6] fix #3985 --- Plain Craft Launcher 2/Modules/Base/ModBase.vb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Plain Craft Launcher 2/Modules/Base/ModBase.vb b/Plain Craft Launcher 2/Modules/Base/ModBase.vb index 57a27cd..95af7aa 100644 --- a/Plain Craft Launcher 2/Modules/Base/ModBase.vb +++ b/Plain Craft Launcher 2/Modules/Base/ModBase.vb @@ -2186,7 +2186,7 @@ NextElement: ''' Public Sub OpenWebsite(Url As String) Try - If Not Url.StartsWithF("http", True) Then Throw New Exception(Url & " 不是一个有效的网址,它必须以 http 开头!") + If Not Url.StartsWithF("http", True) Or Url = "minecraft://" Then Throw New Exception(Url & " 不是一个有效的网址,它必须以 http 开头!") Log("[System] 正在打开网页:" & Url) Process.Start(Url) Catch ex As Exception @@ -2713,4 +2713,4 @@ Retry: #End Region -End Module \ No newline at end of file +End Module From aa5ff163e6c95a696f505c8b0f54e63594b3223f Mon Sep 17 00:00:00 2001 From: JingHai-Lingyun Date: Mon, 10 Jun 2024 12:04:52 +0800 Subject: [PATCH 2/6] fix #3985 --- .../Modules/Base/ModBase.vb | 26 ++++++++++++------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/Plain Craft Launcher 2/Modules/Base/ModBase.vb b/Plain Craft Launcher 2/Modules/Base/ModBase.vb index 95af7aa..5e96327 100644 --- a/Plain Craft Launcher 2/Modules/Base/ModBase.vb +++ b/Plain Craft Launcher 2/Modules/Base/ModBase.vb @@ -2185,16 +2185,22 @@ NextElement: ''' 打开网页。 ''' Public Sub OpenWebsite(Url As String) - Try - If Not Url.StartsWithF("http", True) Or Url = "minecraft://" Then Throw New Exception(Url & " 不是一个有效的网址,它必须以 http 开头!") - Log("[System] 正在打开网页:" & Url) - Process.Start(Url) - Catch ex As Exception - Log(ex, "无法打开网页(" & Url & ")") - ClipboardSet(Url, False) - MyMsgBox("可能由于浏览器未正确配置,PCL 无法为你打开网页。" & vbCrLf & "网址已经复制到剪贴板,若有需要可以手动粘贴访问。" & vbCrLf & - $"网址:{Url}", "无法打开网页") - End Try + ' 允许 Minecraft 基岩版的 URLScheme (#3985) + If Url.StartsWithF("minecraft", True) Then + ' 一定会被捕捉到错误,单独拎出来 + Process.Start("minecraft://") + Else + Try + If Not Url.StartsWithF("http", True) Then Throw New Exception(Url & " 不是一个有效的网址,它必须以 http 开头!") + Log("[System] 正在打开网页:" & Url) + Process.Start(Url) + Catch ex As Exception + Log(ex, "无法打开网页(" & Url & ")") + ClipboardSet(Url, False) + MyMsgBox("可能由于浏览器未正确配置,PCL 无法为你打开网页。" & vbCrLf & "网址已经复制到剪贴板,若有需要可以手动粘贴访问。" & vbCrLf & + $"网址:{Url}", "无法打开网页") + End Try + End If End Sub ''' ''' 打开 explorer。注意参数中的路径要尽量加上双引号! From 657b5efc2e45ba4f969db42a8b0841f62e807937 Mon Sep 17 00:00:00 2001 From: JingHai-Lingyun Date: Mon, 10 Jun 2024 12:14:35 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E5=86=99=E6=AD=BB=E4=BA=86=E5=8D=95?= =?UTF-8?q?=E7=8B=AC=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 避免有人传了点别的东西进去,现在只有 `minecraft://` 会单独处理 --- Plain Craft Launcher 2/Modules/Base/ModBase.vb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Plain Craft Launcher 2/Modules/Base/ModBase.vb b/Plain Craft Launcher 2/Modules/Base/ModBase.vb index 5e96327..4be0874 100644 --- a/Plain Craft Launcher 2/Modules/Base/ModBase.vb +++ b/Plain Craft Launcher 2/Modules/Base/ModBase.vb @@ -2186,9 +2186,9 @@ NextElement: ''' Public Sub OpenWebsite(Url As String) ' 允许 Minecraft 基岩版的 URLScheme (#3985) - If Url.StartsWithF("minecraft", True) Then + If Url = "minecraft://" Then ' 一定会被捕捉到错误,单独拎出来 - Process.Start("minecraft://") + Process.Start(Url) Else Try If Not Url.StartsWithF("http", True) Then Throw New Exception(Url & " 不是一个有效的网址,它必须以 http 开头!") From eefb8b50a7aeb0d17f064e2662668bdda25efbfe Mon Sep 17 00:00:00 2001 From: JingHai-Lingyun Date: Mon, 10 Jun 2024 13:46:28 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E5=8F=88=E6=94=B9=E4=BA=86=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 现在如果给 URL Scheme 传参也能接受了 --- Plain Craft Launcher 2/Modules/Base/ModBase.vb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Plain Craft Launcher 2/Modules/Base/ModBase.vb b/Plain Craft Launcher 2/Modules/Base/ModBase.vb index 4be0874..3351b3f 100644 --- a/Plain Craft Launcher 2/Modules/Base/ModBase.vb +++ b/Plain Craft Launcher 2/Modules/Base/ModBase.vb @@ -2186,8 +2186,8 @@ NextElement: ''' Public Sub OpenWebsite(Url As String) ' 允许 Minecraft 基岩版的 URLScheme (#3985) - If Url = "minecraft://" Then - ' 一定会被捕捉到错误,单独拎出来 + If Url.StartsWithF("minecraft://") Then + ' 一定会被捕捉到错误,要单独拎出来 Process.Start(Url) Else Try From ac2f29910b1d774bb05319586ce3183bcf06ecec Mon Sep 17 00:00:00 2001 From: JingHai-Lingyun Date: Fri, 14 Jun 2024 19:47:13 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E5=A5=BD=E5=90=A7=EF=BC=8C=E8=BF=99?= =?UTF-8?q?=E5=B9=B6=E4=B8=8D=E4=BC=9A=E5=87=BA=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Modules/Base/ModBase.vb | 26 ++++++++----------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/Plain Craft Launcher 2/Modules/Base/ModBase.vb b/Plain Craft Launcher 2/Modules/Base/ModBase.vb index 3351b3f..e346f24 100644 --- a/Plain Craft Launcher 2/Modules/Base/ModBase.vb +++ b/Plain Craft Launcher 2/Modules/Base/ModBase.vb @@ -2185,22 +2185,18 @@ NextElement: ''' 打开网页。 ''' Public Sub OpenWebsite(Url As String) - ' 允许 Minecraft 基岩版的 URLScheme (#3985) - If Url.StartsWithF("minecraft://") Then - ' 一定会被捕捉到错误,要单独拎出来 + Try + ' 允许 Minecraft 基岩版的 URLScheme (#3985) + If Not Url.StartsWithF("http", True) Or Not Url.StartsWithF("minecraft://") Then Throw New Exception(Url & " 不是一个有效的网址,它必须以 http 开头!") + Log("[System] 正在打开网页:" & Url) Process.Start(Url) - Else - Try - If Not Url.StartsWithF("http", True) Then Throw New Exception(Url & " 不是一个有效的网址,它必须以 http 开头!") - Log("[System] 正在打开网页:" & Url) - Process.Start(Url) - Catch ex As Exception - Log(ex, "无法打开网页(" & Url & ")") - ClipboardSet(Url, False) - MyMsgBox("可能由于浏览器未正确配置,PCL 无法为你打开网页。" & vbCrLf & "网址已经复制到剪贴板,若有需要可以手动粘贴访问。" & vbCrLf & - $"网址:{Url}", "无法打开网页") - End Try - End If + Catch ex As Exception + Log(ex, "无法打开网页(" & Url & ")") + ClipboardSet(Url, False) + MyMsgBox("可能由于浏览器未正确配置,PCL 无法为你打开网页。" & vbCrLf & "网址已经复制到剪贴板,若有需要可以手动粘贴访问。" & vbCrLf & + $"网址:{Url}", "无法打开网页") + End Try + ' End If End Sub ''' ''' 打开 explorer。注意参数中的路径要尽量加上双引号! From bb1b9d193f106ccb6efd88a21a41dda4e53588f0 Mon Sep 17 00:00:00 2001 From: JingHai-Lingyun Date: Fri, 14 Jun 2024 20:48:54 +0800 Subject: [PATCH 6/6] Update ModBase.vb --- Plain Craft Launcher 2/Modules/Base/ModBase.vb | 1 - 1 file changed, 1 deletion(-) diff --git a/Plain Craft Launcher 2/Modules/Base/ModBase.vb b/Plain Craft Launcher 2/Modules/Base/ModBase.vb index e346f24..00e4bcc 100644 --- a/Plain Craft Launcher 2/Modules/Base/ModBase.vb +++ b/Plain Craft Launcher 2/Modules/Base/ModBase.vb @@ -2196,7 +2196,6 @@ NextElement: MyMsgBox("可能由于浏览器未正确配置,PCL 无法为你打开网页。" & vbCrLf & "网址已经复制到剪贴板,若有需要可以手动粘贴访问。" & vbCrLf & $"网址:{Url}", "无法打开网页") End Try - ' End If End Sub ''' ''' 打开 explorer。注意参数中的路径要尽量加上双引号!