123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289 |
- import store from '@/store'
- //获取环境接口地址
- import {
- envHost
- } from '@/common/env';
- var user = require('@/common/user.js');
- /**
- * 判断传入参数的类型,以字符串的形式返回
- * @obj:数据
- **/
- function dataType(obj) {
- if (obj === null) return "Null";
- if (obj === undefined) return "Undefined";
- return Object.prototype.toString.call(obj).slice(8, -1);
- };
- /**
- * 处理对象参数值,排除对象参数值为”“、null、undefined,并返回一个新对象
- **/
- function dealObjectValue(obj) {
- var param = {};
- if (obj === null || obj === undefined || obj === "") return param;
- for (var key in obj) {
- if (dataType(obj[key]) === "Object") {
- param[key] = dealObjectValue(obj[key]);
- } else if (obj[key] !== null && obj[key] !== undefined && obj[key] !== "") {
- param[key] = obj[key];
- }
- }
- return param;
- };
- const post = function(url, data, showloading) {
- if (showloading != false) {
- uni.showLoading({
- mask: true,
- title: '加载中'
- });
- }
- return new Promise(function(resolve, reject) {
- data = dealObjectValue(data);
- const jwt = store.getters['getJwt'];
- const header = {
- 'content-type': 'application/x-www-form-urlencoded',
- 'token': jwt //自定义请求头信息
- }
- uni.request({
- url: envHost + url,
- method: 'POST',
- data: data,
- header: header,
- success: function(res) {
- console.info(res)
- if (res.statusCode == 200) {
- if (res.data.code == 403 || res.data.code == 601) {
- store.commit('logout');
- user.loginByWeixinCode().then(res => {
- console.info(res)
- }).catch(err => {
- });
- } else {
- resolve(res.data);
- }
- } else {
- reject(res.errMsg);
- }
- },
- fail: function(err) {
- reject();
- // let errmsg = err.response.data;
- // switch (err.response.status) {
- // case 0:
- // console.log("网络连接错误")
- // errmsg = "网络连接错误";
- // break;
- // case 401:
- // console.log("请登录后操作")
- // errmsg = '请登录后操作';
- // store.dispatch('logout');
- // uni.redirectTo({
- // url: '/pages/auth/login'
- // })
- // break
- // case 404:
- // errmsg = "接口不存在";
- // break
- // }
- // uni.showToast({
- // title: errmsg,
- // icon: 'none'
- // })
- },
- complete: function() {
- uni.hideLoading();
- }
- });
- });
- }
- const get = function(url, data, showloading) {
- if (showloading != false) {
- uni.showLoading({
- mask: true,
- title: '加载中'
- });
- }
- return new Promise(function(resolve, reject) {
- data = dealObjectValue(data);
- const jwt = store.getters['getJwt'];
- const header = {
- 'token': jwt //自定义请求头信息
- }
- uni.request({
- url: envHost + url,
- method: 'GET',
- data: data,
- header: header,
- success: function(res) {
- //console.info(res)
- if (res.statusCode == 200) {
- if (res.data.code == 403 || res.data.code == 601) {
- store.commit('logout');
- user.loginByWeixinCode().then(res => {
- console.info(res)
- }).catch(err => {
- });
- } else {
- resolve(res.data);
- }
- } else {
- reject(res.errMsg);
- }
- },
- fail: function(err) {
- reject();
- // let errmsg = err.response.data;
- // switch (err.response.status) {
- // case 0:
- // console.log("网络连接错误")
- // errmsg = "网络连接错误";
- // break;
- // case 401:
- // console.log("请登录后操作")
- // errmsg = '请登录后操作';
- // store.dispatch('logout');
- // uni.redirectTo({
- // url: '/pages/auth/login'
- // })
- // break
- // case 404:
- // errmsg = "接口不存在";
- // break
- // }
- // uni.showToast({
- // title: errmsg,
- // icon: 'none'
- // })
- },
- complete: function() {
- uni.hideLoading();
- }
- });
- });
- }
- const upload = function(url, file, data, showloading) {
- if (showloading != false) {
- uni.showLoading({
- mask: true,
- title: '上传中...'
- });
- }
- return new Promise((resolve, reject) => {
- data = dealObjectValue(data);
- const jwt = store.getters['getJwt'];
- const header = {
- 'token': jwt //自定义请求头信息
- }
- uni.uploadFile({
- url: envHost + url,
- // files: files,
- filePath: file,
- name: 'file',
- formData: data,
- header: header,
- success: (res) => {
- console.info(res)
- resolve(JSON.parse(res.data));
- },
- fail: (err) => {
- uni.showModal({
- content: err.errMsg,
- showCancel: false
- })
- reject(err);
- console.log('uploadImage fail', err);
- },
- complete: () => {
- uni.hideLoading();
- }
- })
- });
- }
- const uploadAsync = function(url, file, data, success, showloading) {
- if (showloading != false) {
- uni.showLoading({
- mask: true,
- title: '上传中...'
- });
- }
- data = dealObjectValue(data);
- const jwt = store.getters['getJwt'];
- const header = {
- 'token': jwt //自定义请求头信息
- }
- return uni.uploadFile({
- url: envHost + url,
- // files: files,
- filePath: file,
- name: 'file',
- formData: data,
- header: header,
- success: (res) => {
- console.info(res)
- if (success)
- success(JSON.parse(res.data));
- },
- fail: (err) => {
- uni.showModal({
- content: err.errMsg,
- showCancel: false
- })
- console.log('uploadImage fail', err);
- },
- complete: () => {
- uni.hideLoading();
- }
- });
- }
- const uploadFiles = function(url, files, data, showloading) {
- if (showloading != false) {
- uni.showLoading({
- mask: true,
- title: '上传中...'
- });
- }
- console.info(files)
- return new Promise((resolve, reject) => {
- data = dealObjectValue(data);
- const jwt = store.getters['getJwt'];
- const header = {
- 'token': jwt //自定义请求头信息
- }
- uni.uploadFile({
- url: envHost + url,
- files: files,
- formData: data,
- header: header,
- success: (res) => {
- console.info(JSON.stringify(res))
- resolve(JSON.parse(res.data));
- },
- fail: (err) => {
- uni.showModal({
- content: err.errMsg,
- showCancel: false
- })
- reject(err);
- console.log('uploadImage fail', err);
- },
- complete: () => {
- uni.hideLoading();
- }
- })
- });
- }
- export default {
- post,
- upload,
- uploadAsync,
- uploadFiles,
- get
- }
|