mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/learning-system-mobile.git
synced 2025-12-07 18:06:47 +08:00
修改配置
This commit is contained in:
166
api/ajax.js
Normal file
166
api/ajax.js
Normal file
@@ -0,0 +1,166 @@
|
||||
import config from '@/config/index.js'
|
||||
import {getToken} from '@/utils/token.js'
|
||||
import qs from 'qs'
|
||||
|
||||
const ReLoginUrl="/login";
|
||||
|
||||
const formatUrl=function(url){
|
||||
return url;
|
||||
// if(url.startsWith('http') || url.startsWith('https')){
|
||||
// //console.log(url,"我拿到的url值,我想知道下面有啥方法")
|
||||
// return url;
|
||||
// }else{
|
||||
// return config.apiBaseUrl+url
|
||||
// }
|
||||
}
|
||||
const formRequest=function(method,url,data){
|
||||
let token=getToken();
|
||||
if(!token){
|
||||
token='';
|
||||
}
|
||||
let headers={
|
||||
'content-type':'application/x-www-form-urlencoded',
|
||||
'XBOE-Access-Token':token
|
||||
}
|
||||
let reUrl=formatUrl(url);
|
||||
return new Promise(function(resolve, reject){
|
||||
uni.request({
|
||||
url: reUrl,
|
||||
method,
|
||||
data: data,
|
||||
xhrFields: {withCredentials: true},
|
||||
dataType: 'json',
|
||||
header: headers,
|
||||
success:function(rs,statusCode){
|
||||
if(rs.statusCode==200){
|
||||
if(rs.data.status==401 || rs.data.status==402){
|
||||
let loginPath=config.loginPath;
|
||||
if(loginPath.startsWith('http')){
|
||||
// #ifdef APP-PLUS
|
||||
plus.runtime.openURL(loginPath) //这里默认使用外部浏览器打开而不是内部web-view组件打开
|
||||
// #endif
|
||||
// #ifdef H5
|
||||
//window.open(loginPath)
|
||||
location.href=loginPath
|
||||
// #endif
|
||||
}else{
|
||||
uni.redirectTo({
|
||||
url:loginPath
|
||||
})
|
||||
}
|
||||
}else{
|
||||
resolve(rs.data);
|
||||
}
|
||||
}else{
|
||||
reject("API请求错误");
|
||||
}
|
||||
},
|
||||
fail:function(err){
|
||||
reject(err);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
}
|
||||
const jsonRequest=function(method,url,data){
|
||||
let token=getToken();
|
||||
if(!token){
|
||||
token='';
|
||||
}
|
||||
let headers={
|
||||
'XBOE-Access-Token':token
|
||||
}
|
||||
let reUrl=formatUrl(url);
|
||||
return new Promise(function(resolve, reject){
|
||||
|
||||
uni.request({
|
||||
url: reUrl,
|
||||
method,
|
||||
data: data,
|
||||
xhrFields: {withCredentials: true},
|
||||
dataType: 'json',
|
||||
header: headers,
|
||||
success:function(rs,statusCode){
|
||||
if(rs.statusCode==200){
|
||||
if(rs.data.status==401 || rs.data.status==402){
|
||||
let loginPath=config.loginPath;
|
||||
if(loginPath.startsWith('http')){
|
||||
// #ifdef APP-PLUS
|
||||
plus.runtime.openURL(loginPath) //这里默认使用外部浏览器打开而不是内部web-view组件打开
|
||||
// #endif
|
||||
// #ifdef H5
|
||||
//window.open(loginPath)
|
||||
location.href=loginPath
|
||||
// #endif
|
||||
}else{
|
||||
uni.redirectTo({
|
||||
url:loginPath
|
||||
})
|
||||
}
|
||||
}else{
|
||||
resolve(rs.data);
|
||||
}
|
||||
}else{
|
||||
reject("API请求错误");
|
||||
}
|
||||
},
|
||||
fail:function(err){
|
||||
reject(err);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
//get请求
|
||||
const get=function(baseURL,url){
|
||||
return formRequest('GET',baseURL+url,'');
|
||||
}
|
||||
//post请求
|
||||
const post=function(baseURL,url,data){
|
||||
if(data){
|
||||
data=qs.stringify(data);
|
||||
}
|
||||
return formRequest('POST',baseURL+url,data);
|
||||
}
|
||||
//postJson请求
|
||||
const postJson=function(baseURL,url,json){
|
||||
return jsonRequest('POST',baseURL+url,json);
|
||||
}
|
||||
//put请求
|
||||
const put=function(baseURL,url,data){
|
||||
if(data){
|
||||
data=qs.stringify(data);
|
||||
}
|
||||
return formRequest('PUT',baseURL+url,data);
|
||||
}
|
||||
//putJson请求
|
||||
const putJson=function(baseURL,url,json){
|
||||
return jsonRequest('PUT',baseURL+url,json);
|
||||
}
|
||||
//patch请求
|
||||
const patch=function(baseURL,url,data){
|
||||
if(data){
|
||||
data=qs.stringify(data);
|
||||
}
|
||||
return formRequest('PATCH',baseURL+url,data);
|
||||
}
|
||||
//patchJson请求
|
||||
const patchJson=function(baseURL,url,json){
|
||||
return jsonRequest('PATCH',baseURL+url,json);
|
||||
}
|
||||
//delete请求
|
||||
const del=function(baseURL,url,data){
|
||||
if(data){
|
||||
data=qs.stringify(data);
|
||||
}
|
||||
return formRequest('DELETE',baseURL+url,data);
|
||||
}
|
||||
export default {
|
||||
get,
|
||||
post,
|
||||
postJson,
|
||||
put,
|
||||
putJson,
|
||||
patch,
|
||||
patchJson,
|
||||
del
|
||||
}
|
||||
Reference in New Issue
Block a user