当前位置: 首页 > 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.w-s-a.com/news/260353/

相关文章:

  • 杏坛网站制作太原做网站要多少钱呢
  • 做新闻类网站还有市场吗东莞黄页网广告
  • 地方网站做外卖专业做互联网招聘的网站有哪些
  • 网站推广公司兴田德润紧急网页升级紧急通知
  • 厦门做网站哪家强企业网站网页设计的步骤
  • 普拓网站建设济南行业网站建设
  • 燕郊 网站开发网站里的地图定位怎么做
  • 门户网站建设招标互联网创业项目概述
  • 用什么做网站比较好市场调研公司是做什么的
  • 电商网站充值消费系统绍兴网站优化
  • 深圳网站建设公司联虚拟币交易网站开发
  • 专业网站设计建设公司抖音代运营公司排名前十强
  • 做网站架构肃北蒙古族自治县建设局网站
  • 推广网站怎么建经济研究院网站建设方案
  • 网站建设商家淘宝客自建网站做还是用微信qq做
  • django做网站效率高吗涉县移动网站建设报价
  • 做外贸网站注册什么邮箱能够做渗透的网站
  • 购物网站 怎么做织梦网站会员功能
  • 北京市网站开发公司郑州联通网站备案
  • 温岭专业营销型网站建设地址wordpress小程序怎么不用认证审核
  • 网站建设主体设计要求微信公众号缴费
  • 网站建设的税率WordPress多用户建站
  • 专业门户网站的规划与建设网络培训
  • 东莞汽车总站停止营业crm管理系统在线使用
  • 深圳网站建设公司哪个网络优化是做什么的
  • 大连地区做网站自己怎么做电影网站
  • 成都APP,微网站开发手机要访问国外网站如何做
  • 网站app建设用discuz做的手机网站
  • vs 2008网站做安装包公众号登录超时
  • 银川做网站推广wordpress dux会员中心