resource.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import { stringify } from 'qs';
  2. import request from '../utils/request';
  3. import { resources, resource, signature } from '../utils/api';
  4. import { saveLocalSignature, getLocalSignature } from '../utils/helper';
  5. export async function getSignature (params) {
  6. const localSignature = getLocalSignature();
  7. const expireTime = Math.floor((new Date()).getTime() / 1000 + 5).toString(); // 5s缓冲时间
  8. // oss签名不存在或者已经过了有效期则请求新的签名
  9. let newSignature;
  10. if (!localSignature || localSignature.expire <= expireTime) {
  11. return request(`${signature}?${stringify(params)}`);
  12. } else {
  13. return { data: localSignature };
  14. }
  15. }
  16. export async function query (params) {
  17. return request(`${resources}?${stringify(params)}`);
  18. }
  19. export async function create(params) {
  20. const options = {
  21. method: 'POST',
  22. body: JSON.stringify(params),
  23. };
  24. return request(`${resource.replace('/:id', '')}`, options);
  25. }
  26. export async function remove ({ id }) {
  27. const options = { method: 'DELETE' };
  28. return request(`${resource.replace('/:id', `/${id}`)}`, options);
  29. }
  30. export async function update(params) {
  31. const options = {
  32. method: 'PUT',
  33. body: JSON.stringify(params),
  34. };
  35. return request(`${resource.replace('/:id', '')}`, options);
  36. }