| 12345678910111213141516171819202122232425262728293031323334 |
- package drivers
- // DriverResource 描述驱动的可展示资源(如 logo、显示名等)
- type DriverResource struct {
- DBType string `json:"dbType"`
- Version string `json:"version"`
- DisplayName string `json:"displayName,omitempty"`
- // LogoPath 为可通过静态服务器访问的相对路径,例如 "/static/drivers/mysql/v8/logo.png"
- LogoPath string `json:"logoPath,omitempty"`
- Extras map[string]string `json:"extras,omitempty"`
- }
- var resources = map[string]map[string]DriverResource{} // dbType -> version -> resource
- // RegisterDriverResource 注册驱动资源信息,通常在驱动 init 中调用。
- func RegisterDriverResource(dbType, version string, res DriverResource) {
- if _, ok := resources[dbType]; !ok {
- resources[dbType] = map[string]DriverResource{}
- }
- resources[dbType][version] = res
- }
- // GetDriverResources 返回已注册的驱动资源列表(去平铺)
- func GetDriverResources() []DriverResource {
- out := []DriverResource{}
- for dbt, versions := range resources {
- for ver, r := range versions {
- r.DBType = dbt
- r.Version = ver
- out = append(out, r)
- }
- }
- return out
- }
|