本文介绍自定义域名的使用方法
由于小程序页面使用了默认域名(https://<id>.app.mini.windvane.suite.emas.alibaba.com/")导致小程序内部网络请求会产生跨域问题,可能会影响部分小程序功能的使用。
目标
用户可以自定义小程序域名,解决跨域问题。
如何开发使用
1. 三种域名配置&优先级:
a. 远端域名配置:请在开放平台->app设置->app编辑中配置,如下图1
b. SDK本地域名配置:通过SDK初始化接口配置(见下文)
c. 默认域名配置(https://<id>.app.mini.windvane.suite.emas.alibaba.com/")
d. 三种域名优先级:远端域名配 > SDK本地域名配置 > 默认域名配置
2. 开放平台域名配置
请在 开放平台->app设置->app编辑 中配置,如下图1
|
图1 |
3. SDK配置接口
public static void init(Application application, boolean needAuthFromApp, String superAppNameSpace, String jsApiClassNamePrefix,boolean isWindVaneBackwardCompatible) {
MiniAppInitConfig config = new MiniAppInitConfig.Builder()
.setHost("poc.superapp-intl.com/")
.setAppCode("your app code")
.setAccessKey("your access key")
.setSecretKey("your secret key")
// custom domain config interface
.enableCustomMiniAppDomain(true)
.setCustomMiniAppDomain("local.domain.com")
.enableRemoteConfig(true)
.enableRemoteAppSetting(true)
.build();
IMiniAppService miniAppService = new MiniAppService();
miniAppService.initialize(application, config);
}
4. 详细启用配置
a. enableCustomMiniAppDomain(boolean enable):
用于配置是否启用自定域名配置功能
true:启用自定域名配置功能
false:不启用自定域名配置功能,此时小程序使用默认域名
默认值为false
b. setCustomMiniAppDomain(String localDomain)
配置本地域名。未配置远端域名且enableCustomMiniAppDomain(true)时本地域名生效
c. enableRemoteAppSetting(boolean enable)
是否允许superapp从开放平台获取远端域名等配置信息。
true:允许superapp从开放平台获取远端域名
false:不允许superapp从开放平台获取远端域名
默认值false
若配置为false,开放平台配置的域名不生效
注意:目前仅包括远端域名信息
d. enableRemoteConfig(boolean enable):
是否允许superapp从开放平台获取降级开关。
true:允许superapp从开放平台获取降级开关
false:不允许superapp从开放平台获取降级开关
默认值false
若新功能线上出现问题可通过降级开关回滚到原方案,即使用默认域名
注意:目前仅包括自定义域名功能是否降级信息,后续会增加其他功能降级开关
e. 对于公有云客户
以上四个配置接口都可使用。
f. 对于混合云客户
若已部署的开放平台无远端域名配置功能:
仅可使用上述enableCustomMiniAppDomain(boolean enable) 和setCustomMiniAppDomain(String localDomain)两个接口。
另外两个接口无需配置
若已部署的开放平台具有远端域名配置功能:上述四个接口都可使用
使用案例
如果客户按照上述 图1 以及 “Android端域名配置接口”进行配置,即
同意使用自定义域名功能
在开放平台配置远端域名为“poc.superapp-intl.com”
本地域名配置为"local.domain.com"
并且允许SDK访问开放平台远端配置
允许SDK从开放平台获取降级开关
|
图2 使用远端配置结果 |
从图2中可发现 referer字段已经使用远端配置域名
如果客户将enableRemoteAppSetting(false)关闭,此时因无法获取远端域名根据域名优先级使用本地域名配置。结果如下图
|
图3 使用本地配置结果 |
注意事项
无


