小程序接口请求封装的示例分析

  介绍

这篇文章将为大家详细讲解有关小程序接口请求封装的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

api。js

这个文件主要api接口,废话不多说直接上代码了

const  request =,要求(& # 39;requtil.js& # 39;)/* Apis 把全部api都存在这里*/const  Apis =, {,   ,,/*,用户相关,*/& # 39;才能登录# 39;:,& # 39;/devicecenter/认证/weChtLoin& # 39;,,, & # 39; bindUser& # 39;:, & # 39;/devicecenter/用户/userBindinOpenId& # 39;,,, & # 39; genQrCode& # 39;:, & # 39;/devicecenter/用户/getUserRcode& # 39;,,,   ,,/*,设备相关,*/& # 39;才能getDeviceList& # 39;:, & # 39;/minipro/组/getDl& # 39;,,//,获取设备列表   & # 39;才能getDeviceAdd& # 39;:, & # 39;/minipro/组/addDl& # 39;,,//,,添加设备   & # 39;才能getDeviceDtl& # 39;:, & # 39;/minipro/组/delDl& # 39;,,//,,删除设备}/*,定义请求方法,*/const  user =,{登录才能:功能(数据),{   ,,,request.get (Apis.login,数据)   ,,},,getSecret:,功能(数据),{   ,,,request.get (Apis.getSecret,数据)   ,,},   }module.exports =, {   ,,…用户   }复制代码 requtil.js

把微信的wx。请求请求进行分开封装

const  globalsetting =,要求(& # 39;globalsetting.js& # 39;) const  baseURL =, globalsetting.serverconst  util =,要求(& # 39;util.js& # 39;) const  ignoreUrls =,(& # 39;才能/认证/weChatLogin& # 39;,,, & # 39;/user/userBindingOpenId& # 39;,,, & # 39;/user/getSecret& # 39;,,, & # 39;/user/getOpenId& # 39;] var  token =, & # 39; & # 39; function 职位(url, args), {   args 才能=,_prev (url, & # 39;文章# 39;,,args)   wx.request才能(args)   }function  get (url, args), {   args 才能=,_prev (url, & # 39;得到# 39;,,args)   wx.request才能(args)   }function  (url, args), {   args 才能=,_prev (url, & # 39;把# 39;,,args)   wx.request才能(args)   }function  _delete (url, args), {   args 才能=,_prev (url, & # 39;删除# 39;,,args)   wx.request才能(args)   }function  _prev (url,方法,args),{//才能,console.log (& # 39; 123 & # 39; args)   时间=args 才能;args  | |, {}   时间=args.url 才能;url ,如果(args.urlparam),   ,,,args.url  +=, & # 39;/& # 39;, +, args.urlparam , var  params =, parseParams (args)   时间=params.method 才能;方法   params.success =,才能成功(params.success)   时间=params.fail 才能;失败(params.fail)   setToken才能(params), return 参数   }//,处理接口是否需要添加header.token方法function  setToken (params), {if 才能;(! ignoreUrls.some (url =祝辞,params.url.match (new  RegExp (url)))), {,,, if  (params.header !)   ,,,,,params.header =,{,令牌:getToken (),},,,, else    ,,,,,params.header.token =, getToken ()   },才能else  {,,,//, console.log(& # 39;忽略:& # 39;,,params.url)   ,,}   }//,处理接口参数方法function  parseParams (args), {var 才能;params =, Object.assign (args),, if  (! (params.url.startsWith (& # 39; https://& # 39;), | |, params.url.startsWith (& # 39; http://& # 39;)))   ,,,params.url =, baseURL  +, params.url ,如果(params.param), {,,, if  (params.url.indexOf(& # 39; ? & # 39;),祝辞,1,,,,params.url.indexOf (& # 39; ? & # 39;), !=, params.url.length 作用;1),{   ,,,,,params.url  +=, & # 39;, & # 39;,   ,,,},else 如果(params.url.indexOf (& # 39; ? & # 39;),==, params.url.length  1),{,,,,,//,无任何操作   ,,,},{else    ,,,,,params.url  +=, & # 39; ? & # 39;   ,,,},,,,var  buf =, & # 39; & # 39;   ,,,(var  name  params.param拷贝),{,,,,,let  val =, params.param[名字];   ,,,,,buf  +=, name  +, & # 39;=& # 39;, +, encodeURI (typeof  val ==, & # 39;对象# 39;,?,JSON.stringify (val),:, val), +, & # 39;, & # 39;   ,,,}   ,,,params.url  +=缓冲区   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

小程序接口请求封装的示例分析