当前位置:   article > 正文

taro vue 请求封装_trao+vue请求封装接口

trao+vue请求封装接口
  1. import Taro from '@tarojs/taro'
  2. import store from '../store/index'
  3. // 1.错误提示
  4. // 2.接口请求的加载中
  5. // 3.数据请求成功 success===0000
  6. // 4.错误信息的解析 状态码
  7. export async function request (params) {
  8. const {url,data,method,header,isLoading=true,isShowError=true,timeout=60000,...otherData} = params
  9. if(isLoading){
  10. Taro.showLoading({
  11. title: ''
  12. })
  13. }
  14. return await new Promise((resolve)=>{
  15. return Taro.request({
  16. data:data,
  17. url:url,
  18. method:method,
  19. timeout:timeout,
  20. header: {
  21. 'content-type': 'application/json;charset=UTF-8,text/plain,*/*',
  22. 'deerma_token':store.state.token || undefined,
  23. ...header
  24. },
  25. ...otherData,
  26. success: function (res) {
  27. if(isLoading){
  28. Taro.hideLoading();
  29. }
  30. if (res.data.code==='0000') {
  31. resolve({success:true,data:res.data.data});
  32. } else {
  33. if(isShowError){
  34. showErrorToast(res.data.msg)
  35. }
  36. resolve({data:res,success:false})
  37. }
  38. },
  39. error(e) {
  40. if(isLoading){
  41. Taro.hideLoading();
  42. }
  43. if(isShowError){
  44. showErrorToast(e)
  45. }
  46. // eslint-disable-next-line no-undef
  47. resolve({data:e,success:false})
  48. }
  49. })
  50. })
  51. }
  52. function showErrorToast(msg) {
  53. Taro.showToast({
  54. title: msg,
  55. icon: 'none'
  56. // image: '/static/images/icon_error.png'
  57. })
  58. }
import { loginIdm } from '../../api/request'

 

  1. async toLogin(){
  2. if(this.clickIt) return
  3. const {success,data}=await loginIdm({loginAccount: this.accountVal ,loginPass: this.passworldVal})
  4. if(success){
  5. // 获取用户信息
  6. this.$store.dispatch('getCurrentUser',data.token)
  7. router.navigateTo({url:'/pages/index/index'})
  8. }
  9. }

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/770715
推荐阅读
相关标签
  

闽ICP备14008679号