微信小程序区分开发环境、生产环境(开发版、体验版、正式版)
一、先说方法:wx.getAccountInfoSync()
获取当前帐号信息。线上小程序版本号仅支持在正式版小程序中获取,开发版和体验版中无法获取。
https://developers.weixin.qq.com/miniprogram/dev/api/open-api/account-info/wx.getAccountInfoSync.html
在之前官方没有提供判别方法,上线之前要手动修改请求的URL,现在可以根据wx.getAccountInfoSync()的返回值判断运行环境,自动配置REQUEST_URL,方法在最后。缺点是:要设置基础库版本。
这里注意一下基础库版本,如果用户微信版本更新不及时可能会报错,建议设置最低基础库。
wx.getAccountInfoSync返回值
envVersion类型
// 获取当前帐号信息
const accountInfo = wx.getAccountInfoSync();
// env类型
export const env = accountInfo.miniProgram.envVersion;
if(!evn){
console.error("获取运行环境失败!");
}
const baseApi = {
// 开发版
develop: "https://test.domain.cn",
// 体验版
trial: "https://test.domain.cn",
// 正式版
release: "https://admin.domain.cn"
};
// request请求baseURL
export const baseURL = baseApi[env] + "/path";
二、利用 request header refer
第二种方法可以在服务端配置,根据refer区分做转发,具体根据服务nginx、node等自己查找方法即可。缺点是:增加转发服务器的请求压力
image.png
发表评论 (审核通过后显示评论):