vue JavaScript iview blob下载

downloadServerSDK等方法名是正常的ajax请求

methods: {
    favourite() {
      this.count = 100;
      if (!this.favouriteClass) {
        // eslint-disable-next-line
        
        addFavourite({
          serviceId: this.$route.params.id,
          serviceType: this.servicebasic.serviceType,
        }).then((data) => {
          if (data.status === 200) {
            this.favouriteClass = true;
            this.favouriteText = '已收藏';
          }
        });
      } else {
        delFavourite({
          serviceId: this.$route.params.id,
        }).then((data) => {
          if (data.status === 200) {
            this.favouriteClass = false;
            this.favouriteText = '收藏';
          }
        });
      }
    },
    priceTransfer: util.priceTransfer,
    getFormat(data, event) {
      // eslint-disable-next-line
      
      // this.format = parseFloat(event.target.textContent.replace(/[^\d-]/g, '')); // 获取点击的文字内容
      // // 匹配点击规格的价格
      // for (let i = 0; i < this.servicebasic.priceParts.length; i += 1) {
      //   if (this.format === this.servicebasic.priceParts[i].amount) {
      //     this.servicebasic.currentPrice = this.servicebasic.priceParts[i].price;
      //     this.servicebasic.specificationId = this.servicebasic.priceParts[i].id;
      //   }
      // }
      this.servicebasic.currentPrice = data.price;
      this.servicebasic.specificationId = data.id;
      this.servicebasic.singlePrice = this.priceTransfer(
        data.price / data.amount,
      );

      const oUi = document.getElementById('BuyFormat');
      const oLi = oUi.getElementsByTagName('li');
      const elem = event.target;
      for (let i = 0; i < oLi.length; i += 1) {
        oLi[i].className = 'service-buy-border';
      }
      elem.className = 'service-buy-border-selected';
    },
    getInfo() {
      // eslint-disable-next-line
      const service = {};
      service.serviceId = this.$route.params.id;
      service.serviceName = this.servicebasic.name;
      service.providerName = this.servicebasic.providerName;
      service.total = this.servicebasic.currentPrice * this.count;
      service.count = this.count;
      service.format = this.format;
      service.businessNo = this.servicebasic.businessNo;
      service.serviceType =
        this.servicebasic.serviceType === 3 ? 'asyncservice' : 'api';
      service.specificationId = this.servicebasic.specificationId;
      window.sessionStorage.service = JSON.stringify(service);
      this.$router.push(`/order/${this.$route.params.id}`);
    },
    testAndFacourite(id) {
      testAuth({
        apiId: id,
      }).then((authdata) => {
        if (authdata.status === 200) {
          this.showTest = true;
        } else {
          // todo 改回false
          this.showTest = false;
        }
      });

      isFavourite({
        serviceId: id,
      }).then((data) => {
        if (data.status === 200) {
          if (data.data) {
            this.favouriteClass = true;
            this.favouriteText = '已收藏';
          } else {
            this.favouriteClass = false;
            this.favouriteText = '收藏';
          }
        }
      });
    },
    downLoadServiceSDK() {
      // eslint-disable-next-line
      TP.onEvent("服务详情-下载SDK按钮", Cookies.get("_ser"));
      // eslint-disable-next-line
      
      downloadServerSDKS({
        sdkLink: this.sdkLink,
        // eslint-disable-next-line
      }, { responseType : 'arraybuffer' }).then((res) => {
        // eslint-disable-next-line
        let blob = new Blob([res],{type: "application/zip;charset-UTF-8"});
        const objectUrl = URL.createObjectURL(blob);
        window.location.href = objectUrl;
      });
    },
    downLoadAsyncSDK() {
      // eslint-disable-next-line
      TP.onEvent("服务详情-数据应用下载SDK按钮", Cookies.get("user"));
      // eslint-disable-next-line
      downLoadAsyncSDK({
        sdkLink: this.sdkLink,
        // eslint-disable-next-line
      }, { responseType : 'arraybuffer' }).then((res) => {
        // eslint-disable-next-line
        let blob = new Blob([res], {type: "application/zip;charset-UTF-8"});
        const objectUrl = URL.createObjectURL(blob);
        window.location.href = objectUrl;
      });
    },
    downLoadPortDoc() {
      // eslint-disable-next-line
     PP.onEvent("服务详情-下载文档按钮", Cookies.get("_user"));
      // eslint-disable-next-line
      // ${downloadLink}/customer/pdf/${$route.params.id}?token=${token}&serviceType=${servicebasic.serviceType}
      downloadServerSDK({
        id: this.$route.params.id,
        serviceType: this.servicebasic.serviceType,
        // eslint-disable-next-line
      }, { responseType : 'arraybuffer' }).then((res) => {
        // eslint-disable-next-line
        // eslint-disable-next-line
        const pdfUrl = window.URL.createObjectURL(new Blob([res], { type: `application/pdf;charset-UTF-8` }));
        const fname = '接口文档'; // 下载文件的名字
        const link = document.createElement('a');
        link.href = pdfUrl;
        link.setAttribute('download', fname);
        document.body.appendChild(link);
        link.click();
      });
    },
    /**
     * 关闭引导
     */
    closeGuide() {
      this.isGuideShow = false;
      localStorage.login_detail_isfirst = false;
    },
  },
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值