本篇的重点在于解决h5/小程序/app这三端在本地和生产环境的网络请求问题
全部代码贴在了全文最后
思路:
首先要理解这三个端的特性,h5会有跨域问题需要反向代理,小程序和app不需要反向代理,同时小程序还得用https域名。
一、h5,
一般会跨域需要反向代理。所以要在mainifest.json设置反向代理。在请求接口时,还得拼个/api前缀
// 配置代理
"devServer" : {
"proxy" : {
"/api" : {
"target" : "http://192.168.1.193:8999",
"changeOrigin" : true, //是否跨域
"secure" : false, // 设置支持https协议的代理
"pathRewrite" : {
"^/api" : ""
}
}
}
}
let url ='/api/system/login'
本地调试是loacalhost:808几,
正式环境的话,会变成ip或域名前缀+/api/system/login,后端需要配置一下nginx代理,将api替换一下
二、小程序
不需要反向代理,直接请求。所以请求接口不需要拼api前缀。
但需要https域名,所以本地环境测试时开启‘不校验合法域名……’
1.在微信开发者工具,点击详情>本地设置
2.开启‘不校验合法域名……’
在微信公众平台https://mp.weixin.qq.com/ ,扫码登录小程序,点击开发>开发管理,找到服务器域名,
// #ifdef MP
if (process.env.NODE_ENV === 'development') {
BASE_URL = "http://192.168.1.193:8999"
} else