13 changed files with 224 additions and 19 deletions
@ -1 +1,80 @@ |
|||
{"code":200,"msg":"操作成功","data":{"activityList":[{"activityId":67,"activityName":"2022秋季会员系列Miss Dior 花漾系列香水 惊喜上线VIP会员","activityNameEn":"DIOR","activityContent":"2022秋季会员系列Miss Dior 花漾系列香水 惊喜上线VIP会员","activityContentEn":"Dior","activityAddress":"商场活动2地址","activityAddressEn":"Chinese Address","activityType":1,"shopCode":"","shopName":"","shopNameEn":"","houseNumber":"","fileUrl":"/iotFile/2023/04/18/rShdVfOa1tj5QXDblRzSE.png","startDate":"2023-04-16","endDate":"2023-04-30","building":"","buildingCode":"","buildingOrder":0,"floor":"","floorCode":"","floorOrder":0,"point":-1},{"activityId":68,"activityName":"惊喜上线VIP会员","activityNameEn":"vip","activityContent":"惊喜上线VIP会员","activityContentEn":"vip\n","activityAddress":"商场活动2地址","activityAddressEn":"Chinese Address","activityType":1,"shopCode":"","shopName":"","shopNameEn":"","houseNumber":"","fileUrl":"/iotFile/2023/04/18/qcivkL9KGHO-0DonwV8UR.png","startDate":"2023-04-17","endDate":"2023-04-30","building":"","buildingCode":"","buildingOrder":0,"floor":"","floorCode":"","floorOrder":0,"point":-1}]}} |
|||
{ |
|||
"code": 200, |
|||
"msg": "操作成功", |
|||
"data": { |
|||
"activityList": [ |
|||
{ |
|||
"activityId": 67, |
|||
"activityName": "2022秋季会员系列Miss Dior 花漾系列香水 惊喜上线VIP会员", |
|||
"activityNameEn": "DIOR", |
|||
"activityContent": "2022秋季会员系列Miss Dior 花漾系列香水 惊喜上线VIP会员", |
|||
"activityContentEn": "Dior", |
|||
"activityAddress": "商场活动2地址", |
|||
"activityAddressEn": "Chinese Address", |
|||
"activityType": 1, |
|||
"shopCode": "", |
|||
"shopName": "", |
|||
"shopNameEn": "", |
|||
"houseNumber": "", |
|||
"fileUrl": "/iotFile/2023/04/18/rShdVfOa1tj5QXDblRzSE.png", |
|||
"startDate": "2023-04-16", |
|||
"endDate": "2023-04-30", |
|||
"building": "", |
|||
"buildingCode": "", |
|||
"buildingOrder": 0, |
|||
"floor": "", |
|||
"floorCode": "", |
|||
"floorOrder": 0, |
|||
"point": -1 |
|||
}, |
|||
{ |
|||
"activityId": 68, |
|||
"activityName": "惊喜上线VIP会员", |
|||
"activityNameEn": "vip", |
|||
"activityContent": "惊喜上线VIP会员", |
|||
"activityContentEn": "vip\n", |
|||
"activityAddress": "商场活动2地址", |
|||
"activityAddressEn": "Chinese Address", |
|||
"activityType": 1, |
|||
"shopCode": "", |
|||
"shopName": "", |
|||
"shopNameEn": "", |
|||
"houseNumber": "", |
|||
"fileUrl": "/iotFile/2023/04/18/qcivkL9KGHO-0DonwV8UR.png", |
|||
"startDate": "2023-04-17", |
|||
"endDate": "2023-04-30", |
|||
"building": "", |
|||
"buildingCode": "", |
|||
"buildingOrder": 0, |
|||
"floor": "", |
|||
"floorCode": "", |
|||
"floorOrder": 0, |
|||
"point": -1 |
|||
}, |
|||
{ |
|||
"activityId": 68, |
|||
"activityName": "惊喜上线VIP会员", |
|||
"activityNameEn": "vip", |
|||
"activityContent": "惊喜上线VIP会员", |
|||
"activityContentEn": "vip\n", |
|||
"activityAddress": "商场活动2地址", |
|||
"activityAddressEn": "Chinese Address", |
|||
"activityType": 1, |
|||
"shopCode": "", |
|||
"shopName": "", |
|||
"shopNameEn": "", |
|||
"houseNumber": "", |
|||
"fileUrl": "/iotFile/2023/04/18/qcivkL9KGHO-0DonwV8UR.png", |
|||
"startDate": "2023-04-17", |
|||
"endDate": "2023-04-30", |
|||
"building": "", |
|||
"buildingCode": "", |
|||
"buildingOrder": 0, |
|||
"floor": "", |
|||
"floorCode": "", |
|||
"floorOrder": 0, |
|||
"point": -1 |
|||
} |
|||
] |
|||
} |
|||
} |
|||
|
|||
@ -0,0 +1,3 @@ |
|||
import { request } from '../../http' |
|||
// 获取会员信息
|
|||
export const getMemberInfo = () => request<MemberInfo>({ url: `/JSON/getMemberInterests.json` }) |
|||
@ -0,0 +1,18 @@ |
|||
declare interface MemberInfo { |
|||
title?: string // 标题
|
|||
titleEn?: string // 英文标题
|
|||
content?: string // 内容
|
|||
contentEn?: string // 英文内容
|
|||
fileList?: Array<string> // 图片集合
|
|||
qrFileList?: Array<QrFile> // 二维码集合
|
|||
} |
|||
|
|||
type QrFile = { |
|||
name: string // 名称
|
|||
nameEn: string // 英文名称
|
|||
fileUrl: string // 二维码地址
|
|||
} |
|||
|
|||
declare interface fileList { |
|||
fileUrl: string |
|||
} |
|||
@ -0,0 +1,44 @@ |
|||
<template> |
|||
<typeBtnGroup class="top" :list="list" /> |
|||
<div class="carousel"> |
|||
<Carousel :ac-list="memberInfo" /> |
|||
</div> |
|||
</template> |
|||
|
|||
<script setup lang="ts"> |
|||
import { shallowRef } from 'vue' |
|||
import { getMemberInfo } from '@/http/api/member/index' |
|||
import Carousel from '@/components/Carousel/Carousel.vue' |
|||
import typeBtnGroup from '@/components/TypeBtnList/TypeBtnList.vue' |
|||
const list = [ |
|||
{ |
|||
title: '金卡会员', |
|||
titleEn: 'Gold Card Member' |
|||
}, |
|||
{ |
|||
title: '黑卡会员', |
|||
titleEn: 'Black Card Member' |
|||
} |
|||
] |
|||
const memberInfo = shallowRef<fileList[]>([]) |
|||
getMemberInfo().then(({ data }) => { |
|||
if (data.fileList) { |
|||
memberInfo.value = data.fileList?.map(item => { |
|||
return { |
|||
fileUrl: item |
|||
} |
|||
}) |
|||
} |
|||
}) |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
.top { |
|||
position: fixed; |
|||
top: 140px; |
|||
left: 734px; |
|||
} |
|||
.carousel { |
|||
padding-top: 244px; |
|||
} |
|||
</style> |
|||
@ -0,0 +1,35 @@ |
|||
<template> |
|||
<div class="po">{{ $t('school') }}</div> |
|||
<Transition name="zoom"> |
|||
<div class="carousel"> |
|||
<Carousel :ac-list="aclist" /> |
|||
</div> |
|||
</Transition> |
|||
</template> |
|||
|
|||
<script setup lang="ts"> |
|||
import { ref } from 'vue' |
|||
import { getMallActivity } from '@/http/api/activity' |
|||
import Carousel from '@/components/Carousel/Carousel.vue' |
|||
const aclist = ref<Activity[]>([]) |
|||
getMallActivity().then(({ data }) => { |
|||
aclist.value = data.activityList |
|||
}) |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
.po { |
|||
position: fixed; |
|||
top: 140px; |
|||
left: 900px; |
|||
font-size: 24px; |
|||
font-family: 'font_regular'; |
|||
color: #84754e; |
|||
font-style: normal; |
|||
font-weight: 400; |
|||
line-height: 32px; |
|||
} |
|||
.carousel { |
|||
padding-top: 244px; |
|||
} |
|||
</style> |
|||
Loading…
Reference in new issue