You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

59 lines
1.1 KiB
JavaScript

import {
getToken
} from './token.js'
import $api from '@/api/api.js'
let requests = {};
const noLogin = [
'YO',
'ReportInfo',
'ReportList',
'ReportContrast',
'AnalysisTypeList',
'ReportAnalysis',
'ReportDown',
'HospitalExtraReportStatus',
'PrepareCheckReport',
'XcxGetUserInfo'
]
const getParams = (key) => {
let params_str = window.location.href.split('?')[1]
let params_arr = params_str.split('&')
for (let i in params_arr) {
if (params_arr[i].indexOf(key + '=') !== -1) {
return params_arr[i].split('=')[1]
}
}
return false
}
export const $post = async ({
url,
data = {}
}) => {
let token = getToken() ? getToken() : '';
if (noLogin.indexOf(url) === -1 && token === '') {
uni.$lu.toast("请登录")
return false
}
if (requests[url]) return false;
requests[url] = true
data.hospital = getParams('hospital')
let res = await uni.request({
url: $api(url),
method: 'post',
data,
header: {
Authorization: 'Bearer ' + token
}
});
requests[url] = false
if (!!res && res.data != '') {
return res.data
} else {
uni.$lu.toast("请求发生错误")
return false
}
}