admin/addon/mobileshop/source/os/common/js/http.js

131 lines
3.1 KiB
JavaScript

import Config from './config.js'
import Util from './util.js'
import store from '@/store/index.js'
// #ifdef H5
const app_type = Util.isWeiXin() ? 'wechat' : 'h5';
const app_type_name = Util.isWeiXin() ? '微信公众号' : 'H5';
// #endif
// #ifdef MP-WEIXIN
const app_type = 'weapp';
const app_type_name = '微信小程序';
// #endif
// #ifdef MP-ALIPAY
const app_type = 'aliapp';
const app_type_name = '支付宝小程序';
// #endif
// #ifdef MP-BAIDU
const app_type = 'baiduapp';
const app_type_name = '百度小程序';
// #endif
// #ifdef MP-TOUTIAO
const app_type = 'MP-TOUTIAO';
const app_type_name = '头条小程序';
// #endif
// #ifdef MP-QQ
const app_type = 'MP-QQ';
const app_type_name = 'QQ小程序';
// #endif
// #ifdef APP-PLUS
const app_type = 'app';
const app_type_name = 'APP';
// #endif
export default {
sendRequest(params) {
var method = params.data != undefined ? 'POST' : 'GET', // 请求方式
url = Config.baseUrl + params.url, // 请求路径
data = {
app_type,
app_type_name
};
if (uni.getStorageSync('token')) data.token = uni.getStorageSync('token');
if (uni.getStorageSync('site_id')) data.site_id = uni.getStorageSync('site_id');
// 参数
if (params.data != undefined) Object.assign(data, params.data);
if (params.async === false) {
//同步
return new Promise((resolve, reject) => {
uni.request({
url: url,
method: method,
data: data,
header: params.header || {
'content-type': 'application/x-www-form-urlencoded;application/json'
},
dataType: params.dataType || 'json',
responseType: params.responseType || 'text',
success: (res) => {
if (res.data.refreshtoken) {
uni.setStorage({
key: 'token',
data: res.data.refreshtoken
});
}
if (res.data.code == -10009 || res.data.code == -10010) {
uni.removeStorage({
key: 'token'
})
}
resolve(res.data);
},
fail: (res) => {
reject(res);
},
complete: (res) => {
reject(res);
}
});
});
} else {
//异步
uni.request({
url: url,
method: method,
data: data,
header: params.header || {
'content-type': 'application/x-www-form-urlencoded;application/json'
},
dataType: params.dataType || 'json',
responseType: params.responseType || 'text',
success: (res) => {
if (res.data.code == -10011 && store.state.siteState > 0) {
store.commit('setSiteState', -10011)
Util.redirectTo('/pages/storeclose/storeclose/storeclose', {}, 'reLaunch');
return;
}
if (res.data.refreshtoken) {
uni.setStorage({
key: 'token',
data: res.data.refreshtoken
});
}
if (res.data.code == -10009 || res.data.code == -10010) {
uni.removeStorage({
key: 'token'
});
}
typeof params.success == 'function' && params.success(res.data);
},
fail: (res) => {
typeof params.fail == 'function' && params.fail(res);
},
complete: (res) => {
// console.log(res,'0.0')
typeof params.complete == 'function' && params.complete(res);
}
});
}
}
}