来自领导的指点--1 : 小程序和H5 代理问题

uni-app的h5/小程序/app 网络请求,解决本地环境和生产环境网络请求问题

项目场景:

在写小程序的过程中
在使用后端接口的时候,接口当中自己拼接了 /api, 领导查看后给删掉了
注意 :

  • 红色是之前提交(也就是自己写的)
  • 绿色是之后提交(也就是领导改动的)
    在这里插入图片描述

疑问

这里的 api/ 为什么可以省略啊

来自领导的回答 : api/是web端代理前缀
来自领导的回答 : 小程序请求不需要代理


原因分析:

uni-app的h5/小程序/app 网络请求,解决本地环境和生产环境网络请求问题

思路:

首先要理解这三个端的特性,h5会有跨域问题需要反向代理,小程序和app不需要反向代理,同时小程序还得用https域名。

一、h5,

一般会跨域需要反向代理。所以要在mainifest.json设置反向代理。在请求接口时,还得拼个/api前缀

let url ='/api/system/login'

正式环境的话,会变成ip或域名前缀+/api/system/login,后端需要配置一下nginx代理,将api替换一下

二、小程序

不需要反向代理,直接请求。所以请求接口不需要拼api前缀。
但需要https域名,所以本地环境测试时开启‘不校验合法域名……’
小程序本地环境,request网络请求地址是后台服务地址,接口不要/api前缀

let url = BASE_URL + '/system/login'

小程序生产环境,request网络请求地址要https://域名,并且要api前缀,因为域名一般对应的是前端页面,域名+api后缀,api经过了后端nginx替换,就表示是后端服务地址

let url = BASE_URL + '/api/system/login'

三、app

不需要反向代理,直接请求。所以请求接口不需要拼api前缀

// #ifdef APP-PLUS
BASE_URL = "http://192.168.1.193:8999"
// #endif

let url = BASE_URL + '/system/login'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值