refactor: use standard format for domain

This commit is contained in:
Levi Yan
2025-06-22 15:54:27 +08:00
parent 353790d693
commit 4ab517bc44
3 changed files with 33 additions and 26 deletions

View File

@@ -21,7 +21,7 @@ export default class DevstarAPIHandler {
constructor(devstarDomainURL?: string) { constructor(devstarDomainURL?: string) {
if (devstarDomainURL == undefined || devstarDomainURL == "") { if (devstarDomainURL == undefined || devstarDomainURL == "") {
// 获取domain // 获取domain
const devstarDomainFromUserConfig = utils.devstarDomain() const devstarDomainFromUserConfig: string | undefined = utils.devstarDomain()
if (undefined == devstarDomainFromUserConfig || "" == devstarDomainFromUserConfig) { if (undefined == devstarDomainFromUserConfig || "" == devstarDomainFromUserConfig) {
this.devstarDomain = "https://devstar.cn"; this.devstarDomain = "https://devstar.cn";
} else { } else {
@@ -29,7 +29,7 @@ export default class DevstarAPIHandler {
} }
} else { } else {
// open with vscode传入 // open with vscode传入
this.devstarDomain = devstarDomainURL this.devstarDomain = devstarDomainURL.endsWith('/') ? devstarDomainURL.slice(0, -1) : devstarDomainURL
} }
} }

View File

@@ -33,15 +33,17 @@ export default class DSHome {
this.remoteContainer = new RemoteContainer(user); this.remoteContainer = new RemoteContainer(user);
if (devstarDomain != undefined && devstarDomain != "") { if (devstarDomain != undefined && devstarDomain != "") {
this.devstarDomain = devstarDomain this.devstarDomain = devstarDomain.endsWith('/') ? devstarDomain.slice(0, -1) : devstarDomain
this.devstarHomePageUrl = this.devstarDomain + "/devstar-home"
} else { } else {
this.devstarDomain = utils.devstarDomain() const devstarDomainFromConfig = utils.devstarDomain()
} if (devstarDomainFromConfig != undefined && devstarDomainFromConfig != "") {
this.devstarDomain = devstarDomainFromConfig.endsWith('/') ? devstarDomainFromConfig.slice(0, -1) : devstarDomainFromConfig
if (undefined == this.devstarDomain || "" == this.devstarDomain) { this.devstarHomePageUrl = this.devstarDomain + "/devstar-home"
this.devstarHomePageUrl = "https://devstar.cn/devstar-home" } else {
} else { this.devstarDomain = "https://devstar.cn"
this.devstarHomePageUrl = this.devstarDomain.endsWith('/') ? this.devstarDomain + "devstar-home" : this.devstarDomain + "/devstar-home" this.devstarHomePageUrl = "https://devstar.cn/devstar-home"
}
} }
} }
@@ -53,12 +55,12 @@ export default class DSHome {
this.remoteContainer = remoteContainer this.remoteContainer = remoteContainer
} }
setDevstarDomain(devstarDomain: string) { setDevstarDomainAndHomePageURL(devstarDomain: string) {
if (undefined == devstarDomain || "" == devstarDomain) { if (devstarDomain != undefined && devstarDomain != "") {
this.devstarDomain = devstarDomain this.devstarDomain = devstarDomain.endsWith('/') ? devstarDomain.slice(0, -1) : devstarDomain
this.devstarHomePageUrl = "https://devstar.cn/devstar-home"
} else {
this.devstarHomePageUrl = devstarDomain.endsWith('/') ? this.devstarDomain + "devstar-home" : devstarDomain + "/devstar-home" this.devstarHomePageUrl = devstarDomain.endsWith('/') ? this.devstarDomain + "devstar-home" : devstarDomain + "/devstar-home"
} else {
console.error("devstarDomain is undefined or null")
} }
} }

View File

@@ -40,25 +40,30 @@ export default class User {
// 提取devstar domain的主域名用于本地ssh key的命名 // 提取devstar domain的主域名用于本地ssh key的命名
if (devstarDomain != undefined && devstarDomain != "") { if (devstarDomain != undefined && devstarDomain != "") {
// open with vscode链接提供域名 // open with vscode链接提供域名
this.devstarDomain = devstarDomain this.devstarDomain = devstarDomain.endsWith('/') ? devstarDomain.slice(0, -1) : devstarDomain
let parsedUrl = new URL(devstarDomain); let parsedUrl = new URL(devstarDomain);
this.devstarHostname = parsedUrl.hostname.replace(/\./g, '_'); //提取hostname并用下划线替换. this.devstarHostname = parsedUrl.hostname.replace(/\./g, '_'); //提取hostname并用下划线替换.
} else { } else {
// 用户配置项提供域名 const devstarDomainFromConfig: string | undefined = utils.devstarDomain();
let devstarDomainFromConfig: string | undefined; if (devstarDomainFromConfig != undefined && devstarDomainFromConfig != "") {
let devstarDomainURL: string; // 用户配置项提供域名
devstarDomainFromConfig = vscode.workspace.getConfiguration('devstar').get('devstarDomain') this.devstarDomain = devstarDomainFromConfig.endsWith('/') ? devstarDomainFromConfig.slice(0, -1) : devstarDomainFromConfig
// 如果没有配置devstar domain则默认domain为https://devstar.cn let parsedUrl = new URL(this.devstarDomain);
devstarDomainURL = (devstarDomainFromConfig === undefined || devstarDomainFromConfig === "") ? 'https://devstar.cn' : devstarDomainFromConfig; this.devstarHostname = parsedUrl.hostname.replace(/\./g, '_'); //提取hostname并用下划线替换.
this.devstarDomain = devstarDomainURL } else {
let parsedUrl = new URL(devstarDomainURL); // 如果没有配置devstar domain则默认domain为https://devstar.cn
this.devstarHostname = parsedUrl.hostname.replace(/\./g, '_'); //提取hostname并用下划线替换. this.devstarDomain = "https://devstar.cn"
this.devstarHostname = "devstar_cn"
}
} }
this.usernameKey = "devstarUsername_" + this.devstarDomain
this.userTokenKey = "devstarUserToken_" + this.devstarDomain
} }
setDevstarDomainAndHostname(devstarDomain: string) { setDevstarDomainAndHostname(devstarDomain: string) {
if (devstarDomain != "") { if (devstarDomain != "") {
this.devstarDomain = devstarDomain this.devstarDomain = devstarDomain.endsWith('/') ? devstarDomain.slice(0, -1) : devstarDomain
const parsedUrl = new URL(devstarDomain) const parsedUrl = new URL(devstarDomain)
this.devstarHostname = parsedUrl.hostname.replace(/\./g, '_'); this.devstarHostname = parsedUrl.hostname.replace(/\./g, '_');
} else { } else {