import { stringify } from 'qs'; import request from '../utils/request'; import { resources, resource, signature } from '../utils/api'; import { saveLocalSignature, getLocalSignature } from '../utils/helper'; export async function getSignature (params) { const localSignature = getLocalSignature(); const expireTime = Math.floor((new Date()).getTime() / 1000 + 5).toString(); // 5s缓冲时间 // oss签名不存在或者已经过了有效期则请求新的签名 let newSignature; if (!localSignature || localSignature.expire <= expireTime) { return request(`${signature}?${stringify(params)}`); } else { return { data: localSignature }; } } export async function query (params) { return request(`${resources}?${stringify(params)}`); } export async function create(params) { const options = { method: 'POST', body: JSON.stringify(params), }; return request(`${resource.replace('/:id', '')}`, options); } export async function remove ({ id }) { const options = { method: 'DELETE' }; return request(`${resource.replace('/:id', `/${id}`)}`, options); } export async function update(params) { const options = { method: 'PUT', body: JSON.stringify(params), }; return request(`${resource.replace('/:id', '')}`, options); }