环境变量配置
- 我们通过
uni.getAccountInfoSync()
获取小程序相关信息
miniProgram 结构:
- appId:小程序appid
- envVersion: 小程序 当前环境版本:develop开发版、trial体验版、release正式版、gray灰度版(仅支付宝小程序支持)可以通过这个属性判断小程序不同的环境
官方文档
let miniProgram = uni.getAccountInfoSync().miniProgram
- 在api 文件夹内创建config.js
export default {
api: function() {
let curVersion = uni.getAccountInfoSync().miniProgram.envVersion;
switch (curVersion) {
case "develop":
return "开发域名";
case 'trial':
return "测试域名"
case 'release':
return "生产域名"
default:
return "其他域名"
}
}
}
- 在api文件夹下创建
request.js
文件,并引用 config.js
import configApi from './config.js';
const request = (
url = '',
method = 'GET',
data = {},
header = {
'content-type': method == 'POST' ? 'application/json;charset=UTF-8' : 'application/json',
Authorization: uni.getStorageSync('token') || '',
version: uni.getAccountInfoSync().miniProgram.version,
appId: uni.getAccountInfoSync().miniProgram.appId,
},
timeout = 30000,
dataType = "json",
successCb = null,
failCb = null,
) => {
return new Promise((resolve, reject) => {
uni.request({
url: configApi.api() + url,
method: method,
data: data,
header: header,
timeout: timeout,
dataType,
success: (res) => {
if (res.data.code == '500') {
uni.showModal({
showCancel: false,
title: '温馨提示',
content: res.data.message,
success: function (result) {
if (result.confirm) {
uni.reLaunch({
url: '/pages/login/index'
});
}
}
});
}
if (res.statusCode === 200 && res.data.code === 0) {
successCb && successCb(res.data.data);
}
resolve(res.data)
},
fail: (err) => {
uni.showToast({
title: err.message,
icon: 'none'
});
reject(err)
failCb && failCb();
}
})
})
}
export default request;
- 在具体的业务接口内使用
import request from './request';
export function getInfo(parms) {
return request(
'接口路径',
'post',
parms
);
}