subscribe.vue 1.5 KB
<template>
  <div class="book-list">
    <template v-for="(item, key) in items" :key="key">
      <book-card type="C" :item="item" @on-click="onClick(item)"></book-card>
    </template>
  </div>
  <van-empty v-if="emptyStatus"
    class="custom-image"
    :image="no_image"
    description="暂无订阅"
  />
</template>

<script setup>
import no_image from '@images/que-shuju@2x.png'
import BookCard from '@/components/BookCard/index.vue'
import { ref, reactive, onMounted } from 'vue'
import { useRoute, useRouter } from 'vue-router'
import axios from '@/utils/axios';
import $ from 'jquery'
import { Toast } from 'vant';
const $route = useRoute();
const $router = useRouter();

// 因为不能让空图标提前出来的写法
const emptyStatus = ref(false);

const items = ref([]);
axios.get('/srv/?a=my_subscribe')
  .then(res => {
    if (res.data.code === 1) {
      items.value = res.data.data;
      if (!res.data.data.length) {
        emptyStatus.value = true;
      }
    } else {
      console.warn(res);
      if (!res.data.show) return false;
      Toast({
        icon: 'close',
        message: res.data.msg
      });
    }
  })
  .catch(err => {
    console.error(err);
  });

const onClick = (item) => {
  $router.push({
    path: '/client/bookDetail',
    query: {
      id: item.id
    }
  });
}
</script>

<script>
import mixin from 'common/mixin';

export default {
  mixins: [mixin.init],
  data() {
    return {

    }
  },
  mounted() {

  },
  methods: {

  }
}
</script>

<style lang="less" scoped>
</style>