本文介绍HarmonyOS SDK的region切换功能。
region切换
当用户在不同的国家地区时,需要根据地域情况选择合适的HTTPDNS服务节点,region切换功能提供了地域切换功能,SDK会根据用户选择的地域,选择合适的服务节点处理服务调度和域名解析请求。
应用可以根据用户的地理位置情况,设置合适的region。
SDK提供了两种方式设置region,一种是初始化配置时:
import { AbilityConstant, UIAbility, Want } from '@kit.AbilityKit';
import { window } from '@kit.ArkUI';
import { httpdns, Region } from '@aliyun/httpdns';
const ACCOUNT_ID = '这里需要替换为阿里云HTTPDNS控制台的Account ID';
export default class EntryAbility extends UIAbility {
onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
// 配置HTTPDNS
httpdns.configService(ACCOUNT_ID, {
context: this.context,
// ************* 初始化配置region begin *************
region: Region.SG,
// ************* 初始化配置region end *************
})
}
// 省略其它代码
}
一种是动态切换:
import { httpdns, HttpDnsError, Region } from '@aliyun/httpdns';
const ACCOUNT_ID = '这里需要替换为阿里云HTTPDNS控制台的Account ID';
httpdns.getService(ACCOUNT_ID).then((service) => {
// ************* 动态切换region begin *************
service.changeRegion(Region.HK)
// ************* 动态切换region end *************
}).catch((e: HttpDnsError) => {
console.error(`失败 ${e.code} ${e.message}`);
});
应用在设计时,建议主动存储设置的region,以便在初始化配置时,设置给HTTPDNS的region和HTTPDNS上次的region保持一致。
当前region有五个值:
Region.MAINLAND:中国内地地区
Region.HK:中国香港地区,东南亚区域建议选择此region
Region.SG:新加坡地区,除了中国、欧洲、美洲、东南亚地区都建议选择此region
Region.DE:德国地区,欧洲地区建议选择此region
Region.US:美国地区,美洲地区建议选择此region
文档内容是否对您有帮助?