请求封住

request.js页面


import axios from 'axios';
import Vue from '../main.js';
require("babel-polyfill");
import { url } from './url';
import md5 from 'js-md5';
import router from '../router';
// import store from '@/store';

var request = axios.create({
  timeout: 120000,
});

function sortObj(params) {
  let sortedStr = '';
  let keys = Object.keys(params).sort();
  for (let key of keys) {
    if (Array.isArray(params[key])) {
      if (Object.prototype.toString.call(params[key][0]) === '[object Object]') {
        for (let obj of params[key]) {
          sortedStr += (key + "=" + sortObj(obj));
        }
      } else {
        sortedStr += (key + "=" + JSON.stringify(params[key]));
      }
    } else {
      sortedStr += (key + "=" + params[key]);
    }
  }
  return sortedStr;
}

function ajax(opt,method){
  var token= sessionStorage.getItem('logintoken')
  var timestamp=new Date().getTime();
  var params;
  if(opt.params){
    //对传入的参数进行深拷贝,防止传入的参数对象被页面上其他逻辑改变,导致签名错误
    params=JSON.parse(JSON.stringify(opt.params));
  }else{
    params={1:1}
  }
  //axios会自动过滤值为undefined和null的参数,因此手动去掉这些参数,不让其参与签名,避免出现签名错误
  for (let key in params){
    if(params[key]==null){
      delete params[key]
    }
  }
  const sign = md5(sortObj(params) + '02093cbdb78d447db7b15b2fc3ac218b');
  var config={
    url: url + opt.url,
    method: method,
    headers:{
      token:token,
      timestamp:timestamp,
      sign:sign
    }
  }
  method==="GET"&&(config.params=params);
  method==="POST"&&(config.data=params);
  return new Promise((resolve,reject)=>{
    request(config).then(res=>{
      if(res.data.code==2){
        sessionStorage.clear();
        localStorage.clear();
        router.replace("/login");
        reject(res.data)
      }else{
        resolve(res.data)
      }
    }).catch(res=>{
      // Vue.$message.error("请求失败");
      reject(res)
    })
  })
}


export function ajaxGet (opt) {
  return ajax(opt,"GET")
}

export function ajaxPost (opt) {
  return ajax(opt,"POST")
}

export function reqExpost (method, url, params) {
  const timestamp = new Date().getTime().toString();
  params.token = sessionStorage.getItem('logintoken')
  const keys = Object.keys(params).sort(); let i; const length = keys.length; let key; let sortedString = '';
  for (i = 0; i < length; i++) {
    key = keys[i];
    sortedString += (key + '=' + params[key]);
  }
  const sign = md5(sortedString + '02093cbdb78d447db7b15b2fc3ac218b');
  console.info(sign);
  return axios({
    method: method,
    url:  baseUrl + url,
    headers: {
      'Content-Type': 'application/json',
      timestamp: timestamp,
      sign: sign,
      token:sessionStorage.getItem('logintoken')
    },
    data: params,
    responseType: 'blob' // 表明返回服务器返回的数据类型
  }).then(res => res.data);
};

api.js

import axios from 'axios';
import {reqExpost,ajaxGet,ajaxPost} from './request';
// //获取登录页的信息
export const reqStudioConfig = params => ajaxPost({ url: `/studio/config`, special:true, params });

// //注册
export const postregister = params => ajaxPost({url: `/studio/register`,params})

//天猫商户登录
export const login = params => ajaxPost({url: `tmall/shop/login`,params})
//获取发货地址列表
export const getAddressList = params => ajaxGet({url: `tmall/shop/address/list`,params})

//设置默认地址
export const addressDefault = params => ajaxPost({url: `tmall/shop/address/default`,params})
//获取工厂绑定列表
export const factoryList = params => ajaxGet({url: `tmall/shop/factory/list`,params})
// 图片合成》查询当前设置信息
export const imgCompositeGetCompositeSetting = params => ajaxGet({url: `imgComposite/getCompositeSetting`,params})
//合成监控  开始检查
export  const updateCompositeCheckStatus = params => ajaxPost({url:`imgComposite/updateCompositeCheckStatus`,params})


演示了为无线无人机电池充电设计的感应电力传输(IPT)系统 Dynamic Wireless Charging for (UAV) using Inductive Coupling 模拟了为无人机(UAV)量身定制的无线电力传输(WPT)系统。该模型演示了直流电到高频交流电的转换,通过磁共振在气隙中无线传输能量,以及整流回直流电用于电池充电。 系统拓扑包括: 输入级:使用IGBT/二极管开关连接到全桥逆变器的直流电压源(12V)。 开关控制:脉冲发生器以85 kHz(周期:1/85000秒)的开关频率运行,这是SAE J2954无线充电标准的标准频率。 耦合级:使用互感和线性变压器块来模拟具有特定耦合系数的发射(Tx)和接收(Rx)线圈。 补偿:包括串联RLC分支,用于模拟谐振补偿网络(将线圈调谐到谐振频率)。 输出级:桥式整流器(基于二极管),用于将高频交流电转换回直流电,以供负载使用。 仪器:使用示波器块进行全面的电压和电流测量,用于分析输入/输出波形和效率。 模拟详细信息: 求解器:离散Tustin/向后Euler(通过powergui)。 采样时间:50e-6秒。 4.主要特点 高频逆变:模拟85 kHz下IGBT的开关瞬态。 磁耦合:模拟无人机着陆垫和机载接收器之间的松耦合行为。 Power GUI集成:用于专用电力系统离散仿真的设置。 波形分析:预配置的范围,用于查看逆变器输出电压、初级/次级电流和整流直流电压。 5.安装与使用 确保您已安装MATLAB和Simulink。 所需工具箱:必须安装Simscape Electrical(以前称为SimPowerSystems)工具箱才能运行sps_lib块。 打开文件并运行模拟。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值