API接口、前端如何去优化?
前后端分离项目
后端采用PHP+MySQL,框架是fastadmin基于thinkphp 5.1版本的
前端采用uniapp
项目已经添加了百度云加速,已经小范围运营了,数据也不是很多。
/**
* 全局错误提示
* @author
* @statusCode 200 业务错误
* @statusCode 401 没有登录
* @statusCode 403 没有权限
* @statusCode 404 找不到文件
* @statusCode 500 服务器内部错误
*/
api.interceptor.fail = ((res, config) => {
var error = '';
//业务错误、没有登录、没有权限
if (res.statusCode === 200) {
error = res.data.msg;
} else if (res.statusCode === 401) {
error = res.data.msg;
} else if (res.statusCode === 403) {
error = res.data.msg;
} else if (res.statusCode === 404) {
error = 'API接口不存在';
} else if (res.statusCode === 500) {
error = '服务器繁忙';
} else {
error = 'API接口异常';
}
if (res.errMsg == 'request:fail abort statusCode:-1') {
wanlshop_config.debug?console.log(res) : '';
}else{
config.toastError ? msg(error) : '';
}
return res;
})
前台访问如下图:
再去刷新就是可以了,现在网址添加了百度云加速CDN。
1、接口总是时不时提示:“API接口异常”,如果再去请求就是可以的。
2、有uniapp优化教程吗?
3、接口如何去优化?
请教大家有没有比较好优化这方面的学习资料,可以推荐一下。
这个跟前端没有多大关系
res不是backend返给你的么?你能咋处理
让后端记录日志,或者你能复现打印下res看看具体返回了啥,问问后端咋回事
statusCode带上啊,起码知道状态码,然后上报响应,后端自己分析一下问题
1 打印下就知道了 2、3 uniapp 优化、接口优化,具体优化什么,解决什么问题
你全等,如果遇到数字字符串,不就有问题了
1、是数据类型的问题导致,或者还有code没有在你的if 逻辑上 2、if 的逻辑太多,代码不美观
按照你的判断来看只有statusCode不等于[200,403,404,500]的时候才会走到接口异常,你用的是===绝对等于,用==看看,有可能是后端返回的是字符串显示的200而不是数字200。还有就是让后端记录一下日志,看看会不会是其他问题引起的。
看看他返回了啥呗 俩人都记日志 看看谁的问题
你这还是有bug吧?而且多半是后端的问题
补充前台H5页面访问错误的图片。