vue 封装request请求 多域名访问

这篇具有很好参考价值的文章主要介绍了vue 封装request请求 多域名访问。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.需求

我现在一个项目 有可能涉及到的数据多 服务器压力大,所以需要配置多个服务 就出现了一个问题,当第一个服务 调用不通或者失败了 立马换下一个域名调用 接口都是一一样的 就是 前段部分的域名不同

2.实现

import Taro from "@tarojs/taro";
// import QS from 'qs'
import qs from "qs";
import {
  getStorage,
  clearStorage,
  getCurrentPageUrlWithArgs,
} from "..//utils/tools";
import { useUserStore } from "../store";
import { log } from "console";
let needLoadingRequestCount = 0;
// loading配置,请求次数统计
function startLoading() {
  Taro.showLoading({ title: "加载中", mask: true });
}
function endLoading() {
  Taro.hideLoading();
} // 声明一个对象用于存储请求个数
function showFullScreenLoading() {
  if (needLoadingRequestCount === 0) {
    startLoading();
  }
  needLoadingRequestCount++;
}
function tryHideFullScreenLoading() {
  if (needLoadingRequestCount <= 0) return;
  needLoadingRequestCount--;
  if (needLoadingRequestCount === 0) {
    endLoading();
  }
}
export default function request(url, config: any = {}, needLoading = false) {
  const BASE_URLS = [
    "http://xxxx",
    "http://xxxx",
  ];
  const userStore = useUserStore();
  needLoading && showFullScreenLoading();

  const makeRequest = (baseUrl) => {
    return new Promise((resolve, reject) => {
      Taro.request({
        url: `${baseUrl}${url}`,
        method: config.type.toUpperCase() || "GET",
        data: config.data || {},
        header: {
          "Content-type": config.paramsFormdata || "application/json",
          "user-token": userStore.Token || "",
          ...config.header,
        },
        success: (result) => {
          const { statusCode, data } = result;
          console.log(result);

          if (statusCode === 200) {
            resolve(data);
          } else if (statusCode === 401) {
            Taro.removeStorageSync("TOKEN");
            Taro.removeStorageSync("userInfo");
            setTimeout(() => {
              Taro.redirectTo({
                url: "/pages/index/index",
              });
            }, 500);
          }
        },
        fail: (error) => {
          Taro.showToast({
            title: "网络错误",
            icon: "none",
          });
          reject(error);
        },
        complete: (res) => {},
      });
    });
  };

  // Attempt the first base URL
  return makeRequest(BASE_URLS[0]).catch((error) => {
    // If the first request fails, try the second base URL
    console.error(`Error with first base URL: ${error}`);
    return makeRequest(BASE_URLS[1]);
  });
}

3.总结

我这个域名目前配置了两个域名 当前就是第一个域名调用不通的时候 立马换第二个域名 ,当然如果需要多个 可以进行一下循环 ,这样的需求不知道大家会不会有 ,我分享在这了文章来源地址https://www.toymoban.com/news/detail-829709.html

到了这里,关于vue 封装request请求 多域名访问的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • positivessl多域名证书能保护几个域名

    PositiveSSL旗下的SSL数字证书类型比较多,不仅有常见的单域名SSL证书、多域名SSL证书和通配符SSL证书,还有比较特殊的多域名通配符SSL证书和IP证书。PositiveSSL旗下的多域名SSL证书有两种,一种是比较基础的DV多域名SSL证书,另一种是增强型的EV多域名SSL证书,这两款多域名SS

    2024年01月19日
    浏览(45)
  • Nginx实现多域名证书HTTPS

    实现一台服务器,两个域名。 首先需要两个域名,获取到CA证书,两个域名就得到两套证书, 然后配置nginx,如下: 效果:

    2024年02月04日
    浏览(67)
  • nginx 配置多域名多站点 Ubuntu

    nginx 的配置文件在 /etc/nginx 目录下,它的默认内容是这样的 讲一下如何一个服务器配置多域名多站点。 多站点的实现方式有几种: 多域名、多站点 多端口、多站点 比如 a.com b.com 都指向了服务器 1.2.3.4 ,我们需要实现的是在访问这两个域名的时候出现的是不同的网站,他们

    2024年02月14日
    浏览(50)
  • PositiveSSL和Sectigo的多域名证书

    首先,我们要知道PositiveSSL是Sectigo旗下的子品牌,提供多种类型的SSL数字证书,包括DV基础型的多域名SSL证书。Sectigo的SSL证书产品同样比较丰富,不仅有DV基础型多域名SSL证书,还有OV企业型以及EV增强型的多域名SSL证书。今天就随SSL盾小编了解PositiveSSL和Sectigo旗下的多域名

    2024年01月25日
    浏览(58)
  • nginx快速部署一个网站服务 + 多域名 + 多端口

    👨‍🎓 博主简介   🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊 交流社区: 运维交流社区 欢迎大家的加入! 🐋 希望大家多多支持,我们一起进步!😄 🎉如果文章对你有帮助的话,欢迎 点赞 👍🏻 评论 💬 收藏

    2024年02月08日
    浏览(41)
  • 解决dedecms多域名和站点的绑定的问题

    dedecms可以实现多级域名,不同域名的绑定,而且仅仅一套程序就可以搞定,这样以后用dede做站群是最好不过了,同一个主题的站,就只用一套dede来做。闲话少说,自己在网上找了很多教程,发现很多都很残旧的了,要么是老程序,要么就是不行的。 先分享一下在网上找的这

    2024年02月02日
    浏览(59)
  • 如何构建多域名HTTPS代理服务器转发

    在当今互联网时代,安全可靠的网络访问是至关重要的。本文将介绍如何使用SNI Routing技术来构建多域名HTTPS代理服务器转发,轻松实现多域名的安全访问和数据传输。 SNI代表\\\"Server Name Indication\\\",是TLS协议的扩展,用于在HTTPS握手过程中传递目标服务器的域名信息。通过SNI R

    2024年02月10日
    浏览(51)
  • 企业型多域名SSL证书怎么申请?有哪些流程?

    随着越来越多的交流和交易发生在互联网上,保护敏感数据和建立用户信任成为企业的首要任务。HTTPS协议是一种关键的安全措施,用于保护数据传输的机密性和完整性。为了实施HTTPS,企业可以选择安装SSL证书。而对于需要保护多个域名的企业,企业型 多域名SSL证书 是理想

    2024年02月06日
    浏览(48)
  • 【五一创作】多域名环境和Office 365混合部署方案

    目录   一、多域名环境是什么? 二、Office 365是什么? 三、多域名环境与Office 365的结合 总结   多域名环境指的是一个企业拥有多个域名,这些域名可能隶属于不同的子公司、部门或者品牌,但是都归属于同一个母公司。例如,一个中国电信集团旗下有中国电信、中国移动、

    2024年02月02日
    浏览(44)
  • 踩坑日记-nginx server_name配置多域名的坑

    项目配置了多个域名,如下,php 代码中有获取 $_SERVER[\\\'SERVER_NAME\\\'] 的值。 当访问 a.demo.com 时,其获取的值是符合预期的。但是当访问 b.demo.com 时,其获取的值还是 a.demo.com ,导致代码中的判断出现错误。 当 nginx 的一个 server 节点下,server_name 配置多个域名时,$server_name 变量

    2024年02月11日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包