微信小程序区分开发版、体验版、正式版

微信小程序区分开发版、体验版、正式版,达到自动切换开发环境、生产环境的目的,减少打包上传代码的次数。

一、实现代码:

//根据开发环境配置请求地址
// 获取当前帐号信息
const accountInfo = wx.getAccountInfoSync();
// env类型 develop:开发版、trial:体验版、release:正式版
export const env = accountInfo.miniProgram.envVersion;
if(!evn){
  console.error("获取运行环境失败!");
}
const baseApi = {
  // 开发版
  develop: "https://test.domain.cn",
  // 体验版
  trial: "https://test.domain.cn",
  // 正式版
  release: "https://domain.cn"
};
// request请求baseURL
const SERVER_API = baseApi[env] ||'https://domain.cn';

二、相关知识:

Object wx.getAccountInfoSync()

基础库 2.2.2 开始支持,低版本需做兼容处理
获取当前帐号信息。线上小程序版本号仅支持在正式版小程序中获取,开发版和体验版中无法获取。

返回值

Object

帐号信息

属性 类型 说明
miniProgram Object 小程序帐号信息
plugin Object 插件帐号信息(仅在插件中调用时包含这一项)

miniProgram 的结构

属性 类型 说明 最低版本
appId string 小程序 appId
envVersion string 小程序版本 2.10.0
version string 线上小程序版本号 2.10.2

miniProgram.envVersion 的合法值

说明 最低版本
develop 开发版
trial 体验版
release 正式版

plugin 的结构

属性 类型 说明
appId string 插件 appId
version string 插件版本号

示例代码

const accountInfo = wx.getAccountInfoSync();
console.log(accountInfo.miniProgram.appId) // 小程序 appId
console.log(accountInfo.plugin.appId) // 插件 appId
console.log(accountInfo.plugin.version) // 插件版本号, 'a.b.c' 这样的形式

*参考资料:
https://developers.weixin.qq.com/miniprogram/dev/api/open-api/account-info/wx.getAccountInfoSync.html
https://www.jianshu.com/p/d99f3a3376e9

你可能感兴趣的:(微信小程序区分开发版、体验版、正式版)