桌面 GUI 外链修复 + 主题顺序调整(含结构扁平化进行中的工作区基线)
- 集成 tauri-plugin-opener:Cargo/lib.rs/capabilities/npm 四处接线,新增 src/openExternal.ts(桌面走 opener,浏览器回退 window.open,相对路径绝对化) - 关于页 4 个链接、活动栏官网菜单、代理错误横幅 2 处健康检查链接全部改走 openExternal,桌面端可正常跳转 - 设置→外观 主题顺序调整为 深色/浅色/跟随系统 - release 二进制重编并验证(浏览器实测关于页链接可开文档页) - 附带工作区中未提交的扁平化重构现状(另一会话进行中) - homepage 落地页与文档终检通过(8787 / 与 /docs 双 200)
This commit is contained in:
1 parent
6452026fd6
commit
2bb4ef7a95
299 files changed
+6059
-3322
No files matched your search
@@ -0,0 +1,41 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"log"
|
||||
"os"
|
||||
"strings"
|
||||
|
||||
"opsxapi/server/internal/server"
|
||||
)
|
||||
|
||||
func main() {
|
||||
addr := resolveListenAddr()
|
||||
mockAddr := strings.TrimSpace(os.Getenv("OPSXAPI_MOCK_ADDR"))
|
||||
if mockAddr == "" {
|
||||
mockAddr = "0.0.0.0:8788"
|
||||
}
|
||||
mockRouter := server.NewMockRouter()
|
||||
go func() {
|
||||
log.Printf("OpsxAPI private-network Mock listening on %s", mockAddr)
|
||||
if err := mockRouter.Run(mockAddr); err != nil {
|
||||
log.Fatalf("Mock listener failed: %v", err)
|
||||
}
|
||||
}()
|
||||
log.Printf("OpsxAPI server listening on %s", addr)
|
||||
if err := server.NewRouter().Run(addr); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
// resolveListenAddr:默认仅本机 127.0.0.1:8787(Mock 本机优先)。
|
||||
// 显式对外:OPSXAPI_BIND_PUBLIC=1 或 OPSXAPI_ADDR=0.0.0.0:8787 / :8787。
|
||||
func resolveListenAddr() string {
|
||||
if v := strings.TrimSpace(os.Getenv("OPSXAPI_ADDR")); v != "" {
|
||||
return v
|
||||
}
|
||||
pub := strings.ToLower(strings.TrimSpace(os.Getenv("OPSXAPI_BIND_PUBLIC")))
|
||||
if pub == "1" || pub == "true" || pub == "yes" {
|
||||
return ":8787"
|
||||
}
|
||||
return "127.0.0.1:8787"
|
||||
}
|
||||
Reference in new issue
Block a user