Przeglądaj źródła

fix: DimensionArticles 移除维度参数自加载

Xiaogang Liao 2 miesięcy temu
rodzic
commit
3fe7ba8c63
1 zmienionych plików z 28 dodań i 2 usunięć
  1. 28 2
      cfc-frontend/components/DimensionArticles.vue

+ 28 - 2
cfc-frontend/components/DimensionArticles.vue

@@ -50,6 +50,7 @@
 </template>
 
 <script>
+import { getFeaturedArticles } from '@/utils/api.js'
 var DIMENSION_MAP = {
   body: { name: '身', color: '#FF8C42' },
   mind: { name: '心', color: '#FF6B9D' },
@@ -68,24 +69,49 @@ var defaultGradientColors = [
 
 export default {
   props: {
-    dimensionCode: { type: String, required: true },
     articles: { type: Array, default: function() { return [] } },
     isLoggedIn: { type: Boolean, default: false },
     colors: { type: Array, default: function() { return defaultGradientColors } }
   },
+  data: function() {
+    return {
+      selfArticles: [],
+      loading: false
+    }
+  },
   computed: {
     defaultColors: function() {
       return defaultGradientColors
     },
     displayArticles: function() {
       var self = this
-      return (this.articles || []).map(function(item) {
+      var list = (this.articles && this.articles.length > 0 ? this.articles : self.selfArticles)
+      return (list || []).map(function(item) {
         item._badges = self.parseWeights(item.dimensionWeights)
         return item
       })
     }
   },
+  mounted: function() {
+    if (!this.articles || this.articles.length === 0) {
+      this.loadArticles()
+    }
+  },
   methods: {
+    loadArticles: function() {
+      var self = this
+      self.loading = true
+      getFeaturedArticles({ size: 3 }).then(function(res) {
+        self.loading = false
+        if (res && res.code === 200 && res.data) {
+          var list = Array.isArray(res.data) ? res.data : (res.data.records || [])
+          self.selfArticles = list.slice(0, 3)
+        }
+      }).catch(function() {
+        self.loading = false
+        self.selfArticles = []
+      })
+    },
     parseWeights: function(str) {
       if (!str) return []
       try {