You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
162 lines
5.2 KiB
162 lines
5.2 KiB
5 months ago
|
<template>
|
||
|
<view class="page-items">
|
||
|
<block v-for="(item, index) in items" :key="index">
|
||
|
<!-- 搜索框 -->
|
||
|
<block v-if="item.type === 'search'">
|
||
|
<Search :itemStyle="item.style" :params="item.params" />
|
||
|
</block>
|
||
|
<!-- 图片组 -->
|
||
|
<block v-if="item.type === 'image'">
|
||
|
<Images :itemStyle="item.style" :params="item.params" :dataList="item.data" />
|
||
|
</block>
|
||
|
<!-- 轮播图 -->
|
||
|
<block v-if="item.type === 'banner'">
|
||
|
<Banner :itemStyle="item.style" :params="item.params" :dataList="item.data" />
|
||
|
</block>
|
||
|
<!-- 图片橱窗 -->
|
||
|
<block v-if="item.type === 'window'">
|
||
|
<Window :itemStyle="item.style" :params="item.params" :dataList="item.data" />
|
||
|
</block>
|
||
|
<!-- 视频 -->
|
||
|
<block v-if="item.type === 'video'">
|
||
|
<Videos :itemStyle="item.style" :params="item.params" />
|
||
|
</block>
|
||
|
<!-- 文章组 -->
|
||
|
<block v-if="item.type === 'article'">
|
||
|
<Article :params="item.params" :dataList="item.data" />
|
||
|
</block>
|
||
|
<!-- 店铺公告 -->
|
||
|
<block v-if="item.type === 'notice'">
|
||
|
<Notice :itemStyle="item.style" :params="item.params" />
|
||
|
</block>
|
||
|
<!-- 导航 -->
|
||
|
<block v-if="item.type === 'navBar'">
|
||
|
<NavBar :itemStyle="item.style" :params="item.params" :dataList="item.data" />
|
||
|
</block>
|
||
|
<!-- 商品 -->
|
||
|
<block v-if="item.type === 'goods'">
|
||
|
<Goods :itemStyle="item.style" :params="item.params" :dataList="item.data" />
|
||
|
</block>
|
||
|
<!-- 在线客服 -->
|
||
|
<block v-if="item.type === 'service'">
|
||
|
<Service :itemStyle="item.style" :params="item.params" />
|
||
|
</block>
|
||
|
<!-- 辅助空白 -->
|
||
|
<block v-if="item.type === 'blank'">
|
||
|
<Blank :itemStyle="item.style" />
|
||
|
</block>
|
||
|
<!-- 辅助线 -->
|
||
|
<block v-if="item.type === 'guide'">
|
||
|
<Guide :itemStyle="item.style" />
|
||
|
</block>
|
||
|
<!-- 富文本 -->
|
||
|
<block v-if="item.type === 'richText'">
|
||
|
<RichText :itemStyle="item.style" :params="item.params" />
|
||
|
</block>
|
||
|
<!-- 头条快报 -->
|
||
|
<block v-if="item.type === 'special'">
|
||
|
<Special :itemStyle="item.style" :params="item.params" :dataList="item.data" />
|
||
|
</block>
|
||
|
<!-- 关注公众号 -->
|
||
|
<block v-if="item.type === 'officialAccount'">
|
||
|
<DiyOfficialAccount />
|
||
|
</block>
|
||
|
<!-- 线下门店 -->
|
||
|
<block v-if="item.type === 'shop'">
|
||
|
<Shop :itemStyle="item.style" :params="item.params" :dataList="item.data" />
|
||
|
</block>
|
||
|
<!-- 优惠券 -->
|
||
|
<block v-if="item.type === 'coupon'">
|
||
|
<Coupon :itemStyle="item.style" :params="item.params" :dataList="item.data" />
|
||
|
</block>
|
||
|
<!-- 砍价商品 -->
|
||
|
<block v-if="item.type === 'bargain'">
|
||
|
<Bargain :itemStyle="item.style" :params="item.params" :dataList="item.data" />
|
||
|
</block>
|
||
|
<!-- 整点秒杀 -->
|
||
|
<block v-if="item.type === 'sharp'">
|
||
|
<Sharp :itemStyle="item.style" :params="item.params" :data="item.data" />
|
||
|
</block>
|
||
|
<!-- 拼团商品 -->
|
||
|
<block v-if="item.type === 'groupon'">
|
||
|
<Groupon :itemStyle="item.style" :params="item.params" :dataList="item.data" />
|
||
|
</block>
|
||
|
<!-- 图片组 -->
|
||
|
<block v-if="item.type === 'hotZone'">
|
||
|
<HotZone :itemStyle="item.style" :params="item.params" :data="item.data" />
|
||
|
</block>
|
||
|
<!-- 备案号 -->
|
||
|
<block v-if="item.type === 'ICPLicense'">
|
||
|
<ICPLicense :itemStyle="item.style" :params="item.params" />
|
||
|
</block>
|
||
|
</block>
|
||
|
</view>
|
||
|
</template>
|
||
|
|
||
|
<script>
|
||
|
import Search from './diyComponents/search'
|
||
|
import Images from './diyComponents/image'
|
||
|
import Banner from './diyComponents/banner'
|
||
|
import Window from './diyComponents/window'
|
||
|
import HotZone from './diyComponents/hotZone'
|
||
|
import Videos from './diyComponents/video'
|
||
|
import Article from './diyComponents/article'
|
||
|
import Notice from './diyComponents/notice'
|
||
|
import NavBar from './diyComponents/navBar'
|
||
|
import Goods from './diyComponents/goods'
|
||
|
import Service from './diyComponents/service'
|
||
|
import Blank from './diyComponents/blank'
|
||
|
import Guide from './diyComponents/guide'
|
||
|
import RichText from './diyComponents/richText'
|
||
|
import Special from './diyComponents/special'
|
||
|
import DiyOfficialAccount from './diyComponents/officialAccount'
|
||
|
import Shop from './diyComponents/shop'
|
||
|
import Coupon from './diyComponents/coupon'
|
||
|
import Bargain from './diyComponents/bargain'
|
||
|
import Sharp from './diyComponents/sharp'
|
||
|
import Groupon from './diyComponents/groupon'
|
||
|
import ICPLicense from './diyComponents/ICPLicense'
|
||
|
|
||
|
export default {
|
||
|
name: "Page",
|
||
|
components: {
|
||
|
Search,
|
||
|
Images,
|
||
|
Banner,
|
||
|
Window,
|
||
|
HotZone,
|
||
|
Videos,
|
||
|
Article,
|
||
|
Notice,
|
||
|
NavBar,
|
||
|
Goods,
|
||
|
Service,
|
||
|
Blank,
|
||
|
Guide,
|
||
|
RichText,
|
||
|
Special,
|
||
|
DiyOfficialAccount,
|
||
|
Shop,
|
||
|
Coupon,
|
||
|
Bargain,
|
||
|
Sharp,
|
||
|
Groupon,
|
||
|
ICPLicense
|
||
|
},
|
||
|
/**
|
||
|
* 组件的属性列表
|
||
|
* 用于组件自定义设置
|
||
|
*/
|
||
|
props: {
|
||
|
items: {
|
||
|
type: Array,
|
||
|
default () {
|
||
|
return []
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
}
|
||
|
</script>
|
||
|
<style lang="scss">
|
||
|
// 组件样式
|
||
|
</style>
|