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

购物网站怎么做推广网站色彩运用

购物网站怎么做推广,网站色彩运用,wordpress自动alt图片,百度搜索关键词规则在 Vue 3 的项目开发中#xff0c;使用 Axios 进行 HTTP 请求是非常常见的作法#xff0c;为了更方便开发者更高效的进行代码编写和项目的维护#xff0c;可以通过再次封装 Axios 来实现。 在本文中#xff0c;博主将详细指导你如何在自己的 Vue 3 项目中使用 Axios 二次封…        在 Vue 3 的项目开发中使用 Axios 进行 HTTP 请求是非常常见的作法为了更方便开发者更高效的进行代码编写和项目的维护可以通过再次封装 Axios 来实现。 在本文中博主将详细指导你如何在自己的 Vue 3 项目中使用 Axios 二次封装 request 请求。 1.安装 Axios 首先确保我们的 Vue 3 项目已经安装了 Axios 。 如果尚未安装 Axios 则可以定位到项目根目录下 (与src目录同级) 运行命令行 # 使用 npm 包管理器 npm install axios# 使用 yarn 包管理器 npm add axios# 使用 pnpm 包管理器 pnpm install axios 随后我们查看 package.json 配置文件中是否包含了 Axios 的配置信息 2.创建请求封装模块 在项目中创建一个单独的模块用来封装 Axios 请求。(博主这里是 src/utils/request.ts) 第一步创建一个新的 Axios 实例 /* request.ts 这里博主用的是 TypeScript */// 引入 Axios 库的功能AxiosInstance 是 Axios 中自带的接口类型 import axios, { AxiosInstance } from axios; import { ElMessage, ElMessageBox } from element-plus; // 按需引入 Element-Plus 组件// 第一步创建一个新的 Axios 实例 const service: AxiosInstance axios.create({// 这里博主直接引用了开发环境配置文件中的路径, 也可自定义成网络地址baseURL: import.meta.env.VITE_API_URL, // 或 http://${host}:${port}timeout: 5000, // 设置请求超时一般来说为 5 秒// 设置请求头类型若非文件传输一般情况下为 jsonheaders: { Content-Type: application/json }, // 传输文件: multipart/form-data/* 自定义 Axios 的参数序列化过程* paramsSerializer 是 Axios 中的一个配置项用于定义在发送 GET 请求时如何序列化 URL 参数* serialize 是一个自定义的方法它接收一个 params 对象作为参数并返回一个字符串* 在这里它使用了 qs可能是 querystring 库来将参数对象 params 序列化为一个 URL 查询字符串* 这里的 qs.stringify 函数是一个用于序列化对象为 URL 查询字符串的方法*/paramsSerializer: {serialize(params) {return qs.stringify(params, { allowDots: true });}} }) 第二步创建请求拦截器 // request.ts 文件中/** 已经完成了第一步*/// 第二步创建请求拦截器 service.interceptors.request.use((config) {// 这里可以在我们发送 request 网络请求前为我们的 request 请求做一些配置// 例如将 token 携带在请求头中config.headers![Authorization] Token ${Session.get(token)};return config},(error) {// 错误调试return Promise.reject(error)} ) 第三步创建响应拦截器 /* request.ts 文件中 *//** 已完成第一步** 已完成第二步*/// 第三步创建请求拦截器 service.interceptors.response.use((response) {// 在这里你可以对从后端拿到的数据进行处理const res response.data;if (res.code 400 || res.code 401 || res.code 403) {// 如果没有权限可以清除浏览器中缓存的 session 信息Session.clear(); // 清除浏览器全部临时缓存window.location.href /; // 去登录页ElMessageBox.alert(你已被登出请重新登录, 提示, {}).then(() { }).catch(() { });return Promise.reject(service.interceptors.response);} else {return res;}},(error) {// 对响应错误做点什么if (error.message.indexOf(timeout) ! -1) {ElMessage.error(网络超时);} else if (error.message Network Error) {ElMessage.error(网络连接错误);} else {if (error.response.data) ElMessage.error(error.response.statusText);else ElMessage.error(接口路径找不到);}return Promise.reject(error);} ) 第四步导出 Axios 实例 /* request.ts 文件中 *//** 已完成了上述三个步骤*/// 导出 axios 实例 export default service; 完整代码如下 import axios, { AxiosInstance } from axios; import { ElMessage, ElMessageBox } from element-plus; import { Session } from //utils/storage; import qs from qs;// 配置新建一个 axios 实例 const service: AxiosInstance axios.create({baseURL: import.meta.env.VITE_API_URL,timeout: 50000,headers: { Content-Type: multipart/form-data },paramsSerializer: {serialize(params) {return qs.stringify(params, { allowDots: true });},}, });// 添加请求拦截器 service.interceptors.request.use((config) {// 在发送请求之前做些什么 tokenif (Session.get(token)) {config.headers![Authorization] DavyJonesZ ${Session.get(token)};}return config;},(error) {// 对请求错误做些什么return Promise.reject(error);} );// 添加响应拦截器 service.interceptors.response.use((response) {// 对响应数据做点什么const res response.data;if (res.code res.code ! 0) {// token 过期或者账号已在别处登录if (res.code 401 || res.code 4001) {Session.clear(); // 清除浏览器全部临时缓存window.location.href /; // 去登录页ElMessageBox.alert(你已被登出请重新登录, 提示, {}).then(() { }).catch(() { });return Promise.reject(service.interceptors.response);} else {return res;}} else {return res;}},(error) {// 对响应错误做点什么if (error.message.indexOf(timeout) ! -1) {ElMessage.error(网络超时);} else if (error.message Network Error) {ElMessage.error(网络连接错误);} else {if (error.response.data) ElMessage.error(error.response.statusText);else ElMessage.error(接口路径找不到);}return Promise.reject(error);} );// 导出 axios 实例 export default service;3. 使用 完成上述对于 Axios 的二次封装后我们就可以在其他地方进行调用了 /* Vue 3 接口工具类login.ts 文件中 */ import request from //utils/request;// Login Api export function login(data: object) {return request({url: /user/login,method: POST,data}) } 最后只需要在Vue组件中引入 login.ts 文件并调用其 login 方法就可以实现与后端接口的通信啦(大功告成)
http://www.tj-hxxt.cn/news/229927.html

