当前位置: 首页 > news >正文

平谷区网站建设中国万网陈峰欣

平谷区网站建设,中国万网陈峰欣,网站搭建教程零基础,昆山正规网站建设前端封装api请求 前端封装 API 请求可以提高代码的可维护性和重用性#xff0c;同时使得 API 调用更加简洁和易用。 下面是一种常见的前端封装 API 请求的方式#xff1a; 创建一个 API 封装模块或类#xff1a;可以使用 JavaScript 或 TypeScript 创建一个独立的模块或类来…前端封装api请求 前端封装 API 请求可以提高代码的可维护性和重用性同时使得 API 调用更加简洁和易用。 下面是一种常见的前端封装 API 请求的方式 创建一个 API 封装模块或类可以使用 JavaScript 或 TypeScript 创建一个独立的模块或类来封装 API 请求。这个模块或类可以包含一些常用的方法例如 get、post 等用于发送不同类型的请求。 配置基本信息在封装模块中设置 API 的基本信息例如 API 的根地址、请求头等。可以定义一些默认配置也可以允许开发者在调用时传入自定义配置。 实现请求方法根据需要实现不同的请求方法例如 get、post、put、delete 等。这些方法通常接收参数例如 URL、数据、请求头等并返回一个 Promise 对象以便在异步请求完成后获取数据或处理错误。  处理请求和响应拦截在请求发送前可以对请求进行一些预处理例如添加统一的请求头、身份验证等。在响应返回后也可以对响应进行拦截和处理例如判断状态码、处理错误信息等。  错误处理在封装的 API 模块中可以统一处理请求错误。例如对于网络错误或服务器返回的错误信息可以进行统一的处理并根据需要进行提示或记录操作。  使用封装的 API 模块在项目中使用封装的 API 模块进行 API 请求。通过调用封装模块中的方法传入请求所需的参数即可发送请求并获取响应数据。 这种方式的好处是在项目中可以复用封装好的 API 请求逻辑减少代码的冗余并且使得 API 调用的代码更加清晰和易读。 此外对于底层的网络请求库也可以根据需要进行切换和替换而不需要修改大量的业务代码。 uni-app 封装api请求 在uni-app中封装API请求可以按照以下步骤进行 创建一个utils文件夹并在其中创建一个api.js文件用于存放API请求相关的代码。 在api.js文件中引入uni.request方法用于发送请求。示例代码如下 export function request(url, method, data) {return new Promise((resolve, reject)  {uni.request({url: url,method: method,data: data,success: (res)  {resolve(res.data);},fail: (err)  {reject(err);}});}); } 这里使用了Promise对象来处理异步请求方便后续的使用和处理。 在api.js文件中定义具体的API请求函数。 示例代码如下 import { request } from ./utils/api;export function login(username, password) {const url  https://api.example.com/login;const method  POST;const data  {username: username,password: password};return request(url, method, data); }export function getUserInfo(userId) {const url  https://api.example.com/users/${userId};const method  GET;return request(url, method); } 以上示例代码中包括了登录和获取用户信息两个API请求函数。根据具体的需求你可以进行修改或添加其他的API请求函数。 在需要使用API的页面或组件中引入并调用定义的API请求函数即可。 示例代码如下 import { login, getUserInfo } from ./utils/api;login(example, password).then((res)  {console.log(登录成功, res); }).catch((err)  {console.error(登录失败, err); });getUserInfo(123).then((res)  {console.log(获取用户信息成功, res); }).catch((err)  {console.error(获取用户信息失败, err); }); 以上示例代码展示了如何使用封装的API请求函数来进行登录和获取用户信息的操作。根据具体需求你可以在相应的页面或组件中调用相关API请求函数。 通过以上步骤你就可以在uni-app中封装API请求使代码结构更加清晰和可维护。记得根据实际情况进行适当的错误处理和数据处理。 uni-app封装api请求改进 // /utils/request.js // #ifdef MP-WEIXIN const baseURL  https://www.bradenhan.tech // #endif  // #ifdef H5 const baseURL   // #endifconst timeout  5000// 封装api请求 const request  function(option){ // 获取用户传入的urlvar url  baseURL  option.url; // 添加提请求头var  header  option.header||{}if(!!option.needToken){// 添加token header.Authorization   Bearer    uni.getStorageSync(token);  }header.source1;header.channelh5;// 加载提示var loading  option.loading;// 如果有loading就显示loadingif(loading){uni.showLoading(loading)}// 返回一个promisereturn new Promise((resolve,reject){  // 发起一个request请求uni.request({url, //请求urlmethod:option.method||GET, //请求方法header, //请求头timeout,data:option.data||option.params, //请求数据success(res){// 成功返回结果if(res.statusCode200){resolve(res.data)// 如果是101 没有权限if(res.data.code101){uni.showToast({title: res.data.msg,icon:none})uni.redirectTo({url: /pages/login/index,})}if(res.data.code!200res.data.code!0){uni.showToast({icon:none,title:res.data.msg||请求错误})}} },fail(err){// 失败返回失败结果uni.showToast({title: 请求失败,icon:error})console.error(err);reject(err)},complete(){// 完成 关闭loadingif(loading){uni.hideLoading()}}})}) }// 定义get简洁方法 request.getfunction(url,config){return  request({url,method:GET,...config}) }// 定义post简洁方法 request.postfunction(url,data,config){return  request({url,method:POST,  ...config,data}) } // 导出请求 export default request; 统一控制api.js request.post(url,data,needToken) 参数 url 请求url data 请求参数data needToken 是否需要参数 // /api/index.jsimport request from /utils/request.js // 用户注册 export function customUseRegister(data){return request.post(/xxxx1,data) }// 微信用户登录 export function customUserLogin(data){return request.post(/xxxx2,data) } // 更新用户信息 -- 需要使用Token export function customUserUpdate(data){return request.post(/xxxx3,data,{needToken: true}) } 组件中使用 import { customUserLogin, customUseRegister,customUserUpdate } from /api/index.jscustomUserUpdate(data).then((res)  {console.log(成功, res);   }).catch((err)  { console.error(登录失败, err); });
http://www.hkea.cn/news/14420582/

