notice.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import {message,notification} from 'ant-design-vue'
  2. export const notice = (content, type = 'message', action = 'warning', duration = 3, placement = 'bottomLeft') => {
  3. destroyNotice();
  4. let config = {};
  5. config.duration = duration;
  6. if (type === 'message') {
  7. switch (action) {
  8. case 'info':
  9. return message.info(content, duration);
  10. case 'success':
  11. return message.success(content, duration);
  12. case 'error':
  13. return message.error(content, duration);
  14. case 'loading':
  15. return message.loading(content, duration);
  16. default:
  17. return message.warning(content, duration);
  18. }
  19. } else {
  20. config.message = content.title;
  21. config.description = content.msg || '';
  22. config.placement = placement;
  23. switch (action) {
  24. case 'open':
  25. return notification.open(config);
  26. case 'info':
  27. return notification.info(config);
  28. case 'success':
  29. return notification.success(config);
  30. case 'error':
  31. return notification.error(config);
  32. default:
  33. return notification.warning(config);
  34. }
  35. }
  36. };
  37. export const destroyNotice = (type = '') => {
  38. if (!type) {
  39. message.destroy();
  40. notification.destroy();
  41. }else{
  42. type === 'message' ? message.destroy() : notification.destroy();
  43. }
  44. };