index.vue 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <template>
  2. <view class="container">
  3. <uni-title type="h1" class="title" align="center" :title="info.title || info.noticeTitle"></uni-title>
  4. <text class="time">创建时间:{{ info.createTime }}</text>
  5. <rich-text image-menu-prevent="true" :nodes="info.content || info.noticeContent" class="content"></rich-text>
  6. <!-- <view class="content" v-html="info.content || info.noticeContent"></view> -->
  7. </view>
  8. </template>
  9. <script>
  10. import request from '../../api/cms.js';
  11. import requestNotice from '../../api/system.js';
  12. export default {
  13. onLoad: function (option) {
  14. this.id = option.id;
  15. this.noticeId = option.noticeId;
  16. },
  17. data() {
  18. return {
  19. id: '',
  20. info: null,
  21. noticeId: ''
  22. }
  23. },
  24. async mounted() {
  25. let res = {};
  26. if (this.id && this.id !== '') {
  27. res = await request.getArticleDetail({ id: this.id });
  28. }
  29. if (this.noticeId && this.noticeId !== '') {
  30. res = await requestNotice.getSystemNoticeDetails({ id: this.noticeId });
  31. }
  32. this.info = res.data;
  33. if (this.id && this.id !== '') await request.addBlogViews({ id: this.id });
  34. },
  35. methods: {}
  36. }
  37. </script>
  38. <style>
  39. .time {
  40. width: 100%;
  41. text-align: center;
  42. display: block;
  43. font-size: 12px;
  44. }
  45. .content {
  46. display: block;
  47. width: 90%;
  48. margin: 10px auto;
  49. }
  50. .title {
  51. width: 90%;
  52. margin: 0 auto;
  53. display: block;
  54. }
  55. .uni-title__base {
  56. line-height: 1.2em !important;
  57. }
  58. </style>