diff --git a/global/load.go b/global/load.go index 22ce5339..2cda9625 100644 --- a/global/load.go +++ b/global/load.go @@ -12,6 +12,7 @@ import ( jsoniter "github.com/json-iterator/go" "github.com/yaoapp/gou" "github.com/yaoapp/kun/exception" + "github.com/yaoapp/kun/maps" "github.com/yaoapp/xiang/config" "github.com/yaoapp/xiang/data" "github.com/yaoapp/xiang/share" @@ -78,15 +79,15 @@ func LoadAppInfo(root string) { } if fs.MustExists("/xiang/icons/icon.icns") { - info.Icons["icns"] = xfs.Encode(fs.MustReadFile("/xiang/icons/icon.icns")) + info.Icons.Set("icns", xfs.Encode(fs.MustReadFile("/xiang/icons/icon.icns"))) } if fs.MustExists("/xiang/icons/icon.ico") { - info.Icons["ico"] = xfs.Encode(fs.MustReadFile("/xiang/icons/icon.ico")) + info.Icons.Set("ico", xfs.Encode(fs.MustReadFile("/xiang/icons/icon.ico"))) } if fs.MustExists("/xiang/icons/icon.png") { - info.Icons["png"] = xfs.Encode(fs.MustReadFile("/xiang/icons/icon.png")) + info.Icons.Set("png", xfs.Encode(fs.MustReadFile("/xiang/icons/icon.png"))) } share.App = info @@ -94,15 +95,17 @@ func LoadAppInfo(root string) { // defaultAppInfo 读取默认应用信息 func defaultAppInfo() share.AppInfo { - info := share.AppInfo{} + info := share.AppInfo{ + Icons: maps.MakeSync(), + } err := jsoniter.Unmarshal(data.MustAsset("xiang/data/app.json"), &info) if err != nil { exception.New("解析默认应用失败 %s", 500, err).Throw() } - info.Icons["icns"] = xfs.Encode(data.MustAsset("xiang/data/icons/icon.icns")) - info.Icons["ico"] = xfs.Encode(data.MustAsset("xiang/data/icons/icon.ico")) - info.Icons["png"] = xfs.Encode(data.MustAsset("xiang/data/icons/icon.png")) + info.Icons.Set("icns", xfs.Encode(data.MustAsset("xiang/data/icons/icon.icns"))) + info.Icons.Set("ico", xfs.Encode(data.MustAsset("xiang/data/icons/icon.ico"))) + info.Icons.Set("png", xfs.Encode(data.MustAsset("xiang/data/icons/icon.png"))) return info } diff --git a/global/process.go b/global/process.go index e95dc3e7..0f343cc8 100644 --- a/global/process.go +++ b/global/process.go @@ -29,13 +29,13 @@ func processPing(process *gou.Process) interface{} { // processInspect 返回系统信息 func processInspect(process *gou.Process) interface{} { - share.App.Icons["favicon"] = "/api/xiang/favicon.ico" + share.App.Icons.Set("favicon", "/api/xiang/favicon.ico") return share.App.Public() } // processFavicon 运行模型 MustCreate func processFavicon(process *gou.Process) interface{} { - return xfs.DecodeString(share.App.Icons["png"]) + return xfs.DecodeString(share.App.Icons.Get("png").(string)) } // processFileContent 返回文件内容 diff --git a/global/vars.go b/global/vars.go index 4779e508..d4bdedec 100644 --- a/global/vars.go +++ b/global/vars.go @@ -9,7 +9,7 @@ import ( ) // VERSION 版本号 -const VERSION = "0.8.2" +const VERSION = "0.8.3" // DOMAIN 许可域 const DOMAIN = "*.iqka.com" diff --git a/share/app.go b/share/app.go index 69a50772..c8a0ff80 100644 --- a/share/app.go +++ b/share/app.go @@ -1,5 +1,7 @@ package share +import "github.com/yaoapp/kun/maps" + // App 应用信息 var App AppInfo @@ -9,7 +11,7 @@ type AppInfo struct { Short string `json:"short,omitempty"` Version string `json:"version,omitempty"` Description string `json:"description,omitempty"` - Icons map[string]string `json:"icons,omitempty"` + Icons maps.MapStrSync `json:"icons,omitempty"` Storage AppStorage `json:"storage,omitempty"` Option map[string]interface{} `json:"option,omitempty"` }