Documentation ¶
Overview ¶
Package client runs a window with the fyne Framework. It provides features for calling web APIs from github.com/cmstar/go-webapi.
Index ¶
Constants ¶
View Source
const ( DefaultWindowWidth = 1440 // 默认的窗口宽度。 DefaultWindowHeight = 800 // 默认的窗口高度。 )
Variables ¶
This section is empty.
Functions ¶
func GetDefaultConfigDir ¶
func GetDefaultConfigDir() string
返回默认的配置存储目录。默认存储在用户的 home 目录的 .go-webapi-client 子目录。
- 在 *nix 是 ~/.go-webapi-client
- 在 Windows 是 %UserProfile%\.go-webapi-client
func RunClients ¶
func RunClients(clients []Client)
运行并展示主窗体,在窗体中展示给定的 Client 。
会从程序的启动参数中读取下列参数,其余参数均使用默认值:
- -c 指定配置文件的存储目录。
Types ¶
type Client ¶
type Client interface { // 唯一的标识一个 [Client] ,配置的保存和读取需要用到此值。 // 应符合 Go 变量命名规则。 Name() string // 界面展示的标题。 Title() string // 读取当前界面的元素。 Box() fyne.CanvasObject // 读取当前界面的配置。用于配置的保存和读取功能。 GetConfig() map[string]any // 设置当前界面的配置。用于配置的保存和读取功能。 SetConfig(config map[string]any) }
描述一个 Web API 客户端的界面。
type ConfigManager ¶
type ConfigManager struct {
// contains filtered or unexported fields
}
用于读写配置。
配置存放在 rootPath 所指向的目录下,每个 ClientName 一个子目录, 每个 key 一个 .json 文件。
root |- ClientName1 | |- key1.json | |- key2.json |- ClientName2 | |- key1.json | |- key2.json
注意:
- key 可以在不同的 ClientName 下重复。
- Windows 平台的文件名是大小写不敏感的;*nix 则是敏感的。
func NewConfigManager ¶
func NewConfigManager(rootPath string) *ConfigManager
创建一个 ConfigManager ,给定存放配置文件的根目录的路径。
func (*ConfigManager) ListKeys ¶
func (x *ConfigManager) ListKeys(clientName string) []string
返回一个 clientName 下的所有配置项的 key ,按字典顺序排列。
clientName 子目录不存在时,返回 nil ;无效的配置会被忽略。
func (*ConfigManager) Load ¶
func (x *ConfigManager) Load(clientName, key string) map[string]any
读取一个 clientName 下指定 key 的配置的值。 不会返回 nil ,若对应配置不存, 返回 nil 。 应先通过 ListKeys 获取相关的数据。
func (*ConfigManager) Remove ¶
func (x *ConfigManager) Remove(clientName, key string)
移除 clientName 下指定 key 的配置。若配置不存在,操作被忽略。
Click to show internal directories.
Click to hide internal directories.