Files
1XJT/scoring/utils/request.js

97 lines
1.9 KiB
JavaScript
Raw Normal View History

2025-11-12 15:08:51 +08:00
import { BASE_URL } from './CommonValues.js';
import { loginSystem } from '@/api/login.js';
export function GET(url, data) {
return SIMPLE(url, data, 'GET');
}
export function GET_TOKEN(url, data, token) {
return SIMPLE_TOKEN(url, data, token, 'GET');
}
export function POST(url, data) {
return SIMPLE(url, data, 'POST');
}
export function POST_TOKEN(url, data) {
return SIMPLE_TOKEN(url, data, token, 'POST');
}
export function DELETE(url, data) {
return SIMPLE(url, data, 'DELETE');
}
export function PUT(url, data) {
return SIMPLE(url, data, 'PUT');
}
let requestTime = 0;
export async function SIMPLE(url, data, method) {
// 防止首次访问没有token
if(requestTime == 0) {
token = await loginSystem();
if(token.data) {
// 如果有code表示没有拿到token
SIMPLE(url, data, method)
return;
}
requestTime += 1;
} else {
var token = uni.getStorageSync("APP_TOKEN");
}
return new Promise((resolve, reject) => {
uni.request({
url: `${BASE_URL}${url}`,
method: method,
header: {
"Content-Type": "application/json;charset=utf-8",
"Authorization": token
},
dataType: 'json',
data: data,
success: res => {
if(res.data.code == '200' || res.data.statusCode == '200') {
resolve(res.data)
} else {
reject(res)
}
},
fail: err => {
reject(err)
}
})
})
}
export function SIMPLE_TOKEN(url, data, token, method) {
return new Promise((resolve, reject) => {
uni.request({
url: `${BASE_URL}${url}`,
method: method,
header: {
"Content-Type": "application/json;charset=utf-8",
"Authorization": token
},
dataType: 'json',
data: data,
success: res => {
if(res.data.code == '200' || res.data.statusCode == '200') {
resolve(res.data)
} else {
reject(res)
}
},
fail: err => {
reject(err)
}
})
})
}
export default {
GET,
POST,
DELETE,
PUT,
GET_TOKEN
}