针对暂时只上线微信小程序,但为了配合后续一套代码上线多个平台的需求,弃用微信原生小程序,选用uniapp框架的项目。
-
一、自定义环境配置:uniapp多端兼容的特性,自定义的环境配置将提高不少效率,无需每次都切换域名等;
1 在根目录创建package.json文件
2 配置文件内容,注意去掉所有注释!(在此主要是微信自定义环境配置,暂且不做平台配置)uni-app 通过在package.json文件中增加uni-app扩展节点,可实现自定义条件编译平台。
3 根目录新增env文件,创建dev.js、prod.js两个文件{ /** * package.json其它原有配置 * 拷贝代码后请去掉注释! * 原有配置后的逗号别忘了 */ "uni-app": { "scripts": { "weixin:test": { "title": "微信测试环境", "env": { "UNI_PLATFORM": "mp-weixin", "ENV_PATH": "../env/dev.js" }, "define": { "WXCS-PLATFORM": true } }, "weixin:pro": { "title": "微信生产环境", "env": { "UNI_PLATFORM": "mp-weixin", "ENV_PATH": "../env/prod.js" }, "define": { "WXSC-PLATFORM": true } } } } }
4 配置dev.js、prod.js文件内容
dev.jsprod.js
5 来到你的api文件,定义baseUrl等环境变量的地方
let path = process.env.ENV_PATH == undefined ? require('../env/dev.js') : require(process.env.ENV_PATH)
var baseUrl = path.baseUrl
// let key = path.key
// let channelkey = path.channelkey
6 自定义环境变量完成 每次运行或发行,都只需点击对应的环境标题即可

运行

发行
-
二、版本自动环境切换 微信小程序端线上版本是需要通过体验版来发布审核的,可这样一来,每次体验版和线上版都是同一个环境,需求更合理的是体验版-测试环境、线上版-正式环境,所以也需要在此配置一下。
1 微信小程序官方文档:
Object wx.getAccountInfoSync()
获取当前帐号信息

2 条件编译

3 代码编写
let path = process.env.ENV_PATH == undefined ? require('../env/dev.js') : require(process.env.ENV_PATH)
// #ifdef MP-WEIXIN
// ---------------- 根据微信开发环境配置请求地址 --------------------
// 获取当前帐号信息
const accountInfo = wx.getAccountInfoSync();
console.log(accountInfo)
// env类型 develop:开发版、trial:体验版、release:正式版
const envWx = accountInfo.miniProgram.envVersion;
if(envWx === 'release'){
path = require('../env/prod.js')
}else{
path = require('../env/dev.js')
}
// #endif
var baseUrl = path.baseUrl
// let key = path.key
// let channelkey = path.channelkey


