rule.vue 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <script setup>
  2. import Container from "../../components/Container/Container.vue";
  3. import { onShow } from "@dcloudio/uni-app";
  4. import { request } from "../../utils/request";
  5. import { getRoute } from "../../utils/router";
  6. import uvParse from "../../uni_modules/uv-parse/components/uv-parse/uv-parse.vue";
  7. import { ref } from "vue";
  8. const replaceImageDimensions = (str) =>
  9. str
  10. .replace(
  11. /<img([^>]*?)style="([^"]*?)width:\s*[^;]+;\s*height:\s*[^;]+;([^"]*?)"([^>]*?)\/?>/g,
  12. '<img$1style="$2width:100%;height:100%;$3"$4/>'
  13. )
  14. .replace(
  15. /<img([^>]*?)width="[^"]*"([^>]*?)height="[^"]*"([^>]*?)\/?>/g,
  16. '<img$1width="100%"$2height="100%"$3/>'
  17. );
  18. const context = ref("");
  19. const titles = ref("活动");
  20. onShow(() => {
  21. const { id, title } = getRoute().params;
  22. if (title) {
  23. titles.value = title;
  24. }
  25. request("api/question_bank/question_reception/recharge_package/detail", {
  26. id,
  27. }).then((res) => {
  28. context.value = res.data.instructions || "";
  29. });
  30. });
  31. </script>
  32. <template>
  33. <Container :title="titles">
  34. <uvParse class="text" :content="replaceImageDimensions(context)"></uvParse>
  35. </Container>
  36. </template>
  37. <style scoped lang="scss">
  38. .text {
  39. line-height: 2;
  40. }
  41. </style>