微信小程序区分开发环境、生产环境(开发版、体验版、正式版)

一、先说方法: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


本文章由javascript技术分享原创和收集

发表评论 (审核通过后显示评论):