|
|
@@ -2,16 +2,76 @@
|
|
|
@description: 课程列表
|
|
|
@creationTime: 2025-09-23
|
|
|
-->
|
|
|
-
|
|
|
<template>
|
|
|
<view>课程列表</view>
|
|
|
+ <ElRow :gutter="20">
|
|
|
+ <ElCol :xs="24" :sm="12" :md="6" v-for="card in imageCards" :key="card.id">
|
|
|
+ <ArtImageCard
|
|
|
+ :imageUrl="card.imageUrl"
|
|
|
+ :title="card.title"
|
|
|
+ :category="card.category"
|
|
|
+ :readTime="card.readTime"
|
|
|
+ :views="card.views"
|
|
|
+ :comments="card.comments"
|
|
|
+ :date="card.date"
|
|
|
+ @click="handleImageCardClick(card)"
|
|
|
+ />
|
|
|
+ </ElCol>
|
|
|
+ </ElRow>
|
|
|
</template>
|
|
|
|
|
|
<script lang="ts" setup>
|
|
|
- defineOptions({ name: '课程列表' })
|
|
|
- /* ------------------------ 导入 与 引用 ----------------------------------- */
|
|
|
- /* ------------------------ 函数 与 方法 ----------------------------------- */
|
|
|
- /* ------------------------- 生命周期 -------------------------------------- */
|
|
|
+ import cover1 from '@imgs/cover/img1.webp'
|
|
|
+ import cover2 from '@imgs/cover/img2.webp'
|
|
|
+ import cover3 from '@imgs/cover/img3.webp'
|
|
|
+ import cover4 from '@imgs/cover/img4.webp'
|
|
|
+
|
|
|
+ const imageCards = [
|
|
|
+ {
|
|
|
+ id: 1,
|
|
|
+ imageUrl: cover1,
|
|
|
+ title: 'AI技术在医疗领域的创新应用与发展前景',
|
|
|
+ category: '社交',
|
|
|
+ readTime: '2分钟',
|
|
|
+ views: 9125,
|
|
|
+ comments: 3,
|
|
|
+ date: '12月19日 周一'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ id: 2,
|
|
|
+ imageUrl: cover2,
|
|
|
+ title: '大数据分析助力企业决策的实践案例',
|
|
|
+ category: '技术',
|
|
|
+ readTime: '3分钟',
|
|
|
+ views: 7234,
|
|
|
+ comments: 5,
|
|
|
+ date: '12月20日 周二'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ id: 3,
|
|
|
+ imageUrl: cover3,
|
|
|
+ title: '区块链技术在供应链管理中的应用',
|
|
|
+ category: '科技',
|
|
|
+ readTime: '4分钟',
|
|
|
+ views: 5678,
|
|
|
+ comments: 8,
|
|
|
+ date: '12月21日 周三'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ id: 4,
|
|
|
+ imageUrl: cover4,
|
|
|
+ title: '云计算技术发展趋势与未来展望',
|
|
|
+ category: '云技术',
|
|
|
+ readTime: '5分钟',
|
|
|
+ views: 4321,
|
|
|
+ comments: 6,
|
|
|
+ date: '12月22日 周四'
|
|
|
+ }
|
|
|
+ ]
|
|
|
+
|
|
|
+ const handleImageCardClick = (card: any) => {
|
|
|
+ console.log(card)
|
|
|
+ }
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped></style>
|