diff --git a/apps/desktop/public/icons/database/polardb.webp b/apps/desktop/public/icons/database/polardb.webp index 7363a4919..434bd10be 100644 Binary files a/apps/desktop/public/icons/database/polardb.webp and b/apps/desktop/public/icons/database/polardb.webp differ diff --git a/apps/desktop/src/components/connection/ConnectionDialog.vue b/apps/desktop/src/components/connection/ConnectionDialog.vue index 0ce047a16..991a19b30 100644 --- a/apps/desktop/src/components/connection/ConnectionDialog.vue +++ b/apps/desktop/src/components/connection/ConnectionDialog.vue @@ -924,7 +924,7 @@ const driverProfiles: Record< label: "OceanBase Oracle Mode", icon: "oceanbase", }, - goldendb: { type: "goldendb", port: 3306, user: "root", label: "GoldenDB", icon: "goldendb" }, + goldendb: { type: "goldendb", port: 3306, user: "root", label: "金篆 GoldenDB", icon: "goldendb" }, databend: { type: "databend", port: 8000, user: "databend", label: "Databend", icon: "databend" }, tdsql: { type: "mysql", port: 3306, user: "root", label: "TDSQL", icon: "tdsql" }, polardb: { type: "mysql", port: 3306, user: "root", label: "PolarDB", icon: "polardb" }, @@ -935,9 +935,9 @@ const driverProfiles: Record< vertica: { type: "vertica", port: 5433, user: "dbadmin", label: "Vertica", icon: "vertica" }, firebird: { type: "firebird", port: 3050, user: "SYSDBA", label: "Firebird", icon: "firebird" }, exasol: { type: "exasol", port: 8563, user: "sys", label: "Exasol", icon: "exasol" }, - gbase: { type: "gbase", port: 5258, user: "gbasedbt", label: "GBase 8a", icon: "gbase" }, - gbase8a: { type: "gbase", port: 5258, user: "gbasedbt", label: "GBase 8a", icon: "gbase" }, - gbase8s: { type: "gbase", port: 9088, user: "gbasedbt", label: "GBase 8s", icon: "gbase" }, + gbase: { type: "gbase", port: 5258, user: "gbasedbt", label: "南大通用 GBase 8a", icon: "gbase" }, + gbase8a: { type: "gbase", port: 5258, user: "gbasedbt", label: "南大通用 GBase 8a", icon: "gbase" }, + gbase8s: { type: "gbase", port: 9088, user: "gbasedbt", label: "南大通用 GBase 8s", icon: "gbase" }, opengauss: { type: "opengauss", port: 5432, @@ -948,11 +948,11 @@ const driverProfiles: Record< gaussdb: { type: "gaussdb", port: 5432, user: "gaussdb", label: "GaussDB", icon: "gaussdb" }, kwdb: { type: "kwdb", port: 26257, user: "root", label: "KWDB", icon: "kwdb" }, questdb: { type: "questdb", port: 8812, user: "questdb", label: "QuestDB", icon: "questdb" }, - kingbase: { type: "kingbase", port: 54321, user: "system", label: "KingBase", icon: "kingbase" }, + kingbase: { type: "kingbase", port: 54321, user: "system", label: "人大金仓 KingbaseES", icon: "kingbase" }, highgo: { type: "highgo", port: 5866, user: "highgo", label: "瀚高 HighGo", icon: "highgo" }, uxdb: { type: "uxdb", port: 52025, user: "uxdb", label: "优炫 UXDB", icon: "uxdb" }, yashandb: { type: "yashandb", port: 1688, user: "sys", label: "崖山 YashanDB", icon: "yashandb" }, - vastbase: { type: "vastbase", port: 5432, user: "vastbase", label: "Vastbase", icon: "vastbase" }, + vastbase: { type: "vastbase", port: 5432, user: "vastbase", label: "海量 Vastbase", icon: "vastbase" }, doris: { type: "mysql", port: 9030, user: "root", label: "Doris", icon: "doris", urlParams: "" }, selectdb: { type: "mysql", @@ -1009,7 +1009,7 @@ const driverProfiles: Record< host: "https://www.googleapis.com/bigquery/v2", }, kylin: { type: "kylin", port: 7070, user: "ADMIN", label: "Apache Kylin", icon: "kylin" }, - sundb: { type: "sundb", port: 22000, user: "root", label: "SunDB", icon: "sundb" }, + sundb: { type: "sundb", port: 22000, user: "root", label: "科蓝 SUNDB", icon: "sundb" }, oscar: { type: "oscar", port: 2003, user: "SYSDBA", label: "神通 OSCAR", icon: "oscar" }, jdbc: { type: "jdbc", port: 0, user: "", label: "JDBC", icon: "jdbc" }, tdengine: { type: "tdengine", port: 6041, user: "root", label: "TDengine", icon: "tdengine" }, @@ -2471,7 +2471,7 @@ const dbOptions: DbOption[] = [ { value: "questdb", label: "QuestDB" }, { value: "tidb", label: "TiDB" }, { value: "oceanbase", label: "OceanBase" }, - { value: "goldendb", label: "GoldenDB" }, + { value: "goldendb", label: "金篆 GoldenDB" }, { value: "databend", label: "Databend" }, { value: "tdsql", label: "TDSQL" }, { value: "polardb", label: "PolarDB" }, @@ -2486,12 +2486,12 @@ const dbOptions: DbOption[] = [ { value: "vertica", label: "Vertica" }, { value: "firebird", label: "Firebird" }, { value: "exasol", label: "Exasol" }, - { value: "gbase", label: "GBase" }, - { value: "kingbase", label: "KingBase" }, + { value: "gbase", label: "南大通用 GBase" }, + { value: "kingbase", label: "人大金仓 KingbaseES" }, { value: "highgo", label: "瀚高 HighGo" }, { value: "uxdb", label: "优炫 UXDB" }, { value: "yashandb", label: "崖山 YashanDB" }, - { value: "vastbase", label: "Vastbase" }, + { value: "vastbase", label: "海量 Vastbase" }, { value: "redshift", label: "Redshift" }, { value: "cockroachdb", label: "CockroachDB" }, { value: "h2", label: "H2" }, @@ -2506,7 +2506,7 @@ const dbOptions: DbOption[] = [ { value: "cassandra", label: "Cassandra" }, { value: "bigquery", label: "BigQuery" }, { value: "kylin", label: "Kylin" }, - { value: "sundb", label: "SunDB" }, + { value: "sundb", label: "科蓝 SUNDB" }, { value: "oscar", label: "神通 OSCAR" }, { value: "xugu", label: "虚谷 XuguDB" }, { value: "iotdb", label: "Apache IoTDB" }, @@ -4943,6 +4943,7 @@ function openExternalUrl(url: string) { v-for="opt in category.options" :key="opt.value" type="button" + :title="opt.label" class="connection-db-picker-option group flex min-h-24 flex-col items-center justify-center gap-2 rounded-[4px] border bg-background/70 p-3 text-center transition hover:border-primary/40 hover:bg-muted/40 hover:shadow-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" :class="selectedType === opt.value ? 'dbx-tile-selected shadow-sm' : 'border-border'" :aria-pressed="selectedType === opt.value" @@ -4952,7 +4953,9 @@ function openExternalUrl(url: string) { - {{ opt.label }} + + {{ opt.label }} + diff --git a/apps/desktop/src/lib/connection/connectionUrl.ts b/apps/desktop/src/lib/connection/connectionUrl.ts index 984fb406d..23da5a59c 100644 --- a/apps/desktop/src/lib/connection/connectionUrl.ts +++ b/apps/desktop/src/lib/connection/connectionUrl.ts @@ -52,12 +52,12 @@ const SCHEME_PROFILES: Record = { chromadb: { type: "chromadb", profile: "chromadb", label: "ChromaDB", defaultPort: 8000 }, dm: { type: "dameng", profile: "dm", label: "达梦 Dameng", defaultPort: 5236 }, dameng: { type: "dameng", profile: "dm", label: "达梦 Dameng", defaultPort: 5236 }, - kingbase: { type: "kingbase", profile: "kingbase", label: "KingBase", defaultPort: 54321 }, - kingbase8: { type: "kingbase", profile: "kingbase", label: "KingBase", defaultPort: 54321 }, + kingbase: { type: "kingbase", profile: "kingbase", label: "人大金仓 KingbaseES", defaultPort: 54321 }, + kingbase8: { type: "kingbase", profile: "kingbase", label: "人大金仓 KingbaseES", defaultPort: 54321 }, gaussdb: { type: "gaussdb", profile: "gaussdb", label: "GaussDB", defaultPort: 5432 }, kwdb: { type: "kwdb", profile: "kwdb", label: "KWDB", defaultPort: 26257 }, - gbase: { type: "gbase", profile: "gbase", label: "GBase", defaultPort: 5258 }, - "gbasedbt-sqli": { type: "gbase", profile: "gbase8s", label: "GBase 8s", defaultPort: 9088 }, + gbase: { type: "gbase", profile: "gbase", label: "南大通用 GBase", defaultPort: 5258 }, + "gbasedbt-sqli": { type: "gbase", profile: "gbase8s", label: "南大通用 GBase 8s", defaultPort: 9088 }, "informix-sqli": { type: "informix", profile: "informix", label: "Informix", defaultPort: 9088 }, yashandb: { type: "yashandb", profile: "yashandb", label: "YashanDB", defaultPort: 1688 }, opengauss: { type: "gaussdb", profile: "opengauss", label: "openGauss", defaultPort: 5432 }, @@ -453,7 +453,7 @@ function parseJdbcGbase8sUrl(source: string): ParsedConnectionUrl | null { return { dbType: "gbase", driverProfile: "gbase8s", - driverLabel: "GBase 8s", + driverLabel: "南大通用 GBase 8s", host, port: match.groups.port ? Number(match.groups.port) : 9088, username: decodeUrlPart(rawUser), diff --git a/apps/desktop/src/stores/connectionStore.ts b/apps/desktop/src/stores/connectionStore.ts index 21854c388..c8e9647f3 100644 --- a/apps/desktop/src/stores/connectionStore.ts +++ b/apps/desktop/src/stores/connectionStore.ts @@ -989,12 +989,12 @@ export const useConnectionStore = defineStore("connection", () => { gaussdb: "GaussDB", questdb: "QuestDB", kwdb: "KWDB", - kingbase: "KingBase", + kingbase: "人大金仓 KingbaseES", highgo: "瀚高 HighGo", uxdb: "优炫 UXDB", yashandb: "崖山 YashanDB", - vastbase: "Vastbase", - goldendb: "GoldenDB", + vastbase: "海量 Vastbase", + goldendb: "金篆 GoldenDB", access: "Microsoft Access", h2: "H2", snowflake: "Snowflake", @@ -1008,7 +1008,7 @@ export const useConnectionStore = defineStore("connection", () => { cassandra: "Cassandra", bigquery: "BigQuery", kylin: "Kylin", - sundb: "SunDB", + sundb: "科蓝 SUNDB", oscar: "神通 OSCAR", influxdb: "InfluxDB", }; diff --git a/crates/dbx-core/assets/database-drivers.manifest.json b/crates/dbx-core/assets/database-drivers.manifest.json index 743e7d911..1f9a41a08 100644 --- a/crates/dbx-core/assets/database-drivers.manifest.json +++ b/crates/dbx-core/assets/database-drivers.manifest.json @@ -767,7 +767,7 @@ }, { "dbType": "vastbase", - "label": "Vastbase", + "label": "海量 Vastbase", "runtimeMode": "agent", "mcpMode": "bridge", "agentKey": "vastbase", @@ -797,7 +797,7 @@ }, { "dbType": "goldendb", - "label": "GoldenDB", + "label": "金篆 GoldenDB", "runtimeMode": "agent", "mcpMode": "bridge", "agentKey": "goldendb", @@ -1213,7 +1213,7 @@ }, { "dbType": "gbase", - "label": "GBase 8a", + "label": "南大通用 GBase 8a", "runtimeMode": "agent", "mcpMode": "bridge", "agentKey": "gbase8a", @@ -1224,12 +1224,12 @@ "driverProfiles": [ { "profile": "gbase8s", - "label": "GBase 8s", + "label": "南大通用 GBase 8s", "agentKey": "gbase8s" }, { "profile": "gbase8a", - "label": "GBase 8a", + "label": "南大通用 GBase 8a", "agentKey": "gbase8a" } ], @@ -1612,7 +1612,7 @@ }, { "dbType": "sundb", - "label": "SunDB", + "label": "科蓝 SUNDB", "runtimeMode": "agent", "mcpMode": "bridge", "agentKey": "sundb", diff --git a/crates/dbx-core/src/agent_catalog.rs b/crates/dbx-core/src/agent_catalog.rs index 4fc5af90c..b880954db 100644 --- a/crates/dbx-core/src/agent_catalog.rs +++ b/crates/dbx-core/src/agent_catalog.rs @@ -25,8 +25,8 @@ const ORACLE_PROFILES: &[AgentDriverProfile] = &[ ]; const GBASE_PROFILES: &[AgentDriverProfile] = &[ - AgentDriverProfile { profile: "gbase8s", key: "gbase8s", label: "GBase 8s", store_visible: true }, - AgentDriverProfile { profile: "gbase8a", key: "gbase8a", label: "GBase 8a", store_visible: true }, + AgentDriverProfile { profile: "gbase8s", key: "gbase8s", label: "南大通用 GBase 8s", store_visible: true }, + AgentDriverProfile { profile: "gbase8a", key: "gbase8a", label: "南大通用 GBase 8a", store_visible: true }, ]; const MONGODB_PROFILES: &[AgentDriverProfile] = &[AgentDriverProfile { @@ -86,14 +86,14 @@ const AGENT_CATALOG: &[AgentCatalogEntry] = &[ AgentCatalogEntry { db_type: DatabaseType::Vastbase, key: "vastbase", - label: "Vastbase", + label: "海量 Vastbase", store_visible: true, profiles: &[], }, AgentCatalogEntry { db_type: DatabaseType::Goldendb, key: "goldendb", - label: "GoldenDB", + label: "金篆 GoldenDB", store_visible: true, profiles: &[], }, @@ -156,7 +156,7 @@ const AGENT_CATALOG: &[AgentCatalogEntry] = &[ AgentCatalogEntry { db_type: DatabaseType::Gbase, key: "gbase8a", - label: "GBase 8a", + label: "南大通用 GBase 8a", store_visible: true, profiles: GBASE_PROFILES, }, @@ -249,7 +249,7 @@ const AGENT_CATALOG: &[AgentCatalogEntry] = &[ AgentCatalogEntry { db_type: DatabaseType::Sundb, key: "sundb", - label: "SunDB", + label: "科蓝 SUNDB", store_visible: true, profiles: &[], }, diff --git a/packages/app-tests/connectionUrl.test.ts b/packages/app-tests/connectionUrl.test.ts index 4a50512c7..0913f4b62 100644 --- a/packages/app-tests/connectionUrl.test.ts +++ b/packages/app-tests/connectionUrl.test.ts @@ -46,7 +46,7 @@ test.each(["kingbase", "kingbase8", "jdbc:kingbase8"])("parses %s connection URL assert.deepEqual(parseConnectionUrl(`${scheme}://framework:secret@172.21.203.70:443/hq_official?sslmode=disable`), { dbType: "kingbase", driverProfile: "kingbase", - driverLabel: "KingBase", + driverLabel: "人大金仓 KingbaseES", host: "172.21.203.70", port: 443, username: "framework", @@ -237,7 +237,7 @@ test("parses GBase 8s JDBC URLs", () => { assert.equal(parsed.dbType, "gbase"); assert.equal(parsed.driverProfile, "gbase8s"); - assert.equal(parsed.driverLabel, "GBase 8s"); + assert.equal(parsed.driverLabel, "南大通用 GBase 8s"); assert.equal(parsed.host, "gbase.example.com"); assert.equal(parsed.port, 20013); assert.equal(parsed.username, "gbasedbt");