index.js 990 B

123456789101112131415161718192021222324252627282930313233
  1. import QRCode from 'qrcode';
  2. import request from "../../../../core/utils/request";
  3. const base64 = 'data:image/svg+xml;base64,'; // eslint-disable-next-line import/prefer-default-export
  4. export const valueToBase64 = value => {
  5. const qrcodeConfig = {
  6. type: 'svg'
  7. };
  8. return new Promise((resolve, reject) => {
  9. QRCode.toString(value, qrcodeConfig, (err, url) => {
  10. if (err) return reject(err);
  11. resolve(base64 + Buffer(url).toString('base64'));
  12. });
  13. });
  14. };
  15. export const getQrcodeUrl = (value = '') => {
  16. return new Promise(resolve => {
  17. if (value.includes('http')) return resolve(value);
  18. if (value.includes('data:image')) return resolve(value);
  19. valueToBase64(value).then(resolve);
  20. });
  21. };
  22. export const Ajax = (apiUrl = '', data = {}) => {
  23. const opts = {
  24. url: apiUrl,
  25. method: 'post',
  26. data
  27. };
  28. return new Promise(async (resolve, reject) => {
  29. const [error, res] = await request(opts);
  30. error ? reject(error) : resolve(res);
  31. });
  32. };