|
@@ -4,17 +4,25 @@
|
|
|
|
|
|
<script setup lang="ts">
|
|
|
import { onMounted, ref } from 'vue'
|
|
|
-
|
|
|
import CardMenu from '@/components/card-menu.vue'
|
|
|
import SectionHeading from '@/components/section-heading.vue'
|
|
|
-import StartMenuButton from '@/components/start-menu-button.vue'
|
|
|
-import { designer, settled, treaty, vipBg } from '../../core/libs/pngs'
|
|
|
-import { integral, coupon, order, agent, setting, vip, scan } from '../../core/libs/svgs'
|
|
|
+import { designer, settled, treaty, vipBg, memberTextV1 } from '../../core/libs/pngs'
|
|
|
+import {
|
|
|
+ integral,
|
|
|
+ coupon,
|
|
|
+ order,
|
|
|
+ agent,
|
|
|
+ setting,
|
|
|
+ vip,
|
|
|
+ scan,
|
|
|
+ memberIconV1,
|
|
|
+} from '../../core/libs/svgs'
|
|
|
import { getMemberUserInfo, getTasks } from '../../core/libs/requests'
|
|
|
import { useUserStore } from '../../store'
|
|
|
import { storeToRefs } from 'pinia'
|
|
|
import { isEmpty } from 'radash'
|
|
|
import TasksCard from './components/tasks-card.vue'
|
|
|
+import Card from '@/components/card.vue'
|
|
|
|
|
|
const userStore = useUserStore()
|
|
|
const { isLogined, userInfo } = storeToRefs(userStore)
|
|
@@ -35,15 +43,17 @@ const pieces = ref([
|
|
|
title: '设计师成长计划',
|
|
|
desc: '赋能设计共同成长',
|
|
|
icon: designer,
|
|
|
- class: 'items-start! pb-0 pr-0 col-start-1 row-start-1 row-end-3',
|
|
|
+ class: 'items-start! pb-0 pr-0',
|
|
|
iconSize: 102,
|
|
|
+ gridItemClass: 'col-start-1 row-start-1 row-end-3',
|
|
|
},
|
|
|
{
|
|
|
title: '材料商入驻',
|
|
|
desc: '提供优质材料商',
|
|
|
icon: settled,
|
|
|
- class: 'flex-row! pb-0 pr-0 col-start-2 row-start-1',
|
|
|
+ class: 'flex-row! pb-0 pr-0',
|
|
|
iconSize: 68,
|
|
|
+ gridItemClass: 'col-start-2 row-start-1',
|
|
|
},
|
|
|
{
|
|
|
title: '筑巢荟公约',
|
|
@@ -51,6 +61,7 @@ const pieces = ref([
|
|
|
icon: treaty,
|
|
|
class: 'col-start-2 row-start-2 flex-row! pb-0',
|
|
|
iconSize: 44,
|
|
|
+ gridItemClass: 'col-start-2 row-start-2',
|
|
|
},
|
|
|
])
|
|
|
const avatar = computed(() =>
|
|
@@ -111,7 +122,8 @@ onPageScroll(({ scrollTop }: { scrollTop: number }) => {
|
|
|
</div>
|
|
|
</StartMenuButton> -->
|
|
|
<div
|
|
|
- class="bg-black/30 backdrop-blur-[60px] aspect-[1.15/1] flex flex-col justify-end pb-20 box-border"
|
|
|
+ class="bg-black/30 backdrop-blur-[60px] flex flex-col justify-end box-border"
|
|
|
+ :class="[userInfo.userStatusEnabled ? 'aspect-[0.94/1] pb-44' : 'aspect-[1.15/1] pb-20']"
|
|
|
>
|
|
|
<div class="my-6.5 px-3.5 flex">
|
|
|
<img class="w-[72px] h-[72px] rounded-full border border-white" :src="avatar" />
|
|
@@ -185,7 +197,7 @@ onPageScroll(({ scrollTop }: { scrollTop: number }) => {
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="relative top--18">
|
|
|
+ <div class="relative top--18" v-if="!userInfo.userStatusEnabled">
|
|
|
<div class="mx-3.5 box-border absolute left-0 right-0 top-0">
|
|
|
<wd-img :src="vipBg" width="100%" mode="widthFix"></wd-img>
|
|
|
</div>
|
|
@@ -211,6 +223,38 @@ onPageScroll(({ scrollTop }: { scrollTop: number }) => {
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <template v-else>
|
|
|
+ <div class="relative top--36">
|
|
|
+ <div
|
|
|
+ class="mx-3.5 absolute left-0 right-0 top--4 w-[347px] h-[180px] bg-gradient-to-r from-[#141414] to-[#4b4b49] rounded-tl-[10px] rounded-tr-[10px] p-3.5 box-border"
|
|
|
+ :class="['text-[#8FB8DB]']"
|
|
|
+ >
|
|
|
+ <div class="flex items-center">
|
|
|
+ <wd-img class="" width="20" height="20" :src="memberIconV1"></wd-img>
|
|
|
+ <wd-img class="" width="108" height="27" :src="memberTextV1"></wd-img>
|
|
|
+ <div class="flex-1"></div>
|
|
|
+ <div
|
|
|
+ class="h-[22px] bg-gradient-to-r from-[#333333] to-[#20201e] rounded-tl-[20px] rounded-bl-[20px] mr--3.5 px-2"
|
|
|
+ >
|
|
|
+ <div class="text-xs font-normal font-['PingFang SC'] leading-relaxed">
|
|
|
+ 更多等级权益
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="flex items-end mt-10">
|
|
|
+ <div>
|
|
|
+ <span class="text-4xl font-normal font-['D-DIN Exp']">{{ userInfo.point }}</span>
|
|
|
+ <span class="text-center text-xs font-normal font-['PingFang SC']">积分</span>
|
|
|
+ </div>
|
|
|
+ <div class="flex-1"></div>
|
|
|
+ <div class="text-sm font-normal font-['PingFang SC']">
|
|
|
+ 会员号:{{ userInfo.userId }}
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <!-- <div class="relative h-4 box-border bg-transparent rounded-b-[50%] z-1"></div> -->
|
|
|
+ </template>
|
|
|
<view class="bg-neutral-100 relative bottom-4 rounded-t-2xl py-1 px-3.5">
|
|
|
<div class="flex justify-around my-6">
|
|
|
<template v-for="({ title, icon }, i) in menus" :key="i">
|