首页 > 其他分享 >uni.request拦截器

uni.request拦截器

时间:2023-03-31 13:45:35浏览次数:44  
标签:拦截器 请求 cb request header uni config response

uni.requset

1 uni.request({
2   url:'', // 地址
3   data:{}, // 请求body
4   header:{}, //请求header
5   method: '', // 请求方式 'GET'/'POST'/'PUT'/'DELETE'
6   success: (res)=>{}, // 请求成功回调
7   fail: (res)=>{}, // 请求失败回调
8   complete: (res)=>{}, // 请求完成回调
9 })

请求拦截

  request(options = {}) {
    return new Promise((resolve, reject) => {
      // 拦截处理1:header共通处理
      const _config = this.requestBeforeFun(options)
      if (!next) return
      const requestTask = uni.request({
        url: _config.url,
        data: _config.data,
        header: _config.header,
        method: _config.method,
        complete: (response) => {
          if (this.validateStatus(response.statusCode)) { // 成功
            // 拦截处理2:请求成功,数据的共通处理
            response = this.requestComFun(response)
            resolve(response)
          } else {
            // 拦截处理3:请求失败,错误码的共通处理
            response = this.requestComFail(response)
            reject(response)
          }
        }
      })
    })
  }

设置拦截器

interceptor = {
    request: (cb) => {
      if (cb) {
        this.requestBeforeFun = cb
      }
    },
    response: (cb, ecb) => {
      if (cb) {
        this.requestComFun = cb
      }
      if (ecb) {
        this.requestComFail = ecb
      }
    }
  }

 

标签:拦截器,请求,cb,request,header,uni,config,response
From: https://www.cnblogs.com/txiaoyuan/p/17276017.html

相关文章

  • Unity客户端开发工程师的进阶之路
    UWA技能成长系统是UWA根据学员的职业发展目标,提供技能学习的推荐路径,再将所需学习内容按难易等多维度,设计分成多个学习阶段,可以循序渐进地进行学习。每个阶段学员完成学习任务后不但可以获得技能的提升,还将获得UWA社区相应的积分奖励(积分可兑换礼品和优惠券哦)。 进入技能成长......
  • c++ 多线程编程std::thread, std::shared_mutex, std::unique_lock
    在C++11新标准中,可以简单通过使用thread库,来管理多线程,使用时需要#include<thread>头文件。简单用例如下:1std::thread(Simple_func);2std::threadt(Simple_func);3t.detach();第一行是直接启动一个新线程来执行Simple_func函数,而第二行先声明一个线程函数t(返回类型为......
  • uniapp与ios原生混合开发教程 - 开篇
    说明有读者反馈:学习uniappios插件开发不知道从哪些文章看起,没有一个清晰的学习路线本文就做一个解答。首先本系列的文章是作者精心排过序的,如果想要完整的学习uniappios原生插件开发技术的话,建议是按文章顺序浏览。当然您如果有相关的开发经验,且只对某一技术实现感兴趣......
  • unity3d面试题及答案
    unity3d面试题及答案1.请描述游戏动画有哪几种,以及其原理。答:主要有关节动画、单一网格模型动画(关键帧动画)、骨骼动画。    关节动画把角色分成若干独立部分,一个部分对应一个网格模型,部分的动画连接成一个整体的动画,角色比较灵活Quake2中使用了这种动画;   单一网......
  • unity学习——c#初级编程
    1.作为行为组件的脚本首先新建一个cube立方体  然后新建一个c#脚本,脚本用来实现立方体cube的三种颜色变化(按键实现)  脚本代码如下:usingUnityEngine;usingSystem.Collections;publicclasscolor:MonoBehaviour{voidUpdate(){if(Input.GetKeyD......
  • Spine在Unity 的URP模式下,描边的坑。
    在urp模式下,spine描边需要特殊处理,首先去。官网下载他们的urp拓展包,然后通过packagemanager导入到项目。打开包里outlineshadersurp场景。发现他们实现这个场景的时候,是在spine动画下面套了一个outline对象,这个outline对象有一个脚本叫做renderexistingmesh。将这个脚本......
  • Unity实现物件选中效果
    首先制作两个显示效果,一个是未被选中时的物件(Visual),一个是被选中时的物件(Focused)。然后将这两个gameObject挂载到父节点上。创建C#代码CounterFocused添加为父节点的组件。publicclassCounterFocused:MonoBehaviour{[SerializeField]privateGameObjectNor......
  • unity [数学] 四元数和Vector3相乘的意义
    参考:https://answers.unity.com/questions/186252/multiply-quaternion-by-vector.html 总结:Quaternion*Vector3表示在世界坐标系下,Vector3的任意旋转; Inthequaternionworld,multiplicationisthewaytoapplytherotationtosomething  【在Quaternion下,相......
  • NSURLConnection和NSURLRequest
    iOS中我们可以通过NSURLRequest和NSURLConnection来建立一些HTTP请求下载数据等等先看一个例子:NSURLRequest*theRequest=[NSURLRequestrequestWithURL:[NSURLURLWithString:@“http://www.baidu.com/”]cachePolicy:NSURLRequestUse......
  • java中拦截器的使用
    实现类packagecn.com.yusys.yusp.mcp.interceptor;importcn.com.yusys.yusp.commons.session.context.UserContext;importcn.com.yusys.yusp.commons.session.user......