Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

resort.js 4.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. /* eslint-disable no-restricted-syntax */
  2. /* eslint-disable guard-for-in */
  3. import axios from "axios";
  4. export default {
  5. namespaced: true,
  6. state: {
  7. resorts: [],
  8. resort: {},
  9. images: [],
  10. layout: "",
  11. description: "",
  12. resortMedia: undefined
  13. },
  14. mutations: {
  15. setResort(state, resort) {
  16. state.resort = resort;
  17. },
  18. setDescription(state, description) {
  19. state.description = description;
  20. },
  21. addImage(state, image) {
  22. state.images.push(`data:image/jpeg;base64,${image}`);
  23. },
  24. clear(state) {
  25. state.resort = {};
  26. state.images = [];
  27. state.layout = "";
  28. },
  29. setLayout(state, image) {
  30. state.layout = `data:image/jpeg;base64,${image}`;
  31. },
  32. setResorts(state, list) {
  33. state.resorts = list;
  34. },
  35. setResortMedia(state, media) {
  36. state.resortMedia = media;
  37. }
  38. },
  39. getters: {},
  40. actions: {
  41. async initResort({ commit, dispatch }, resortCode) {
  42. commit("clear");
  43. await dispatch("getResort", resortCode);
  44. dispatch("getDescription", resortCode);
  45. dispatch("getImage1", resortCode);
  46. dispatch("getImage2", resortCode);
  47. dispatch("getImage3", resortCode);
  48. dispatch("getImage4", resortCode);
  49. dispatch("getLayout", resortCode);
  50. },
  51. getDescription({ commit }, resortCode) {
  52. axios
  53. .get(
  54. `https://www.tradeunipoint.com/unibackend/seam/resource/rest/products/${resortCode}/dsc`
  55. )
  56. .then(result => {
  57. commit("setDescription", result.data);
  58. })
  59. .catch(console.error);
  60. },
  61. getResort({ commit }, resortCode) {
  62. axios
  63. .get(
  64. `https://www.tradeunipoint.com/unibackend/seam/resource/rest/products/TRESORT/${resortCode}`
  65. )
  66. .then(result => {
  67. commit("setResort", result.data);
  68. console.log(result.data);
  69. })
  70. .catch(console.error);
  71. },
  72. async getImage1({ commit }, resortCode) {
  73. return axios
  74. .get(
  75. `https://www.tradeunipoint.com/unibackend/seam/resource/rest/products/${resortCode}/image/1`
  76. )
  77. .then(result => {
  78. commit("addImage", result.data);
  79. return Promise.resolve(result.data);
  80. })
  81. .catch(console.error);
  82. },
  83. getImage2({ commit }, resortCode) {
  84. axios
  85. .get(
  86. `https://www.tradeunipoint.com/unibackend/seam/resource/rest/products/${resortCode}/image/2`
  87. )
  88. .then(result => commit("addImage", result.data))
  89. .catch(console.error);
  90. },
  91. getImage3({ commit }, resortCode) {
  92. axios
  93. .get(
  94. `https://www.tradeunipoint.com/unibackend/seam/resource/rest/products/${resortCode}/image/3`
  95. )
  96. .then(result => commit("addImage", result.data))
  97. .catch(console.error);
  98. },
  99. getImage4({ commit }, resortCode) {
  100. axios
  101. .get(
  102. `https://www.tradeunipoint.com/unibackend/seam/resource/rest/products/${resortCode}/image/4`
  103. )
  104. .then(result => {
  105. if (result.data && result.data.length > 0) {
  106. commit("addImage", result.data);
  107. }
  108. })
  109. .catch(console.error);
  110. },
  111. getLayout({ commit }, resortCode) {
  112. axios
  113. .get(
  114. `https://www.tradeunipoint.com/unibackend/seam/resource/rest/products/${resortCode}/layout`
  115. )
  116. .then(result => commit("setLayout", result.data))
  117. .catch(console.error);
  118. },
  119. getResorts({ commit }, regionCode) {
  120. return new Promise((resolve, reject) => {
  121. axios
  122. .get(`/api/resort/${regionCode}`)
  123. .then(result => {
  124. commit("setResorts", result.data);
  125. resolve();
  126. })
  127. .catch(error => reject(new Error(error.message)));
  128. });
  129. },
  130. getResortMedia({ commit }, resortCode) {
  131. axios
  132. .get(
  133. `https://www.tradeunipoint.com/unibackend/seam/resource/rest/products/social/${resortCode}`
  134. )
  135. .then(result => commit("setResortMedia", result.data));
  136. }
  137. }
  138. };