相关文章:

  • 网站主体注销英文网站设计理念
  • 中英双语营销型网站青龙建站教程
  • 公司网站首页设计模板学科网站建设管理
  • php网站开发路线东莞软件网站推广
  • 网站模版 优帮云dede网站如何换源码
  • 做企业网站找哪家地方门户网站建设要求
  • 网站查询域名ip解析js判断是手机还是电脑访问网站
  • 网站建设具体运算浙江建设信息港网站查询
  • 门户网站部署方案公司宣传册设计样本下载
  • 设计主题网站广州网站优化关键词排名
  • 三九集团如何进行网站建设wordpress变慢
  • 自己的网站怎么和百度做友链typecho对比wordpress
  • 行业门户网站运营方案网站建设中所涉及的所有链接建设
  • 武义企业网站建设wordpress 51
  • 站长工具传媒福建省城乡住房建设厅网站
  • 宜宾网站建设08keji网站建设犀牛
  • 网站开发技术合同服装网站怎么做的
  • 如何做好网站内更新商业街网站建设方案
  • 阿里云如何添加新网站长沙做网站团队
  • 刘涛做的网站微信小程序怎么注销账号
  • 东莞市网站建设分站个人制作网站工具
  • 咸阳网站建设公司电话餐厅网络推广方案
  • 石家庄门户网站建设公司网页制作官网
  • 东莞品牌营销型网站建设低内存vps搭建WordPress
  • 长沙做网站推广哪家好市场营销数字营销
  • wordpress网站主机wordpress链接下划线
  • 网站子网页怎么做铜陵市建设局网站
  • 承接做网站的网站sem工资
  • 阿里云备案网站建设方案书模板做建材一般去什么网站宣传
  • 个人做网站 需要学什么只是网站留言板html代码