相关文章:

  • 企业官方网站是什么中国企业500强2023
  • 乌兰县wap网站建设公司免费的招标网有哪些
  • 深圳做男装什么网站容易找工网络营销第二板斧是什么
  • 商城型网站建设多少钱渭南网站建设推广
  • 网站平台做捐助功能有风险吗什么是php网站
  • 黑龙江省建设教育信息网站广西桂林天气预报15天查询
  • 做的视频传到哪个网站好静态网站模板源码下载
  • 上海行业网站建设在线制作头像框
  • dremrever做网站流程网页生成pdf不显示
  • 高端建站是什么公司网站建设建设
  • 新网站 seo网站seo分析报告
  • 新建网站站点的一级a做爰片图片免费观看网站
  • 重庆高考征集志愿网站拍摄企业宣传片哪家好
  • 网站建设初期怎么添加内容天津专业网站设计
  • 广西网站设计运营公司如何推广网站运营
  • 在线原型设计网站wordpress 主页地址函数
  • 一站式外贸综合服务平台如何建设一个简单的公司网站
  • wordpress 火车头接口邯郸网站优化技巧
  • 合肥企业建站程序国家重大建设项目库网站电话
  • 网站移动化建设方案asp.net 网站建设方案
  • 网站建设厌倦网站 缓存方式
  • 万维网申请网站域名佛山国内快速建站
  • 东营网站建设教程简单建设网站首页
  • 建地方门户网站建筑设计方案汇报ppt
  • 结婚网站模版深州做网站公司
  • 合肥网站制作开发个人个案网站 类型
  • 支付宝 收费 网站开发建站工具论坛
  • 专业的盐城网站开发wordpress如和安装
  • 网站建设是什么语言齐齐哈尔网站开发
  • 中小型网站建设服务重庆建设工程交易网