当前位置: 首页 > 网络应用技术

Uniapp加上网络请求和拦截器的TS封装

时间:2023-03-08 13:07:30 网络应用技术

  序言公司最近使用Uniapp Hybrid Development移动应用程序。在开发过程中,每次编写界面时,我都需要编写大量重复代码。因此,我想打包包装方法来减少重复代码。

  准备//纱线纱添加查询弦

  导出接口响应 {状态:数字msg:字符串数据:T}

  // interceptor.ts

  // root地址exponst baseurl ='https://test.com'

  //白色列表,无需带上令牌,允许接口访问接口,接口const whiteapilist = ['/api/login/login/mobile',''/api/login','/api',''/api/remiss/验证',','/api/register/repet']

  导出const interceptor =()=> {

  uni.addinterceptor('请求',{

  //请求Interceptor Invoke(args){

  })}}

  uni.request({url:url,//请求地址方法:'get',//请求方法数据,//数据seacess :( res:ang)=> {if(res.statuscode === 200){console.log(res.data)//请求成功回调} else {console.log(res)//请求失败}}})

  导出const get =(url:字符串,数据:记录 = {})=> {返回新承诺(分辨,拒绝)=> {uni.request({url:url,方法:'get',数据,成功:( res:ang)=> {if(res.statuscode ==== 200){resolve(resit(resit)。data)} else {reculd(res)}}}}}}}}}}}}}}}}}}}

  //发布请求导出const =(url:字符串,数据:记录 = {})=> {返回新承诺(分辨,拒绝)=> {uni.request({url:url:url,方法:'post',data,Success :( res:ang)=> {console.log(res.statuscode ==== 200)res.data)} else {refform(res)}}})})})}}}}}}

  //从“@/xxx”导入帖子方法导入{post}

  //登录接口const loginurl ='/api/login'

  //要返回的服务器的数据类型IloginResult {token:string msg:string}

  //输入数据const logininfo = {用户名:'xia',密码:123}

  // Pass(Loginurl,LoginInfo)。)

  //从“@/xxx”导入get方法导入{get}

  //用户信息接口const userUrl ='/api/userInfo'

  //要返回的服务器的数据类型

  //与用户ID const ID = {userId:110}配对

  //传递给遗传get(UserUrl,IDS)。然后({data,status} => {if(status == 200){//数据采集成功console.log(data.name)// username console.log(data.age)// age console.log(数据.gender)//性别}})

  原始:https://juejin.cn/post/710166065270723615