如何兼容API V1与V2版本实现Logo统一展示?
调整方案
根据你提供的V1和V2版本API的logo_url格式,可以通过判断URL前缀的方式区分处理:
- V2版本的logo_url以
//开头,属于协议相对URL,浏览器会自动补全当前页面的协议(http/https),直接返回即可使用 - V1版本的logo_url是根相对路径(以
/开头),需要拼接LOGO_BASE_URL后使用
调整后的代码如下:
if (exampleApp.logo_url.startsWith('//')) { return exampleApp.logo_url; } else { return LOGO_BASE_URL + exampleApp.logo_url; }
扩展兼容方案(可选)
如果后续需要兼容完整HTTP/HTTPS格式的logo_url,可以扩展判断条件,覆盖更多场景:
const logoUrl = exampleApp.logo_url; // 判断是否为协议相对URL或完整HTTP/HTTPS URL if (logoUrl.startsWith('//') || logoUrl.startsWith('http://') || logoUrl.startsWith('https://')) { return logoUrl; } else { return LOGO_BASE_URL + logoUrl; }
内容的提问来源于stack exchange,提问作者carltonstith
相关产品推荐
相关产品推荐

