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

即墨网站建设地址外卖网站开发背景

即墨网站建设地址,外卖网站开发背景,长沙县网络营销咨询,海门城乡建设管理局网站一、请求封装优点 代码重用性#xff1a;通过封装请求#xff0c;你可以在整个项目中重用相同的请求逻辑。这样一来#xff0c;如果 API 发生变化或者需要进行优化#xff0c;你只需在一个地方修改代码#xff0c;而不是在每个使用这个请求的地方都进行修改。 可维护性通过封装请求你可以在整个项目中重用相同的请求逻辑。这样一来如果 API 发生变化或者需要进行优化你只需在一个地方修改代码而不是在每个使用这个请求的地方都进行修改。 可维护性封装请求使代码更易维护。所有的请求逻辑都集中在一个地方降低了维护成本。当需要添加新的功能、处理错误或者进行性能优化时只需修改封装的请求逻辑而无需深入到每个组件或页面中。 错误处理封装的请求可以统一处理错误提高了错误处理的一致性。你可以在请求拦截器中处理一些通用的错误例如网络错误、权限问题等使代码更加健壮。 统一配置通过封装可以在一个地方统一配置请求的一些参数例如基本路径、请求超时时间、请求头等。这简化了全局配置的管理。 请求拦截器使用请求拦截器可以在发送请求前进行一些操作比如添加认证信息、加载 loading 状态等。这提高了代码的灵活性和可扩展性。 响应拦截器响应拦截器可以在处理响应数据前进行一些操作例如统一处理后端返回的错误码、格式化数据等。这样可以在前端层面统一处理后端的响应规范。 业务逻辑分离通过封装请求你可以将业务逻辑和数据获取逻辑分离开来。组件或页面只需关注业务逻辑而不用关心具体的请求细节使代码更加清晰。 二、之前代码的封装  const config_url ;这里写你的域名 const request (url, data {}, method GET) {return new Promise((resolve, reject) {uni.request({url: config_url url,data: data,method: method,header: {X-Requested-With: XMLHttpRequest,Accept: application/json,Content-Type: application/json,},dataType: json,success: (res) {const responseData interceptor(res.data);if (responseData.code 200 || responseData.code 500 ||responseData.code 4025) {resolve(responseData);} else {throwErr(res)reject(res);}},fail: function(err) {reject(err)}})}); };// GET 请求封装 const get (url, data) {return request(url, data, GET); };// POST 请求封装 const post (url, data) {return request(url, data, POST); }; // PUT 请求封装 const put (url, data) {return request(url, data, PUT); };// DELETE 请求封装 const del (url, data) {return request(url, data, DELETE); };// 请求拦截 function interceptor(response) {if (response.code -2) {uni.showToast({title: response.msg,icon: none,duration: 2000,complete: () {uni.reLaunch({url: /pages/index/index,});},});return false;}return response; }// 处理错误 function throwErr(res) {if (res.code 500) {uni.showToast({title: res.msg,})} }export {get,post,put,del } 1.main.js注册一下 import App from ./App import uView from /node_modules/uview-ui import * as request from /api/request;// import Lame from lamejs Vue.use(uView) // #ifndef VUE3 import Vue from vue import ./uni.promisify.adaptor import store from ./store/index.js Vue.config.productionTip false Vue.prototype.$store store //这里注册一下就好 Vue.prototype.$request request; App.mpType app const app new Vue({store,...App }) app.$mount() // #endif// #ifdef VUE3 import {createSSRApp } from vue export function createApp() {const app createSSRApp(App)return {app} } // #endif2.使用请求  this.$request.post(/sz这里是路径, {这里写携带参数}, ).then((res) {这里写成功之后的}, (err) {这里处理失败之后的}) 总结之前的比较拉不好用也可以用api没写在一块 三、使用uview2.0的请求封装 Http请求 | uView 2.0 - 全面兼容 nvue 的 uni-app 生态框架 - uni-app UI 框架 (uviewui.com) 1.前置条件 安装了uview组件库才能操作下来的操作 2.首先建两个文件夹存放封装的请求和二次封装的api代码会放在下面直接用就行 a.  request.js // 此vm参数为页面的实例可以通过它引用vuex中的变量 module.exports (vm) {// 初始化请求配置uni.$u.http.setConfig((config) {/* config 为默认全局配置*/config.baseURL https://httpbin.org; /* 根域名 */return config})// 请求拦截uni.$u.http.interceptors.request.use((config) { // 可使用async await 做异步操作// 初始化请求拦截器时会执行此方法此时data为undefined赋予默认{}return config }, config { // 可使用async await 做异步操作return Promise.reject(config)})// 响应拦截uni.$u.http.interceptors.response.use((response) { /* 对响应成功做点什么 可使用async await 做异步操作*/const data response.datareturn data undefined ? {} : data}, (response) { // 对响应错误做点什么 statusCode ! 200return Promise.reject(response)}) }b.   api.js const http uni.$u.http// post请求获取菜单 export const postMenu (data) http.post(/post, data) c.    main.js(把那个request.js引用一下) import App from ./App // #ifndef VUE3 import Vue from vue import uView from /uni_modules/uview-ui Vue.use(uView) Vue.config.productionTip false App.mpType app const app new Vue({...App,}) require(/pages/utils/request.js)(app) app.$mount() // #endif d.  使用的话 postMenu({usename: lijiang,password: 123}).then(res {console.log(res, res);}) 四、接口调试工具Postman VS Apifox | Apifox 比 Postman 更适合中国开发者 个人觉得挺好用的你先看下接口能用吗前面找的接口不能用害我找了很长时间原因 五、接口找的这个博主的感谢get/post在线接口_在线接口请求-CSDN博客  代码直接可用完结,大佬勿喷有什么问题可私信
http://www.zqtcl.cn/news/198919/

相关文章:

  • 网站布局设计分析特点手机网站设计欣赏网站
  • 建设网站对服务器有什么要求灌南县规划局网站一品嘉苑规划建设
  • 常平镇仿做网站wordpress教程 菜单
  • 大气的企业网站做网站服务怎么赚钱
  • 如何用网站做淘宝客网易企业邮箱怎么修改密码
  • 白酒网站设计wordpress增加网址大全
  • 网站上图片可以做商业作品吗成都十大景观设计公司
  • 自助建站网站哪个好2017织梦网站怎么做seo
  • 佛山新网站建设咨询做业精灵官方网站
  • 大庆网站设计费用asp网站仿制
  • 革吉网站建设网页游戏中心大全
  • 好的网站特点京东物流网站建设特点
  • 昆明企业自助建站系统网站建设技术交流
  • 卖网站模板网站哪家做的比较好
  • 舟山网站网站建设视频网站建设应该注意什么
  • 网站建设 思维导图免费flash网站源码
  • 提供零基础网站建设教学公司wordpress悬浮下拉
  • 做网站代码难么南京市建设监理协会网站
  • 网站维护 静态页面正规企业展厅设计公司
  • 网站分享图片怎么做东莞网站优化关键词费用
  • 做摄影网站的目的域名注册和网站设计服务
  • 手表网站设计免费常州百度推广优化
  • 网站开发找聚脑网视频直播源码
  • 提供免费服务器的网站南沙电子商务网站建设
  • 厦门网站建设开发公司企业网站设计源代码
  • 微网站服务器酒店手机网站首页设计
  • 网站交互做的比较好的怎样营销网站建设
  • 电子商务网站设计代码凡科做的网站能被收录吗
  • 设计网站教程自动点击器永久免费版
  • 深圳 网站建设设计如何用公众号做网站