小程序开发之用户错误反馈
最近在做小程序封装API请求时发现一个点我觉得时值得记录分享以下的,是关于API请求之后的结果反馈,主要是面向用户体验的这方面。
当我们在调用API时会有三种情况,调用成功,服务器异常和调用失败
当API调用失败时,小程序会给用户弹出一个“ 错误”提示,但是用户并不指导哪里出错,就好像这段时间的笔者,总是一脸蒙逼的看着调试器里的满满的红色,无时无刻不再薅头发…
success:(res)=>{
let code = res.statusCode.toString()
if(code.startsWith('2'){
params.success(res.data)
}else{
wx.showToast({
title:"错误",
icon:'none',
duration:1500
})
}
fail:(err)=>{
wx.showToast({
title:"错误",
icon:'none',
duration:1500
})
}
}
话说回来,我认为一个好的产品,错误反馈是不可忽视的重要用户体验,(希望小程序的开发团度面对错误报错可以在明确一点 泪奔~~)
上面的代码段最大的缺点是没有明确的像用户指名错误的原因,但是想想,在我们开发者手中的开发者文档里,都有含义明确的HTTP状态码,这样我们可以清楚的知道 200:ok,401:UNAUTHORIZED,
500:INTERNAL SERVER ERROR ;
说到这里,大神们是不是已经知道办法了,嘿嘿嘿(需要服务器开发的小伙伴开发错误码来辨识业务错误嘿嘿嘿)
- 用常量把每个错误的错误码写下来。
- 定义私有一个方法,注意小程序里的私有方法只能在前面加_,并不是真正的私有方法,在类的外部还是可以调用,在这里只作为标记使用。
- 做一些基本功能和容错处理。
const tips ={
1:'哎呀,出现了错误'
1005:'appkey无效,请重新申请'
3000:'消息不存在'
}
success:(res)=>{
let code = res.statusCode.toString()
if(code.startsWith('2'){
params.success(res.data)
}else{
let error_code = res.data.error_code
_show_error(error_code){
if(!error_code){
error_code = 1
}
wx.showToast({
title: 'tips[error_code]',
icon:'none',
duration:1500
})
}
},
fail:(err)=>{
wx.showToast({
title:"错误",
icon:'none',
duration:1500
})
}
}
大致就是这样,完成后的错误提示会很人性化,这只是最近笔者新学到的小知识,欢迎大神在评论区里留言赐教。
告辞撒花~~