mirror of
https://github.com/wailsapp/wails.git
synced 2025-05-05 04:31:26 +08:00
Move startURL calculation to assetserver
This commit is contained in:
parent
bcb390f611
commit
c82facd6ff
@ -6,6 +6,8 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"net/http/httptest"
|
"net/http/httptest"
|
||||||
"net/http/httputil"
|
"net/http/httputil"
|
||||||
|
"net/url"
|
||||||
|
"path"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
@ -165,3 +167,36 @@ func (a *AssetServer) AddPluginScript(pluginName string, script string) {
|
|||||||
pluginScriptName := fmt.Sprintf("/wails/plugin/%s.js", pluginName)
|
pluginScriptName := fmt.Sprintf("/wails/plugin/%s.js", pluginName)
|
||||||
a.pluginScripts[pluginScriptName] = script
|
a.pluginScripts[pluginScriptName] = script
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetStartURL(userURL string) (string, error) {
|
||||||
|
devServerURL := GetDevServerURL()
|
||||||
|
if devServerURL != "" {
|
||||||
|
// Parse the port
|
||||||
|
parsedURL, err := url.Parse(devServerURL)
|
||||||
|
if err != nil {
|
||||||
|
return "", fmt.Errorf("Error parsing environment variable 'FRONTEND_DEVSERVER_URL`: " + err.Error() + ". Please check your `Taskfile.yml` file")
|
||||||
|
}
|
||||||
|
port := parsedURL.Port()
|
||||||
|
if port != "" {
|
||||||
|
startURL += ":" + port
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if userURL != "" {
|
||||||
|
// parse the url
|
||||||
|
parsedURL, err := url.Parse(userURL)
|
||||||
|
if err != nil {
|
||||||
|
return "", fmt.Errorf("Error parsing URL: " + err.Error())
|
||||||
|
}
|
||||||
|
if parsedURL.Scheme == "" {
|
||||||
|
startURL = path.Join(startURL, userURL)
|
||||||
|
// if the original URL had a trailing slash, add it back
|
||||||
|
if strings.HasSuffix(userURL, "/") {
|
||||||
|
startURL = startURL + "/"
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
startURL = userURL
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return startURL, nil
|
||||||
|
}
|
||||||
|
3
v3/internal/assetserver/assetserver_windows.go
Normal file
3
v3/internal/assetserver/assetserver_windows.go
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
package assetserver
|
||||||
|
|
||||||
|
var startURL = "http://wails.localhost"
|
@ -7,7 +7,6 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"github.com/wailsapp/wails/v3/internal/assetserver"
|
"github.com/wailsapp/wails/v3/internal/assetserver"
|
||||||
"net/url"
|
"net/url"
|
||||||
"path"
|
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
"sync"
|
"sync"
|
||||||
@ -1457,35 +1456,9 @@ func (w *windowsWebviewWindow) setupChromium() {
|
|||||||
chromium.Init(script)
|
chromium.Init(script)
|
||||||
chromium.NavigateToString(w.parent.options.HTML)
|
chromium.NavigateToString(w.parent.options.HTML)
|
||||||
} else {
|
} else {
|
||||||
var startURL = "http://wails.localhost"
|
startURL, err := assetserver.GetStartURL(w.parent.options.URL)
|
||||||
devServerURL := assetserver.GetDevServerURL()
|
|
||||||
if devServerURL != "" {
|
|
||||||
// Parse the port
|
|
||||||
parsedURL, err := url.Parse(devServerURL)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
globalApplication.fatal("Error parsing environment variable 'FRONTEND_DEVSERVER_URL`: " + err.Error() + ". Please check your `Taskfile.yml` file")
|
globalApplication.fatal(err.Error())
|
||||||
}
|
|
||||||
port := parsedURL.Port()
|
|
||||||
if port != "" {
|
|
||||||
startURL += ":" + port
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if w.parent.options.URL != "" {
|
|
||||||
// parse the url
|
|
||||||
parsedURL, err := url.Parse(w.parent.options.URL)
|
|
||||||
if err != nil {
|
|
||||||
globalApplication.fatal("Error parsing URL: " + err.Error())
|
|
||||||
}
|
|
||||||
if parsedURL.Scheme == "" {
|
|
||||||
startURL = path.Join(startURL, w.parent.options.URL)
|
|
||||||
// if the original URL had a trailing slash, add it back
|
|
||||||
if strings.HasSuffix(w.parent.options.URL, "/") {
|
|
||||||
startURL = startURL + "/"
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
startURL = w.parent.options.URL
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
chromium.Navigate(startURL)
|
chromium.Navigate(startURL)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user