brand对接接口

This commit is contained in:
X1627315083@163.com
2026-05-21 11:25:11 +08:00
parent 2346e079a1
commit e418bf80ad
7 changed files with 236 additions and 95 deletions

View File

@@ -2,36 +2,57 @@
import { ref, onMounted, onUnmounted, reactive, toRefs } from "vue";
import CommodityList from "./commodity-list.vue";
import MerchantInfo from "./merchant-info.vue";
import { useRouter } from "vue-router";
import { useRouter, useRoute } from "vue-router";
import myEvent from '@/utils/myEvent'
import { getDesignerDetail } from '@/api/brand'
//const props = defineProps({
//})
//const emit = defineEmits([
//])
const router = useRouter()
let data = reactive({
const route = useRoute()
const designerDetail = ref({
avatar: '',
brandBanner: '',
description: '',
email: '',
mobile: '',
ownerName: '',
shopName: '',
socialLinks: '[]',
})
const addShopping = (item) => {
myEvent.emit('addShopping', item)
}
const openDetail = (item) => {
router.push({name: 'digitalDetail', params: {id: item.id}})
}
const getDetail = ()=>{
let data = {
sellerId: route.params.id,
}
getDesignerDetail(data,true).then((res)=>{
designerDetail.value = res
})
}
onMounted(()=>{
getDetail()
})
onUnmounted(()=>{
})
defineExpose({})
const {} = toRefs(data);
</script>
<template>
<div class="brand">
<div class="header-img">
<img src="@/assets/images/brand/brandDetailBg.png" alt="">
<img :src="designerDetail.brandBanner || '@/assets/images/brand/brandDetailBg.png'" alt="">
</div>
<div class="content">
<div class="merchant-info">
<MerchantInfo></MerchantInfo>
<MerchantInfo :designerDetail="designerDetail"></MerchantInfo>
</div>
<div class="commodity-list">
<CommodityList @addShopping="addShopping" @openDetail="openDetail"></CommodityList>

View File

@@ -1,7 +1,22 @@
<script setup lang="ts">
import { ref, onMounted, onUnmounted, reactive, toRefs } from "vue";
//const props = defineProps({
//})
const props = defineProps({
designerDetail: {
type: Object,
default: () => {
return {
avatar: '',
brandBanner: '',
description: '',
email: '',
mobile: '',
ownerName: '',
shopName: '',
socialLinks: '[]',
}
},
},
})
//const emit = defineEmits([
//])
let data = reactive({
@@ -16,12 +31,12 @@ const {} = toRefs(data);
<template>
<div class="merchantInfo">
<div class="profile">
<img src="@/assets/images/collectionStory/Rectangle.png" alt="">
<img :src="designerDetail.avatar || '@/assets/images/collectionStory/Rectangle.png'" alt="">
</div>
<div class="info">
<div class="detail">
<div class="name">Lian Su</div>
<div class="title">Roaming Clouds</div>
<div class="name">{{ designerDetail.ownerName }}</div>
<div class="title">{{ designerDetail.shopName }}</div>
</div>
<div class="contact">
<div class="title">Contact</div>
@@ -29,30 +44,26 @@ const {} = toRefs(data);
<div class="icon">
<svg-icon name="brand-email" size="24" />
</div>
<div>lian.su@urieworweoo.com</div>
<div>{{ designerDetail.email }}</div>
</div>
<div class="phone label">
<div class="icon">
<svg-icon name="brand-call" size="24" />
</div>
<div>+86 139 4829 7710</div>
<div>{{ designerDetail.mobile }}</div>
</div>
<div class="address label">
<div class="address label" v-for="value in JSON.parse(designerDetail.socialLinks)">
<div class="icon">
<svg-icon name="brand-link" size="24" />
</div>
<div>746312432</div>
</div>
<div class="website label">
<div class="icon">
<svg-icon name="brand-link" size="24" />
</div>
<div>https://urieworweoo.com</div>
<div>{{value}}</div>
</div>
</div>
<div class="about">
<div class="title">About</div>
<div class="content">Lian Sus work weaves understated ethnic influences into contemporary minimalism. She explores materials and silhouettes that bridge heritage and modern sensibilities. Her designs reflect a quiet dialogue between cultural memory and forward-looking innovation.</div>
<div class="content">
{{ designerDetail.description }}
</div>
</div>
</div>
</div>