小程序入门:解决开发测试生产多环境开发
Posted 沛沛老爹
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小程序入门:解决开发测试生产多环境开发相关的知识,希望对你有一定的参考价值。
问题场景:
现在的开发一般都是使用了不同的配置文件,来区分对应的环境。
这样的好处是代码统一的,一般只要通过了测试环境。
在发布生成的时候,是没有很多其它的问题的。
如果有用过Java或者vue脚手架的同学都知道,他们都支持多配置文件来解决这个问题。
但是小程序是没有这个的,因为如果要这样做,就需要小程序给大家更大的数量来使用。
有很多公司的做法是申请两个小程序,一个用来做开发测试,一个做生成。
其实这样非常的浪费。
而且这样的话测试还需要通过审核。
解决办法
对于此,其实我们可以使用小程序的API来巧妙的解决这个问题。
wx.getAccountInfoSync()
这个接口主要获取当前帐号信息
文档地址
Object wx.getAccountInfoSync() | 微信开放文档
好奇的同学就要问了?
这个和我们上面的问题有什么关系么?
别急,我们看下它的返回信息
返回信息
Object
属性 | 类型 | 说明 |
---|---|---|
miniProgram | Object | 小程序帐号信息 |
plugin | Object | 插件帐号信息(仅在插件中调用时包含这一项) |
重点来了!重点来了!重点来了!
miniProgram 的结构
属性 | 类型 | 说明 | 最低版本 |
---|---|---|---|
appId | string | 小程序 appId | |
envVersion | string | 小程序版本 | 2.10.0 |
version | string | 线上小程序版本号 | 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拼接地址了。
没有任何技术含量了。
以上是关于小程序入门:解决开发测试生产多环境开发的主要内容,如果未能解决你的问题,请参考以下文章