44 lines
1.2 KiB
JavaScript
44 lines
1.2 KiB
JavaScript
const BASE_URL = 'http://192.168.2.23:8000';
|
|
const request = (options) => {
|
|
console.log("options"+JSON.stringify(options))
|
|
return new Promise((resolve, reject) => {
|
|
// 处理GET请求参数
|
|
let url = BASE_URL + options.url;
|
|
if (options.method === 'GET' && options.data) {
|
|
// 使用qs序列化参数
|
|
const params = Object.keys(options.data)
|
|
.map(key => `${encodeURIComponent(key)}=${encodeURIComponent(options.data[key])}`)
|
|
.join('&');
|
|
url += `?${params}`;
|
|
}
|
|
|
|
const config = {
|
|
url: url,
|
|
method: options.method || 'GET',
|
|
data: options.method !== 'GET' ? options.data : {},
|
|
header: options.header || {},
|
|
timeout: 10000,
|
|
success: (res) => {
|
|
resolve(res.data);
|
|
},
|
|
fail: (err) => {
|
|
reject(err);
|
|
}
|
|
};
|
|
|
|
if (!options.url.includes('/login')) {
|
|
const token = uni.getStorageSync('token');
|
|
const clientid = uni.getStorageSync('clientID');
|
|
if (token) {
|
|
config.header['Authorization'] = 'Bearer ' + token;
|
|
config.header['clientid'] = clientid;
|
|
}
|
|
}
|
|
if (!config.header['Content-Type']) {
|
|
config.header['Content-Type'] = 'application/json';
|
|
}
|
|
uni.request(config);
|
|
});
|
|
};
|
|
|
|
export default request; |