小程序环境切换问题

查看 146|回复 11
作者:seedhk   
大佬们早上好!
公司是做小程序的,需要连接后端服务器请求数据。
当前公司有一套测试环境服务器和生产环境服务器。测试环境通过 IP 访问,生产环境通过 IP 或者域名访问。
但是有时候会发生上线前检查不仔细,测试环境的 IP 被带到了生产环境,导致生产环境的小程序不可用。
我想过一个方案,就是测试环境和生产环境都使用域名进行访问后端服务,在测试环境使用修改 hosts 的方式来修改域名对应的 IP ,但是放在小程序上这招不行。
除了上线之前加强检查,生成体验版本进行尝试以外,从技术的角度,有办法解决吗?
谢谢
gdfsjunjun   
小程序开发工具那里,页面参数之类的传个值,规定开发环境。默认不填就是生产环境。那不就好了。部署不用做任何修改。
gdfsjunjun   
这就相当于环境变量,你再去总 API 配置那里,写好业务逻辑,搞定。
meshell   
```js
const accountInfo = wx.getAccountInfoSync();
this.globalData.env = accountInfo.miniProgram.envVersion;
let baseUrl = 'https://api.xxxx.com';
if (this.globalData.env === 'develop') {
baseUrl = 'https://beta-api.xxxx.com';
}
```
我是这样的处理的。
sentinelK   
这个是软件工程的典型错误,既不应该在进入测试阶段后仍然修改代码。无论是任何理由。
所以:
1 、通过 url 的特殊调试参数。
2 、通过反向代理服务的方式调整 API 的 IP 指向。
一般来讲,成熟的产品都会选择方法 2 ,因为方法 2 不光会实现此功能,也是灰度更新、热回退等版本管理的基础机制。
hoshizukiko   
我们是一个标准文件,上线发版前手动改为生产环境再提交,git 上都是测试环境
GNightDearLamb   
你可能需要的是 wx.getAccountInfoSync()
loveyu   
秘籍开关,切换环境
ToDayMkCode   
1.config 配置文件, 例如:const mode = 'dev' // dev | pro
2.脚本上传代码: 例如:npm run dev || npm run build (实际上也是修改配置)
3.两个微信小程序,一个是测试环境 一个是正式环境
Light3   
最简单写个参数呗..
还不行 就切域名呗
您需要登录后才可以回帖 登录 | 立即注册

返回顶部