小程序入门:解决开发测试生产多环境开发

Posted 沛沛老爹

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小程序入门:解决开发测试生产多环境开发相关的知识,希望对你有一定的参考价值。

 问题场景:

现在的开发一般都是使用了不同的配置文件,来区分对应的环境。

这样的好处是代码统一的,一般只要通过了测试环境。

在发布生成的时候,是没有很多其它的问题的。

如果有用过Java或者vue脚手架的同学都知道,他们都支持多配置文件来解决这个问题。

但是小程序是没有这个的,因为如果要这样做,就需要小程序给大家更大的数量来使用。

有很多公司的做法是申请两个小程序,一个用来做开发测试,一个做生成。

其实这样非常的浪费。

而且这样的话测试还需要通过审核。

解决办法

对于此,其实我们可以使用小程序的API来巧妙的解决这个问题。

wx.getAccountInfoSync()

这个接口主要获取当前帐号信息

 文档地址

Object wx.getAccountInfoSync() | 微信开放文档

好奇的同学就要问了?

这个和我们上面的问题有什么关系么?

别急,我们看下它的返回信息

返回信息

 Object

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

重点来了!重点来了!重点来了!

miniProgram 的结构

属性类型说明最低版本
appIdstring小程序 appId
envVersionstring小程序版本2.10.0
versionstring线上小程序版本号2.10.2

version这个参数是返回对应的版本号。它的值是develop、trial、release。

分别对应开发、体验和正式。

解决思路就很简单了,在启动的时候,先加载这个方法,根据version的返回值来判断当前的版本,根据不同的版本赋值不同的接口的前缀地址。

解决方案伪代码

let domain = ''
const baseUrl = {
	production: '',	// 生产环境
	trial: '',// 体验环境
	development: ''	// 开发环境
}
 
 //设置对应的接口基础地址
  let env = wx.getAccountInfoSync().miniProgram.envVersion

  if (env == 'release') {

	domain = baseUrl.production

  }else if(env == 'trial') {

    domain = baseUrl.trial

  } else {

	domain = baseUrl.development 
  } 

后面的基本上就是直接使用domain拼接地址了。

没有任何技术含量了。

以上是关于小程序入门:解决开发测试生产多环境开发的主要内容,如果未能解决你的问题,请参考以下文章

微信小程序 | 实战开发开发环境测试环境和生产环境

如何开通微信小程序开发环境和生产环境

开发环境,测试环境,生产环境的区别

多人协作多版本开发冲突的正确解决姿势

多人协作多版本开发冲突的正确解决姿势

多人协作多版本开发冲突的正确解决姿势