comments.vue 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. <template>
  2. <view>
  3. <view v-if="(data || null) != null">
  4. <!-- 评论内容 -->
  5. <component-blog-comments :propData="data" :propDataBase="data_base" :propEmojiList="emoji_list" propType="comments"></component-blog-comments>
  6. </view>
  7. <view v-else>
  8. <!-- 提示信息 -->
  9. <component-no-data :propStatus="data_list_loding_status" :propMsg="data_list_loding_msg"></component-no-data>
  10. </view>
  11. <!-- 结尾 -->
  12. <component-bottom-line :propStatus="data_bottom_line_status"></component-bottom-line>
  13. </view>
  14. </template>
  15. <script>
  16. const app = getApp();
  17. import componentNoData from "../../../../components/no-data/no-data";
  18. import componentBottomLine from "../../../../components/bottom-line/bottom-line";
  19. import componentBlogComments from "../../../../components/blog-comments/blog-comments";
  20. export default {
  21. data() {
  22. return {
  23. data_list_loding_status: 1,
  24. data_list_loding_msg: '',
  25. data_bottom_line_status: false,
  26. params: null,
  27. data_base: null,
  28. data: null,
  29. emoji_list: [],
  30. // 自定义分享信息
  31. share_info: {}
  32. };
  33. },
  34. components: {
  35. componentNoData,
  36. componentBottomLine,
  37. componentBlogComments
  38. },
  39. props: {},
  40. onLoad(params) {
  41. this.setData({
  42. params: params
  43. });
  44. // 数据加载
  45. this.get_data();
  46. },
  47. methods: {
  48. // 初始化
  49. get_data() {
  50. uni.showLoading({
  51. title: '加载中...'
  52. });
  53. uni.request({
  54. url: app.globalData.get_request_url("commentsinfo", "index", "blog"),
  55. method: 'POST',
  56. data: {
  57. id: this.params.id || 0,
  58. },
  59. dataType: 'json',
  60. success: res => {
  61. uni.hideLoading();
  62. var data = res.data.data;
  63. if (res.data.code == 0 && (data.data || null) != null) {
  64. var blog = data.data;
  65. this.setData({
  66. data_bottom_line_status: true,
  67. data_list_loding_status: 3,
  68. data_base: data.base || null,
  69. data: blog,
  70. emoji_list: data.emoji_list || []
  71. });
  72. // 基础自定义分享
  73. this.setData({
  74. share_info: {
  75. title: this.data.seo_title || this.data.title,
  76. desc: this.data.seo_desc || this.data.describe,
  77. path: '/pages/plugins/blog/detail/detail',
  78. query: 'id='+this.data.id,
  79. img: this.data.cover
  80. }
  81. });
  82. } else {
  83. this.setData({
  84. data_list_loding_status: 0,
  85. data_list_loding_msg: res.data.msg
  86. });
  87. app.globalData.showToast(res.data.msg);
  88. }
  89. // 分享菜单处理
  90. app.globalData.page_share_handle(this.share_info);
  91. },
  92. fail: () => {
  93. uni.hideLoading();
  94. this.setData({
  95. data_list_loding_status: 2
  96. });
  97. app.globalData.showToast('服务器请求出错');
  98. }
  99. });
  100. }
  101. }
  102. };
  103. </script>
  104. <style>
  105. </style>