uniapp 微信小程序获取当前环境(开发、体验版、正式)

技术栈:Uniapp

简介

在实际开发过程中,会需要根据当前的版本切换到对应的环境(测试、正式),如果每次开发者手动改路径,出错率比较高,于是就需要自动适配。(但是微信审核的时候,可能会因为不是正式版本的数据而驳回)

实现

主要有以下几种方法:

  • 自定义环境配置 package.json
  • uni.getAccountInfoSync().miniProgram.envVersion
  • wx.getAccountInfoSync().miniProgram.envVersion (只支持微信小程序)
  • __wxConfig.envVersion (只支持微信小程序)

第一种方式,配置好后,即可自动切换数据。
剩下的三种都是根据获取的环境进行判断 导出,其他地方进行使用即可,
envVersion 版本值

  • release(正式版)
  • develop(开发版)
  • trial(体验版)

实际实现,例如:

const prodOss = 'https://prod.com/oss/';
const devOss = 'https://dev.com/oss/';
export const OssUrl = uni.getAccountInfoSync().miniProgram.envVersion == 'release' ? prodOss : devOss; 
import { OssUrl } from '@config/index.js'
// 获取图片路径
export const getImgUrl = (path) => {
	return OssUrl + path;
}

自定义环境配置 package.json

可参考 uniapp微信小程序端:自定义环境配置以及线上版、体验版自动环境切换配置,配置 package.json 实现自动切换。
具体实现,本人未尝试过,仅提供参考。

uni.getAccountInfoSync

官方参考文档:uni.getAccountInfoSync() | uni-app官网
此接口中,
使用 uni.getAccountInfoSync() ,会返回包含 miniProgram 小程序对象和 plugin 插件对象的数据,miniProgram.envVersion 即当前小程序环境版本信息。
uni.getAccountInfoSync() 返回的数据如下图:

uni.getAccountInfoSync 返回数据

wx.getAccountInfoSync

官方参考文档:Object wx.getAccountInfoSync() | 微信开放文档
使用 wx.getAccountInfoSync()(仅支持微信小程序) ,会返回包含 miniProgram 对象的数据,miniProgram.envVersion 即当前小程序环境版本信息。
wx.getAccountInfoSync() 返回的数据如下图:

wx.getAccountInfoSync 返回数据

__wxConfig

根据查阅其他资料,在微信小程序情况下,发现也可使用 __wxConfig 查询小程序参数信息,相比 getAccountInfoSync,信息会更多更全,不过用 getAccountInfoSync 已经足够了。
__wxConfig 返回的数据如下图:
__wxConfig 返回数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值