loadingModel.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. // 加载页
  2. export default {
  3. state: {
  4. status: "loading",
  5. title: "成功",
  6. show: false,
  7. time: -1,
  8. },
  9. actions: ({ model, setState }) => ({
  10. loading() {
  11. setState({
  12. status: "loading",
  13. show: true,
  14. time: -1,
  15. });
  16. },
  17. success(title) {
  18. setState({
  19. status: "success",
  20. title,
  21. show: true,
  22. time: 3000,
  23. });
  24. const { setTime } = model();
  25. setTime();
  26. },
  27. warnning(title) {
  28. setState({
  29. status: "warn",
  30. title,
  31. show: true,
  32. time: 3000,
  33. });
  34. const { setTime } = model();
  35. setTime();
  36. },
  37. setTime() {
  38. const { time, show, clear } = model();
  39. if (time > 0 && show) {
  40. setTimeout(() => {
  41. if (show) {
  42. clear();
  43. }
  44. }, time);
  45. }
  46. },
  47. clear() {
  48. setState({
  49. show: false,
  50. });
  51. },
  52. }),
  53. };