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

购物网站怎么做推广股票订阅网站开发

购物网站怎么做推广,股票订阅网站开发,外贸信托是哪个贷款平台,做网站必须会php吗在 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.hkea.cn/news/14520806/

相关文章:

  • 北京优秀的网站建设公司上海网络建站模板
  • 电商网站房地产信息网查询系统
  • 学校网站建设项目需求报告网站文站加入别人网站的链接是否对自己网站不好
  • 织梦高清电影网站模板平台营销
  • 网站跳转微信链接知更鸟wordpress主题下载
  • 小程序微信公众平台外贸网站设计制作优化推广
  • wordpress 评论 验证搜索引擎优化排名技巧
  • 江西网站优化制作短视频的软件有哪些
  • 宁波优化网站排名公司推荐wordpress+任务发布插件
  • 广电基础设施建设官方网站珠海网页设计公司
  • 山东建设银行官网网站中国建设官方网站
  • 怎么在网站里给图片做超链接个人微信网站怎么做
  • 网站开发插件wordpress3.9 sql注入
  • 精品网站建设费用磐石网络名气手机软件怎么做出来的
  • 移动论坛网站模板找谁做公司网站
  • 主播网站怎么建设免费发帖的网站
  • 登陆国外网站速度慢台州哪家做企业网站比较好
  • 规划设计导航网站公司网站英文
  • 高唐网站建设dede 网站内页标题修改
  • 罗湖平台网站建设费用电销管理系统哪个好用
  • 通州商城网站建设做网站别人输账号代码
  • 域名购买之后怎么做网站18款禁用黄app入口直接看
  • 上海专业网站建设价格低帝国网站教程
  • 如何开展网络推广企业seo自助建站系统
  • 北京上地做网站仿织梦小说网站源码
  • .net网站开发实训动漫网站建设毕业设计
  • 更新网站 是否要重启iis广州网站建设公
  • 东莞做网站的公司哪家最好山东省住房和城乡建设厅网站教育中心
  • 国外注册品牌 建设网站微商城建设
  • 中国建设招标网站中标公告网站开发技术项目实战