123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- import * as $auth from "./auth"
- import BASE_URL from './config.js'
- import qs from 'qs'
- function error(res){
- if (res.statusCode === 408 || res.statusCode === 401) {// 需要重新登录
- $auth.removeUserToken();
- uni.showToast({
- title: res.data,
- icon:"none"
- })
- setTimeout(function(){
- uni.reLaunch({
- url: '/pages/login/login'
- });
- }, 2000)
- }else if(res.statusCode === 404){
- uni.showToast({
- title:"404,路径找不到:"+res.data.path,
- icon:"none"
- })
- }else if(res.statusCode === 503){
- uni.showToast({
- title:"服务不可用",
- icon:"none"
- })
- }else if(res.statusCode === 504){
- uni.showToast({
- title:"网络连接错误",
- icon:"none"
- })
- }else{
- uni.showToast({
- title:res.data,
- icon:"none"
- })
- }
- }
- export function request(body){
- let {url,method,data,header, params, responseType} = body
- data = data || params || {};
- header = header || {'Content-Type': 'application/json; charset=utf-8'}
- method = method.toUpperCase() || "GET";
- responseType = responseType || "text"
- let token = $auth.getUserToken();
- if(token){
- header.token = token; // 获取token值
- }
- if(method === 'POST' && header['Content-Type'] === 'application/x-www-form-urlencoded; charset=utf-8'){
- data = qs.stringify(data, { allowDots: true, arrayFormat: 'indices' })
- }else if(method === 'GET' || method === 'DELETE' || method === 'PUT'){
- url = url + '?' + qs.stringify(data, { allowDots: true, arrayFormat: 'indices' })
- data = null
- }
-
- let promise = new Promise((resolve,reject)=>{
- uni.request({
- url: BASE_URL + url,
- header:header,
- data: data,
- method: method,
- responseType: responseType,
- success: res => {
- if(res && res.statusCode !== 200){
- error(res);
- reject(res)
- }
- resolve(res);
- },
- fail: (res) => {
- uni.hideLoading();
- error(res);
- reject(res);
- },
- complete: () => {
- }
- });
- })
- return promise;
- }
- // 单文件上传
- export function upload(url, filePath,filename, formData,header,success,fail){
- let name = filename || 'file';
- header = header || {};
- let token = $auth.getUserToken();
- if(token){
- header.token = token; // 获取token值
- }
-
- let promise = new Promise((resolve,reject)=>{
- uni.uploadFile({
- url: BASE_URL + url,
- filePath:filePath,
- name: 'file',
- formData: formData || {},
- header:header,
- success: res => {
- resolve(res);
- },
- fail: (res) => {
- uni.hideLoading();
- let err = JSON.parse(res);
- error(err);
- reject(err);
- },
- complete: () => {
- }
- });
- })
- return promise;
- }
- export function download(url,header,success,fail){
- header = header || {};
- let token = $auth.getUserToken();
- if(token){
- header.token = token; // 获取token值
- }
- if(!url){
- return;
- }
- let downloadTask = uni.downloadFile({
- url: url,
- success: (res) => {
- if(res.statusCode===200){
- if(success){
- success.call(null,res);
- }
- }else{
- if(fail){
- fail.call(null,res);
- }
- }
- },
- fail:(res) => {
- let err = JSON.parse(res);
- error(err);
- if(fail){
- fail.call(null,err)
- }
- },
- complete: () => {
-
- }
- });
- return downloadTask;
- }
- export default request
|