小程序体验版正式版环境判断
发布于 6 年前 作者 fujie 1604 次浏览 来自 问答

请提供一个api能够支持判断体验版和正式版本, 每次体验版和正式版切换请求url很麻烦…

4 回复

我们的做法是在服务端固定的url写一个配置文件,小程序每次上传版本前修改一个本地版本变量,打比方是一个依次递增的正整数,每次小程序冷启动的时候post固定url获取配置文件带上这个版本变量,服务端有多种写法,可以在服务端进行比对版本后返回配置不同的api url,也可以把版本对应的api url放到配置文件加载到小程序后前端自己判断都可以的。正式上线后,配置文件改下规则就可以了

只有这一个做判断的

网络请求的 referer header 不可设置。其格式固定为 https://servicewechat.com/{appid}/{version}/page-frame.html,其中 {appid} 为小程序的 appid,{version} 为小程序的版本号,版本号为 0 表示为开发版、体验版以及审核版本,版本号为 devtools 表示为开发者工具,其余为正式版本;

if (typeof __wxConfig == "object"){
  let version = __wxConfig.envVersion;
  console.log("当前环境:" + version)
  if (version == "develop"){
    //工具或者真机 开发环境
 
  } else if (version == "trial"){
    //测试环境(体验版)
 
  } else if (version == "release"){
    //正式环境
 
  }
}

使用限制

  • 网络请求的 referer header 不可设置。其格式固定为 https://servicewechat.com/{appid}/{version}/page-frame.html,其中 {appid} 为小程序的 appid,{version} 为小程序的版本号,版本号为 0 表示为开发版、体验版以及审核版本,版本号为 devtools 表示为开发者工具,其余为正式版本;

  • wx.requestwx.uploadFilewx.downloadFile 的最大并发限制是 10 个;

  • 小程序进入后台运行后(非置顶聊天),如果 5s 内网络请求没有结束,会回调错误信息 fail interrupted;在回到前台之前,网络请求接口调用都会无法调用。

回到顶部